@winspan/claude-forge 3.0.1 → 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 (366) 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 +3 -3
  36. package/dist/autopilot/quality-gate.d.ts.map +1 -1
  37. package/dist/autopilot/quality-gate.js +3 -3
  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 +4 -4
  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/i-node-executor.d.ts +2 -2
  137. package/dist/pipeline/i-node-executor.js +1 -1
  138. package/dist/pipeline/index.d.ts +6 -14
  139. package/dist/pipeline/index.d.ts.map +1 -1
  140. package/dist/pipeline/index.js +48 -174
  141. package/dist/pipeline/index.js.map +1 -1
  142. package/dist/pipeline/node-runtime.d.ts +41 -0
  143. package/dist/pipeline/node-runtime.d.ts.map +1 -0
  144. package/dist/pipeline/node-runtime.js +73 -0
  145. package/dist/pipeline/node-runtime.js.map +1 -0
  146. package/dist/pipeline/node-type-sync.d.ts.map +1 -1
  147. package/dist/pipeline/node-type-sync.js.map +1 -1
  148. package/dist/pipeline/semantic-validator.d.ts +1 -1
  149. package/dist/pipeline/semantic-validator.d.ts.map +1 -1
  150. package/dist/pipeline/step-orchestrator.d.ts +1 -1
  151. package/dist/pipeline/step-orchestrator.d.ts.map +1 -1
  152. package/dist/pipeline/step-validator.d.ts.map +1 -1
  153. package/dist/pipeline/step-validator.js +1 -2
  154. package/dist/pipeline/step-validator.js.map +1 -1
  155. package/dist/pipeline/store.d.ts +18 -48
  156. package/dist/pipeline/store.d.ts.map +1 -1
  157. package/dist/pipeline/store.js +101 -424
  158. package/dist/pipeline/store.js.map +1 -1
  159. package/dist/pipeline/template-router.d.ts +1 -1
  160. package/dist/pipeline/template-router.d.ts.map +1 -1
  161. package/dist/pipeline/types.d.ts +3 -3
  162. package/dist/pipeline/types.d.ts.map +1 -1
  163. package/dist/pipeline/types.js +1 -1
  164. package/dist/pipeline/types.js.map +1 -1
  165. package/dist/resume/context-gen.d.ts +1 -1
  166. package/dist/resume/context-gen.d.ts.map +1 -1
  167. package/dist/resume/index.d.ts +1 -1
  168. package/dist/resume/index.d.ts.map +1 -1
  169. package/dist/retrospective/index.d.ts +2 -2
  170. package/dist/retrospective/index.d.ts.map +1 -1
  171. package/dist/retrospective/index.js +1 -1
  172. package/dist/retrospective/metrics-extractor.d.ts +1 -1
  173. package/dist/retrospective/metrics-extractor.js +1 -1
  174. package/dist/retrospective/pattern-learner.d.ts +1 -1
  175. package/dist/retrospective/pattern-learner.d.ts.map +1 -1
  176. package/dist/skill-registry/collector.d.ts +1 -1
  177. package/dist/skill-registry/collector.d.ts.map +1 -1
  178. package/dist/skill-registry/evolver/community-distiller.d.ts +1 -1
  179. package/dist/skill-registry/evolver/community-distiller.d.ts.map +1 -1
  180. package/dist/skill-registry/evolver/generation-engine.d.ts +1 -1
  181. package/dist/skill-registry/evolver/generation-engine.d.ts.map +1 -1
  182. package/dist/skill-registry/evolver/index.d.ts +1 -1
  183. package/dist/skill-registry/evolver/index.d.ts.map +1 -1
  184. package/dist/skill-registry/evolver/keyword-evolver.d.ts +1 -1
  185. package/dist/skill-registry/evolver/keyword-evolver.d.ts.map +1 -1
  186. package/dist/skill-registry/evolver/official-evolver.d.ts +1 -1
  187. package/dist/skill-registry/evolver/official-evolver.d.ts.map +1 -1
  188. package/dist/skill-registry/evolver/optimization-engine.d.ts +1 -1
  189. package/dist/skill-registry/evolver/optimization-engine.d.ts.map +1 -1
  190. package/dist/skill-registry/evolver/repair-engine.d.ts +1 -1
  191. package/dist/skill-registry/evolver/repair-engine.d.ts.map +1 -1
  192. package/dist/skill-registry/index.d.ts +1 -1
  193. package/dist/skill-registry/index.d.ts.map +1 -1
  194. package/dist/skill-registry/official-sync/skill-definitions.d.ts.map +1 -1
  195. package/dist/skill-registry/official-sync/skill-definitions.js +675 -0
  196. package/dist/skill-registry/official-sync/skill-definitions.js.map +1 -1
  197. package/dist/skill-registry/orchestrator.d.ts +1 -1
  198. package/dist/skill-registry/orchestrator.d.ts.map +1 -1
  199. package/dist/skill-registry/pattern-evolver.d.ts +1 -1
  200. package/dist/skill-registry/pattern-evolver.d.ts.map +1 -1
  201. package/dist/skill-registry/project-learner.d.ts +1 -1
  202. package/dist/skill-registry/project-learner.d.ts.map +1 -1
  203. package/dist/{core/types.d.ts → types/core-types.d.ts} +1 -1
  204. package/dist/types/core-types.d.ts.map +1 -0
  205. package/dist/{core/types.js → types/core-types.js} +1 -1
  206. package/dist/types/core-types.js.map +1 -0
  207. package/dist/utils/cache-registry.d.ts.map +1 -0
  208. package/dist/utils/cache-registry.js.map +1 -0
  209. package/dist/utils/circuit-breaker.js +1 -1
  210. package/dist/utils/circuit-breaker.js.map +1 -1
  211. package/dist/utils/claude-api.d.ts +3 -3
  212. package/dist/utils/claude-api.d.ts.map +1 -1
  213. package/dist/utils/claude-api.js +2 -2
  214. package/dist/utils/claude-api.js.map +1 -1
  215. package/dist/utils/error-handler.d.ts +0 -4
  216. package/dist/utils/error-handler.d.ts.map +1 -1
  217. package/dist/utils/error-handler.js +0 -20
  218. package/dist/utils/error-handler.js.map +1 -1
  219. package/dist/utils/pending-prompt-sink.d.ts.map +1 -0
  220. package/dist/utils/pending-prompt-sink.js.map +1 -0
  221. package/dist/web/routes/quality.d.ts +1 -1
  222. package/dist/web/routes/quality.d.ts.map +1 -1
  223. package/dist/web/server.d.ts +2 -2
  224. package/dist/web/server.d.ts.map +1 -1
  225. package/dist/web-static/assets/{index-_pTdFFt3.js → index-BGuTeBhr.js} +1 -1
  226. package/dist/web-static/index.html +1 -1
  227. package/package.json +1 -1
  228. package/dist/ai-gateway/index.d.ts.map +0 -1
  229. package/dist/ai-gateway/index.js.map +0 -1
  230. package/dist/ai-gateway/model-selector.d.ts.map +0 -1
  231. package/dist/ai-gateway/model-selector.js.map +0 -1
  232. package/dist/ai-gateway/rate-limiter.d.ts.map +0 -1
  233. package/dist/ai-gateway/rate-limiter.js.map +0 -1
  234. package/dist/ai-gateway/response-cache.d.ts.map +0 -1
  235. package/dist/ai-gateway/response-cache.js.map +0 -1
  236. package/dist/ai-gateway/token-budget.d.ts.map +0 -1
  237. package/dist/ai-gateway/token-budget.js.map +0 -1
  238. package/dist/ai-provider/base-provider.d.ts.map +0 -1
  239. package/dist/ai-provider/base-provider.js.map +0 -1
  240. package/dist/ai-provider/factory.d.ts.map +0 -1
  241. package/dist/ai-provider/factory.js.map +0 -1
  242. package/dist/ai-provider/index.d.ts +0 -7
  243. package/dist/ai-provider/index.d.ts.map +0 -1
  244. package/dist/ai-provider/index.js +0 -6
  245. package/dist/ai-provider/index.js.map +0 -1
  246. package/dist/ai-provider/ollama-provider.d.ts.map +0 -1
  247. package/dist/ai-provider/ollama-provider.js.map +0 -1
  248. package/dist/ai-provider/openai-provider.d.ts.map +0 -1
  249. package/dist/ai-provider/openai-provider.js.map +0 -1
  250. package/dist/ai-provider/types.d.ts.map +0 -1
  251. package/dist/ai-provider/types.js.map +0 -1
  252. package/dist/autopilot/intent-engine.d.ts +0 -100
  253. package/dist/autopilot/intent-engine.d.ts.map +0 -1
  254. package/dist/autopilot/intent-engine.js.map +0 -1
  255. package/dist/autopilot/knowledge-engine.d.ts +0 -67
  256. package/dist/autopilot/knowledge-engine.d.ts.map +0 -1
  257. package/dist/autopilot/knowledge-engine.js +0 -262
  258. package/dist/autopilot/knowledge-engine.js.map +0 -1
  259. package/dist/core/cache-registry.d.ts.map +0 -1
  260. package/dist/core/cache-registry.js.map +0 -1
  261. package/dist/core/pending-prompt-sink.d.ts.map +0 -1
  262. package/dist/core/pending-prompt-sink.js.map +0 -1
  263. package/dist/core/types.d.ts.map +0 -1
  264. package/dist/core/types.js.map +0 -1
  265. package/dist/doc-sync/index.d.ts +0 -29
  266. package/dist/doc-sync/index.d.ts.map +0 -1
  267. package/dist/doc-sync/index.js +0 -276
  268. package/dist/doc-sync/index.js.map +0 -1
  269. package/dist/pipeline/aggregator.d.ts +0 -161
  270. package/dist/pipeline/aggregator.d.ts.map +0 -1
  271. package/dist/pipeline/aggregator.js +0 -261
  272. package/dist/pipeline/aggregator.js.map +0 -1
  273. package/dist/pipeline/analyzer.d.ts +0 -46
  274. package/dist/pipeline/analyzer.d.ts.map +0 -1
  275. package/dist/pipeline/analyzer.js.map +0 -1
  276. package/dist/pipeline/artifact-enforcement.d.ts +0 -74
  277. package/dist/pipeline/artifact-enforcement.d.ts.map +0 -1
  278. package/dist/pipeline/artifact-enforcement.js +0 -187
  279. package/dist/pipeline/artifact-enforcement.js.map +0 -1
  280. package/dist/pipeline/artifact-rules.d.ts +0 -39
  281. package/dist/pipeline/artifact-rules.d.ts.map +0 -1
  282. package/dist/pipeline/artifact-rules.js +0 -104
  283. package/dist/pipeline/artifact-rules.js.map +0 -1
  284. package/dist/pipeline/checkpoint.d.ts +0 -38
  285. package/dist/pipeline/checkpoint.d.ts.map +0 -1
  286. package/dist/pipeline/checkpoint.js +0 -132
  287. package/dist/pipeline/checkpoint.js.map +0 -1
  288. package/dist/pipeline/dynamic-aggregator.d.ts +0 -83
  289. package/dist/pipeline/dynamic-aggregator.d.ts.map +0 -1
  290. package/dist/pipeline/dynamic-aggregator.js +0 -303
  291. package/dist/pipeline/dynamic-aggregator.js.map +0 -1
  292. package/dist/pipeline/event-sourced-engine.d.ts +0 -77
  293. package/dist/pipeline/event-sourced-engine.d.ts.map +0 -1
  294. package/dist/pipeline/event-sourced-engine.js +0 -267
  295. package/dist/pipeline/event-sourced-engine.js.map +0 -1
  296. package/dist/pipeline/event-store.d.ts +0 -58
  297. package/dist/pipeline/event-store.d.ts.map +0 -1
  298. package/dist/pipeline/event-store.js +0 -184
  299. package/dist/pipeline/event-store.js.map +0 -1
  300. package/dist/pipeline/events.d.ts +0 -308
  301. package/dist/pipeline/events.d.ts.map +0 -1
  302. package/dist/pipeline/events.js +0 -49
  303. package/dist/pipeline/events.js.map +0 -1
  304. package/dist/pipeline/execution-plan-builder.d.ts +0 -20
  305. package/dist/pipeline/execution-plan-builder.d.ts.map +0 -1
  306. package/dist/pipeline/execution-plan-builder.js +0 -100
  307. package/dist/pipeline/execution-plan-builder.js.map +0 -1
  308. package/dist/pipeline/optimized-aggregator.d.ts +0 -36
  309. package/dist/pipeline/optimized-aggregator.d.ts.map +0 -1
  310. package/dist/pipeline/optimized-aggregator.js +0 -93
  311. package/dist/pipeline/optimized-aggregator.js.map +0 -1
  312. package/dist/pipeline/phase-manager.d.ts +0 -190
  313. package/dist/pipeline/phase-manager.d.ts.map +0 -1
  314. package/dist/pipeline/phase-manager.js +0 -961
  315. package/dist/pipeline/phase-manager.js.map +0 -1
  316. package/dist/pipeline/progress-tracker.d.ts +0 -29
  317. package/dist/pipeline/progress-tracker.d.ts.map +0 -1
  318. package/dist/pipeline/progress-tracker.js +0 -99
  319. package/dist/pipeline/progress-tracker.js.map +0 -1
  320. package/dist/pipeline/snapshot-store.d.ts +0 -45
  321. package/dist/pipeline/snapshot-store.d.ts.map +0 -1
  322. package/dist/pipeline/snapshot-store.js +0 -89
  323. package/dist/pipeline/snapshot-store.js.map +0 -1
  324. package/dist/pipeline/state-machine-types.d.ts +0 -157
  325. package/dist/pipeline/state-machine-types.d.ts.map +0 -1
  326. package/dist/pipeline/state-machine-types.js +0 -2
  327. package/dist/pipeline/state-machine-types.js.map +0 -1
  328. package/dist/pipeline/state-machine.d.ts +0 -44
  329. package/dist/pipeline/state-machine.d.ts.map +0 -1
  330. package/dist/pipeline/state-machine.js +0 -206
  331. package/dist/pipeline/state-machine.js.map +0 -1
  332. package/dist/pipeline/state-query.d.ts +0 -71
  333. package/dist/pipeline/state-query.d.ts.map +0 -1
  334. package/dist/pipeline/state-query.js +0 -213
  335. package/dist/pipeline/state-query.js.map +0 -1
  336. package/dist/pipeline/transitions.d.ts +0 -28
  337. package/dist/pipeline/transitions.d.ts.map +0 -1
  338. package/dist/pipeline/transitions.js +0 -336
  339. package/dist/pipeline/transitions.js.map +0 -1
  340. package/dist/strategy/bandit.d.ts +0 -51
  341. package/dist/strategy/bandit.d.ts.map +0 -1
  342. package/dist/strategy/bandit.js +0 -116
  343. package/dist/strategy/bandit.js.map +0 -1
  344. /package/dist/{ai-provider → ai}/base-provider.d.ts +0 -0
  345. /package/dist/{ai-provider → ai}/base-provider.js +0 -0
  346. /package/dist/{ai-provider → ai}/factory.d.ts +0 -0
  347. /package/dist/{ai-provider → ai}/factory.js +0 -0
  348. /package/dist/{ai-gateway → ai}/index.js +0 -0
  349. /package/dist/{ai-gateway → ai}/model-selector.d.ts +0 -0
  350. /package/dist/{ai-gateway → ai}/model-selector.js +0 -0
  351. /package/dist/{ai-provider → ai}/ollama-provider.d.ts +0 -0
  352. /package/dist/{ai-provider → ai}/ollama-provider.js +0 -0
  353. /package/dist/{ai-provider → ai}/openai-provider.d.ts +0 -0
  354. /package/dist/{ai-provider → ai}/openai-provider.js +0 -0
  355. /package/dist/{ai-gateway → ai}/rate-limiter.d.ts +0 -0
  356. /package/dist/{ai-gateway → ai}/rate-limiter.js +0 -0
  357. /package/dist/{ai-gateway → ai}/response-cache.d.ts +0 -0
  358. /package/dist/{ai-gateway → ai}/response-cache.js +0 -0
  359. /package/dist/{ai-gateway → ai}/token-budget.d.ts +0 -0
  360. /package/dist/{ai-gateway → ai}/token-budget.js +0 -0
  361. /package/dist/{ai-provider → ai}/types.d.ts +0 -0
  362. /package/dist/{ai-provider → ai}/types.js +0 -0
  363. /package/dist/{core → utils}/cache-registry.d.ts +0 -0
  364. /package/dist/{core → utils}/cache-registry.js +0 -0
  365. /package/dist/{core → utils}/pending-prompt-sink.d.ts +0 -0
  366. /package/dist/{core → utils}/pending-prompt-sink.js +0 -0
@@ -1,206 +0,0 @@
1
- /**
2
- * Pipeline 状态机引擎
3
- *
4
- * 职责:
5
- * 1. 执行状态转换
6
- * 2. 验证转换合法性(守卫条件)
7
- * 3. 执行转换动作(生成事件)
8
- * 4. 保证状态一致性
9
- */
10
- import { PIPELINE_TRANSITIONS } from './transitions.js';
11
- export class PipelineStateMachine {
12
- eventStore;
13
- aggregator;
14
- transitions;
15
- constructor(eventStore, aggregator, transitions = PIPELINE_TRANSITIONS) {
16
- this.eventStore = eventStore;
17
- this.aggregator = aggregator;
18
- this.transitions = transitions;
19
- }
20
- /**
21
- * 执行状态转换
22
- */
23
- async transition(pipelineId, trigger) {
24
- // 1. 重建当前状态
25
- const pipelineState = this.aggregator.rebuild(pipelineId);
26
- if (!pipelineState) {
27
- return {
28
- success: false,
29
- error: `Pipeline ${pipelineId} not found`,
30
- };
31
- }
32
- const currentState = {
33
- phase: pipelineState.phase,
34
- status: pipelineState.status,
35
- ...(pipelineState.qualityFixAttempt !== undefined ? { fixAttempt: pipelineState.qualityFixAttempt } : {}),
36
- };
37
- // 2. 查找匹配的转换规则
38
- const transition = this.findTransition(currentState, trigger);
39
- if (!transition) {
40
- return {
41
- success: false,
42
- error: `No transition found from ${JSON.stringify(currentState)} with trigger ${trigger.type}`,
43
- };
44
- }
45
- // 3. 构建上下文
46
- const context = this.buildContext(pipelineId, currentState, pipelineState);
47
- // 4. 检查守卫条件
48
- if (transition.guard && !transition.guard(context, trigger)) {
49
- return {
50
- success: false,
51
- error: `Guard condition failed for transition "${transition.name}"`,
52
- };
53
- }
54
- // 5. 计算新状态
55
- const newState = typeof transition.to === 'function'
56
- ? transition.to(context, trigger)
57
- : transition.to;
58
- // 6. 执行转换动作(生成事件)
59
- let events = [];
60
- if (transition.action) {
61
- try {
62
- events = await transition.action(context, trigger);
63
- }
64
- catch (err) {
65
- return {
66
- success: false,
67
- error: `Action failed for transition "${transition.name}": ${err}`,
68
- };
69
- }
70
- }
71
- // 7. 持久化事件
72
- for (const event of events) {
73
- this.eventStore.append({
74
- pipelineId: event.pipelineId,
75
- type: event.type,
76
- payload: event.payload,
77
- metadata: event.metadata,
78
- });
79
- }
80
- return {
81
- success: true,
82
- newState,
83
- events: events.map(e => ({ type: e.type, payload: e.payload })),
84
- };
85
- }
86
- /**
87
- * 查找匹配的转换规则
88
- */
89
- findTransition(currentState, trigger) {
90
- for (const transition of this.transitions) {
91
- // 检查触发器类型匹配
92
- if (transition.trigger.type !== trigger.type) {
93
- continue;
94
- }
95
- // 检查状态匹配
96
- if (this.stateMatches(transition.from, currentState)) {
97
- return transition;
98
- }
99
- }
100
- return null;
101
- }
102
- /**
103
- * 状态匹配检查
104
- */
105
- stateMatches(pattern, actual) {
106
- // 通配符匹配
107
- if ('phase' in pattern && pattern.phase === '*') {
108
- return true;
109
- }
110
- // 精确匹配 phase
111
- if ('phase' in pattern && pattern.phase !== actual.phase) {
112
- return false;
113
- }
114
- // 精确匹配 status(支持通配符)
115
- if ('status' in pattern) {
116
- const patternStatus = pattern.status;
117
- if (patternStatus && patternStatus !== '*' && patternStatus !== actual.status) {
118
- return false;
119
- }
120
- }
121
- return true;
122
- }
123
- /**
124
- * 构建转换上下文
125
- */
126
- buildContext(pipelineId, currentState, pipelineState) {
127
- // 获取事件统计
128
- const events = this.eventStore.getEvents(pipelineId);
129
- const phaseEvents = events.filter(e => {
130
- // 找到最近一次阶段推进事件
131
- const lastPhaseAdvance = events
132
- .filter(ev => ev.type === 'phase.advanced')
133
- .reverse()[0];
134
- if (!lastPhaseAdvance) {
135
- return true; // 没有阶段推进,所有事件都算
136
- }
137
- return e.timestamp > lastPhaseAdvance.timestamp;
138
- });
139
- const writeEditEvents = phaseEvents.filter(e => {
140
- if (e.type !== 'activity.tool_tracked')
141
- return false;
142
- const payload = e.payload;
143
- return payload.toolName && ['Write', 'Edit'].includes(payload.toolName);
144
- });
145
- const lastWriteEdit = writeEditEvents[writeEditEvents.length - 1];
146
- return {
147
- pipelineId,
148
- currentState,
149
- tasks: pipelineState.tasks.map(t => ({
150
- id: t.id,
151
- phase: t.phase,
152
- status: t.status,
153
- })),
154
- eventCount: phaseEvents.length,
155
- writeEditCount: writeEditEvents.length,
156
- lastWriteEditTime: lastWriteEdit?.timestamp,
157
- };
158
- }
159
- /**
160
- * 检查是否可以执行转换
161
- */
162
- canTransition(pipelineId, trigger) {
163
- const pipelineState = this.aggregator.rebuild(pipelineId);
164
- if (!pipelineState)
165
- return false;
166
- const currentState = {
167
- phase: pipelineState.phase,
168
- status: pipelineState.status,
169
- ...(pipelineState.qualityFixAttempt !== undefined ? { fixAttempt: pipelineState.qualityFixAttempt } : {}),
170
- };
171
- const transition = this.findTransition(currentState, trigger);
172
- if (!transition)
173
- return false;
174
- if (transition.guard) {
175
- const context = this.buildContext(pipelineId, currentState, pipelineState);
176
- return transition.guard(context, trigger);
177
- }
178
- return true;
179
- }
180
- /**
181
- * 获取可用的转换列表
182
- */
183
- getAvailableTransitions(pipelineId) {
184
- const pipelineState = this.aggregator.rebuild(pipelineId);
185
- if (!pipelineState)
186
- return [];
187
- const currentState = {
188
- phase: pipelineState.phase,
189
- status: pipelineState.status,
190
- ...(pipelineState.qualityFixAttempt !== undefined ? { fixAttempt: pipelineState.qualityFixAttempt } : {}),
191
- };
192
- const context = this.buildContext(pipelineId, currentState, pipelineState);
193
- const availableTriggers = [];
194
- for (const transition of this.transitions) {
195
- if (this.stateMatches(transition.from, currentState)) {
196
- if (!transition.guard || transition.guard(context, { type: transition.trigger.type })) {
197
- if (!availableTriggers.includes(transition.trigger.type)) {
198
- availableTriggers.push(transition.trigger.type);
199
- }
200
- }
201
- }
202
- }
203
- return availableTriggers;
204
- }
205
- }
206
- //# sourceMappingURL=state-machine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../src/pipeline/state-machine.ts"],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- /**
2
- * Pipeline 状态查询服务
3
- *
4
- * 职责:
5
- * 1. 查询当前状态
6
- * 2. 检查转换可行性
7
- * 3. 查询状态历史
8
- * 4. 提供状态分析
9
- */
10
- import { PipelineAggregator } from './aggregator.js';
11
- import { EventStore } from './event-store.js';
12
- import { PipelineStateMachine } from './state-machine.js';
13
- import { PipelineStateMachineState, StateMachineTrigger } from './state-machine-types.js';
14
- export interface StateHistoryEntry {
15
- state: PipelineStateMachineState;
16
- timestamp: number;
17
- trigger?: string;
18
- eventId: string;
19
- }
20
- export declare class PipelineStateQuery {
21
- private aggregator;
22
- private eventStore;
23
- private stateMachine;
24
- constructor(aggregator: PipelineAggregator, eventStore: EventStore, stateMachine: PipelineStateMachine);
25
- /**
26
- * 获取当前状态
27
- */
28
- getCurrentState(pipelineId: string): PipelineStateMachineState | null;
29
- /**
30
- * 检查是否可以执行转换
31
- */
32
- canTransition(pipelineId: string, trigger: StateMachineTrigger): boolean;
33
- /**
34
- * 获取可用的转换列表
35
- */
36
- getAvailableTransitions(pipelineId: string): StateMachineTrigger['type'][];
37
- /**
38
- * 获取状态历史
39
- */
40
- getStateHistory(pipelineId: string): StateHistoryEntry[];
41
- /**
42
- * 获取阶段停留时长
43
- */
44
- getPhaseDuration(pipelineId: string, phase: string): number | null;
45
- /**
46
- * 获取质量门禁统计
47
- */
48
- getQualityGateStats(pipelineId: string): {
49
- totalChecks: number;
50
- passed: number;
51
- failed: number;
52
- forcedPass: number;
53
- };
54
- /**
55
- * 获取阶段事件统计
56
- */
57
- getPhaseEventStats(pipelineId: string, phase: string): {
58
- totalEvents: number;
59
- toolTracked: number;
60
- tasksCompleted: number;
61
- };
62
- /**
63
- * 判断是否处于阻塞状态
64
- */
65
- isBlocked(pipelineId: string): boolean;
66
- /**
67
- * 获取阻塞原因
68
- */
69
- getBlockReason(pipelineId: string): string | null;
70
- }
71
- //# sourceMappingURL=state-query.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-query.d.ts","sourceRoot":"","sources":["../../src/pipeline/state-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAOlC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,yBAAyB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;gBAFZ,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,oBAAoB;IAG5C;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;IAWrE;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAIxE;;OAEG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE;IAI1E;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,EAAE;IA8ExD;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAYlE;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG;QACvC,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB;IA2BD;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QACrD,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB;IA8BD;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAOtC;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAwBlD"}
@@ -1,213 +0,0 @@
1
- /**
2
- * Pipeline 状态查询服务
3
- *
4
- * 职责:
5
- * 1. 查询当前状态
6
- * 2. 检查转换可行性
7
- * 3. 查询状态历史
8
- * 4. 提供状态分析
9
- */
10
- import { PipelineEventType, } from './events.js';
11
- export class PipelineStateQuery {
12
- aggregator;
13
- eventStore;
14
- stateMachine;
15
- constructor(aggregator, eventStore, stateMachine) {
16
- this.aggregator = aggregator;
17
- this.eventStore = eventStore;
18
- this.stateMachine = stateMachine;
19
- }
20
- /**
21
- * 获取当前状态
22
- */
23
- getCurrentState(pipelineId) {
24
- const pipeline = this.aggregator.rebuild(pipelineId);
25
- if (!pipeline)
26
- return null;
27
- return {
28
- phase: pipeline.phase,
29
- status: pipeline.status,
30
- ...(pipeline.qualityFixAttempt !== undefined ? { fixAttempt: pipeline.qualityFixAttempt } : {}),
31
- };
32
- }
33
- /**
34
- * 检查是否可以执行转换
35
- */
36
- canTransition(pipelineId, trigger) {
37
- return this.stateMachine.canTransition(pipelineId, trigger);
38
- }
39
- /**
40
- * 获取可用的转换列表
41
- */
42
- getAvailableTransitions(pipelineId) {
43
- return this.stateMachine.getAvailableTransitions(pipelineId);
44
- }
45
- /**
46
- * 获取状态历史
47
- */
48
- getStateHistory(pipelineId) {
49
- const events = this.eventStore.getEvents(pipelineId);
50
- const history = [];
51
- let currentState = { phase: 'analyze', status: 'in_progress' };
52
- for (const event of events) {
53
- let stateChanged = false;
54
- let trigger;
55
- switch (event.type) {
56
- case PipelineEventType.PIPELINE_CREATED:
57
- currentState = { phase: 'analyze', status: 'in_progress' };
58
- stateChanged = true;
59
- trigger = 'PIPELINE_CREATED';
60
- break;
61
- case PipelineEventType.PHASE_ADVANCED: {
62
- const payload = event.payload;
63
- currentState = {
64
- phase: payload.toPhase,
65
- status: payload.toPhase === 'done' ? 'completed' : 'in_progress',
66
- };
67
- stateChanged = true;
68
- trigger = 'PHASE_ADVANCED';
69
- break;
70
- }
71
- case PipelineEventType.QUALITY_CHECK_STARTED:
72
- currentState = { ...currentState, status: 'quality_checking' };
73
- stateChanged = true;
74
- trigger = 'QUALITY_CHECK_STARTED';
75
- break;
76
- case PipelineEventType.QUALITY_CHECK_PASSED:
77
- currentState = { ...currentState, status: 'in_progress' };
78
- stateChanged = true;
79
- trigger = 'QUALITY_CHECK_PASSED';
80
- break;
81
- case PipelineEventType.QUALITY_CHECK_FAILED: {
82
- const failPayload = event.payload;
83
- currentState = {
84
- ...currentState,
85
- status: 'quality_blocked',
86
- fixAttempt: failPayload.fixAttempt,
87
- };
88
- stateChanged = true;
89
- trigger = 'QUALITY_CHECK_FAILED';
90
- break;
91
- }
92
- case PipelineEventType.QUALITY_FORCED_PASS:
93
- currentState = { ...currentState, status: 'quality_forced_pass' };
94
- stateChanged = true;
95
- trigger = 'QUALITY_FORCED_PASS';
96
- break;
97
- case PipelineEventType.PIPELINE_CLOSED:
98
- currentState = { phase: 'done', status: 'completed' };
99
- stateChanged = true;
100
- trigger = 'PIPELINE_CLOSED';
101
- break;
102
- }
103
- if (stateChanged) {
104
- history.push({
105
- state: currentState,
106
- timestamp: event.timestamp,
107
- trigger,
108
- eventId: event.id,
109
- });
110
- }
111
- }
112
- return history;
113
- }
114
- /**
115
- * 获取阶段停留时长
116
- */
117
- getPhaseDuration(pipelineId, phase) {
118
- const history = this.getStateHistory(pipelineId);
119
- const phaseEntries = history.filter(h => h.state.phase === phase);
120
- if (phaseEntries.length === 0)
121
- return null;
122
- const startTime = phaseEntries[0].timestamp;
123
- const endTime = phaseEntries[phaseEntries.length - 1].timestamp;
124
- return endTime - startTime;
125
- }
126
- /**
127
- * 获取质量门禁统计
128
- */
129
- getQualityGateStats(pipelineId) {
130
- const events = this.eventStore.getEvents(pipelineId, {
131
- types: [
132
- PipelineEventType.QUALITY_CHECK_PASSED,
133
- PipelineEventType.QUALITY_CHECK_FAILED,
134
- PipelineEventType.QUALITY_FORCED_PASS,
135
- ],
136
- });
137
- let passed = 0;
138
- let failed = 0;
139
- let forcedPass = 0;
140
- for (const e of events) {
141
- if (e.type === PipelineEventType.QUALITY_CHECK_PASSED)
142
- passed++;
143
- else if (e.type === PipelineEventType.QUALITY_CHECK_FAILED)
144
- failed++;
145
- else if (e.type === PipelineEventType.QUALITY_FORCED_PASS)
146
- forcedPass++;
147
- }
148
- return {
149
- totalChecks: events.length,
150
- passed,
151
- failed,
152
- forcedPass,
153
- };
154
- }
155
- /**
156
- * 获取阶段事件统计
157
- */
158
- getPhaseEventStats(pipelineId, phase) {
159
- const events = this.eventStore.getEvents(pipelineId);
160
- // 找到该阶段的开始和结束时间
161
- const phaseHistory = this.getStateHistory(pipelineId);
162
- const phaseEntries = phaseHistory.filter(h => h.state.phase === phase);
163
- if (phaseEntries.length === 0) {
164
- return { totalEvents: 0, toolTracked: 0, tasksCompleted: 0 };
165
- }
166
- const startTime = phaseEntries[0].timestamp;
167
- const endTime = phaseEntries[phaseEntries.length - 1]?.timestamp || Date.now();
168
- const phaseEvents = events.filter(e => e.timestamp >= startTime && e.timestamp <= endTime);
169
- let toolTracked = 0;
170
- let tasksCompleted = 0;
171
- for (const e of phaseEvents) {
172
- if (e.type === PipelineEventType.TOOL_TRACKED)
173
- toolTracked++;
174
- else if (e.type === PipelineEventType.TASK_COMPLETED)
175
- tasksCompleted++;
176
- }
177
- return {
178
- totalEvents: phaseEvents.length,
179
- toolTracked,
180
- tasksCompleted,
181
- };
182
- }
183
- /**
184
- * 判断是否处于阻塞状态
185
- */
186
- isBlocked(pipelineId) {
187
- const state = this.getCurrentState(pipelineId);
188
- if (!state)
189
- return false;
190
- return state.status === 'quality_blocked' || state.status === 'quality_forced_pass';
191
- }
192
- /**
193
- * 获取阻塞原因
194
- */
195
- getBlockReason(pipelineId) {
196
- const state = this.getCurrentState(pipelineId);
197
- if (!state)
198
- return null;
199
- if (state.status === 'quality_blocked') {
200
- const lastFailEvent = this.eventStore.getLatestEventByType(pipelineId, PipelineEventType.QUALITY_CHECK_FAILED);
201
- if (lastFailEvent) {
202
- const payload = lastFailEvent.payload;
203
- return `质量检查失败(第${payload.fixAttempt}次):${payload.checks.length} 个问题待修复`;
204
- }
205
- return '质量检查失败';
206
- }
207
- if (state.status === 'quality_forced_pass') {
208
- return '质量强制放行,需要手动确认后推进';
209
- }
210
- return null;
211
- }
212
- }
213
- //# sourceMappingURL=state-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-query.js","sourceRoot":"","sources":["../../src/pipeline/state-query.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Pipeline 状态机 - 转换规则定义
3
- *
4
- * 定义所有合法的状态转换规则
5
- */
6
- import { PipelineStateMachineState, StateMachineTrigger, StateMachineContext } from './state-machine-types.js';
7
- import { PipelineEvent } from './events.js';
8
- /**
9
- * 状态转换规则
10
- */
11
- export interface StateTransition {
12
- name: string;
13
- from: Partial<PipelineStateMachineState> | {
14
- phase: '*';
15
- status: '*';
16
- };
17
- trigger: {
18
- type: StateMachineTrigger['type'];
19
- };
20
- to: PipelineStateMachineState | ((ctx: StateMachineContext, trigger: StateMachineTrigger) => PipelineStateMachineState);
21
- guard?: (ctx: StateMachineContext, trigger: StateMachineTrigger) => boolean;
22
- action?: (ctx: StateMachineContext, trigger: StateMachineTrigger) => Promise<PipelineEvent[]>;
23
- }
24
- /**
25
- * 完整的状态转换规则表
26
- */
27
- export declare const PIPELINE_TRANSITIONS: StateTransition[];
28
- //# sourceMappingURL=transitions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../src/pipeline/transitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;IACvE,OAAO,EAAE;QAAE,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAC/C,EAAE,EAAE,yBAAyB,GAAG,CAAC,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,KAAK,yBAAyB,CAAC,CAAC;IACxH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC;IAC5E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC/F;AAaD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAAe,EAwUjD,CAAC"}