@winspan/claude-forge 3.1.0 → 3.5.1

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 (352) hide show
  1. package/README.md +2 -2
  2. package/dist/ai/base-provider.d.ts.map +1 -0
  3. package/dist/ai/base-provider.js.map +1 -0
  4. package/dist/ai/factory.d.ts.map +1 -0
  5. package/dist/ai/factory.js.map +1 -0
  6. package/dist/{ai-gateway → ai}/index.d.ts +2 -2
  7. package/dist/ai/index.d.ts.map +1 -0
  8. package/dist/ai/index.js.map +1 -0
  9. package/dist/ai/model-selector.d.ts.map +1 -0
  10. package/dist/ai/model-selector.js.map +1 -0
  11. package/dist/ai/ollama-provider.d.ts.map +1 -0
  12. package/dist/ai/ollama-provider.js.map +1 -0
  13. package/dist/ai/openai-provider.d.ts.map +1 -0
  14. package/dist/ai/openai-provider.js.map +1 -0
  15. package/dist/ai/rate-limiter.d.ts.map +1 -0
  16. package/dist/ai/rate-limiter.js.map +1 -0
  17. package/dist/ai/response-cache.d.ts.map +1 -0
  18. package/dist/ai/response-cache.js.map +1 -0
  19. package/dist/ai/token-budget.d.ts.map +1 -0
  20. package/dist/ai/token-budget.js.map +1 -0
  21. package/dist/ai/types.d.ts.map +1 -0
  22. package/dist/ai/types.js.map +1 -0
  23. package/dist/autopilot/index.d.ts +0 -1
  24. package/dist/autopilot/index.d.ts.map +1 -1
  25. package/dist/autopilot/index.js +0 -1
  26. package/dist/autopilot/index.js.map +1 -1
  27. package/dist/autopilot/issue-tracker.d.ts +1 -1
  28. package/dist/autopilot/issue-tracker.d.ts.map +1 -1
  29. package/dist/autopilot/issue-tracker.js +1 -1
  30. package/dist/autopilot/issue-tracker.js.map +1 -1
  31. package/dist/autopilot/phase-gap-detector.d.ts +1 -1
  32. package/dist/autopilot/phase-gap-detector.d.ts.map +1 -1
  33. package/dist/autopilot/phase-gap-detector.js +1 -1
  34. package/dist/autopilot/phase-gap-detector.js.map +1 -1
  35. package/dist/autopilot/quality-gate.d.ts +2 -2
  36. package/dist/autopilot/quality-gate.d.ts.map +1 -1
  37. package/dist/autopilot/quality-gate.js +2 -2
  38. package/dist/autopilot/quality-gate.js.map +1 -1
  39. package/dist/autopilot/rule-distiller.d.ts +1 -1
  40. package/dist/autopilot/rule-distiller.d.ts.map +1 -1
  41. package/dist/autopilot/task-completion-detector.d.ts +2 -2
  42. package/dist/autopilot/task-completion-detector.d.ts.map +1 -1
  43. package/dist/claudemd/index.d.ts +1 -1
  44. package/dist/claudemd/index.d.ts.map +1 -1
  45. package/dist/cli/commands/pipeline.d.ts.map +1 -1
  46. package/dist/cli/commands/pipeline.js +3 -13
  47. package/dist/cli/commands/pipeline.js.map +1 -1
  48. package/dist/convention/convention-distiller.d.ts +1 -1
  49. package/dist/convention/convention-distiller.d.ts.map +1 -1
  50. package/dist/convention/convention-evolver.d.ts +1 -1
  51. package/dist/convention/convention-evolver.d.ts.map +1 -1
  52. package/dist/daemon/engine-registry/init-autopilot.d.ts +3 -3
  53. package/dist/daemon/engine-registry/init-autopilot.d.ts.map +1 -1
  54. package/dist/daemon/engine-registry/init-autopilot.js +7 -8
  55. package/dist/daemon/engine-registry/init-autopilot.js.map +1 -1
  56. package/dist/daemon/engine-registry/init-distill.d.ts +1 -1
  57. package/dist/daemon/engine-registry/init-distill.d.ts.map +1 -1
  58. package/dist/daemon/engine-registry/init-pipeline.d.ts +1 -1
  59. package/dist/daemon/engine-registry/init-pipeline.d.ts.map +1 -1
  60. package/dist/daemon/engine-registry/init-resume.d.ts +1 -1
  61. package/dist/daemon/engine-registry/init-resume.d.ts.map +1 -1
  62. package/dist/daemon/engine-registry/init-skill-registry.d.ts +1 -1
  63. package/dist/daemon/engine-registry/init-skill-registry.d.ts.map +1 -1
  64. package/dist/daemon/engine-registry.d.ts +1 -1
  65. package/dist/daemon/engine-registry.d.ts.map +1 -1
  66. package/dist/daemon/engine-registry.js +6 -6
  67. package/dist/daemon/engine-registry.js.map +1 -1
  68. package/dist/daemon/handler-context.d.ts +6 -6
  69. package/dist/daemon/handler-context.d.ts.map +1 -1
  70. package/dist/daemon/handlers/context-builder.js +1 -1
  71. package/dist/daemon/handlers/context-builder.js.map +1 -1
  72. package/dist/daemon/handlers/orchestration-context.d.ts +1 -1
  73. package/dist/daemon/handlers/orchestration-context.d.ts.map +1 -1
  74. package/dist/daemon/handlers/post-tool-use-handler.js +4 -4
  75. package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
  76. package/dist/daemon/handlers/session-cleanup.d.ts.map +1 -1
  77. package/dist/daemon/handlers/session-cleanup.js +2 -16
  78. package/dist/daemon/handlers/session-cleanup.js.map +1 -1
  79. package/dist/daemon/handlers/stages/06-engine-check.js +1 -1
  80. package/dist/daemon/handlers/stages/06-engine-check.js.map +1 -1
  81. package/dist/daemon/handlers/stages/09-pipeline-active.d.ts.map +1 -1
  82. package/dist/daemon/handlers/stages/09-pipeline-active.js +0 -7
  83. package/dist/daemon/handlers/stages/09-pipeline-active.js.map +1 -1
  84. package/dist/daemon/handlers/stages/11-intent-analysis.d.ts +1 -1
  85. package/dist/daemon/handlers/stages/11-intent-analysis.d.ts.map +1 -1
  86. package/dist/daemon/handlers/stages/11-intent-analysis.js +12 -6
  87. package/dist/daemon/handlers/stages/11-intent-analysis.js.map +1 -1
  88. package/dist/daemon/handlers/stages/18-complex-task.js +1 -1
  89. package/dist/daemon/handlers/stages/18-complex-task.js.map +1 -1
  90. package/dist/daemon/handlers/stages/19-moderate-task.js +2 -2
  91. package/dist/daemon/handlers/stages/19-moderate-task.js.map +1 -1
  92. package/dist/daemon/handlers/stop-handler.js +3 -3
  93. package/dist/daemon/handlers/stop-handler.js.map +1 -1
  94. package/dist/daemon/handlers/user-prompt-handler.js +1 -1
  95. package/dist/daemon/handlers/user-prompt-handler.js.map +1 -1
  96. package/dist/daemon/index.js +3 -3
  97. package/dist/daemon/index.js.map +1 -1
  98. package/dist/distill/index.d.ts +1 -1
  99. package/dist/distill/index.d.ts.map +1 -1
  100. package/dist/distill/tree-index.d.ts +1 -1
  101. package/dist/distill/tree-index.d.ts.map +1 -1
  102. package/dist/distill/trigger.js +1 -1
  103. package/dist/distill/trigger.js.map +1 -1
  104. package/dist/distill/writer.d.ts +1 -1
  105. package/dist/distill/writer.d.ts.map +1 -1
  106. package/dist/goal/goal-classifier.d.ts +38 -0
  107. package/dist/goal/goal-classifier.d.ts.map +1 -0
  108. package/dist/{autopilot/intent-engine.js → goal/goal-classifier.js} +187 -297
  109. package/dist/goal/goal-classifier.js.map +1 -0
  110. package/dist/goal/goal-decomposer.d.ts +32 -0
  111. package/dist/goal/goal-decomposer.d.ts.map +1 -0
  112. package/dist/{pipeline/analyzer.js → goal/goal-decomposer.js} +45 -112
  113. package/dist/goal/goal-decomposer.js.map +1 -0
  114. package/dist/goal/goal-planner.d.ts +16 -0
  115. package/dist/goal/goal-planner.d.ts.map +1 -0
  116. package/dist/goal/goal-planner.js +90 -0
  117. package/dist/goal/goal-planner.js.map +1 -0
  118. package/dist/goal/goal-types.d.ts +62 -0
  119. package/dist/goal/goal-types.d.ts.map +1 -0
  120. package/dist/goal/goal-types.js +8 -0
  121. package/dist/goal/goal-types.js.map +1 -0
  122. package/dist/goal/index.d.ts +5 -0
  123. package/dist/goal/index.d.ts.map +1 -0
  124. package/dist/goal/index.js +4 -0
  125. package/dist/goal/index.js.map +1 -0
  126. package/dist/pipeline/artifact-generator.d.ts +1 -1
  127. package/dist/pipeline/artifact-generator.d.ts.map +1 -1
  128. package/dist/pipeline/artifact-generator.js +0 -1
  129. package/dist/pipeline/artifact-generator.js.map +1 -1
  130. package/dist/pipeline/dynamic-node-executor.d.ts +3 -29
  131. package/dist/pipeline/dynamic-node-executor.d.ts.map +1 -1
  132. package/dist/pipeline/dynamic-node-executor.js +49 -115
  133. package/dist/pipeline/dynamic-node-executor.js.map +1 -1
  134. package/dist/pipeline/execution-plan.d.ts +1 -1
  135. package/dist/pipeline/execution-plan.d.ts.map +1 -1
  136. package/dist/pipeline/index.d.ts +5 -13
  137. package/dist/pipeline/index.d.ts.map +1 -1
  138. package/dist/pipeline/index.js +23 -63
  139. package/dist/pipeline/index.js.map +1 -1
  140. package/dist/pipeline/node-runtime.d.ts +41 -0
  141. package/dist/pipeline/node-runtime.d.ts.map +1 -0
  142. package/dist/pipeline/node-runtime.js +73 -0
  143. package/dist/pipeline/node-runtime.js.map +1 -0
  144. package/dist/pipeline/semantic-validator.d.ts +1 -1
  145. package/dist/pipeline/semantic-validator.d.ts.map +1 -1
  146. package/dist/pipeline/step-orchestrator.d.ts +1 -1
  147. package/dist/pipeline/step-orchestrator.d.ts.map +1 -1
  148. package/dist/pipeline/store.d.ts +18 -48
  149. package/dist/pipeline/store.d.ts.map +1 -1
  150. package/dist/pipeline/store.js +101 -424
  151. package/dist/pipeline/store.js.map +1 -1
  152. package/dist/pipeline/template-router.d.ts +1 -1
  153. package/dist/pipeline/template-router.d.ts.map +1 -1
  154. package/dist/pipeline/types.d.ts +3 -3
  155. package/dist/pipeline/types.d.ts.map +1 -1
  156. package/dist/pipeline/types.js +1 -1
  157. package/dist/pipeline/types.js.map +1 -1
  158. package/dist/resume/context-gen.d.ts +1 -1
  159. package/dist/resume/context-gen.d.ts.map +1 -1
  160. package/dist/resume/index.d.ts +1 -1
  161. package/dist/resume/index.d.ts.map +1 -1
  162. package/dist/retrospective/index.d.ts +1 -1
  163. package/dist/retrospective/index.d.ts.map +1 -1
  164. package/dist/retrospective/pattern-learner.d.ts +1 -1
  165. package/dist/retrospective/pattern-learner.d.ts.map +1 -1
  166. package/dist/skill-registry/collector.d.ts +1 -1
  167. package/dist/skill-registry/collector.d.ts.map +1 -1
  168. package/dist/skill-registry/evolver/community-distiller.d.ts +1 -1
  169. package/dist/skill-registry/evolver/community-distiller.d.ts.map +1 -1
  170. package/dist/skill-registry/evolver/generation-engine.d.ts +1 -1
  171. package/dist/skill-registry/evolver/generation-engine.d.ts.map +1 -1
  172. package/dist/skill-registry/evolver/index.d.ts +1 -1
  173. package/dist/skill-registry/evolver/index.d.ts.map +1 -1
  174. package/dist/skill-registry/evolver/keyword-evolver.d.ts +1 -1
  175. package/dist/skill-registry/evolver/keyword-evolver.d.ts.map +1 -1
  176. package/dist/skill-registry/evolver/official-evolver.d.ts +1 -1
  177. package/dist/skill-registry/evolver/official-evolver.d.ts.map +1 -1
  178. package/dist/skill-registry/evolver/optimization-engine.d.ts +1 -1
  179. package/dist/skill-registry/evolver/optimization-engine.d.ts.map +1 -1
  180. package/dist/skill-registry/evolver/repair-engine.d.ts +1 -1
  181. package/dist/skill-registry/evolver/repair-engine.d.ts.map +1 -1
  182. package/dist/skill-registry/index.d.ts +1 -1
  183. package/dist/skill-registry/index.d.ts.map +1 -1
  184. package/dist/skill-registry/official-sync/skill-definitions.d.ts.map +1 -1
  185. package/dist/skill-registry/official-sync/skill-definitions.js +675 -0
  186. package/dist/skill-registry/official-sync/skill-definitions.js.map +1 -1
  187. package/dist/skill-registry/orchestrator.d.ts +1 -1
  188. package/dist/skill-registry/orchestrator.d.ts.map +1 -1
  189. package/dist/skill-registry/pattern-evolver.d.ts +1 -1
  190. package/dist/skill-registry/pattern-evolver.d.ts.map +1 -1
  191. package/dist/skill-registry/project-learner.d.ts +1 -1
  192. package/dist/skill-registry/project-learner.d.ts.map +1 -1
  193. package/dist/{core/types.d.ts → types/core-types.d.ts} +1 -1
  194. package/dist/types/core-types.d.ts.map +1 -0
  195. package/dist/{core/types.js → types/core-types.js} +1 -1
  196. package/dist/types/core-types.js.map +1 -0
  197. package/dist/utils/cache-registry.d.ts.map +1 -0
  198. package/dist/utils/cache-registry.js.map +1 -0
  199. package/dist/utils/circuit-breaker.js +1 -1
  200. package/dist/utils/circuit-breaker.js.map +1 -1
  201. package/dist/utils/claude-api.d.ts +3 -3
  202. package/dist/utils/claude-api.d.ts.map +1 -1
  203. package/dist/utils/claude-api.js +2 -2
  204. package/dist/utils/claude-api.js.map +1 -1
  205. package/dist/utils/error-handler.d.ts +0 -4
  206. package/dist/utils/error-handler.d.ts.map +1 -1
  207. package/dist/utils/error-handler.js +0 -20
  208. package/dist/utils/error-handler.js.map +1 -1
  209. package/dist/utils/pending-prompt-sink.d.ts.map +1 -0
  210. package/dist/utils/pending-prompt-sink.js.map +1 -0
  211. package/dist/web/routes/quality.d.ts +1 -1
  212. package/dist/web/routes/quality.d.ts.map +1 -1
  213. package/dist/web/server.d.ts +1 -1
  214. package/dist/web/server.d.ts.map +1 -1
  215. package/dist/web-static/assets/{index-DABYEmUB.js → index-BGuTeBhr.js} +1 -1
  216. package/dist/web-static/index.html +1 -1
  217. package/package.json +1 -1
  218. package/dist/ai-gateway/index.d.ts.map +0 -1
  219. package/dist/ai-gateway/index.js.map +0 -1
  220. package/dist/ai-gateway/model-selector.d.ts.map +0 -1
  221. package/dist/ai-gateway/model-selector.js.map +0 -1
  222. package/dist/ai-gateway/rate-limiter.d.ts.map +0 -1
  223. package/dist/ai-gateway/rate-limiter.js.map +0 -1
  224. package/dist/ai-gateway/response-cache.d.ts.map +0 -1
  225. package/dist/ai-gateway/response-cache.js.map +0 -1
  226. package/dist/ai-gateway/token-budget.d.ts.map +0 -1
  227. package/dist/ai-gateway/token-budget.js.map +0 -1
  228. package/dist/ai-provider/base-provider.d.ts.map +0 -1
  229. package/dist/ai-provider/base-provider.js.map +0 -1
  230. package/dist/ai-provider/factory.d.ts.map +0 -1
  231. package/dist/ai-provider/factory.js.map +0 -1
  232. package/dist/ai-provider/index.d.ts +0 -7
  233. package/dist/ai-provider/index.d.ts.map +0 -1
  234. package/dist/ai-provider/index.js +0 -6
  235. package/dist/ai-provider/index.js.map +0 -1
  236. package/dist/ai-provider/ollama-provider.d.ts.map +0 -1
  237. package/dist/ai-provider/ollama-provider.js.map +0 -1
  238. package/dist/ai-provider/openai-provider.d.ts.map +0 -1
  239. package/dist/ai-provider/openai-provider.js.map +0 -1
  240. package/dist/ai-provider/types.d.ts.map +0 -1
  241. package/dist/ai-provider/types.js.map +0 -1
  242. package/dist/autopilot/intent-engine.d.ts +0 -100
  243. package/dist/autopilot/intent-engine.d.ts.map +0 -1
  244. package/dist/autopilot/intent-engine.js.map +0 -1
  245. package/dist/autopilot/knowledge-engine.d.ts +0 -67
  246. package/dist/autopilot/knowledge-engine.d.ts.map +0 -1
  247. package/dist/autopilot/knowledge-engine.js +0 -262
  248. package/dist/autopilot/knowledge-engine.js.map +0 -1
  249. package/dist/core/cache-registry.d.ts.map +0 -1
  250. package/dist/core/cache-registry.js.map +0 -1
  251. package/dist/core/pending-prompt-sink.d.ts.map +0 -1
  252. package/dist/core/pending-prompt-sink.js.map +0 -1
  253. package/dist/core/types.d.ts.map +0 -1
  254. package/dist/core/types.js.map +0 -1
  255. package/dist/doc-sync/index.d.ts +0 -29
  256. package/dist/doc-sync/index.d.ts.map +0 -1
  257. package/dist/doc-sync/index.js +0 -276
  258. package/dist/doc-sync/index.js.map +0 -1
  259. package/dist/pipeline/aggregator.d.ts +0 -161
  260. package/dist/pipeline/aggregator.d.ts.map +0 -1
  261. package/dist/pipeline/aggregator.js +0 -261
  262. package/dist/pipeline/aggregator.js.map +0 -1
  263. package/dist/pipeline/analyzer.d.ts +0 -46
  264. package/dist/pipeline/analyzer.d.ts.map +0 -1
  265. package/dist/pipeline/analyzer.js.map +0 -1
  266. package/dist/pipeline/artifact-enforcement.d.ts +0 -74
  267. package/dist/pipeline/artifact-enforcement.d.ts.map +0 -1
  268. package/dist/pipeline/artifact-enforcement.js +0 -187
  269. package/dist/pipeline/artifact-enforcement.js.map +0 -1
  270. package/dist/pipeline/artifact-rules.d.ts +0 -39
  271. package/dist/pipeline/artifact-rules.d.ts.map +0 -1
  272. package/dist/pipeline/artifact-rules.js +0 -104
  273. package/dist/pipeline/artifact-rules.js.map +0 -1
  274. package/dist/pipeline/checkpoint.d.ts +0 -38
  275. package/dist/pipeline/checkpoint.d.ts.map +0 -1
  276. package/dist/pipeline/checkpoint.js +0 -132
  277. package/dist/pipeline/checkpoint.js.map +0 -1
  278. package/dist/pipeline/dynamic-aggregator.d.ts +0 -83
  279. package/dist/pipeline/dynamic-aggregator.d.ts.map +0 -1
  280. package/dist/pipeline/dynamic-aggregator.js +0 -303
  281. package/dist/pipeline/dynamic-aggregator.js.map +0 -1
  282. package/dist/pipeline/event-sourced-engine.d.ts +0 -77
  283. package/dist/pipeline/event-sourced-engine.d.ts.map +0 -1
  284. package/dist/pipeline/event-sourced-engine.js +0 -267
  285. package/dist/pipeline/event-sourced-engine.js.map +0 -1
  286. package/dist/pipeline/event-store.d.ts +0 -58
  287. package/dist/pipeline/event-store.d.ts.map +0 -1
  288. package/dist/pipeline/event-store.js +0 -184
  289. package/dist/pipeline/event-store.js.map +0 -1
  290. package/dist/pipeline/events.d.ts +0 -308
  291. package/dist/pipeline/events.d.ts.map +0 -1
  292. package/dist/pipeline/events.js +0 -49
  293. package/dist/pipeline/events.js.map +0 -1
  294. package/dist/pipeline/execution-plan-builder.d.ts +0 -20
  295. package/dist/pipeline/execution-plan-builder.d.ts.map +0 -1
  296. package/dist/pipeline/execution-plan-builder.js +0 -100
  297. package/dist/pipeline/execution-plan-builder.js.map +0 -1
  298. package/dist/pipeline/optimized-aggregator.d.ts +0 -36
  299. package/dist/pipeline/optimized-aggregator.d.ts.map +0 -1
  300. package/dist/pipeline/optimized-aggregator.js +0 -93
  301. package/dist/pipeline/optimized-aggregator.js.map +0 -1
  302. package/dist/pipeline/progress-tracker.d.ts +0 -29
  303. package/dist/pipeline/progress-tracker.d.ts.map +0 -1
  304. package/dist/pipeline/progress-tracker.js +0 -99
  305. package/dist/pipeline/progress-tracker.js.map +0 -1
  306. package/dist/pipeline/snapshot-store.d.ts +0 -45
  307. package/dist/pipeline/snapshot-store.d.ts.map +0 -1
  308. package/dist/pipeline/snapshot-store.js +0 -89
  309. package/dist/pipeline/snapshot-store.js.map +0 -1
  310. package/dist/pipeline/state-machine-types.d.ts +0 -157
  311. package/dist/pipeline/state-machine-types.d.ts.map +0 -1
  312. package/dist/pipeline/state-machine-types.js +0 -2
  313. package/dist/pipeline/state-machine-types.js.map +0 -1
  314. package/dist/pipeline/state-machine.d.ts +0 -44
  315. package/dist/pipeline/state-machine.d.ts.map +0 -1
  316. package/dist/pipeline/state-machine.js +0 -206
  317. package/dist/pipeline/state-machine.js.map +0 -1
  318. package/dist/pipeline/state-query.d.ts +0 -71
  319. package/dist/pipeline/state-query.d.ts.map +0 -1
  320. package/dist/pipeline/state-query.js +0 -213
  321. package/dist/pipeline/state-query.js.map +0 -1
  322. package/dist/pipeline/transitions.d.ts +0 -28
  323. package/dist/pipeline/transitions.d.ts.map +0 -1
  324. package/dist/pipeline/transitions.js +0 -336
  325. package/dist/pipeline/transitions.js.map +0 -1
  326. package/dist/strategy/bandit.d.ts +0 -51
  327. package/dist/strategy/bandit.d.ts.map +0 -1
  328. package/dist/strategy/bandit.js +0 -116
  329. package/dist/strategy/bandit.js.map +0 -1
  330. /package/dist/{ai-provider → ai}/base-provider.d.ts +0 -0
  331. /package/dist/{ai-provider → ai}/base-provider.js +0 -0
  332. /package/dist/{ai-provider → ai}/factory.d.ts +0 -0
  333. /package/dist/{ai-provider → ai}/factory.js +0 -0
  334. /package/dist/{ai-gateway → ai}/index.js +0 -0
  335. /package/dist/{ai-gateway → ai}/model-selector.d.ts +0 -0
  336. /package/dist/{ai-gateway → ai}/model-selector.js +0 -0
  337. /package/dist/{ai-provider → ai}/ollama-provider.d.ts +0 -0
  338. /package/dist/{ai-provider → ai}/ollama-provider.js +0 -0
  339. /package/dist/{ai-provider → ai}/openai-provider.d.ts +0 -0
  340. /package/dist/{ai-provider → ai}/openai-provider.js +0 -0
  341. /package/dist/{ai-gateway → ai}/rate-limiter.d.ts +0 -0
  342. /package/dist/{ai-gateway → ai}/rate-limiter.js +0 -0
  343. /package/dist/{ai-gateway → ai}/response-cache.d.ts +0 -0
  344. /package/dist/{ai-gateway → ai}/response-cache.js +0 -0
  345. /package/dist/{ai-gateway → ai}/token-budget.d.ts +0 -0
  346. /package/dist/{ai-gateway → ai}/token-budget.js +0 -0
  347. /package/dist/{ai-provider → ai}/types.d.ts +0 -0
  348. /package/dist/{ai-provider → ai}/types.js +0 -0
  349. /package/dist/{core → utils}/cache-registry.d.ts +0 -0
  350. /package/dist/{core → utils}/cache-registry.js +0 -0
  351. /package/dist/{core → utils}/pending-prompt-sink.d.ts +0 -0
  352. /package/dist/{core → utils}/pending-prompt-sink.js +0 -0
@@ -1,303 +0,0 @@
1
- /**
2
- * 动态 Pipeline 事件聚合器
3
- *
4
- * 职责:
5
- * 1. 从事件流重建 DynamicPipeline 状态
6
- * 2. 应用动态节点事件到状态
7
- * 3. 继承基础聚合器的事件处理能力
8
- */
9
- import { PipelineAggregator } from './aggregator.js';
10
- import { PipelineEventType, } from './events.js';
11
- /**
12
- * 动态 Pipeline 聚合器
13
- */
14
- export class DynamicPipelineAggregator extends PipelineAggregator {
15
- /**
16
- * 从事件流重建 DynamicPipeline 状态
17
- */
18
- rebuildDynamic(pipelineId) {
19
- const events = this.eventStore.getEvents(pipelineId);
20
- if (events.length === 0) {
21
- return null;
22
- }
23
- let state = null;
24
- for (const event of events) {
25
- state = this.applyDynamic(state, event);
26
- }
27
- return state;
28
- }
29
- /**
30
- * 应用单个事件到 DynamicPipeline 状态
31
- */
32
- applyDynamic(state, event) {
33
- switch (event.type) {
34
- case PipelineEventType.DYNAMIC_PIPELINE_CREATED:
35
- return this.applyDynamicPipelineCreated(event);
36
- case PipelineEventType.DYNAMIC_NODE_CREATED:
37
- return this.applyDynamicNodeCreated(state, event);
38
- case PipelineEventType.DYNAMIC_NODE_STARTED:
39
- return this.applyDynamicNodeStarted(state, event);
40
- case PipelineEventType.DYNAMIC_NODE_COMPLETED:
41
- return this.applyDynamicNodeCompleted(state, event);
42
- case PipelineEventType.DYNAMIC_NODE_FAILED:
43
- return this.applyDynamicNodeFailed(state, event);
44
- case PipelineEventType.DYNAMIC_NODE_ADVANCED:
45
- return this.applyDynamicNodeAdvanced(state, event);
46
- case PipelineEventType.DYNAMIC_PIPELINE_COMPLETED:
47
- return this.applyDynamicPipelineCompleted(state, event);
48
- // Step 生命周期事件
49
- case PipelineEventType.STEP_STARTED:
50
- return this.applyStepStarted(state, event);
51
- case PipelineEventType.STEP_COMPLETED:
52
- return this.applyStepCompleted(state, event);
53
- case PipelineEventType.STEP_FAILED:
54
- return this.applyStepFailed(state, event);
55
- case PipelineEventType.STEP_VALIDATED:
56
- return this.applyStepValidated(state, event);
57
- case PipelineEventType.STEP_RETRYING:
58
- return this.applyStepRetrying(state, event);
59
- case PipelineEventType.STEP_NEED_HUMAN:
60
- return this.applyStepNeedHuman(state, event);
61
- // 其他事件类型不改变状态
62
- default:
63
- return state;
64
- }
65
- }
66
- /**
67
- * 应用 DYNAMIC_PIPELINE_CREATED 事件
68
- */
69
- applyDynamicPipelineCreated(event) {
70
- const payload = event.payload;
71
- return {
72
- id: event.pipelineId,
73
- requirement: payload.requirement,
74
- projectPath: payload.projectPath,
75
- sessionId: payload.sessionId,
76
- nodes: payload.nodes.map(n => ({
77
- id: n.id,
78
- nodeTypeId: n.nodeTypeId,
79
- status: 'pending',
80
- dependencies: n.dependencies,
81
- boundSkillName: n.boundSkillName,
82
- updatedAt: new Date(event.timestamp).toISOString(),
83
- })),
84
- templateId: payload.templateId,
85
- conventionId: payload.conventionId,
86
- complexity: payload.complexity,
87
- reasoning: payload.reasoning,
88
- status: 'in_progress',
89
- createdAt: new Date(event.timestamp).toISOString(),
90
- updatedAt: new Date(event.timestamp).toISOString(),
91
- };
92
- }
93
- /**
94
- * 应用 DYNAMIC_NODE_CREATED 事件
95
- */
96
- applyDynamicNodeCreated(state, event) {
97
- const payload = event.payload;
98
- const newNode = {
99
- id: payload.nodeId,
100
- nodeTypeId: payload.nodeTypeId,
101
- status: 'pending',
102
- dependencies: payload.dependencies,
103
- boundSkillName: payload.boundSkillName,
104
- updatedAt: new Date(event.timestamp).toISOString(),
105
- };
106
- return {
107
- ...state,
108
- nodes: [...state.nodes, newNode],
109
- updatedAt: new Date(event.timestamp).toISOString(),
110
- };
111
- }
112
- /**
113
- * 应用 DYNAMIC_NODE_STARTED 事件
114
- */
115
- applyDynamicNodeStarted(state, event) {
116
- const payload = event.payload;
117
- return {
118
- ...state,
119
- currentNodeId: payload.nodeId,
120
- nodes: state.nodes.map(node => node.id === payload.nodeId
121
- ? {
122
- ...node,
123
- status: 'in_progress',
124
- startedAt: new Date(event.timestamp).toISOString(),
125
- updatedAt: new Date(event.timestamp).toISOString(),
126
- }
127
- : node),
128
- updatedAt: new Date(event.timestamp).toISOString(),
129
- };
130
- }
131
- /**
132
- * 应用 DYNAMIC_NODE_COMPLETED 事件
133
- */
134
- applyDynamicNodeCompleted(state, event) {
135
- const payload = event.payload;
136
- return {
137
- ...state,
138
- nodes: state.nodes.map(node => node.id === payload.nodeId
139
- ? {
140
- ...node,
141
- status: 'completed',
142
- output: payload.output,
143
- completedAt: new Date(event.timestamp).toISOString(),
144
- updatedAt: new Date(event.timestamp).toISOString(),
145
- }
146
- : node),
147
- updatedAt: new Date(event.timestamp).toISOString(),
148
- };
149
- }
150
- /**
151
- * 应用 DYNAMIC_NODE_FAILED 事件
152
- */
153
- applyDynamicNodeFailed(state, event) {
154
- const payload = event.payload;
155
- return {
156
- ...state,
157
- nodes: state.nodes.map(node => node.id === payload.nodeId
158
- ? {
159
- ...node,
160
- status: 'failed',
161
- output: payload.reason,
162
- updatedAt: new Date(event.timestamp).toISOString(),
163
- }
164
- : node),
165
- status: 'failed',
166
- updatedAt: new Date(event.timestamp).toISOString(),
167
- };
168
- }
169
- /**
170
- * 应用 DYNAMIC_NODE_ADVANCED 事件
171
- */
172
- applyDynamicNodeAdvanced(state, event) {
173
- const payload = event.payload;
174
- return {
175
- ...state,
176
- currentNodeId: payload.toNodeId,
177
- updatedAt: new Date(event.timestamp).toISOString(),
178
- };
179
- }
180
- /**
181
- * 应用 DYNAMIC_PIPELINE_COMPLETED 事件
182
- */
183
- applyDynamicPipelineCompleted(state, event) {
184
- return {
185
- ...state,
186
- status: 'completed',
187
- currentNodeId: undefined,
188
- updatedAt: new Date(event.timestamp).toISOString(),
189
- };
190
- }
191
- /**
192
- * 获取节点进度
193
- */
194
- getNodeProgress(pipelineId) {
195
- const state = this.rebuildDynamic(pipelineId);
196
- if (!state) {
197
- return { completed: 0, total: 0, percentage: 0 };
198
- }
199
- const completed = state.nodes.filter(n => n.status === 'completed').length;
200
- const total = state.nodes.length;
201
- const percentage = total > 0 ? Math.round((completed / total) * 100) : 0;
202
- return { completed, total, percentage };
203
- }
204
- // ─── Step 事件处理 ────────────────────────────────────────────────────────────
205
- /**
206
- * 应用 STEP_STARTED 事件
207
- */
208
- applyStepStarted(state, event) {
209
- const payload = event.payload;
210
- return {
211
- ...state,
212
- nodes: state.nodes.map(node => node.id === payload.node_id
213
- ? {
214
- ...node,
215
- currentStepId: payload.step_execution_id,
216
- updatedAt: new Date(event.timestamp).toISOString(),
217
- }
218
- : node),
219
- updatedAt: new Date(event.timestamp).toISOString(),
220
- };
221
- }
222
- /**
223
- * 应用 STEP_COMPLETED 事件
224
- */
225
- applyStepCompleted(state, event) {
226
- const payload = event.payload;
227
- return {
228
- ...state,
229
- nodes: state.nodes.map(node => node.id === payload.node_id
230
- ? {
231
- ...node,
232
- completedSteps: [...(node.completedSteps || []), payload.step_execution_id],
233
- currentStepId: payload.next_step_id || undefined,
234
- updatedAt: new Date(event.timestamp).toISOString(),
235
- }
236
- : node),
237
- updatedAt: new Date(event.timestamp).toISOString(),
238
- };
239
- }
240
- /**
241
- * 应用 STEP_FAILED 事件
242
- */
243
- applyStepFailed(state, event) {
244
- const payload = event.payload;
245
- return {
246
- ...state,
247
- nodes: state.nodes.map(node => node.id === payload.node_id
248
- ? {
249
- ...node,
250
- failedSteps: [
251
- ...(node.failedSteps || []),
252
- {
253
- step_id: payload.step_execution_id,
254
- reason: payload.reason,
255
- attempts: payload.attempts,
256
- },
257
- ],
258
- updatedAt: new Date(event.timestamp).toISOString(),
259
- }
260
- : node),
261
- updatedAt: new Date(event.timestamp).toISOString(),
262
- };
263
- }
264
- /**
265
- * 应用 STEP_VALIDATED 事件
266
- */
267
- applyStepValidated(state, event) {
268
- // 验证事件不改变核心状态,只记录验证结果(可选:更新 stepExecutions)
269
- return {
270
- ...state,
271
- updatedAt: new Date(event.timestamp).toISOString(),
272
- };
273
- }
274
- /**
275
- * 应用 STEP_RETRYING 事件
276
- */
277
- applyStepRetrying(state, event) {
278
- // 重试事件不改变核心状态,只记录重试次数(可选:更新 stepExecutions)
279
- return {
280
- ...state,
281
- updatedAt: new Date(event.timestamp).toISOString(),
282
- };
283
- }
284
- /**
285
- * 应用 STEP_NEED_HUMAN 事件
286
- */
287
- applyStepNeedHuman(state, event) {
288
- const payload = event.payload;
289
- return {
290
- ...state,
291
- nodes: state.nodes.map(node => node.id === payload.node_id
292
- ? {
293
- ...node,
294
- status: 'failed', // Step 需要人工介入时,标记 Node 为 failed
295
- output: `Step "${payload.step_definition_id}" 需要人工介入:${payload.reason}`,
296
- updatedAt: new Date(event.timestamp).toISOString(),
297
- }
298
- : node),
299
- updatedAt: new Date(event.timestamp).toISOString(),
300
- };
301
- }
302
- }
303
- //# sourceMappingURL=dynamic-aggregator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic-aggregator.js","sourceRoot":"","sources":["../../src/pipeline/dynamic-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAA0C,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAEL,iBAAiB,GAYlB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IAC/D;;OAEG;IACH,cAAc,CAAC,UAAkB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAErD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,GAAgC,IAAI,CAAC;QAE9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAkC,EAAE,KAAyB;QAChF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,iBAAiB,CAAC,wBAAwB;gBAC7C,OAAO,IAAI,CAAC,2BAA2B,CAAC,KAAqD,CAAC,CAAC;YAEjG,KAAK,iBAAiB,CAAC,oBAAoB;gBACzC,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAM,EAAE,KAAiD,CAAC,CAAC;YAEjG,KAAK,iBAAiB,CAAC,oBAAoB;gBACzC,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAM,EAAE,KAA0C,CAAC,CAAC;YAE1F,KAAK,iBAAiB,CAAC,sBAAsB;gBAC3C,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAM,EAAE,KAAmD,CAAC,CAAC;YAErG,KAAK,iBAAiB,CAAC,mBAAmB;gBACxC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAM,EAAE,KAAgD,CAAC,CAAC;YAE/F,KAAK,iBAAiB,CAAC,qBAAqB;gBAC1C,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAM,EAAE,KAAkD,CAAC,CAAC;YAEnG,KAAK,iBAAiB,CAAC,0BAA0B;gBAC/C,OAAO,IAAI,CAAC,6BAA6B,CAAC,KAAM,EAAE,KAAK,CAAC,CAAC;YAE3D,cAAc;YACd,KAAK,iBAAiB,CAAC,YAAY;gBACjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAM,EAAE,KAA0C,CAAC,CAAC;YAEnF,KAAK,iBAAiB,CAAC,cAAc;gBACnC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAM,EAAE,KAA4C,CAAC,CAAC;YAEvF,KAAK,iBAAiB,CAAC,WAAW;gBAChC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAM,EAAE,KAAyC,CAAC,CAAC;YAEjF,KAAK,iBAAiB,CAAC,cAAc;gBACnC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAM,EAAE,KAA4C,CAAC,CAAC;YAEvF,KAAK,iBAAiB,CAAC,aAAa;gBAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAM,EAAE,KAA2C,CAAC,CAAC;YAErF,KAAK,iBAAiB,CAAC,eAAe;gBACpC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAM,EAAE,KAA4C,CAAC,CAAC;YAEvF,cAAc;YACd;gBACE,OAAO,KAAM,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,2BAA2B,CAAC,KAAmD;QACrF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,UAAU;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,SAAkB;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;aACnD,CAAC,CAAC;YACH,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YAClD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,KAA2B,EAAE,KAA+C;QAC1G,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,OAAO,GAAqB;YAChC,EAAE,EAAE,OAAO,CAAC,MAAM;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;QAEF,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;YAChC,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,KAA2B,EAAE,KAAwC;QACnG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO;YACL,GAAG,KAAK;YACR,aAAa,EAAE,OAAO,CAAC,MAAM;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC5B,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM;gBACxB,CAAC,CAAC;oBACE,GAAG,IAAI;oBACP,MAAM,EAAE,aAAsB;oBAC9B,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;oBAClD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;iBACnD;gBACH,CAAC,CAAC,IAAI,CACT;YACD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,KAA2B,EAAE,KAAiD;QAC9G,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC5B,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM;gBACxB,CAAC,CAAC;oBACE,GAAG,IAAI;oBACP,MAAM,EAAE,WAAoB;oBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;oBACpD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;iBACnD;gBACH,CAAC,CAAC,IAAI,CACT;YACD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,KAA2B,EAAE,KAA8C;QACxG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC5B,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM;gBACxB,CAAC,CAAC;oBACE,GAAG,IAAI;oBACP,MAAM,EAAE,QAAiB;oBACzB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;iBACnD;gBACH,CAAC,CAAC,IAAI,CACT;YACD,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,KAA2B,EAAE,KAAgD;QAC5G,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO;YACL,GAAG,KAAK;YACR,aAAa,EAAE,OAAO,CAAC,QAAQ;YAC/B,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,6BAA6B,CAAC,KAA2B,EAAE,KAAoB;QACrF,OAAO;YACL,GAAG,KAAK;YACR,MAAM,EAAE,WAAW;YACnB,aAAa,EAAE,SAAS;YACxB,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,UAAkB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,6EAA6E;IAE7E;;OAEG;IACK,gBAAgB,CAAC,KAA2B,EAAE,KAAwC;QAC5F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC5B,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO;gBACzB,CAAC,CAAC;oBACE,GAAG,IAAI;oBACP,aAAa,EAAE,OAAO,CAAC,iBAAiB;oBACxC,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;iBACnD;gBACH,CAAC,CAAC,IAAI,CACT;YACD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,KAA2B,EAAE,KAA0C;QAChG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC5B,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO;gBACzB,CAAC,CAAC;oBACE,GAAG,IAAI;oBACP,cAAc,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;oBAC3E,aAAa,EAAE,OAAO,CAAC,YAAY,IAAI,SAAS;oBAChD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;iBACnD;gBACH,CAAC,CAAC,IAAI,CACT;YACD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAA2B,EAAE,KAAuC;QAC1F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC5B,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO;gBACzB,CAAC,CAAC;oBACE,GAAG,IAAI;oBACP,WAAW,EAAE;wBACX,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;wBAC3B;4BACE,OAAO,EAAE,OAAO,CAAC,iBAAiB;4BAClC,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;yBAC3B;qBACF;oBACD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;iBACnD;gBACH,CAAC,CAAC,IAAI,CACT;YACD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,KAA2B,EAAE,KAA0C;QAChG,4CAA4C;QAC5C,OAAO;YACL,GAAG,KAAK;YACR,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,KAA2B,EAAE,KAAyC;QAC9F,4CAA4C;QAC5C,OAAO;YACL,GAAG,KAAK;YACR,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,KAA2B,EAAE,KAA0C;QAChG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC5B,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO;gBACzB,CAAC,CAAC;oBACE,GAAG,IAAI;oBACP,MAAM,EAAE,QAAiB,EAAE,gCAAgC;oBAC3D,MAAM,EAAE,SAAS,OAAO,CAAC,kBAAkB,YAAY,OAAO,CAAC,MAAM,EAAE;oBACvE,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;iBACnD;gBACH,CAAC,CAAC,IAAI,CACT;YACD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;CACF"}
@@ -1,77 +0,0 @@
1
- /**
2
- * Pipeline 事件溯源 + 状态机 集成示例
3
- *
4
- * 展示如何使用新架构替代旧的 PipelineEngine
5
- */
6
- /**
7
- * 新架构的 Pipeline 引擎
8
- */
9
- export declare class EventSourcedPipelineEngine {
10
- private eventStore;
11
- private snapshotStore;
12
- private aggregator;
13
- private stateMachine;
14
- private stateQuery;
15
- constructor(dbPath: string);
16
- /**
17
- * 创建 Pipeline
18
- */
19
- createPipeline(params: {
20
- requirement: string;
21
- projectPath: string;
22
- sessionId: string;
23
- techStack?: string;
24
- complexity?: string;
25
- plannedPhases: string[];
26
- }): Promise<string>;
27
- /**
28
- * 添加任务
29
- */
30
- addTask(pipelineId: string, task: {
31
- id: string;
32
- title: string;
33
- phase: string;
34
- description?: string;
35
- }): Promise<void>;
36
- /**
37
- * 标记任务完成
38
- */
39
- completeTask(pipelineId: string, taskId: string, artifact: string): Promise<void>;
40
- /**
41
- * 质量检查通过
42
- */
43
- qualityCheckPassed(pipelineId: string, level: 'pass' | 'warn'): Promise<void>;
44
- /**
45
- * 质量检查失败
46
- */
47
- qualityCheckFailed(pipelineId: string, issues: string[], fixAttempt: number): Promise<void>;
48
- /**
49
- * 手动推进阶段(强制放行后)
50
- */
51
- manualAdvance(pipelineId: string, reason?: string): Promise<void>;
52
- /**
53
- * 获取进度快照
54
- */
55
- getProgressSnapshot(pipelineId: string): string;
56
- /**
57
- * 获取状态历史
58
- */
59
- getStateHistory(pipelineId: string): import("./state-query.js").StateHistoryEntry[];
60
- /**
61
- * 获取质量门禁统计
62
- */
63
- getQualityStats(pipelineId: string): {
64
- totalChecks: number;
65
- passed: number;
66
- failed: number;
67
- forcedPass: number;
68
- };
69
- private getPhaseLabel;
70
- private getStatusEmoji;
71
- private renderProgressBar;
72
- }
73
- /**
74
- * 使用示例
75
- */
76
- export declare function example(): Promise<void>;
77
- //# sourceMappingURL=event-sourced-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-sourced-engine.d.ts","sourceRoot":"","sources":["../../src/pipeline/event-sourced-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAAqB;gBAE3B,MAAM,EAAE,MAAM;IAS1B;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBnB;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;QACtC,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjB;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BvF;;OAEG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnF;;OAEG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjG;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvE;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IA8C/C;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM;IAIlC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM;;;;;;IAIlC,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;CAK1B;AAED;;GAEG;AACH,wBAAsB,OAAO,kBAiD5B"}
@@ -1,267 +0,0 @@
1
- /**
2
- * Pipeline 事件溯源 + 状态机 集成示例
3
- *
4
- * 展示如何使用新架构替代旧的 PipelineEngine
5
- */
6
- import { EventStore } from './event-store.js';
7
- import { SnapshotStore } from './snapshot-store.js';
8
- import { OptimizedAggregator } from './optimized-aggregator.js';
9
- import { PipelineStateMachine } from './state-machine.js';
10
- import { PipelineStateQuery } from './state-query.js';
11
- import { PipelineEventType } from './events.js';
12
- import { logger } from '../utils/logger.js';
13
- /**
14
- * 新架构的 Pipeline 引擎
15
- */
16
- export class EventSourcedPipelineEngine {
17
- eventStore;
18
- snapshotStore;
19
- aggregator;
20
- stateMachine;
21
- stateQuery;
22
- constructor(dbPath) {
23
- // 初始化各个组件
24
- this.eventStore = new EventStore(dbPath);
25
- this.snapshotStore = new SnapshotStore(dbPath);
26
- this.aggregator = new OptimizedAggregator(this.eventStore, this.snapshotStore);
27
- this.stateMachine = new PipelineStateMachine(this.eventStore, this.aggregator);
28
- this.stateQuery = new PipelineStateQuery(this.aggregator, this.eventStore, this.stateMachine);
29
- }
30
- /**
31
- * 创建 Pipeline
32
- */
33
- async createPipeline(params) {
34
- const pipelineId = `pipeline-${Date.now()}`;
35
- // 生成 PIPELINE_CREATED 事件
36
- this.eventStore.append({
37
- pipelineId,
38
- type: PipelineEventType.PIPELINE_CREATED,
39
- payload: {
40
- requirement: params.requirement,
41
- projectPath: params.projectPath,
42
- sessionId: params.sessionId,
43
- techStack: params.techStack,
44
- complexity: params.complexity,
45
- taskType: 'feature',
46
- plannedPhases: params.plannedPhases,
47
- },
48
- metadata: {
49
- sessionId: params.sessionId,
50
- },
51
- });
52
- return pipelineId;
53
- }
54
- /**
55
- * 添加任务
56
- */
57
- async addTask(pipelineId, task) {
58
- this.eventStore.append({
59
- pipelineId,
60
- type: PipelineEventType.TASK_CREATED,
61
- payload: {
62
- taskId: task.id,
63
- title: task.title,
64
- phase: task.phase,
65
- description: task.description,
66
- source: 'manual',
67
- },
68
- metadata: {
69
- sessionId: '',
70
- },
71
- });
72
- }
73
- /**
74
- * 标记任务完成
75
- */
76
- async completeTask(pipelineId, taskId, artifact) {
77
- this.eventStore.append({
78
- pipelineId,
79
- type: PipelineEventType.TASK_COMPLETED,
80
- payload: {
81
- taskId,
82
- title: '',
83
- phase: '',
84
- artifact,
85
- detectionMethod: 'explicit_signal',
86
- },
87
- metadata: {
88
- sessionId: '',
89
- },
90
- });
91
- // 检查是否所有任务完成
92
- const pipeline = this.aggregator.rebuild(pipelineId);
93
- if (!pipeline)
94
- return;
95
- const phaseTasks = pipeline.tasks.filter(t => t.phase === pipeline.phase);
96
- const completed = phaseTasks.filter(t => t.status === 'completed').length;
97
- if (completed === phaseTasks.length && phaseTasks.length > 0) {
98
- // 触发质量检查
99
- await this.stateMachine.transition(pipelineId, {
100
- type: 'ALL_TASKS_COMPLETED',
101
- });
102
- }
103
- }
104
- /**
105
- * 质量检查通过
106
- */
107
- async qualityCheckPassed(pipelineId, level) {
108
- await this.stateMachine.transition(pipelineId, {
109
- type: 'QUALITY_CHECK_PASSED',
110
- level,
111
- });
112
- }
113
- /**
114
- * 质量检查失败
115
- */
116
- async qualityCheckFailed(pipelineId, issues, fixAttempt) {
117
- if (fixAttempt >= 2) {
118
- // 达到最大次数,强制放行
119
- await this.stateMachine.transition(pipelineId, {
120
- type: 'QUALITY_MAX_ATTEMPTS_REACHED',
121
- unresolvedIssues: issues,
122
- });
123
- }
124
- else {
125
- // 阻塞并等待修复
126
- await this.stateMachine.transition(pipelineId, {
127
- type: 'QUALITY_CHECK_FAILED',
128
- issues,
129
- fixAttempt,
130
- });
131
- }
132
- }
133
- /**
134
- * 手动推进阶段(强制放行后)
135
- */
136
- async manualAdvance(pipelineId, reason) {
137
- await this.stateMachine.transition(pipelineId, {
138
- type: 'MANUAL_ADVANCE',
139
- reason,
140
- });
141
- }
142
- /**
143
- * 获取进度快照
144
- */
145
- getProgressSnapshot(pipelineId) {
146
- const pipeline = this.aggregator.rebuild(pipelineId);
147
- if (!pipeline)
148
- return 'Pipeline not found';
149
- const state = this.stateQuery.getCurrentState(pipelineId);
150
- if (!state)
151
- return 'State not found';
152
- const progress = this.aggregator.getPhaseProgress(pipelineId, state.phase);
153
- const globalProgress = this.aggregator.getGlobalProgress(pipelineId);
154
- const phaseLabel = this.getPhaseLabel(state.phase);
155
- const statusEmoji = this.getStatusEmoji(state.status);
156
- const progressBar = this.renderProgressBar(progress.completed, progress.total);
157
- let snapshot = `#${pipelineId.slice(0, 8)} ${phaseLabel} ${progress.completed}/${progress.total} [${progressBar}] 全局${globalProgress.percentage}%`;
158
- // 添加状态标记
159
- if (state.status === 'quality_checking') {
160
- snapshot += '\n 🚦 阶段状态: 🔍 质量检查中...';
161
- }
162
- else if (state.status === 'quality_blocked') {
163
- const fixAttempt = 'fixAttempt' in state ? state.fixAttempt : 1;
164
- snapshot += `\n 🚦 阶段状态: ⚠️ 待修复 (第${fixAttempt}次)`;
165
- const blockReason = this.stateQuery.getBlockReason(pipelineId);
166
- if (blockReason) {
167
- snapshot += `\n ${blockReason}`;
168
- }
169
- snapshot += '\n ⏸️ 阶段推进已暂停,修复后将自动继续';
170
- }
171
- else if (state.status === 'quality_forced_pass') {
172
- snapshot += '\n 🚦 阶段状态: 🟡 强制放行(质量不达标)';
173
- snapshot += '\n ⚠️ 请手动确认产物质量后,使用 MANUAL_ADVANCE 推进阶段';
174
- }
175
- // 添加任务列表
176
- const phaseTasks = pipeline.tasks.filter(t => t.phase === state.phase);
177
- if (phaseTasks.length > 0) {
178
- snapshot += '\n' + phaseTasks.map(t => {
179
- const icon = t.status === 'completed' ? '✅' : t.status === 'in_progress' ? '▶' : '○';
180
- return ` ${icon} ${t.title}`;
181
- }).join('\n');
182
- }
183
- return snapshot;
184
- }
185
- /**
186
- * 获取状态历史
187
- */
188
- getStateHistory(pipelineId) {
189
- return this.stateQuery.getStateHistory(pipelineId);
190
- }
191
- /**
192
- * 获取质量门禁统计
193
- */
194
- getQualityStats(pipelineId) {
195
- return this.stateQuery.getQualityGateStats(pipelineId);
196
- }
197
- getPhaseLabel(phase) {
198
- const labels = {
199
- analyze: '需求分析',
200
- design: '架构设计',
201
- profile: '用户画像',
202
- code: '编码实现',
203
- test: '测试',
204
- review: '代码审查',
205
- done: '完成',
206
- };
207
- return labels[phase] || phase;
208
- }
209
- getStatusEmoji(status) {
210
- switch (status) {
211
- case 'in_progress': return '▶';
212
- case 'quality_checking': return '🔍';
213
- case 'quality_blocked': return '⚠️';
214
- case 'quality_forced_pass': return '🟡';
215
- case 'completed': return '✅';
216
- default: return '○';
217
- }
218
- }
219
- renderProgressBar(completed, total) {
220
- if (total === 0)
221
- return '░░░░░░░░░░';
222
- const filled = Math.round((completed / total) * 10);
223
- return '█'.repeat(filled) + '░'.repeat(10 - filled);
224
- }
225
- }
226
- /**
227
- * 使用示例
228
- */
229
- export async function example() {
230
- const engine = new EventSourcedPipelineEngine('./pipeline.db');
231
- // 1. 创建 Pipeline
232
- const pipelineId = await engine.createPipeline({
233
- requirement: '实现用户登录功能',
234
- projectPath: '/path/to/project',
235
- sessionId: 'session-123',
236
- plannedPhases: ['analyze', 'design', 'code', 'test', 'review'],
237
- });
238
- logger.info(`Pipeline 创建: ${pipelineId}`);
239
- // 2. 添加任务
240
- await engine.addTask(pipelineId, {
241
- id: 'task-1',
242
- title: '分析登录流程',
243
- phase: 'analyze',
244
- });
245
- await engine.addTask(pipelineId, {
246
- id: 'task-2',
247
- title: '设计数据库表结构',
248
- phase: 'analyze',
249
- });
250
- // 3. 完成任务
251
- await engine.completeTask(pipelineId, 'task-1', '登录流程分析完成');
252
- await engine.completeTask(pipelineId, 'task-2', '数据库表结构设计完成');
253
- // 此时会自动触发质量检查
254
- // 4. 质量检查失败
255
- await engine.qualityCheckFailed(pipelineId, ['缺少安全性分析'], 1);
256
- logger.info(`进度快照: ${JSON.stringify(engine.getProgressSnapshot(pipelineId))}`);
257
- // 5. 修复后重新检查
258
- await engine.qualityCheckPassed(pipelineId, 'pass');
259
- logger.info(`进度快照: ${JSON.stringify(engine.getProgressSnapshot(pipelineId))}`);
260
- // 6. 查看状态历史
261
- const history = engine.getStateHistory(pipelineId);
262
- logger.info(`状态历史: ${JSON.stringify(history)}`);
263
- // 7. 查看质量统计
264
- const stats = engine.getQualityStats(pipelineId);
265
- logger.info(`质量统计: ${JSON.stringify(stats)}`);
266
- }
267
- //# sourceMappingURL=event-sourced-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-sourced-engine.js","sourceRoot":"","sources":["../../src/pipeline/event-sourced-engine.ts"],"names":[],"mappings":"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"}