Files
approved-plan-continuity-ha…/plugins/continuity/test/continuity.smoke.test.mjs

52 lines
1.6 KiB
JavaScript

import assert from 'node:assert/strict';
import plugin, {
runForceRecallContinuityAdapter,
runGenericPreflightContinuityAdapter,
validateContinuityConfig,
} from '../src/index.mjs';
const configResult = validateContinuityConfig(plugin.defaultConfig);
assert.equal(configResult.ok, true);
const smoke = runForceRecallContinuityAdapter({
config: plugin.defaultConfig,
wrapperResult: {
classification: 'long_task',
planId: 'plan-smoke',
currentTask: 'task-8',
replyClosureState: 'completed',
dispatchReceipt: null,
},
autoChainPlanResult: {
derivedAction: 'continue_task_9',
dispatchMode: 'message_subagent',
},
});
assert.equal(smoke.result.ok, false);
assert.equal(smoke.result.reason, 'missing_auto_next_dispatch');
assert.match(smoke.block, /APPROVED_PLAN_CONTINUITY_GATE/);
assert.equal(smoke.meta.adapterName, 'force-recall');
const genericSmoke = runGenericPreflightContinuityAdapter({
config: plugin.defaultConfig,
source: {
planId: 'plan-generic-smoke',
currentTask: 'task-9',
taskState: 'complete',
nextTaskKnown: true,
sameApprovedPlan: true,
taskBoundaryStop: true,
nextTaskId: 'task-10',
nextDerivedAction: { type: 'message_subagent', task: 'continue' },
replyClosureState: 'completed',
dispatchReceipt: null,
},
});
assert.equal(genericSmoke.result.ok, false);
assert.equal(genericSmoke.result.reason, 'missing_auto_next_dispatch');
assert.match(genericSmoke.block, /APPROVED_PLAN_CONTINUITY_GATE/);
assert.equal(genericSmoke.meta.adapterName, 'generic-preflight');
console.log('continuity.smoke.test.mjs PASS');