@synergenius/flow-weaver-pack-weaver 0.9.195 → 0.9.196

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/bot/ai-client.d.ts +5 -0
  2. package/dist/bot/ai-client.d.ts.map +1 -1
  3. package/dist/bot/ai-client.js +43 -0
  4. package/dist/bot/ai-client.js.map +1 -1
  5. package/dist/bot/behavior-defaults.d.ts +3 -1
  6. package/dist/bot/behavior-defaults.d.ts.map +1 -1
  7. package/dist/bot/behavior-defaults.js +7 -0
  8. package/dist/bot/behavior-defaults.js.map +1 -1
  9. package/dist/bot/capability-registry.js +1 -1
  10. package/dist/bot/dream-task.d.ts +45 -0
  11. package/dist/bot/dream-task.d.ts.map +1 -0
  12. package/dist/bot/dream-task.js +125 -0
  13. package/dist/bot/dream-task.js.map +1 -0
  14. package/dist/bot/knowledge-store.d.ts +9 -0
  15. package/dist/bot/knowledge-store.d.ts.map +1 -1
  16. package/dist/bot/knowledge-store.js +21 -0
  17. package/dist/bot/knowledge-store.js.map +1 -1
  18. package/dist/bot/post-turn-hooks.d.ts +57 -0
  19. package/dist/bot/post-turn-hooks.d.ts.map +1 -0
  20. package/dist/bot/post-turn-hooks.js +108 -0
  21. package/dist/bot/post-turn-hooks.js.map +1 -0
  22. package/dist/bot/profile-types.d.ts +16 -0
  23. package/dist/bot/profile-types.d.ts.map +1 -1
  24. package/dist/bot/swarm-controller.d.ts +5 -0
  25. package/dist/bot/swarm-controller.d.ts.map +1 -1
  26. package/dist/bot/swarm-controller.js +82 -4
  27. package/dist/bot/swarm-controller.js.map +1 -1
  28. package/dist/bot/task-types.d.ts +11 -0
  29. package/dist/bot/task-types.d.ts.map +1 -1
  30. package/dist/node-types/agent-execute.d.ts.map +1 -1
  31. package/dist/node-types/agent-execute.js +18 -2
  32. package/dist/node-types/agent-execute.js.map +1 -1
  33. package/dist/node-types/build-context.d.ts +4 -3
  34. package/dist/node-types/build-context.d.ts.map +1 -1
  35. package/dist/node-types/build-context.js +21 -5
  36. package/dist/node-types/build-context.js.map +1 -1
  37. package/dist/node-types/verify-task.d.ts +22 -0
  38. package/dist/node-types/verify-task.d.ts.map +1 -0
  39. package/dist/node-types/verify-task.js +143 -0
  40. package/dist/node-types/verify-task.js.map +1 -0
  41. package/dist/ui/capability-editor.js +1 -1
  42. package/dist/ui/profile-editor.js +1 -1
  43. package/dist/ui/swarm-dashboard.js +1 -1
  44. package/dist/workflows/weaver-agent.d.ts +3 -3
  45. package/dist/workflows/weaver-agent.d.ts.map +1 -1
  46. package/dist/workflows/weaver-agent.js +267 -18
  47. package/dist/workflows/weaver-agent.js.map +1 -1
  48. package/dist/workflows/weaver-bot-batch.d.ts +3 -3
  49. package/dist/workflows/weaver-bot-batch.d.ts.map +1 -1
  50. package/dist/workflows/weaver-bot-batch.js +280 -24
  51. package/dist/workflows/weaver-bot-batch.js.map +1 -1
  52. package/dist/workflows/weaver-bot.d.ts +2 -0
  53. package/dist/workflows/weaver-bot.d.ts.map +1 -1
  54. package/dist/workflows/weaver-bot.js +15 -10
  55. package/dist/workflows/weaver-bot.js.map +1 -1
  56. package/flowweaver.manifest.json +1 -1
  57. package/package.json +3 -3
  58. package/src/bot/ai-client.ts +54 -0
  59. package/src/bot/behavior-defaults.ts +9 -1
  60. package/src/bot/capability-registry.ts +1 -1
  61. package/src/bot/dream-task.ts +167 -0
  62. package/src/bot/knowledge-store.ts +27 -0
  63. package/src/bot/post-turn-hooks.ts +137 -0
  64. package/src/bot/profile-types.ts +17 -0
  65. package/src/bot/swarm-controller.ts +89 -5
  66. package/src/bot/task-types.ts +19 -0
  67. package/src/node-types/agent-execute.ts +19 -2
  68. package/src/node-types/build-context.ts +28 -6
  69. package/src/node-types/verify-task.ts +181 -0
  70. package/src/workflows/weaver-agent.ts +429 -18
  71. package/src/workflows/weaver-bot-batch.ts +443 -24
  72. package/src/workflows/weaver-bot.ts +16 -11
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Post-turn hook system for the agent loop.
3
+ *
4
+ * Hooks run after each iteration of the agent loop, enabling cost checks,
5
+ * steering, progress reporting, and knowledge extraction between LLM turns.
6
+ *
7
+ * Hooks run sequentially (not parallel) so abort hooks fire before
8
+ * subsequent hooks. Errors are caught per-hook — a failing hook does
9
+ * not block other hooks or the agent loop.
10
+ */
11
+ import { CostTracker } from './cost-tracker.js';
12
+ // ---------------------------------------------------------------------------
13
+ // Hook runner
14
+ // ---------------------------------------------------------------------------
15
+ export class PostTurnHookRunner {
16
+ hooks = [];
17
+ register(hook) {
18
+ this.hooks.push(hook);
19
+ }
20
+ /** Returns the onTurnEnd callback to pass to runAgentLoop options. */
21
+ createCallback() {
22
+ return async (ctx) => {
23
+ let injectMessage;
24
+ for (const hook of this.hooks) {
25
+ // Check timing
26
+ if (hook.timing === 'final' && !ctx.isFinalTurn)
27
+ continue;
28
+ if (hook.timing === 'between' && ctx.isFinalTurn)
29
+ continue;
30
+ try {
31
+ const result = await hook.execute(ctx);
32
+ if (result.continue === false) {
33
+ return { continue: false, injectMessage: result.injectMessage };
34
+ }
35
+ if (result.injectMessage) {
36
+ injectMessage = injectMessage
37
+ ? injectMessage + '\n' + result.injectMessage
38
+ : result.injectMessage;
39
+ }
40
+ }
41
+ catch (err) {
42
+ // Hook failure is non-fatal — log and continue
43
+ if (process.env.WEAVER_VERBOSE) {
44
+ console.error(`[post-turn-hook] ${hook.name} failed:`, err);
45
+ }
46
+ }
47
+ }
48
+ if (injectMessage)
49
+ return { injectMessage };
50
+ };
51
+ }
52
+ }
53
+ // ---------------------------------------------------------------------------
54
+ // Built-in hooks
55
+ // ---------------------------------------------------------------------------
56
+ /**
57
+ * Cost checkpoint — aborts the loop when cumulative cost exceeds budget.
58
+ * Subsumes the standalone #6 per-turn budget enforcement approach.
59
+ */
60
+ export class CostCheckpointHook {
61
+ maxCost;
62
+ model;
63
+ name = 'cost-checkpoint';
64
+ timing = 'between';
65
+ constructor(maxCost, model) {
66
+ this.maxCost = maxCost;
67
+ this.model = model;
68
+ }
69
+ async execute(ctx) {
70
+ const cost = CostTracker.estimateCost(this.model, {
71
+ inputTokens: ctx.usage.promptTokens,
72
+ outputTokens: ctx.usage.completionTokens,
73
+ });
74
+ if (cost >= this.maxCost) {
75
+ return {
76
+ continue: false,
77
+ injectMessage: `Budget exceeded: $${cost.toFixed(4)} >= $${this.maxCost.toFixed(4)}`,
78
+ };
79
+ }
80
+ return {};
81
+ }
82
+ }
83
+ /**
84
+ * Progress report — emits a stream event with turn progress for UI updates.
85
+ */
86
+ export class ProgressReportHook {
87
+ emitEvent;
88
+ name = 'progress-report';
89
+ timing = 'every';
90
+ constructor(emitEvent) {
91
+ this.emitEvent = emitEvent;
92
+ }
93
+ async execute(ctx) {
94
+ this.emitEvent({
95
+ type: 'turn-progress',
96
+ timestamp: Date.now(),
97
+ data: {
98
+ iteration: ctx.iteration,
99
+ maxIterations: ctx.maxIterations,
100
+ toolCallCount: ctx.toolCallCount,
101
+ isFinalTurn: ctx.isFinalTurn,
102
+ usage: ctx.usage,
103
+ },
104
+ });
105
+ return {};
106
+ }
107
+ }
108
+ //# sourceMappingURL=post-turn-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-turn-hooks.js","sourceRoot":"","sources":["../../src/bot/post-turn-hooks.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,20 @@ export interface PhaseDescriptor {
81
81
  * not hardcoded. Each workflow can have different phases (e.g. a review
82
82
  * bot might have analyze/report/suggest instead of plan/execute/review).
83
83
  */
84
+ /** Post-run verification config — independent review of completed work. */
85
+ export interface VerificationConfig {
86
+ /** Whether verification is enabled. Default: false. */
87
+ enabled: boolean;
88
+ /** Model tier for the verification agent. Default: 'standard'. */
89
+ tier: ModelTier;
90
+ /**
91
+ * How often to run verification (1 = every completed task, 2 = every other, etc.).
92
+ * Default: 1 (always verify).
93
+ */
94
+ frequency: number;
95
+ /** Re-open the task if verification fails. Default: true. */
96
+ reopenOnFail: boolean;
97
+ }
84
98
  export interface ProfileBehavior {
85
99
  /** Capability names this profile can use (e.g. ['core', 'file-ops', 'shell']). */
86
100
  capabilities?: string[];
@@ -96,6 +110,8 @@ export interface ProfileBehavior {
96
110
  exitProtocol: ExitProtocol;
97
111
  /** Structured output requirements. */
98
112
  outputContract?: OutputContract;
113
+ /** Post-run verification by an independent agent. */
114
+ verification?: VerificationConfig;
99
115
  }
100
116
  /** Structured exit status from a bot run. */
101
117
  export type BotRunStatus = 'done' | 'done-with-concerns' | 'blocked' | 'needs-context';
@@ -1 +1 @@
1
- {"version":3,"file":"profile-types.d.ts","sourceRoot":"","sources":["../../src/bot/profile-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-types.d.ts","sourceRoot":"","sources":["../../src/bot/profile-types.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,10 @@ export declare class SwarmController {
68
68
  private lastFilterSummaryJson;
69
69
  /** Frozen system prompt prefix for cross-slot Anthropic cache sharing. */
70
70
  private frozenPromptPrefix;
71
+ /** Background knowledge consolidation during idle periods. */
72
+ private dreamTask;
73
+ /** Counter for verification frequency gating (incremented per completed task). */
74
+ private verificationCounter;
71
75
  static getInstance(projectDir: string): SwarmController;
72
76
  /** Clear all cached instances (used by tests). */
73
77
  static clearInstances(): void;
@@ -93,6 +97,7 @@ export declare class SwarmController {
93
97
  };
94
98
  private _startDispatchLoop;
95
99
  private _dispatchLoop;
100
+ private _maybeDream;
96
101
  private _executeTask;
97
102
  private _isBudgetExceeded;
98
103
  /** Calculate remaining budget across session and workspace. */
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-controller.d.ts","sourceRoot":"","sources":["../../src/bot/swarm-controller.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAc,WAAW,EAAqB,oBAAoB,EAAmB,MAAM,oBAAoB,CAAC;AAY5H,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5F,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3F;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IAEpB,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IAEtB,OAAO,EAAE,YAAY,CAAC;IAGtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAcD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAsC;IAE9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO,CAAC,KAAK,CAAa;IAE1B,qDAAqD;IACrD,OAAO,CAAC,aAAa,CAAgC;IACrD,oEAAoE;IACpE,OAAO,CAAC,mBAAmB,CAA8B;IACzD,oEAAoE;IACpE,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,gEAAgE;IAChE,OAAO,CAAC,eAAe,CAAqB;IAE5C,kEAAkE;IAClE,OAAO,CAAC,aAAa,CAAsC;IAE3D,0EAA0E;IAC1E,OAAO,CAAC,qBAAqB,CAAuB;IAEpD,0EAA0E;IAC1E,OAAO,CAAC,kBAAkB,CAAuB;IAMjD,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;IAUvD,kDAAkD;IAClD,MAAM,CAAC,cAAc,IAAI,IAAI;IAI7B,OAAO;IA4BD,KAAK,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6C3B,SAAS,IAAI,UAAU;IAMvB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAa9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B9B,OAAO,CAAC,sBAAsB;YA+BhB,gBAAgB;IA6B9B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IA+B3F,eAAe,IAAI,YAAY;IAI/B,kBAAkB,IAAI,eAAe;IAIrC,eAAe,IAAI,YAAY;IAI/B,qBAAqB,IAAI;QAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;QAAC,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAA;KAAE;IAgB9I,OAAO,CAAC,kBAAkB;YAcZ,aAAa;YAsUb,YAAY;IA6N1B,OAAO,CAAC,iBAAiB;IAczB,+DAA+D;IAC/D,OAAO,CAAC,gBAAgB;YAiBV,cAAc;IAyB5B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,MAAM;CASf"}
1
+ {"version":3,"file":"swarm-controller.d.ts","sourceRoot":"","sources":["../../src/bot/swarm-controller.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ import { ProfileStore } from './profile-store.js';
33
33
  import { buildDefaultBehavior, adjustBehaviorForComplexity } from './behavior-defaults.js';
34
34
  import { scheduleMemoryExtraction } from './memory-extraction-worker.js';
35
35
  import { shouldCompact, compactRunHistory } from './context-compactor.js';
36
+ import { DreamTask } from './dream-task.js';
36
37
  import { callAI } from './ai-client.js';
37
38
  // ---------------------------------------------------------------------------
38
39
  // Constants
@@ -69,6 +70,10 @@ export class SwarmController {
69
70
  lastFilterSummaryJson = null;
70
71
  /** Frozen system prompt prefix for cross-slot Anthropic cache sharing. */
71
72
  frozenPromptPrefix = null;
73
+ /** Background knowledge consolidation during idle periods. */
74
+ dreamTask;
75
+ /** Counter for verification frequency gating (incremented per completed task). */
76
+ verificationCounter = 0;
72
77
  // -----------------------------------------------------------------------
73
78
  // Singleton
74
79
  // -----------------------------------------------------------------------
@@ -97,6 +102,7 @@ export class SwarmController {
97
102
  this.orchestrator = new Orchestrator({ aiRouter: new AIRouterImpl(projectDir) });
98
103
  this.instanceManager = new InstanceManager();
99
104
  this.profileStore = new ProfileStore(projectDir);
105
+ this.dreamTask = new DreamTask({ projectDir });
100
106
  // Load persisted state or create default
101
107
  this.state = this._loadState();
102
108
  // Crash recovery: no dispatch loop survives a process restart, so reset
@@ -502,6 +508,7 @@ export class SwarmController {
502
508
  return !routableTasks.includes(t);
503
509
  }).length;
504
510
  _dl(`[dispatch] 0 routable from ${pendingTasks.length} open. parent=${pendingTasks.filter(t => t.isParent).length} budget=${pendingTasks.filter(t => t.context.budgetExhausted).length} deps-blocked=${depsBlocked}`);
511
+ await this._maybeDream();
505
512
  await this._sleep(DISPATCH_LOOP_SLEEP_MS, signal);
506
513
  continue;
507
514
  }
@@ -667,6 +674,27 @@ export class SwarmController {
667
674
  }
668
675
  }
669
676
  // -----------------------------------------------------------------------
677
+ // Idle-time knowledge consolidation
678
+ // -----------------------------------------------------------------------
679
+ async _maybeDream() {
680
+ if (!this.dreamTask.shouldRun())
681
+ return;
682
+ try {
683
+ const result = await this.dreamTask.consolidate();
684
+ if (result.staleEntriesCleaned + result.insightsConverted > 0) {
685
+ this.eventLog.emit({
686
+ type: 'dream-consolidation',
687
+ timestamp: Date.now(),
688
+ data: result,
689
+ });
690
+ }
691
+ }
692
+ catch (err) {
693
+ if (process.env.WEAVER_VERBOSE)
694
+ console.warn('[swarm] dream-task failed:', err);
695
+ }
696
+ }
697
+ // -----------------------------------------------------------------------
670
698
  // Task execution
671
699
  // -----------------------------------------------------------------------
672
700
  async _executeTask(workerId, taskId, runId, bot, profile) {
@@ -682,10 +710,13 @@ export class SwarmController {
682
710
  if (shouldCompact(task, profile.preferences?.costStrategy)) {
683
711
  try {
684
712
  const { resolveModelTier } = await import('./behavior-defaults.js');
685
- const compactModel = resolveModelTier('fast', 'anthropic');
713
+ const { resolveProviderConfig } = await import('./agent-provider.js');
714
+ const detected = resolveProviderConfig('auto');
715
+ const providerType = detected.name;
716
+ const compactModel = detected.model ?? resolveModelTier('fast', providerType);
686
717
  const compactPInfo = {
687
- type: 'anthropic',
688
- apiKey: process.env.ANTHROPIC_API_KEY,
718
+ type: providerType,
719
+ apiKey: process.env.ANTHROPIC_API_KEY ?? process.env.OPENAI_API_KEY,
689
720
  model: compactModel,
690
721
  };
691
722
  const summary = await compactRunHistory(task, compactPInfo, callAI);
@@ -735,7 +766,12 @@ export class SwarmController {
735
766
  taskId,
736
767
  botId: workerId,
737
768
  config: { provider: 'auto' },
738
- params: { taskJson, projectDir: this.projectDir, behaviorJson },
769
+ params: {
770
+ taskJson,
771
+ projectDir: this.projectDir,
772
+ behaviorJson,
773
+ ...(this.frozenPromptPrefix ? { frozenPromptPrefix: this.frozenPromptPrefix } : {}),
774
+ },
739
775
  eventLog: runEventLog,
740
776
  });
741
777
  runEventLog.done();
@@ -810,6 +846,48 @@ export class SwarmController {
810
846
  }
811
847
  }
812
848
  }
849
+ // Independent verification — runs after acceptance passes, before release.
850
+ // Uses a fresh LLM session with a potentially different model tier.
851
+ if (releaseStatus === 'done' && task) {
852
+ const behavior = profile.preferences?.behavior;
853
+ const vConfig = behavior?.verification;
854
+ if (vConfig?.enabled) {
855
+ this.verificationCounter++;
856
+ const shouldVerify = this.verificationCounter % vConfig.frequency === 0;
857
+ if (shouldVerify) {
858
+ try {
859
+ const { runVerification } = await import('../node-types/verify-task.js');
860
+ const { resolveProviderConfig } = await import('./agent-provider.js');
861
+ const { resolveModelTier } = await import('./behavior-defaults.js');
862
+ const detected = resolveProviderConfig('auto');
863
+ const verifyModel = resolveModelTier(vConfig.tier, detected.name);
864
+ const verifyResult = await runVerification({
865
+ taskTitle: task.title,
866
+ taskDescription: task.description,
867
+ filesCreated: runProgress.filesCreated,
868
+ filesModified: runProgress.filesModified,
869
+ summary: runProgress.summary,
870
+ checks: runProgress.checks,
871
+ }, detected.name, verifyModel, process.env.ANTHROPIC_API_KEY ?? process.env.OPENAI_API_KEY);
872
+ await this.taskStore.update(taskId, { lastVerification: verifyResult });
873
+ this.eventLog.emit({
874
+ type: 'verification',
875
+ timestamp: Date.now(),
876
+ data: { taskId, runId, verdict: verifyResult.verdict, summary: verifyResult.summary, cost: verifyResult.cost },
877
+ });
878
+ if (verifyResult.verdict === 'fail' && vConfig.reopenOnFail) {
879
+ releaseStatus = 'open';
880
+ console.log(`\x1b[33m[swarm] verification FAILED for task ${taskId}: ${verifyResult.summary}\x1b[0m`);
881
+ }
882
+ }
883
+ catch (verifyErr) {
884
+ if (process.env.WEAVER_VERBOSE)
885
+ console.warn('[swarm] verification failed:', verifyErr);
886
+ // Verification failure is non-fatal — release as originally planned
887
+ }
888
+ }
889
+ }
890
+ }
813
891
  // Health checks — detect suspicious runs before releasing
814
892
  if (tokensUsed === 0 && runProgress.outcome === 'completed') {
815
893
  console.warn(`[swarm] HEALTH: zero-token completion task=${taskId} worker=${workerId} duration=${durationMs}ms`);
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-controller.js","sourceRoot":"","sources":["../../src/bot/swarm-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarm-controller.js","sourceRoot":"","sources":["../../src/bot/swarm-controller.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,16 @@ export interface AcceptanceResult {
49
49
  }>;
50
50
  checkedAt: string;
51
51
  }
52
+ export type VerificationVerdict = 'pass' | 'fail' | 'inconclusive';
53
+ export interface VerificationResult {
54
+ verdict: VerificationVerdict;
55
+ summary: string;
56
+ issues: string[];
57
+ filesReviewed: string[];
58
+ verifiedAt: string;
59
+ /** Cost of the verification run in USD. */
60
+ cost: number;
61
+ }
52
62
  export interface TaskContext {
53
63
  files: string[];
54
64
  notes: string;
@@ -73,6 +83,7 @@ export interface Task {
73
83
  activeRunId?: string;
74
84
  acceptance?: AcceptanceCriteria;
75
85
  lastAcceptanceCheck?: AcceptanceResult;
86
+ lastVerification?: VerificationResult;
76
87
  context: TaskContext;
77
88
  budgetCost?: number;
78
89
  tokensUsed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"task-types.d.ts","sourceRoot":"","sources":["../../src/bot/task-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-types.d.ts","sourceRoot":"","sources":["../../src/bot/task-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-execute.d.ts","sourceRoot":"","sources":["../../src/node-types/agent-execute.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAGnB,MAAM,gCAAgC,CAAC;AAkBxC;;;;;GAKG;AACH,cAAM,kBAAmB,YAAW,aAAa;IAI7C,OAAO,CAAC,OAAO;IACf,QAAQ,CAAC,KAAK,EAAE,MAAM;IAJxB,OAAO,CAAC,SAAS,CAAK;gBAGZ,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC,WAAW,CAAC,CAAA;KAAE,EACjI,KAAK,GAAE,MAA4B;IAGvC,MAAM,CACX,QAAQ,EAAE,YAAY,EAAE,EACxB,MAAM,EAAE,cAAc,EAAE,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,cAAc,CAAC,WAAW,CAAC;IAuC9B,sDAAsD;IACtD,eAAe,IAAI,IAAI;CAGxB;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAK9B;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CA8PD"}
1
+ {"version":3,"file":"agent-execute.d.ts","sourceRoot":"","sources":["../../src/node-types/agent-execute.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAGnB,MAAM,gCAAgC,CAAC;AAmBxC;;;;;GAKG;AACH,cAAM,kBAAmB,YAAW,aAAa;IAI7C,OAAO,CAAC,OAAO;IACf,QAAQ,CAAC,KAAK,EAAE,MAAM;IAJxB,OAAO,CAAC,SAAS,CAAK;gBAGZ,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC,WAAW,CAAC,CAAA;KAAE,EACjI,KAAK,GAAE,MAA4B;IAGvC,MAAM,CACX,QAAQ,EAAE,YAAY,EAAE,EACxB,MAAM,EAAE,cAAc,EAAE,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,cAAc,CAAC,WAAW,CAAC;IAuC9B,sDAAsD;IACtD,eAAe,IAAI,IAAI;CAGxB;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAK9B;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CA8QD"}
@@ -4,6 +4,7 @@ import { resolveToolsForTask } from '../bot/tool-registry.js';
4
4
  import { auditEmit } from '../bot/audit-logger.js';
5
5
  import { withRetry, getErrorGuidance } from '../bot/error-classifier.js';
6
6
  import { CostTracker } from '../bot/cost-tracker.js';
7
+ import { PostTurnHookRunner, CostCheckpointHook, ProgressReportHook } from '../bot/post-turn-hooks.js';
7
8
  // Clean up persistent sessions on process exit
8
9
  let cleanupRegistered = false;
9
10
  function registerCleanup() {
@@ -198,7 +199,23 @@ export async function weaverAgentExecute(execute, ctx, modelOverride) {
198
199
  const caps = behavior?.capabilities ?? [];
199
200
  const grantedToolNames = resolveToolsForTask({ mode: task.mode }, caps.length > 0 ? caps : undefined);
200
201
  const tools = WEAVER_TOOLS.filter(t => grantedToolNames.has(t.name));
201
- const result = await withRetry(() => runAgentLoop(provider, tools, executor, [{ role: 'user', content: taskPrompt }], { systemPrompt, maxIterations: 15, onToolEvent, onStreamEvent }), {
202
+ // Set up post-turn hooks cost checkpoint + progress reporting.
203
+ // CostCheckpointHook aborts the loop when cumulative cost exceeds budget.
204
+ // ProgressReportHook emits turn-progress events for UI updates.
205
+ const hookRunner = new PostTurnHookRunner();
206
+ const model = pInfo.model ?? 'claude-sonnet-4-6';
207
+ const budget = behavior?.budget;
208
+ if (budget != null && budget > 0) {
209
+ hookRunner.register(new CostCheckpointHook(budget, model));
210
+ }
211
+ hookRunner.register(new ProgressReportHook((event) => {
212
+ renderer.onStreamEvent?.({ type: 'text_delta', text: '' }); // keep renderer alive
213
+ if (process.env.WEAVER_VERBOSE) {
214
+ console.log(`[post-turn] ${event.type}: iter=${event.data.iteration} tools=${event.data.toolCallCount}`);
215
+ }
216
+ }));
217
+ const onTurnEnd = hookRunner.createCallback();
218
+ const result = await withRetry(() => runAgentLoop(provider, tools, executor, [{ role: 'user', content: taskPrompt }], { systemPrompt, maxIterations: 15, onToolEvent, onStreamEvent, onTurnEnd }), {
202
219
  maxRetries: 3,
203
220
  baseDelayMs: 5_000,
204
221
  onRetry: (attempt, delay, err) => {
@@ -206,7 +223,6 @@ export async function weaverAgentExecute(execute, ctx, modelOverride) {
206
223
  },
207
224
  });
208
225
  const usage = result.usage;
209
- const model = pInfo.model ?? 'claude-sonnet-4-6';
210
226
  const estimatedCost = CostTracker.estimateCost(model, {
211
227
  inputTokens: usage.promptTokens,
212
228
  outputTokens: usage.completionTokens,