@winspan/claude-forge 8.28.2 → 8.30.0

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 (111) hide show
  1. package/README.md +68 -215
  2. package/dist/capability/execution-manager.d.ts +59 -0
  3. package/dist/capability/execution-manager.d.ts.map +1 -0
  4. package/dist/capability/execution-manager.js +168 -0
  5. package/dist/capability/execution-manager.js.map +1 -0
  6. package/dist/capability/executor/background-executor.d.ts +57 -0
  7. package/dist/capability/executor/background-executor.d.ts.map +1 -0
  8. package/dist/capability/executor/background-executor.js +299 -0
  9. package/dist/capability/executor/background-executor.js.map +1 -0
  10. package/dist/capability/executor/foreground-executor.d.ts +26 -0
  11. package/dist/capability/executor/foreground-executor.d.ts.map +1 -0
  12. package/dist/capability/executor/foreground-executor.js +82 -0
  13. package/dist/capability/executor/foreground-executor.js.map +1 -0
  14. package/dist/capability/executor/orchestrator.d.ts +25 -0
  15. package/dist/capability/executor/orchestrator.d.ts.map +1 -0
  16. package/dist/capability/executor/orchestrator.js +79 -0
  17. package/dist/capability/executor/orchestrator.js.map +1 -0
  18. package/dist/capability/executor/stream-parser.d.ts +73 -0
  19. package/dist/capability/executor/stream-parser.d.ts.map +1 -0
  20. package/dist/capability/executor/stream-parser.js +56 -0
  21. package/dist/capability/executor/stream-parser.js.map +1 -0
  22. package/dist/capability/executor/types.d.ts +44 -0
  23. package/dist/capability/executor/types.d.ts.map +1 -0
  24. package/dist/capability/executor/types.js +9 -0
  25. package/dist/capability/executor/types.js.map +1 -0
  26. package/dist/capability/executor/worker-auth-probe.d.ts +30 -0
  27. package/dist/capability/executor/worker-auth-probe.d.ts.map +1 -0
  28. package/dist/capability/executor/worker-auth-probe.js +99 -0
  29. package/dist/capability/executor/worker-auth-probe.js.map +1 -0
  30. package/dist/capability/types.d.ts +10 -1
  31. package/dist/capability/types.d.ts.map +1 -1
  32. package/dist/core/storage/sqlite.d.ts +18 -0
  33. package/dist/core/storage/sqlite.d.ts.map +1 -1
  34. package/dist/core/storage/sqlite.js +75 -4
  35. package/dist/core/storage/sqlite.js.map +1 -1
  36. package/dist/daemon/handlers/methodology-formatter.d.ts +7 -0
  37. package/dist/daemon/handlers/methodology-formatter.d.ts.map +1 -1
  38. package/dist/daemon/handlers/methodology-formatter.js +46 -0
  39. package/dist/daemon/handlers/methodology-formatter.js.map +1 -1
  40. package/dist/daemon/handlers/stop.d.ts +6 -1
  41. package/dist/daemon/handlers/stop.d.ts.map +1 -1
  42. package/dist/daemon/handlers/stop.js +45 -1
  43. package/dist/daemon/handlers/stop.js.map +1 -1
  44. package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
  45. package/dist/daemon/handlers/user-prompt.js +34 -1
  46. package/dist/daemon/handlers/user-prompt.js.map +1 -1
  47. package/dist/daemon/index.d.ts.map +1 -1
  48. package/dist/daemon/index.js +20 -1
  49. package/dist/daemon/index.js.map +1 -1
  50. package/dist/daemon/methodology-pending-queue.d.ts +33 -0
  51. package/dist/daemon/methodology-pending-queue.d.ts.map +1 -0
  52. package/dist/daemon/methodology-pending-queue.js +120 -0
  53. package/dist/daemon/methodology-pending-queue.js.map +1 -0
  54. package/dist/web/server.d.ts +6 -0
  55. package/dist/web/server.d.ts.map +1 -1
  56. package/dist/web/server.js +127 -7
  57. package/dist/web/server.js.map +1 -1
  58. package/dist/web/static/assets/AIConfig-nZgwaowr.js +2 -0
  59. package/dist/web/static/assets/AIConfig-nZgwaowr.js.map +1 -0
  60. package/dist/web/static/assets/Agents-BZGXKWC7.js +2 -0
  61. package/dist/web/static/assets/Agents-BZGXKWC7.js.map +1 -0
  62. package/dist/web/static/assets/CodeBlock--H53gk46.js +2 -0
  63. package/dist/web/static/assets/CodeBlock--H53gk46.js.map +1 -0
  64. package/dist/web/static/assets/Dashboard-qUCxXFSI.js +2 -0
  65. package/dist/web/static/assets/Dashboard-qUCxXFSI.js.map +1 -0
  66. package/dist/web/static/assets/Drawer-DeKukfwJ.js +2 -0
  67. package/dist/web/static/assets/Drawer-DeKukfwJ.js.map +1 -0
  68. package/dist/web/static/assets/Events-CnA3f740.js +2 -0
  69. package/dist/web/static/assets/Events-CnA3f740.js.map +1 -0
  70. package/dist/web/static/assets/ExecutionTrace-ClPfFIQa.js +2 -0
  71. package/dist/web/static/assets/ExecutionTrace-ClPfFIQa.js.map +1 -0
  72. package/dist/web/static/assets/MarkdownRenderer-CCIz1MOz.js +2 -0
  73. package/dist/web/static/assets/MarkdownRenderer-CCIz1MOz.js.map +1 -0
  74. package/dist/web/static/assets/Methodologies-CAXUXeox.js +2 -0
  75. package/dist/web/static/assets/Methodologies-CAXUXeox.js.map +1 -0
  76. package/dist/web/static/assets/MethodologyDetail-Do1taSKM.js +2 -0
  77. package/dist/web/static/assets/MethodologyDetail-Do1taSKM.js.map +1 -0
  78. package/dist/web/static/assets/Routing-CFmM7JuB.js +2 -0
  79. package/dist/web/static/assets/Routing-CFmM7JuB.js.map +1 -0
  80. package/dist/web/static/assets/SessionDetail-DzTue2xK.js +2 -0
  81. package/dist/web/static/assets/SessionDetail-DzTue2xK.js.map +1 -0
  82. package/dist/web/static/assets/Sessions-DwWOKgnl.js +2 -0
  83. package/dist/web/static/assets/Sessions-DwWOKgnl.js.map +1 -0
  84. package/dist/web/static/assets/Skills-DhM6ALhr.js +2 -0
  85. package/dist/web/static/assets/Skills-DhM6ALhr.js.map +1 -0
  86. package/dist/web/static/assets/charts-CLrM0_uM.js +37 -0
  87. package/dist/web/static/assets/charts-CLrM0_uM.js.map +1 -0
  88. package/dist/web/static/assets/date-fns-CZ_bHujz.js +2 -0
  89. package/dist/web/static/assets/date-fns-CZ_bHujz.js.map +1 -0
  90. package/dist/web/static/assets/export-CEzDNM66.js +4 -0
  91. package/dist/web/static/assets/export-CEzDNM66.js.map +1 -0
  92. package/dist/web/static/assets/index-CVWult53.css +1 -0
  93. package/dist/web/static/assets/index-DUYj2ek1.js +3 -0
  94. package/dist/web/static/assets/index-DUYj2ek1.js.map +1 -0
  95. package/dist/web/static/assets/lucide-DjB4fWNj.js +227 -0
  96. package/dist/web/static/assets/lucide-DjB4fWNj.js.map +1 -0
  97. package/dist/web/static/assets/query-C99w429o.js +2 -0
  98. package/dist/web/static/assets/query-C99w429o.js.map +1 -0
  99. package/dist/web/static/assets/react-router-I-HqunH7.js +20 -0
  100. package/dist/web/static/assets/react-router-I-HqunH7.js.map +1 -0
  101. package/dist/web/static/assets/react-vendor-CSp-GLFF.js +49 -0
  102. package/dist/web/static/assets/react-vendor-CSp-GLFF.js.map +1 -0
  103. package/dist/web/static/assets/syntax-highlighter-44FakypI.js +9 -0
  104. package/dist/web/static/assets/syntax-highlighter-44FakypI.js.map +1 -0
  105. package/dist/web/static/assets/vendor-CMMjVdZs.js +64 -0
  106. package/dist/web/static/assets/vendor-CMMjVdZs.js.map +1 -0
  107. package/dist/web/static/index.html +8 -2
  108. package/package.json +1 -1
  109. package/dist/web/static/assets/index-CtylfoaN.css +0 -1
  110. package/dist/web/static/assets/index-DnaQt27h.js +0 -388
  111. package/dist/web/static/assets/index-DnaQt27h.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"methodology-formatter.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/methodology-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE1F,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,MAAM,CAkDR;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAiB9E"}
1
+ {"version":3,"file":"methodology-formatter.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/methodology-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE1F,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,MAAM,CAkDR;AAED;;;;;GAKG;AACH,wBAAgB,wCAAwC,CACtD,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,MAAM,CAwCR;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAiB9E"}
@@ -53,6 +53,52 @@ See CLAUDE.md "Behavioral Rules (Always Enforced)" for routing protocol.
53
53
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
54
54
  `;
55
55
  }
56
+ /**
57
+ * 格式化给后台 worker 子进程的 phase directive。
58
+ *
59
+ * 和前台版本的区别:worker 本身**就是**那个 agent,不能再要求它调 Agent/Task 工具。
60
+ * 这里直接把 phase 的 prompt 当作任务本体,让 worker 以该 agent 的身份直接完成并回写结果。
61
+ */
62
+ export function formatMethodologyPhaseDirectiveForWorker(methodology, plan, phase, phaseIndex, executionId) {
63
+ const totalPhases = plan.phases.length;
64
+ const phaseOverview = plan.phases
65
+ .map((p, i) => {
66
+ const marker = i === phaseIndex ? '← current' : (i < phaseIndex ? '(done)' : '');
67
+ return ` ${i + 1}. ${p.id} (${p.agent}) ${marker}`.trimEnd();
68
+ })
69
+ .join('\n');
70
+ return `[METHODOLOGY_WORKER: ${methodology.id}] [EXECUTION_ID: ${executionId}] [PHASE: ${phaseIndex + 1}/${totalPhases}]
71
+
72
+ You ARE the \`${phase.agent}\` agent. You have been spawned as a background worker to execute phase ${phaseIndex + 1} of the "${methodology.name}" methodology.
73
+
74
+ Your job for this phase is to directly carry out the following task, in your capacity as the \`${phase.agent}\` agent. Respond directly, don't delegate, don't call an Agent/Task tool — you already are the agent.
75
+
76
+ ──────────────────────────────────────────────────────────────
77
+ TASK (phase ${phaseIndex + 1}: ${phase.id})
78
+ ──────────────────────────────────────────────────────────────
79
+ ${phase.prompt}
80
+
81
+ ──────────────────────────────────────────────────────────────
82
+ CONTEXT
83
+ ──────────────────────────────────────────────────────────────
84
+ Methodology: ${methodology.name} (${methodology.id})
85
+ Phase rationale: ${phase.rationale}
86
+ Plan rationale: ${plan.rationale}
87
+
88
+ Plan overview:
89
+ ${phaseOverview}
90
+
91
+ ──────────────────────────────────────────────────────────────
92
+ RULES
93
+ ──────────────────────────────────────────────────────────────
94
+ - You are the \`${phase.agent}\` agent. Act as that role.
95
+ - Do NOT invoke Agent/Task/subagent tools; those are not available and not needed.
96
+ - Do NOT try to execute other phases — only phase ${phaseIndex + 1}.
97
+ - When you're done, respond directly with your findings / output. The orchestrator will capture your final response and advance the plan.
98
+
99
+ Respond directly, don't delegate.
100
+ `;
101
+ }
56
102
  export function formatMethodologyCompletionMessage(plan) {
57
103
  const phaseList = plan.phases
58
104
  .map((p, i) => ` ${i + 1}. ${p.id} (${p.agent}) ✓`)
@@ -1 +1 @@
1
- {"version":3,"file":"methodology-formatter.js","sourceRoot":"","sources":["../../../src/daemon/handlers/methodology-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,UAAU,+BAA+B,CAC7C,WAAwB,EACxB,IAAmB,EACnB,KAAmB,EACnB,UAAkB,EAClB,WAAmB;IAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,MAAM,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;IACtD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;iBAEQ,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,WAAW,yBAAyB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;uBAM/C,WAAW,CAAC,EAAE;iBACpB,WAAW;kBACV,UAAU,GAAG,CAAC,IAAI,WAAW;;UAErC,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE;aACxB,KAAK,CAAC,SAAS;;;;sBAIN,KAAK,CAAC,KAAK;kCACC,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,IAAI;eACxD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;;;;EAI9C,aAAa;;kBAEG,IAAI,CAAC,SAAS;;cAElB,UAAU,GAAG,CAAC;;+BAEG,UAAU,GAAG,CAAC;;;2BAGlB,UAAU,GAAG,CAAC;2BACd,UAAU,GAAG,CAAC;wCACD,KAAK,CAAC,KAAK;;;;;CAKlD,CAAC;AACF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,IAAmB;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC;SACnD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;MAKH,IAAI,CAAC,MAAM,CAAC,MAAM;EACtB,SAAS;;kBAEO,IAAI,CAAC,SAAS;;;CAG/B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"methodology-formatter.js","sourceRoot":"","sources":["../../../src/daemon/handlers/methodology-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,UAAU,+BAA+B,CAC7C,WAAwB,EACxB,IAAmB,EACnB,KAAmB,EACnB,UAAkB,EAClB,WAAmB;IAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,MAAM,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;IACtD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;iBAEQ,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,WAAW,yBAAyB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;uBAM/C,WAAW,CAAC,EAAE;iBACpB,WAAW;kBACV,UAAU,GAAG,CAAC,IAAI,WAAW;;UAErC,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE;aACxB,KAAK,CAAC,SAAS;;;;sBAIN,KAAK,CAAC,KAAK;kCACC,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,IAAI;eACxD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;;;;EAI9C,aAAa;;kBAEG,IAAI,CAAC,SAAS;;cAElB,UAAU,GAAG,CAAC;;+BAEG,UAAU,GAAG,CAAC;;;2BAGlB,UAAU,GAAG,CAAC;2BACd,UAAU,GAAG,CAAC;wCACD,KAAK,CAAC,KAAK;;;;;CAKlD,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wCAAwC,CACtD,WAAwB,EACxB,IAAmB,EACnB,KAAmB,EACnB,UAAkB,EAClB,WAAmB;IAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,MAAM,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IAChE,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,wBAAwB,WAAW,CAAC,EAAE,oBAAoB,WAAW,aAAa,UAAU,GAAG,CAAC,IAAI,WAAW;;gBAExG,KAAK,CAAC,KAAK,2EAA2E,UAAU,GAAG,CAAC,YAAY,WAAW,CAAC,IAAI;;iGAE/C,KAAK,CAAC,KAAK;;;cAG9F,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE;;EAEvC,KAAK,CAAC,MAAM;;;;;eAKC,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE;mBAC/B,KAAK,CAAC,SAAS;kBAChB,IAAI,CAAC,SAAS;;;EAG9B,aAAa;;;;;kBAKG,KAAK,CAAC,KAAK;;oDAEuB,UAAU,GAAG,CAAC;;;;CAIjE,CAAC;AACF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,IAAmB;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC;SACnD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;MAKH,IAAI,CAAC,MAAM,CAAC,MAAM;EACtB,SAAS;;kBAEO,IAAI,CAAC,SAAS;;;CAG/B,CAAC;AACF,CAAC"}
@@ -11,13 +11,18 @@ import type { HistoryExporter } from './history-exporter.js';
11
11
  import type { ResumeManager } from '../../claudemd/resume-manager.js';
12
12
  import type { RoutingObserver } from '../routing-observer.js';
13
13
  import type { TaskSegmenter } from '../../intelligence/task-segmenter.js';
14
+ import type { SQLiteStorage } from '../../core/storage/sqlite.js';
15
+ import type { MethodologyRegistry } from '../../capability/methodology-registry.js';
14
16
  export declare class StopHandler {
15
17
  private distiller;
16
18
  private exporter;
17
19
  private resume;
18
20
  private observer;
19
21
  private taskSegmenter;
20
- constructor(distiller: Distiller, exporter: HistoryExporter, resume?: ResumeManager | null, observer?: RoutingObserver | null, taskSegmenter?: TaskSegmenter | null);
22
+ private storage;
23
+ private methodologyRegistry;
24
+ constructor(distiller: Distiller, exporter: HistoryExporter, resume?: ResumeManager | null, observer?: RoutingObserver | null, taskSegmenter?: TaskSegmenter | null, storage?: SQLiteStorage | null, methodologyRegistry?: MethodologyRegistry | null);
21
25
  handle(event: ForgeEvent): Promise<HookResult>;
26
+ private checkMethodologyStall;
22
27
  }
23
28
  //# sourceMappingURL=stop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/stop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAG1E,qBAAa,WAAW;IAEpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;gBAJb,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,eAAe,EACzB,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,QAAQ,GAAE,eAAe,GAAG,IAAW,EACvC,aAAa,GAAE,aAAa,GAAG,IAAW;IAG9C,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CA8CrD"}
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/stop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAMpF,qBAAa,WAAW;IAEpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,mBAAmB;gBANnB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,eAAe,EACzB,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,QAAQ,GAAE,eAAe,GAAG,IAAW,EACvC,aAAa,GAAE,aAAa,GAAG,IAAW,EAC1C,OAAO,GAAE,aAAa,GAAG,IAAW,EACpC,mBAAmB,GAAE,mBAAmB,GAAG,IAAW;IAG1D,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAoDpD,OAAO,CAAC,qBAAqB;CAwC9B"}
@@ -6,18 +6,24 @@
6
6
  * 2. Export session history to .claude-forge/history/
7
7
  */
8
8
  import { logger } from '../../core/utils/logger.js';
9
+ import { getMethodologyPendingQueue } from '../methodology-pending-queue.js';
10
+ import { formatMethodologyPhaseDirective } from './methodology-formatter.js';
9
11
  export class StopHandler {
10
12
  distiller;
11
13
  exporter;
12
14
  resume;
13
15
  observer;
14
16
  taskSegmenter;
15
- constructor(distiller, exporter, resume = null, observer = null, taskSegmenter = null) {
17
+ storage;
18
+ methodologyRegistry;
19
+ constructor(distiller, exporter, resume = null, observer = null, taskSegmenter = null, storage = null, methodologyRegistry = null) {
16
20
  this.distiller = distiller;
17
21
  this.exporter = exporter;
18
22
  this.resume = resume;
19
23
  this.observer = observer;
20
24
  this.taskSegmenter = taskSegmenter;
25
+ this.storage = storage;
26
+ this.methodologyRegistry = methodologyRegistry;
21
27
  }
22
28
  async handle(event) {
23
29
  // Flush any pending routing observation (obeyed=NULL if still unset,
@@ -41,6 +47,10 @@ export class StopHandler {
41
47
  logger.debug(`[Stop] task completion failed: ${err}`);
42
48
  }
43
49
  }
50
+ // 1a. Methodology 前台兜底:若当前 session 有 running execution 且
51
+ // 当前阶段没推进,把该阶段指令放入 pending 队列,下一轮
52
+ // UserPromptSubmit 会自动再注入一次(解决 3 小时 0% 的体验问题)。
53
+ this.checkMethodologyStall(event.session_id);
44
54
  // 2. Save resume info
45
55
  if (this.resume) {
46
56
  const resumeContent = this.resume.generate(event.session_id, event.project_path);
@@ -62,5 +72,39 @@ export class StopHandler {
62
72
  return { allow: true };
63
73
  }
64
74
  }
75
+ checkMethodologyStall(session_id) {
76
+ if (!this.storage || !this.methodologyRegistry)
77
+ return;
78
+ try {
79
+ const execution = this.storage.getActiveMethodologyExecution(session_id);
80
+ if (!execution)
81
+ return;
82
+ const plan = JSON.parse(execution.plan_json);
83
+ const idx = execution.current_phase_index ?? 0;
84
+ const phase = plan.phases[idx];
85
+ if (!phase)
86
+ return;
87
+ const phaseExecs = this.storage.getPhaseExecutions(execution.id);
88
+ const currentExec = phaseExecs.find(p => p.phase_index === idx);
89
+ if (currentExec?.status === 'completed')
90
+ return;
91
+ const methodology = this.methodologyRegistry.get(execution.methodology_id);
92
+ if (!methodology)
93
+ return;
94
+ const directive = formatMethodologyPhaseDirective(methodology, plan, phase, idx, execution.id);
95
+ getMethodologyPendingQueue().enqueue({
96
+ session_id,
97
+ execution_id: execution.id,
98
+ phase_index: idx,
99
+ directive,
100
+ enqueued_at: Date.now(),
101
+ reason: 'stop-fallback',
102
+ });
103
+ logger.info(`[Stop] Methodology phase ${idx + 1}/${plan.phases.length} not progressed — queued directive for next UserPromptSubmit`);
104
+ }
105
+ catch (err) {
106
+ logger.debug(`[Stop] methodology stall check failed: ${err}`);
107
+ }
108
+ }
65
109
  }
66
110
  //# sourceMappingURL=stop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/daemon/handlers/stop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,MAAM,OAAO,WAAW;IAEZ;IACA;IACA;IACA;IACA;IALV,YACU,SAAoB,EACpB,QAAyB,EACzB,SAA+B,IAAI,EACnC,WAAmC,IAAI,EACvC,gBAAsC,IAAI;QAJ1C,cAAS,GAAT,SAAS,CAAW;QACpB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAA6B;QACnC,aAAQ,GAAR,QAAQ,CAA+B;QACvC,kBAAa,GAAb,aAAa,CAA6B;IACjD,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,qEAAqE;QACrE,8DAA8D;QAC9D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,sFAAsF;YACtF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC5E,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,sBAAsB;YACtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBACjF,IAAI,aAAa,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;oBACpD,MAAM,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAED,qBAAqB;YACrB,MAAM,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7D,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YAEnE,oBAAoB;YACpB,MAAM,CAAC,IAAI,CAAC,wCAAwC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACxE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAElC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/daemon/handlers/stop.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-prompt.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,mCAAmC,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAKlF,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAE7D,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,kBAAkB;IAZ5B,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;gBAGrC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,mBAAmB,GAAE,mBAAmB,GAAG,IAAW,EACtD,MAAM,GAAE,gBAAgB,GAAG,IAAW,EACtC,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,OAAO,GAAE,aAAa,GAAG,IAAW,EACpC,QAAQ,GAAE,eAAe,GAAG,IAAW,EACvC,mBAAmB,GAAE,mBAAmB,GAAG,IAAW,EACtD,kBAAkB,GAAE,kBAAkB,GAAG,IAAW;IAGxD,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAgMrD"}
1
+ {"version":3,"file":"user-prompt.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,mCAAmC,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAMlF,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAE7D,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,kBAAkB;IAZ5B,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;gBAGrC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,mBAAmB,GAAE,mBAAmB,GAAG,IAAW,EACtD,MAAM,GAAE,gBAAgB,GAAG,IAAW,EACtC,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,OAAO,GAAE,aAAa,GAAG,IAAW,EACpC,QAAQ,GAAE,eAAe,GAAG,IAAW,EACvC,mBAAmB,GAAE,mBAAmB,GAAG,IAAW,EACtD,kBAAkB,GAAE,kBAAkB,GAAG,IAAW;IAGxD,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CA0OrD"}
@@ -13,6 +13,7 @@
13
13
  import { logger } from '../../core/utils/logger.js';
14
14
  import { routingState } from '../routing-state.js';
15
15
  import { formatMethodologyPhaseDirective } from './methodology-formatter.js';
16
+ import { getMethodologyPendingQueue } from '../methodology-pending-queue.js';
16
17
  export const INJECTION_VERSION = 'v1-declarative-2026-05-08';
17
18
  export class UserPromptHandler {
18
19
  classifier;
@@ -75,12 +76,44 @@ export class UserPromptHandler {
75
76
  let methodologyHandled = false;
76
77
  if (this.methodologyRegistry && this.methodologyPlanner && this.storage) {
77
78
  try {
79
+ // Phase A 兜底:优先消费 pending 队列(Stop hook 兜底注入 / 冷启动)
80
+ const pending = getMethodologyPendingQueue().consume(event.session_id);
81
+ if (pending) {
82
+ systemParts.push(pending.directive);
83
+ methodologyHandled = true;
84
+ methodologyExecutionId = pending.execution_id;
85
+ logger.info(`[Methodology] Re-injected pending directive (reason=${pending.reason}, execution=${pending.execution_id}, phase=${pending.phase_index})`);
86
+ }
78
87
  logger.info(`[Methodology] Checking match for taskType=${analysis.taskType} complexity=${analysis.complexity}`);
79
88
  // Check if there's an active methodology execution for this session
80
89
  const activeExecution = this.storage.getActiveMethodologyExecution(event.session_id);
81
90
  if (activeExecution) {
82
91
  logger.info(`[Methodology] Active execution found: ${activeExecution.id}`);
83
- // Methodology already running, don't create new one
92
+ // 若本轮尚未注入过(没有命中 pending 分支),且当前 phase 还没
93
+ // 推进(status != 'completed'),就重新注入当前 phase 指令。
94
+ // 避免 Claude 忽略上一次注入导致停在 0% 的情况。
95
+ if (!methodologyHandled) {
96
+ try {
97
+ const plan = JSON.parse(activeExecution.plan_json);
98
+ const idx = activeExecution.current_phase_index ?? 0;
99
+ const currentPhase = plan.phases[idx];
100
+ const phaseExecs = this.storage.getPhaseExecutions(activeExecution.id);
101
+ const currentExec = phaseExecs.find(p => p.phase_index === idx);
102
+ const phaseAlreadyDone = currentExec?.status === 'completed';
103
+ if (currentPhase && !phaseAlreadyDone) {
104
+ const methodology = this.methodologyRegistry.get(activeExecution.methodology_id);
105
+ if (methodology) {
106
+ systemParts.push(formatMethodologyPhaseDirective(methodology, plan, currentPhase, idx, activeExecution.id));
107
+ methodologyHandled = true;
108
+ methodologyExecutionId = activeExecution.id;
109
+ logger.info(`[Methodology] Cold re-injection: execution=${activeExecution.id} phase=${idx + 1}/${plan.phases.length} (${currentPhase.id} → ${currentPhase.agent})`);
110
+ }
111
+ }
112
+ }
113
+ catch (err) {
114
+ logger.warn(`[Methodology] Cold re-injection skipped: ${err}`);
115
+ }
116
+ }
84
117
  }
85
118
  else {
86
119
  // Match methodology based on intent
@@ -1 +1 @@
1
- {"version":3,"file":"user-prompt.js","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-prompt.js","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0CH,wBAAsB,WAAW,CAAC,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6P5E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0CH,wBAAsB,WAAW,CAAC,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkR5E"}
@@ -112,6 +112,21 @@ export async function startDaemon(foreground = false) {
112
112
  const methodologyRegistry = new MethodologyRegistry();
113
113
  const methodologyPlanner = new MethodologyPlanner(ai);
114
114
  logger.info(`[Methodology] Loaded ${methodologyRegistry.getAll().length} methodologies`);
115
+ // Execution manager: drives foreground + background orchestrators, reconciles orphans
116
+ const { ExecutionManager } = await import('../capability/execution-manager.js');
117
+ const executionManager = new ExecutionManager(storage, methodologyRegistry, {
118
+ background: {
119
+ cwd: process.cwd(),
120
+ projectRoot: process.cwd(),
121
+ },
122
+ });
123
+ try {
124
+ executionManager.reconcileOrphansOnStartup();
125
+ }
126
+ catch (err) {
127
+ logger.warn(`[ExecutionManager] reconcile failed: ${err}`);
128
+ }
129
+ executionManager.startReconcileLoop(60_000);
115
130
  // Enable hot-reload for routing.yaml (Phase 3) and experiments.yaml (Phase 5)
116
131
  defaultRouter.enableHotReload();
117
132
  experimentRouter.enableHotReload();
@@ -128,7 +143,7 @@ export async function startDaemon(foreground = false) {
128
143
  UserPromptSubmit: new UserPromptHandler(classifier, resume, conventionExtractor, experimentRouter, agents, storage, routingObserver, methodologyRegistry, methodologyPlanner),
129
144
  PreToolUse: new PreToolUseHandler(ruleEngine, contextBuilder),
130
145
  PostToolUse: new PostToolUseHandler(qualityGate ?? null, storage, routingObserver, methodologyRegistry),
131
- Stop: new StopHandler(distiller ?? null, exporter, resume, routingObserver, taskSegmenter),
146
+ Stop: new StopHandler(distiller ?? null, exporter, resume, routingObserver, taskSegmenter, storage, methodologyRegistry),
132
147
  };
133
148
  // ── 7. Event handler ───────────────────────────────────────────────────────
134
149
  const handleEvent = async (event) => {
@@ -230,6 +245,9 @@ export async function startDaemon(foreground = false) {
230
245
  ruleEngine,
231
246
  router: defaultRouter,
232
247
  agents,
248
+ executionManager,
249
+ methodologyRegistry,
250
+ methodologyPlanner,
233
251
  });
234
252
  await webServer.start();
235
253
  }
@@ -242,6 +260,7 @@ export async function startDaemon(foreground = false) {
242
260
  logger.info('Shutting down...');
243
261
  if (ai)
244
262
  logger.info(`[AI Stats] ${ai.formatStats()}`);
263
+ executionManager.stopReconcileLoop();
245
264
  if (webServer)
246
265
  await webServer.stop();
247
266
  await server.close();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Methodology Pending Inject Queue
3
+ *
4
+ * 前台模式下,Claude 主对话有时会忽略 UserPromptSubmit 注入的阶段指令
5
+ * (3 小时进度 0% 就是这种情况)。Stop hook 检测到这种情况时,把"下
6
+ * 一次要注入的指令"写入队列;UserPromptSubmit 在下一轮响应前消费一次。
7
+ *
8
+ * 进程内 Map + 磁盘 JSON 双层:daemon 重启时从磁盘恢复。
9
+ */
10
+ export interface PendingDirective {
11
+ session_id: string;
12
+ execution_id: number;
13
+ phase_index: number;
14
+ directive: string;
15
+ enqueued_at: number;
16
+ reason: 'stop-fallback' | 'cold-restart' | 'idle-timeout';
17
+ }
18
+ export declare class MethodologyPendingQueue {
19
+ private memory;
20
+ private queueDir;
21
+ constructor(queueDir?: string);
22
+ private loadFromDisk;
23
+ private filePath;
24
+ enqueue(entry: PendingDirective): void;
25
+ consume(session_id: string): PendingDirective | null;
26
+ peek(session_id: string): PendingDirective | null;
27
+ size(): number;
28
+ purgeByExecutionId(execution_id: number): void;
29
+ }
30
+ export declare function getMethodologyPendingQueue(): MethodologyPendingQueue;
31
+ export declare function _resetMethodologyPendingQueueForTest(): void;
32
+ export declare function getPendingQueueDir(): string;
33
+ //# sourceMappingURL=methodology-pending-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methodology-pending-queue.d.ts","sourceRoot":"","sources":["../../src/daemon/methodology-pending-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;CAC3D;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,CAAC,EAAE,MAAM;IAK7B,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IActC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAiBpD,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAIjD,IAAI,IAAI,MAAM;IAKd,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAW/C;AAID,wBAAgB,0BAA0B,IAAI,uBAAuB,CAGpE;AAGD,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAGD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Methodology Pending Inject Queue
3
+ *
4
+ * 前台模式下,Claude 主对话有时会忽略 UserPromptSubmit 注入的阶段指令
5
+ * (3 小时进度 0% 就是这种情况)。Stop hook 检测到这种情况时,把"下
6
+ * 一次要注入的指令"写入队列;UserPromptSubmit 在下一轮响应前消费一次。
7
+ *
8
+ * 进程内 Map + 磁盘 JSON 双层:daemon 重启时从磁盘恢复。
9
+ */
10
+ import { existsSync, mkdirSync, readdirSync, readFileSync, unlinkSync, writeFileSync } from 'fs';
11
+ import path from 'path';
12
+ import { homedir } from 'os';
13
+ import { logger } from '../core/utils/logger.js';
14
+ const DEFAULT_QUEUE_DIR = path.join(homedir(), '.claude-forge', 'pending-inject');
15
+ function resolveQueueDir() {
16
+ return process.env.CLAUDE_FORGE_PENDING_DIR || DEFAULT_QUEUE_DIR;
17
+ }
18
+ export class MethodologyPendingQueue {
19
+ memory = new Map();
20
+ queueDir;
21
+ constructor(queueDir) {
22
+ this.queueDir = queueDir ?? resolveQueueDir();
23
+ this.loadFromDisk();
24
+ }
25
+ loadFromDisk() {
26
+ try {
27
+ if (!existsSync(this.queueDir)) {
28
+ mkdirSync(this.queueDir, { recursive: true });
29
+ return;
30
+ }
31
+ const files = readdirSync(this.queueDir).filter(f => f.endsWith('.json'));
32
+ for (const file of files) {
33
+ try {
34
+ const raw = readFileSync(path.join(this.queueDir, file), 'utf-8');
35
+ const entry = JSON.parse(raw);
36
+ this.memory.set(entry.session_id, entry);
37
+ }
38
+ catch (err) {
39
+ logger.debug(`[MethodologyPendingQueue] skip corrupt ${file}: ${err}`);
40
+ }
41
+ }
42
+ if (this.memory.size > 0) {
43
+ logger.info(`[MethodologyPendingQueue] restored ${this.memory.size} pending directives`);
44
+ }
45
+ }
46
+ catch (err) {
47
+ logger.warn(`[MethodologyPendingQueue] loadFromDisk failed: ${err}`);
48
+ }
49
+ }
50
+ filePath(session_id) {
51
+ const safe = session_id.replace(/[^a-zA-Z0-9_-]/g, '_');
52
+ return path.join(this.queueDir, `${safe}.json`);
53
+ }
54
+ enqueue(entry) {
55
+ this.memory.set(entry.session_id, entry);
56
+ try {
57
+ if (!existsSync(this.queueDir))
58
+ mkdirSync(this.queueDir, { recursive: true });
59
+ writeFileSync(this.filePath(entry.session_id), JSON.stringify(entry, null, 2), 'utf-8');
60
+ logger.info(`[MethodologyPendingQueue] enqueued ${entry.reason} for session=${entry.session_id.slice(0, 8)} phase=${entry.phase_index}`);
61
+ }
62
+ catch (err) {
63
+ logger.warn(`[MethodologyPendingQueue] persist failed: ${err}`);
64
+ }
65
+ }
66
+ // 取出并移除。返回 null 如果没有待注入。
67
+ consume(session_id) {
68
+ const entry = this.memory.get(session_id);
69
+ if (!entry)
70
+ return null;
71
+ this.memory.delete(session_id);
72
+ try {
73
+ const fp = this.filePath(session_id);
74
+ if (existsSync(fp))
75
+ unlinkSync(fp);
76
+ }
77
+ catch (err) {
78
+ logger.debug(`[MethodologyPendingQueue] cleanup failed: ${err}`);
79
+ }
80
+ logger.info(`[MethodologyPendingQueue] consumed ${entry.reason} for session=${session_id.slice(0, 8)} phase=${entry.phase_index}`);
81
+ return entry;
82
+ }
83
+ // 对外只用于调试/可观测,不建议修改返回值
84
+ peek(session_id) {
85
+ return this.memory.get(session_id) ?? null;
86
+ }
87
+ size() {
88
+ return this.memory.size;
89
+ }
90
+ // 强制清理指定 execution 的所有 pending(execution 被 cancel / 完成时调用)
91
+ purgeByExecutionId(execution_id) {
92
+ for (const [sid, entry] of this.memory.entries()) {
93
+ if (entry.execution_id === execution_id) {
94
+ this.memory.delete(sid);
95
+ try {
96
+ const fp = this.filePath(sid);
97
+ if (existsSync(fp))
98
+ unlinkSync(fp);
99
+ }
100
+ catch { /* ignore */ }
101
+ }
102
+ }
103
+ }
104
+ }
105
+ // Daemon 单例
106
+ let _instance = null;
107
+ export function getMethodologyPendingQueue() {
108
+ if (!_instance)
109
+ _instance = new MethodologyPendingQueue();
110
+ return _instance;
111
+ }
112
+ // 测试用 reset
113
+ export function _resetMethodologyPendingQueueForTest() {
114
+ _instance = null;
115
+ }
116
+ // 暴露给外部(用于避免测试时写真实 HOME)
117
+ export function getPendingQueueDir() {
118
+ return resolveQueueDir();
119
+ }
120
+ //# sourceMappingURL=methodology-pending-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methodology-pending-queue.js","sourceRoot":"","sources":["../../src/daemon/methodology-pending-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACjG,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAElF,SAAS,eAAe;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,iBAAiB,CAAC;AACnE,CAAC;AAWD,MAAM,OAAO,uBAAuB;IAC1B,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC7C,QAAQ,CAAS;IAEzB,YAAY,QAAiB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;oBAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;oBAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,0CAA0C,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,kDAAkD,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,UAAkB;QACjC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,KAAuB;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxF,MAAM,CAAC,IAAI,CACT,sCAAsC,KAAK,CAAC,MAAM,gBAAgB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,KAAK,CAAC,WAAW,EAAE,CAC5H,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,6CAA6C,GAAG,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,OAAO,CAAC,UAAkB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,UAAU,CAAC,EAAE,CAAC;gBAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,6CAA6C,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,CAAC,IAAI,CACT,sCAAsC,KAAK,CAAC,MAAM,gBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,KAAK,CAAC,WAAW,EAAE,CACtH,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,UAAkB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,2DAA2D;IAC3D,kBAAkB,CAAC,YAAoB;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC9B,IAAI,UAAU,CAAC,EAAE,CAAC;wBAAE,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,YAAY;AACZ,IAAI,SAAS,GAAmC,IAAI,CAAC;AACrD,MAAM,UAAU,0BAA0B;IACxC,IAAI,CAAC,SAAS;QAAE,SAAS,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,YAAY;AACZ,MAAM,UAAU,oCAAoC;IAClD,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC"}
@@ -7,12 +7,18 @@ import type { SQLiteStorage } from '../core/storage/sqlite.js';
7
7
  import type { RuleEngine } from '../engine/rule-engine.js';
8
8
  import type { AgentRouter } from '../engine/agent-router.js';
9
9
  import type { AgentRegistry } from '../agents/registry.js';
10
+ import type { ExecutionManager } from '../capability/execution-manager.js';
11
+ import type { MethodologyRegistry } from '../capability/methodology-registry.js';
12
+ import type { MethodologyPlanner } from '../capability/methodology-planner.js';
10
13
  export interface WebServerOptions {
11
14
  port: number;
12
15
  storage: SQLiteStorage;
13
16
  ruleEngine: RuleEngine;
14
17
  router?: AgentRouter;
15
18
  agents?: AgentRegistry;
19
+ executionManager?: ExecutionManager;
20
+ methodologyRegistry?: MethodologyRegistry;
21
+ methodologyPlanner?: MethodologyPlanner;
16
22
  }
17
23
  export declare class WebServer {
18
24
  private options;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAS3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,qBAAa,SAAS;IAMR,OAAO,CAAC,OAAO;IAL3B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,MAAM,CAA0D;IACxE,OAAO,CAAC,MAAM,CAAC,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAc;gBAET,OAAO,EAAE,gBAAgB;IAQ7C,OAAO,CAAC,WAAW;IA+6Eb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAO5B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAW/E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,qBAAa,SAAS;IAMR,OAAO,CAAC,OAAO;IAL3B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,MAAM,CAA0D;IACxE,OAAO,CAAC,MAAM,CAAC,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAc;gBAET,OAAO,EAAE,gBAAgB;IAQ7C,OAAO,CAAC,WAAW;IAiiFb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAO5B"}