@winspan/claude-forge 0.7.2 → 0.7.4

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 (194) hide show
  1. package/dist/ai-gateway/index.d.ts.map +1 -1
  2. package/dist/ai-gateway/index.js +30 -9
  3. package/dist/ai-gateway/index.js.map +1 -1
  4. package/dist/ai-gateway/model-selector.d.ts +12 -0
  5. package/dist/ai-gateway/model-selector.d.ts.map +1 -1
  6. package/dist/ai-gateway/model-selector.js +20 -0
  7. package/dist/ai-gateway/model-selector.js.map +1 -1
  8. package/dist/autopilot/intent-engine.d.ts +0 -4
  9. package/dist/autopilot/intent-engine.d.ts.map +1 -1
  10. package/dist/autopilot/intent-engine.js +32 -102
  11. package/dist/autopilot/intent-engine.js.map +1 -1
  12. package/dist/autopilot/issue-tracker.d.ts +48 -0
  13. package/dist/autopilot/issue-tracker.d.ts.map +1 -0
  14. package/dist/autopilot/issue-tracker.js +94 -0
  15. package/dist/autopilot/issue-tracker.js.map +1 -0
  16. package/dist/autopilot/phase-gap-detector.d.ts +25 -0
  17. package/dist/autopilot/phase-gap-detector.d.ts.map +1 -0
  18. package/dist/autopilot/phase-gap-detector.js +80 -0
  19. package/dist/autopilot/phase-gap-detector.js.map +1 -0
  20. package/dist/autopilot/quality-gate.d.ts +22 -0
  21. package/dist/autopilot/quality-gate.d.ts.map +1 -1
  22. package/dist/autopilot/quality-gate.js +108 -25
  23. package/dist/autopilot/quality-gate.js.map +1 -1
  24. package/dist/autopilot/task-completion-detector.d.ts +32 -0
  25. package/dist/autopilot/task-completion-detector.d.ts.map +1 -0
  26. package/dist/autopilot/task-completion-detector.js +103 -0
  27. package/dist/autopilot/task-completion-detector.js.map +1 -0
  28. package/dist/cli/commands/pattern.d.ts.map +1 -1
  29. package/dist/cli/commands/pattern.js +44 -38
  30. package/dist/cli/commands/pattern.js.map +1 -1
  31. package/dist/daemon/engine-registry.js +1 -1
  32. package/dist/daemon/handlers/context-builder.d.ts +8 -7
  33. package/dist/daemon/handlers/context-builder.d.ts.map +1 -1
  34. package/dist/daemon/handlers/context-builder.js +16 -20
  35. package/dist/daemon/handlers/context-builder.js.map +1 -1
  36. package/dist/daemon/handlers/orchestration-context.d.ts +6 -9
  37. package/dist/daemon/handlers/orchestration-context.d.ts.map +1 -1
  38. package/dist/daemon/handlers/post-tool-use-handler.d.ts.map +1 -1
  39. package/dist/daemon/handlers/post-tool-use-handler.js +12 -0
  40. package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
  41. package/dist/daemon/handlers/stages/01-failure-signal.d.ts +1 -0
  42. package/dist/daemon/handlers/stages/01-failure-signal.d.ts.map +1 -1
  43. package/dist/daemon/handlers/stages/01-failure-signal.js +2 -2
  44. package/dist/daemon/handlers/stages/01-failure-signal.js.map +1 -1
  45. package/dist/daemon/handlers/stages/02-active-intervention.d.ts +1 -0
  46. package/dist/daemon/handlers/stages/02-active-intervention.d.ts.map +1 -1
  47. package/dist/daemon/handlers/stages/02-active-intervention.js +1 -0
  48. package/dist/daemon/handlers/stages/02-active-intervention.js.map +1 -1
  49. package/dist/daemon/handlers/stages/03-init-prompt.d.ts +1 -0
  50. package/dist/daemon/handlers/stages/03-init-prompt.d.ts.map +1 -1
  51. package/dist/daemon/handlers/stages/03-init-prompt.js +2 -2
  52. package/dist/daemon/handlers/stages/03-init-prompt.js.map +1 -1
  53. package/dist/daemon/handlers/stages/04-skill-suggestions.d.ts +1 -0
  54. package/dist/daemon/handlers/stages/04-skill-suggestions.d.ts.map +1 -1
  55. package/dist/daemon/handlers/stages/04-skill-suggestions.js +2 -1
  56. package/dist/daemon/handlers/stages/04-skill-suggestions.js.map +1 -1
  57. package/dist/daemon/handlers/stages/05-conv-config.d.ts +1 -0
  58. package/dist/daemon/handlers/stages/05-conv-config.d.ts.map +1 -1
  59. package/dist/daemon/handlers/stages/05-conv-config.js +1 -0
  60. package/dist/daemon/handlers/stages/05-conv-config.js.map +1 -1
  61. package/dist/daemon/handlers/stages/06-engine-check.d.ts +1 -0
  62. package/dist/daemon/handlers/stages/06-engine-check.d.ts.map +1 -1
  63. package/dist/daemon/handlers/stages/06-engine-check.js +1 -0
  64. package/dist/daemon/handlers/stages/06-engine-check.js.map +1 -1
  65. package/dist/daemon/handlers/stages/07-pipeline-reply.d.ts +1 -0
  66. package/dist/daemon/handlers/stages/07-pipeline-reply.d.ts.map +1 -1
  67. package/dist/daemon/handlers/stages/07-pipeline-reply.js +1 -2
  68. package/dist/daemon/handlers/stages/07-pipeline-reply.js.map +1 -1
  69. package/dist/daemon/handlers/stages/08-esc-interrupt.d.ts +1 -0
  70. package/dist/daemon/handlers/stages/08-esc-interrupt.d.ts.map +1 -1
  71. package/dist/daemon/handlers/stages/08-esc-interrupt.js +1 -0
  72. package/dist/daemon/handlers/stages/08-esc-interrupt.js.map +1 -1
  73. package/dist/daemon/handlers/stages/09-pipeline-active.d.ts +1 -0
  74. package/dist/daemon/handlers/stages/09-pipeline-active.d.ts.map +1 -1
  75. package/dist/daemon/handlers/stages/09-pipeline-active.js +1 -0
  76. package/dist/daemon/handlers/stages/09-pipeline-active.js.map +1 -1
  77. package/dist/daemon/handlers/stages/10-cooldown.d.ts +1 -1
  78. package/dist/daemon/handlers/stages/10-cooldown.d.ts.map +1 -1
  79. package/dist/daemon/handlers/stages/10-cooldown.js +1 -39
  80. package/dist/daemon/handlers/stages/10-cooldown.js.map +1 -1
  81. package/dist/daemon/handlers/stages/11-intent-analysis.d.ts +1 -0
  82. package/dist/daemon/handlers/stages/11-intent-analysis.d.ts.map +1 -1
  83. package/dist/daemon/handlers/stages/11-intent-analysis.js +4 -3
  84. package/dist/daemon/handlers/stages/11-intent-analysis.js.map +1 -1
  85. package/dist/daemon/handlers/stages/12-strategy-advice.d.ts +1 -0
  86. package/dist/daemon/handlers/stages/12-strategy-advice.d.ts.map +1 -1
  87. package/dist/daemon/handlers/stages/12-strategy-advice.js +1 -0
  88. package/dist/daemon/handlers/stages/12-strategy-advice.js.map +1 -1
  89. package/dist/daemon/handlers/stages/13-template-route.d.ts +1 -0
  90. package/dist/daemon/handlers/stages/13-template-route.d.ts.map +1 -1
  91. package/dist/daemon/handlers/stages/13-template-route.js +1 -0
  92. package/dist/daemon/handlers/stages/13-template-route.js.map +1 -1
  93. package/dist/daemon/handlers/stages/14-plan-resume.d.ts +1 -0
  94. package/dist/daemon/handlers/stages/14-plan-resume.d.ts.map +1 -1
  95. package/dist/daemon/handlers/stages/14-plan-resume.js +1 -0
  96. package/dist/daemon/handlers/stages/14-plan-resume.js.map +1 -1
  97. package/dist/daemon/handlers/stages/15-plan-enforcement.d.ts +1 -0
  98. package/dist/daemon/handlers/stages/15-plan-enforcement.d.ts.map +1 -1
  99. package/dist/daemon/handlers/stages/15-plan-enforcement.js +1 -0
  100. package/dist/daemon/handlers/stages/15-plan-enforcement.js.map +1 -1
  101. package/dist/daemon/handlers/stages/16-intervention-level.d.ts +1 -0
  102. package/dist/daemon/handlers/stages/16-intervention-level.d.ts.map +1 -1
  103. package/dist/daemon/handlers/stages/16-intervention-level.js +1 -0
  104. package/dist/daemon/handlers/stages/16-intervention-level.js.map +1 -1
  105. package/dist/daemon/handlers/stages/17-simple-task.d.ts +1 -0
  106. package/dist/daemon/handlers/stages/17-simple-task.d.ts.map +1 -1
  107. package/dist/daemon/handlers/stages/17-simple-task.js +2 -1
  108. package/dist/daemon/handlers/stages/17-simple-task.js.map +1 -1
  109. package/dist/daemon/handlers/stages/18-complex-task.d.ts +1 -0
  110. package/dist/daemon/handlers/stages/18-complex-task.d.ts.map +1 -1
  111. package/dist/daemon/handlers/stages/18-complex-task.js +4 -4
  112. package/dist/daemon/handlers/stages/18-complex-task.js.map +1 -1
  113. package/dist/daemon/handlers/stages/19-moderate-task.d.ts +1 -0
  114. package/dist/daemon/handlers/stages/19-moderate-task.d.ts.map +1 -1
  115. package/dist/daemon/handlers/stages/19-moderate-task.js +3 -2
  116. package/dist/daemon/handlers/stages/19-moderate-task.js.map +1 -1
  117. package/dist/daemon/handlers/stages/stage-interface.d.ts +3 -0
  118. package/dist/daemon/handlers/stages/stage-interface.d.ts.map +1 -1
  119. package/dist/daemon/handlers/stages/stage-scheduler.d.ts +27 -0
  120. package/dist/daemon/handlers/stages/stage-scheduler.d.ts.map +1 -0
  121. package/dist/daemon/handlers/stages/stage-scheduler.js +105 -0
  122. package/dist/daemon/handlers/stages/stage-scheduler.js.map +1 -0
  123. package/dist/daemon/handlers/user-prompt-handler.d.ts +3 -12
  124. package/dist/daemon/handlers/user-prompt-handler.d.ts.map +1 -1
  125. package/dist/daemon/handlers/user-prompt-handler.js +73 -94
  126. package/dist/daemon/handlers/user-prompt-handler.js.map +1 -1
  127. package/dist/pipeline/index.d.ts +1 -5
  128. package/dist/pipeline/index.d.ts.map +1 -1
  129. package/dist/pipeline/index.js +29 -25
  130. package/dist/pipeline/index.js.map +1 -1
  131. package/dist/{pattern-engine/types.d.ts → pipeline/pattern-types.d.ts} +1 -1
  132. package/dist/pipeline/pattern-types.d.ts.map +1 -0
  133. package/dist/{pattern-engine/types.js → pipeline/pattern-types.js} +1 -1
  134. package/dist/pipeline/pattern-types.js.map +1 -0
  135. package/dist/pipeline/phase-manager.d.ts +6 -1
  136. package/dist/pipeline/phase-manager.d.ts.map +1 -1
  137. package/dist/pipeline/phase-manager.js +68 -38
  138. package/dist/pipeline/phase-manager.js.map +1 -1
  139. package/dist/pipeline/report-generator.d.ts +20 -0
  140. package/dist/pipeline/report-generator.d.ts.map +1 -0
  141. package/dist/pipeline/report-generator.js +123 -0
  142. package/dist/pipeline/report-generator.js.map +1 -0
  143. package/dist/prompts/intent-analysis.md +62 -0
  144. package/dist/prompts/registry.d.ts +17 -0
  145. package/dist/prompts/registry.d.ts.map +1 -0
  146. package/dist/prompts/registry.js +40 -0
  147. package/dist/prompts/registry.js.map +1 -0
  148. package/dist/skill-registry/evolver/index.d.ts +1 -1
  149. package/dist/skill-registry/evolver/index.d.ts.map +1 -1
  150. package/dist/{pattern-engine → skill-registry}/pattern-evolver.d.ts +6 -2
  151. package/dist/skill-registry/pattern-evolver.d.ts.map +1 -0
  152. package/dist/{pattern-engine → skill-registry}/pattern-evolver.js +30 -6
  153. package/dist/skill-registry/pattern-evolver.js.map +1 -0
  154. package/dist/storage/repositories/distill-repository.d.ts +2 -1
  155. package/dist/storage/repositories/distill-repository.d.ts.map +1 -1
  156. package/dist/storage/repositories/distill-repository.js +6 -0
  157. package/dist/storage/repositories/distill-repository.js.map +1 -1
  158. package/dist/storage/sqlite.d.ts +96 -157
  159. package/dist/storage/sqlite.d.ts.map +1 -1
  160. package/dist/storage/sqlite.js +123 -896
  161. package/dist/storage/sqlite.js.map +1 -1
  162. package/package.json +2 -2
  163. package/dist/daemon/engine-registry/init-pattern-engine.d.ts +0 -9
  164. package/dist/daemon/engine-registry/init-pattern-engine.d.ts.map +0 -1
  165. package/dist/daemon/engine-registry/init-pattern-engine.js +0 -22
  166. package/dist/daemon/engine-registry/init-pattern-engine.js.map +0 -1
  167. package/dist/pattern-engine/convention-pattern-generator.d.ts +0 -14
  168. package/dist/pattern-engine/convention-pattern-generator.d.ts.map +0 -1
  169. package/dist/pattern-engine/convention-pattern-generator.js +0 -120
  170. package/dist/pattern-engine/convention-pattern-generator.js.map +0 -1
  171. package/dist/pattern-engine/execution-tracker.d.ts +0 -45
  172. package/dist/pattern-engine/execution-tracker.d.ts.map +0 -1
  173. package/dist/pattern-engine/execution-tracker.js +0 -136
  174. package/dist/pattern-engine/execution-tracker.js.map +0 -1
  175. package/dist/pattern-engine/index.d.ts +0 -75
  176. package/dist/pattern-engine/index.d.ts.map +0 -1
  177. package/dist/pattern-engine/index.js +0 -247
  178. package/dist/pattern-engine/index.js.map +0 -1
  179. package/dist/pattern-engine/pattern-evolver.d.ts.map +0 -1
  180. package/dist/pattern-engine/pattern-evolver.js.map +0 -1
  181. package/dist/pattern-engine/pattern-executor.d.ts +0 -43
  182. package/dist/pattern-engine/pattern-executor.d.ts.map +0 -1
  183. package/dist/pattern-engine/pattern-executor.js +0 -228
  184. package/dist/pattern-engine/pattern-executor.js.map +0 -1
  185. package/dist/pattern-engine/pattern-loader.d.ts +0 -14
  186. package/dist/pattern-engine/pattern-loader.d.ts.map +0 -1
  187. package/dist/pattern-engine/pattern-loader.js +0 -111
  188. package/dist/pattern-engine/pattern-loader.js.map +0 -1
  189. package/dist/pattern-engine/pattern-router.d.ts +0 -31
  190. package/dist/pattern-engine/pattern-router.d.ts.map +0 -1
  191. package/dist/pattern-engine/pattern-router.js +0 -160
  192. package/dist/pattern-engine/pattern-router.js.map +0 -1
  193. package/dist/pattern-engine/types.d.ts.map +0 -1
  194. package/dist/pattern-engine/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-gateway/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAO7E,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kCAAkC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0BAA0B;IAC1B,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D;AAOD;;;GAGG;AACH,qBAAa,SAAU,YAAW,UAAU;IAO9B,OAAO,CAAC,KAAK;IANzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAAS;gBAEP,KAAK,EAAE,UAAU,EAAE,IAAI,GAAE,cAAmB;IAW1D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2C5F,QAAQ;IAIR,WAAW,IAAI,MAAM;CAMtB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-gateway/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAO7E,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kCAAkC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0BAA0B;IAC1B,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D;AAOD;;;GAGG;AACH,qBAAa,SAAU,YAAW,UAAU;IAO9B,OAAO,CAAC,KAAK;IANzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAAS;gBAEP,KAAK,EAAE,UAAU,EAAE,IAAI,GAAE,cAAmB;IAW1D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkE5F,QAAQ;IAIR,WAAW,IAAI,MAAM;CAMtB"}
@@ -32,7 +32,7 @@ export class AIGateway {
32
32
  async complete(prompt, label, options) {
33
33
  // 可缓存的调用先查缓存
34
34
  const cacheable = label ? !this.noCacheLabels.has(label) : false;
35
- // 先确定模型(用于缓存键)
35
+ // 先确定主模型(用于缓存键)
36
36
  const resolvedModel = this.modelSelector ? this.modelSelector.selectModel(label) : options?.model;
37
37
  if (cacheable) {
38
38
  const cached = this.cache.get(prompt, label, resolvedModel);
@@ -44,18 +44,39 @@ export class AIGateway {
44
44
  // 限流
45
45
  await this.rateLimiter.acquire();
46
46
  try {
47
- // 分层模型策略:根据 label 选择模型,注入 options.model
47
+ // 分层模型策略 + 降级链
48
+ if (this.modelSelector) {
49
+ const chain = this.modelSelector.getFallbackChain(label);
50
+ const tiers = [chain.primary, ...chain.fallbacks];
51
+ let lastErr;
52
+ for (const tier of tiers) {
53
+ const model = this.modelSelector.modelForTier(tier);
54
+ const tieredOptions = { ...options, model };
55
+ try {
56
+ const result = await withRetry(() => this.inner.complete(prompt, label, tieredOptions), `AI调用(${label ?? 'unlabeled'}/${tier})`, { retryable: true, maxRetries: 2, retryDelayMs: 500, exponentialBackoff: true });
57
+ if (tier !== chain.primary) {
58
+ logger.info(`[AI Gateway] 降级成功:${chain.primary} → ${tier}(label=${label ?? '-'})`);
59
+ }
60
+ if (cacheable) {
61
+ this.cache.set(prompt, label, result, this.cacheTtlMs, model);
62
+ }
63
+ return result;
64
+ }
65
+ catch (err) {
66
+ lastErr = err;
67
+ if (tier !== tiers[tiers.length - 1]) {
68
+ logger.warn(`[AI Gateway] ${tier} 调用失败,降级到下一层(label=${label ?? '-'}):${err}`);
69
+ }
70
+ }
71
+ }
72
+ throw lastErr;
73
+ }
74
+ // 无分层策略:原有逻辑
48
75
  const tieredOptions = {
49
76
  ...options,
50
77
  ...(resolvedModel ? { model: resolvedModel } : {}),
51
78
  };
52
- // 带重试的 AI 调用
53
- const result = await withRetry(() => this.inner.complete(prompt, label, tieredOptions), `AI调用(${label ?? 'unlabeled'})`, {
54
- retryable: true,
55
- maxRetries: 3,
56
- retryDelayMs: 1000,
57
- exponentialBackoff: true,
58
- });
79
+ const result = await withRetry(() => this.inner.complete(prompt, label, tieredOptions), `AI调用(${label ?? 'unlabeled'})`, { retryable: true, maxRetries: 3, retryDelayMs: 1000, exponentialBackoff: true });
59
80
  if (cacheable) {
60
81
  this.cache.set(prompt, label, result, this.cacheTtlMs, resolvedModel);
61
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-gateway/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-gateway/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  export type ModelTier = 'haiku' | 'sonnet' | 'opus';
2
+ export interface FallbackChain {
3
+ primary: ModelTier;
4
+ fallbacks: ModelTier[];
5
+ }
2
6
  export declare class ModelSelector {
3
7
  private tierToModel;
4
8
  constructor(models?: {
@@ -8,5 +12,13 @@ export declare class ModelSelector {
8
12
  });
9
13
  selectTier(label?: string): ModelTier;
10
14
  selectModel(label?: string): string;
15
+ /**
16
+ * 返回降级链:primary 失败时依次尝试 fallbacks。
17
+ * opus → sonnet → haiku
18
+ * sonnet → haiku
19
+ * haiku → (无降级)
20
+ */
21
+ getFallbackChain(label?: string): FallbackChain;
22
+ modelForTier(tier: ModelTier): string;
11
23
  }
12
24
  //# sourceMappingURL=model-selector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-selector.d.ts","sourceRoot":"","sources":["../../src/ai-gateway/model-selector.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAkEpD,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAA4B;gBAEnC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAQvE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS;IAKrC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;CAGpC"}
1
+ {"version":3,"file":"model-selector.d.ts","sourceRoot":"","sources":["../../src/ai-gateway/model-selector.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,SAAS,EAAE,CAAC;CACxB;AAkED,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAA4B;gBAEnC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAQvE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS;IAKrC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAInC;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa;IAY/C,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;CAGtC"}
@@ -75,5 +75,25 @@ export class ModelSelector {
75
75
  selectModel(label) {
76
76
  return this.tierToModel[this.selectTier(label)];
77
77
  }
78
+ /**
79
+ * 返回降级链:primary 失败时依次尝试 fallbacks。
80
+ * opus → sonnet → haiku
81
+ * sonnet → haiku
82
+ * haiku → (无降级)
83
+ */
84
+ getFallbackChain(label) {
85
+ const primary = this.selectTier(label);
86
+ switch (primary) {
87
+ case 'opus':
88
+ return { primary: 'opus', fallbacks: ['sonnet', 'haiku'] };
89
+ case 'sonnet':
90
+ return { primary: 'sonnet', fallbacks: ['haiku'] };
91
+ case 'haiku':
92
+ return { primary: 'haiku', fallbacks: [] };
93
+ }
94
+ }
95
+ modelForTier(tier) {
96
+ return this.tierToModel[tier];
97
+ }
78
98
  }
79
99
  //# sourceMappingURL=model-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-selector.js","sourceRoot":"","sources":["../../src/ai-gateway/model-selector.ts"],"names":[],"mappings":"AAEA,qBAAqB;AACrB,MAAM,aAAa,GAA8B;IAC/C,qEAAqE;IACrE,gBAAgB;IAChB,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,OAAO;IACf,gBAAgB,EAAE,OAAO;IACzB,MAAM,EAAE,OAAO;IACf,gBAAgB,EAAE,OAAO;IACzB,aAAa;IACb,WAAW,EAAE,OAAO;IACpB,oBAAoB,EAAE,OAAO;IAC7B,mBAAmB,EAAE,OAAO;IAC5B,gBAAgB;IAChB,mBAAmB,EAAE,OAAO;IAC5B,iBAAiB,EAAE,OAAO;IAC1B,UAAU;IACV,qBAAqB,EAAE,OAAO;IAC9B,oBAAoB,EAAE,OAAO;IAC7B,eAAe,EAAE,OAAO;IACxB,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,OAAO;IACjB,eAAe;IACf,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,OAAO;IAEhB,gEAAgE;IAChE,OAAO;IACP,cAAc,EAAE,QAAQ;IACxB,+BAA+B,EAAE,QAAQ;IACzC,oBAAoB,EAAE,QAAQ;IAC9B,MAAM,EAAE,QAAQ;IAChB,QAAQ;IACR,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO;IACP,eAAe,EAAE,QAAQ;IACzB,iBAAiB,EAAE,QAAQ;IAC3B,cAAc,EAAE,QAAQ;IACxB,6BAA6B,EAAE,QAAQ;IACvC,MAAM,EAAE,QAAQ;IAChB,QAAQ;IACR,oBAAoB,EAAE,QAAQ;IAC9B,iBAAiB,EAAE,QAAQ;IAC3B,WAAW;IACX,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAElB,sEAAsE;IACtE,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;CACf,CAAC;AAEF,MAAM,qBAAqB,GAA8B;IACvD,KAAK,EAAE,2BAA2B;IAClC,MAAM,EAAE,mBAAmB;IAC3B,IAAI,EAAE,iBAAiB;CACxB,CAAC;AAEF,MAAM,OAAO,aAAa;IAChB,WAAW,CAA4B;IAE/C,YAAY,MAA2D;QACrE,IAAI,CAAC,WAAW,GAAG;YACjB,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,qBAAqB,CAAC,KAAK;YACnD,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,qBAAqB,CAAC,MAAM;YACtD,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,qBAAqB,CAAC,IAAI;SACjD,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAc;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC;QAC5B,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,KAAc;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"model-selector.js","sourceRoot":"","sources":["../../src/ai-gateway/model-selector.ts"],"names":[],"mappings":"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"}
@@ -41,8 +41,6 @@ export declare class IntentEngine {
41
41
  private rulesCache;
42
42
  /** TreeIndex 推理检索结果缓存,key=projectPath:requirement,TTL=2min */
43
43
  private treeIndexCache;
44
- private static readonly CACHE_TTL_MS;
45
- private static readonly TREE_CACHE_TTL_MS;
46
44
  constructor(api: AIProvider, storage?: StorageEngine);
47
45
  /**
48
46
  * 触发离线规则提炼(每 20 次 Stop 调用一次)
@@ -56,8 +54,6 @@ export declare class IntentEngine {
56
54
  analyze(userPrompt: string, projectPath: string, techStack?: string, conversationHistory?: string, isForgeManaged?: boolean, activePlan?: ActivePlanSummary, userContext?: UserContext): Promise<IntentAnalysis>;
57
55
  /** 从 StorageEngine 获取规则库(带 TTL 缓存,避免每次 analyze 都查 DB) */
58
56
  private getRulesFromStorage;
59
- /** 清理三个缓存 Map 中已过期的条目 */
60
- private evictExpiredCache;
61
57
  /**
62
58
  * 快速放行:只过滤明确不涉及代码改动的操作。
63
59
  * @param hasConversation 是否有会话上下文(多轮对话中)。有上下文时短输入可能是确认回复,应交给 AI 判断。
@@ -1 +1 @@
1
- {"version":3,"file":"intent-engine.d.ts","sourceRoot":"","sources":["../../src/autopilot/intent-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEjE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;IACjD,gBAAgB,EAAE,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CACzD;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,aAAa,CAA8B;IACnD,mCAAmC;IACnC,OAAO,CAAC,cAAc,CAAyD;IAC/E,iCAAiC;IACjC,OAAO,CAAC,cAAc,CAAyD;IAC/E,yCAAyC;IACzC,OAAO,CAAC,UAAU,CAAuK;IACzL,8DAA8D;IAC9D,OAAO,CAAC,cAAc,CAAyD;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAiB;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAiB;gBAE9C,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa;IAOpD;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQxD;;;;OAIG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,cAAc,CAAC,EAAE,OAAO,EACxB,UAAU,CAAC,EAAE,iBAAiB,EAC9B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,cAAc,CAAC;IAkD1B,yDAAyD;IACzD,OAAO,CAAC,mBAAmB;IAU3B,yBAAyB;IACzB,OAAO,CAAC,iBAAiB;IAgBzB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAkEnB;;OAEG;YACW,SAAS;IA6GvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiD3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,aAAa;IAwBrB;;;OAGG;YACW,oBAAoB;IA8BlC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAiBpC;;OAEG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAInD,WAAW,IAAI,UAAU;IAIzB;OACG;IACH,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI;CAsB3D"}
1
+ {"version":3,"file":"intent-engine.d.ts","sourceRoot":"","sources":["../../src/autopilot/intent-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAKjE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEjE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;IACjD,gBAAgB,EAAE,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CACzD;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,aAAa,CAA8B;IACnD,mCAAmC;IACnC,OAAO,CAAC,cAAc,CAA4F;IAClH,iCAAiC;IACjC,OAAO,CAAC,cAAc,CAA4F;IAClH,yCAAyC;IACzC,OAAO,CAAC,UAAU,CAAsM;IACxN,8DAA8D;IAC9D,OAAO,CAAC,cAAc,CAA6F;gBAEvG,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa;IAOpD;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQxD;;;;OAIG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,cAAc,CAAC,EAAE,OAAO,EACxB,UAAU,CAAC,EAAE,iBAAiB,EAC9B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,cAAc,CAAC;IAiD1B,yDAAyD;IACzD,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACH,OAAO,CAAC,WAAW;IAkEnB;;OAEG;YACW,SAAS;IA6DvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiD3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,aAAa;IAwBrB;;;OAGG;YACW,oBAAoB;IA8BlC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAiBpC;;OAEG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAInD,WAAW,IAAI,UAAU;IAIzB;OACG;IACH,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI;CAsB3D"}
@@ -3,6 +3,8 @@ import path from 'path';
3
3
  import { logger } from '../utils/logger.js';
4
4
  import { TreeIndexEngine } from '../distill/tree-index.js';
5
5
  import { RuleDistiller } from './rule-distiller.js';
6
+ import { PromptRegistry } from '../prompts/registry.js';
7
+ import { memoryManager } from '../utils/memory-manager.js';
6
8
  /**
7
9
  * IntentEngine — 意图识别引擎
8
10
  *
@@ -15,15 +17,13 @@ export class IntentEngine {
15
17
  api;
16
18
  ruleDistiller = null;
17
19
  /** 项目结构缓存,TTL=2min,避免每次分析都读文件系统 */
18
- structureCache = new Map();
20
+ structureCache = memoryManager.register('intent:structure', { max: 50, ttl: 2 * 60_000 });
19
21
  /** decisions.md 内容缓存,TTL=5min */
20
- decisionsCache = new Map();
22
+ decisionsCache = memoryManager.register('intent:decisions', { max: 50, ttl: 5 * 60_000 });
21
23
  /** 意图规则缓存,TTL=5min,避免每次 analyze 都查 DB */
22
- rulesCache = new Map();
24
+ rulesCache = memoryManager.register('intent:rules', { max: 50, ttl: 5 * 60_000 });
23
25
  /** TreeIndex 推理检索结果缓存,key=projectPath:requirement,TTL=2min */
24
- treeIndexCache = new Map();
25
- static CACHE_TTL_MS = 5 * 60 * 1000; // 5min
26
- static TREE_CACHE_TTL_MS = 2 * 60 * 1000; // 2min
26
+ treeIndexCache = memoryManager.register('intent:treeIndex', { max: 100, ttl: 2 * 60_000 });
27
27
  constructor(api, storage) {
28
28
  this.api = api;
29
29
  if (storage) {
@@ -54,8 +54,7 @@ export class IntentEngine {
54
54
  logger.info(`快速判定:${quickResult.complexity} | 理由=${quickResult.reasoning}`);
55
55
  return quickResult;
56
56
  }
57
- // 清理过期缓存条目(每次 analyze 时执行,避免长期积累)
58
- this.evictExpiredCache();
57
+ // 清理过期缓存条目(memoryManager 自动处理 TTL,无需手动清理)
59
58
  // 规则库匹配(在 AI 分析之前,命中则跳过 AI 调用)
60
59
  if (this.ruleDistiller) {
61
60
  try {
@@ -95,33 +94,13 @@ export class IntentEngine {
95
94
  /** 从 StorageEngine 获取规则库(带 TTL 缓存,避免每次 analyze 都查 DB) */
96
95
  getRulesFromStorage(projectPath) {
97
96
  const cached = this.rulesCache.get(projectPath);
98
- if (cached && Date.now() < cached.expireAt)
99
- return cached.data;
97
+ if (cached)
98
+ return cached;
100
99
  // RuleDistiller 持有 storage 引用,通过它查询
101
100
  const data = this.ruleDistiller?.storage?.getIntentRules() ?? [];
102
- this.rulesCache.set(projectPath, { data, expireAt: Date.now() + IntentEngine.CACHE_TTL_MS });
101
+ this.rulesCache.set(projectPath, data);
103
102
  return data;
104
103
  }
105
- /** 清理三个缓存 Map 中已过期的条目 */
106
- evictExpiredCache() {
107
- const now = Date.now();
108
- for (const [key, entry] of this.structureCache) {
109
- if (now >= entry.expireAt)
110
- this.structureCache.delete(key);
111
- }
112
- for (const [key, entry] of this.decisionsCache) {
113
- if (now >= entry.expireAt)
114
- this.decisionsCache.delete(key);
115
- }
116
- for (const [key, entry] of this.rulesCache) {
117
- if (now >= entry.expireAt)
118
- this.rulesCache.delete(key);
119
- }
120
- for (const [key, entry] of this.treeIndexCache) {
121
- if (now >= entry.expireAt)
122
- this.treeIndexCache.delete(key);
123
- }
124
- }
125
104
  /**
126
105
  * 快速放行:只过滤明确不涉及代码改动的操作。
127
106
  * @param hasConversation 是否有会话上下文(多轮对话中)。有上下文时短输入可能是确认回复,应交给 AI 判断。
@@ -220,68 +199,19 @@ export class IntentEngine {
220
199
  - 如果用户是 expert 且 work_style 为 autonomous,降低 Pipeline 触发门槛
221
200
  `
222
201
  : '';
223
- const prompt = `你是一个 SDLC 意图分析引擎。请根据用户需求和项目实际情况,判断这个任务的复杂度和是否需要 Pipeline 编排。
224
-
225
- ## 用户输入
226
- ${userPrompt}
227
- ${historySection}${planSection}${userContextSection}
228
- ## 项目信息
229
- 路径: ${projectPath}
230
- ${techStack ? `技术栈: ${techStack}` : ''}
231
- ${projectStructure ? `项目结构:\n${projectStructure}` : ''}
232
- ${contextInfo ? `近期工作上下文: ${contextInfo}` : ''}
233
-
234
- ## 判断逻辑(按优先级)
235
-
236
- 1. **这个需求是否涉及代码改动?**
237
- - 不涉及(纯对话、提问、查看、运行命令)→ simple
238
- - 涉及 → 继续判断
239
-
240
- 2. **改动范围有多大?**(结合项目结构推断)
241
- - 改 1-2 个文件,逻辑清晰 → simple,不需要编排
242
- - 改 3-5 个文件,改动模式明确,问题定位清晰 → moderate,不需要编排
243
- - 改动 6+ 个文件,或需求模糊需要先拆分 → complex,需要编排
244
-
245
- 3. **是否需要 Pipeline 编排?**(仅在以下情况启用)
246
- - 需求非常模糊,需要先 analyze 阶段梳理
247
- - 涉及多个模块的架构级改动,需要 design 阶段规划
248
- - 改动量大(10+ 文件)且需要任务拆分
249
- - 新功能开发需要完整的质量管控流程
250
-
251
- ## 重要原则
252
- - **优化/修复类任务**:即使涉及多个文件,只要问题定位明确、改动模式清晰,应判定为 moderate,不启动 Pipeline
253
- - **Bug 修复**:除非涉及架构级重构,否则都是 simple 或 moderate
254
- - **配置调整**:即使涉及多个配置文件,也是 moderate
255
- - **代码审查/优化**:如果是针对现有代码的优化,不是新功能开发,应判定为 moderate
256
-
257
- ## 输出格式(严格 JSON)
258
- {
259
- "complexity": "simple|moderate|complex",
260
- "requiresPipeline": true/false,
261
- "requirement": "提炼后的一句话需求",
262
- "reasoning": "判断理由:为什么是这个复杂度,预估改动哪些文件/模块,为什么需要或不需要编排",
263
- "estimatedFiles": 预估改动文件数(数字),
264
- "suggestedPhases": ["analyze", "design", "code", "test", "review"],
265
- "clarifyQuestions": ["需要向用户确认的问题(当需求不明确时)"],
266
- "searchKeywords": ["相关最佳实践关键词"],
267
- "confidence": 0.0-1.0 置信度(必填)
268
- }
269
-
270
- 注意:
271
- - simple 时 suggestedPhases 为空数组,requiresPipeline 为 false
272
- - moderate 时 requiresPipeline 为 false,suggestedPhases 可包含 code/test
273
- - complex 时 requiresPipeline 为 true,suggestedPhases 包含完整流程
274
- - clarifyQuestions 触发条件(满足任一即必须填写):
275
- * 需求中有歧义词("优化"、"改进"、"处理"、"搞一下"等,没有明确目标)
276
- * 涉及多个可能的实现方案,需要用户选择
277
- * 缺少关键信息(如目标文件、功能范围、技术选型)
278
- * 不满足以上条件时,clarifyQuestions 为空数组 []
279
- - confidence 置信度评估标准:
280
- * 0.8-1.0: 需求明确,改动范围清晰,有充分上下文支持
281
- * 0.6-0.8: 需求基本明确,但缺少部分细节或上下文
282
- * 0.4-0.6: 需求模糊,存在多种理解可能,建议主动澄清
283
- * 0.0-0.4: 需求严重不明确,必须澄清后才能继续
284
- - 只输出 JSON,不要其他内容`;
202
+ const techStackSection = techStack ? `技术栈: ${techStack}` : '';
203
+ const projectStructureSection = projectStructure ? `项目结构:\n${projectStructure}` : '';
204
+ const contextInfoSection = contextInfo ? `近期工作上下文: ${contextInfo}` : '';
205
+ const prompt = PromptRegistry.load('intent-analysis', {
206
+ userPrompt,
207
+ historySection,
208
+ planSection,
209
+ userContextSection,
210
+ projectPath,
211
+ techStackSection,
212
+ projectStructureSection,
213
+ contextInfoSection,
214
+ });
285
215
  const response = await this.api.complete(prompt, 'intent');
286
216
  return this.parseAnalysis(response, userPrompt);
287
217
  }
@@ -290,8 +220,8 @@ ${contextInfo ? `近期工作上下文: ${contextInfo}` : ''}
290
220
  */
291
221
  getProjectStructure(projectPath) {
292
222
  const cached = this.structureCache.get(projectPath);
293
- if (cached && Date.now() < cached.expireAt)
294
- return cached.data;
223
+ if (cached)
224
+ return cached;
295
225
  try {
296
226
  if (!fs.existsSync(projectPath))
297
227
  return '';
@@ -329,7 +259,7 @@ ${contextInfo ? `近期工作上下文: ${contextInfo}` : ''}
329
259
  }
330
260
  }
331
261
  const data = lines.join('\n');
332
- this.structureCache.set(projectPath, { data, expireAt: Date.now() + IntentEngine.CACHE_TTL_MS });
262
+ this.structureCache.set(projectPath, data);
333
263
  return data;
334
264
  }
335
265
  catch {
@@ -407,9 +337,9 @@ ${contextInfo ? `近期工作上下文: ${contextInfo}` : ''}
407
337
  // 先查 TreeIndex 结果缓存
408
338
  const cacheKey = `${projectPath}:${requirement.slice(0, 100)}`;
409
339
  const cached = this.treeIndexCache.get(cacheKey);
410
- if (cached && Date.now() < cached.expireAt) {
340
+ if (cached) {
411
341
  logger.debug(`[意图引擎] TreeIndex 缓存命中`);
412
- return cached.data;
342
+ return cached;
413
343
  }
414
344
  // 优先走树索引推理检索
415
345
  try {
@@ -419,7 +349,7 @@ ${contextInfo ? `近期工作上下文: ${contextInfo}` : ''}
419
349
  const result = await engine.search(index, requirement);
420
350
  if (result) {
421
351
  logger.debug(`[意图引擎] 树索引推理检索成功,返回 ${result.length} 字符`);
422
- this.treeIndexCache.set(cacheKey, { data: result, expireAt: Date.now() + IntentEngine.TREE_CACHE_TTL_MS });
352
+ this.treeIndexCache.set(cacheKey, result);
423
353
  return result;
424
354
  }
425
355
  }
@@ -434,8 +364,8 @@ ${contextInfo ? `近期工作上下文: ${contextInfo}` : ''}
434
364
  */
435
365
  readDecisionsContextFallback(projectPath) {
436
366
  const cached = this.decisionsCache.get(projectPath);
437
- if (cached && Date.now() < cached.expireAt)
438
- return cached.data;
367
+ if (cached)
368
+ return cached;
439
369
  try {
440
370
  const decisionsPath = path.join(projectPath, '.claude-forge', 'decisions.md');
441
371
  if (!fs.existsSync(decisionsPath))
@@ -443,7 +373,7 @@ ${contextInfo ? `近期工作上下文: ${contextInfo}` : ''}
443
373
  const content = fs.readFileSync(decisionsPath, 'utf-8');
444
374
  // 只取最近的内容,避免 prompt 过长
445
375
  const data = content.trim();
446
- this.decisionsCache.set(projectPath, { data, expireAt: Date.now() + IntentEngine.CACHE_TTL_MS });
376
+ this.decisionsCache.set(projectPath, data);
447
377
  return data;
448
378
  }
449
379
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"intent-engine.js","sourceRoot":"","sources":["../../src/autopilot/intent-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent-engine.js","sourceRoot":"","sources":["../../src/autopilot/intent-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { PipelinePhase } from '../pipeline/types.js';
2
+ export type IssueStatus = 'open' | 'in_progress' | 'resolved' | 'wontfix';
3
+ export type IssueCategory = 'requirement_ambiguity' | 'architecture_conflict' | 'design_gap' | 'code_quality' | 'security' | 'test_coverage' | 'performance' | 'risk_unhandled';
4
+ export interface TrackedIssue {
5
+ id: string;
6
+ pipelineId: string;
7
+ sourcePhase: PipelinePhase;
8
+ category: IssueCategory;
9
+ level: 'warn' | 'fail';
10
+ message: string;
11
+ suggestion?: string;
12
+ status: IssueStatus;
13
+ fixAttempts: number;
14
+ forgeFixApplied: boolean;
15
+ filePath?: string;
16
+ resolvedAtPhase?: PipelinePhase;
17
+ createdAt: string;
18
+ updatedAt: string;
19
+ }
20
+ export interface IssueSummary {
21
+ total: number;
22
+ resolved: number;
23
+ wontfix: number;
24
+ open: number;
25
+ byCategory: Partial<Record<IssueCategory, number>>;
26
+ }
27
+ /**
28
+ * IssueTracker — 跨阶段问题台账
29
+ *
30
+ * 纯内存实现,Pipeline 完成时由 PipelineReportGenerator 写入 decisions.md。
31
+ * 每个 Pipeline 独立隔离,通过 pipelineId 区分。
32
+ */
33
+ export declare class IssueTracker {
34
+ private issues;
35
+ add(pipelineId: string, sourcePhase: PipelinePhase, category: IssueCategory, level: 'warn' | 'fail', message: string, suggestion?: string, filePath?: string): TrackedIssue;
36
+ resolve(issueId: string, resolvedAtPhase: PipelinePhase): void;
37
+ wontfix(issueId: string): void;
38
+ /** 增加修复尝试次数,返回新值 */
39
+ incrementFixAttempts(issueId: string): number;
40
+ markForgeFixed(issueId: string): void;
41
+ /** 获取指定阶段发现的 open/in_progress 问题 */
42
+ getOpenByPhase(pipelineId: string, sourcePhase: PipelinePhase): TrackedIssue[];
43
+ /** 获取指定 Pipeline 的所有问题(含所有状态) */
44
+ getAll(pipelineId: string): TrackedIssue[];
45
+ getSummary(pipelineId: string): IssueSummary;
46
+ resetForPipeline(pipelineId: string): void;
47
+ }
48
+ //# sourceMappingURL=issue-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-tracker.d.ts","sourceRoot":"","sources":["../../src/autopilot/issue-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;AAE1E,MAAM,MAAM,aAAa,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,YAAY,GACZ,cAAc,GACd,UAAU,GACV,eAAe,GACf,aAAa,GACb,gBAAgB,CAAC;AAErB,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,aAAa,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAmC;IAEjD,GAAG,CACD,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,aAAa,EAC1B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY;IAsBf,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,GAAG,IAAI;IAQ9D,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO9B,oBAAoB;IACpB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAS7C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOrC,oCAAoC;IACpC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,GAAG,YAAY,EAAE;IAQ9E,iCAAiC;IACjC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE;IAI1C,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY;IAe5C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;CAO3C"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * IssueTracker — 跨阶段问题台账
3
+ *
4
+ * 纯内存实现,Pipeline 完成时由 PipelineReportGenerator 写入 decisions.md。
5
+ * 每个 Pipeline 独立隔离,通过 pipelineId 区分。
6
+ */
7
+ export class IssueTracker {
8
+ issues = new Map();
9
+ add(pipelineId, sourcePhase, category, level, message, suggestion, filePath) {
10
+ const id = `issue_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`;
11
+ const now = new Date().toISOString();
12
+ const issue = {
13
+ id,
14
+ pipelineId,
15
+ sourcePhase,
16
+ category,
17
+ level,
18
+ message,
19
+ suggestion,
20
+ status: 'open',
21
+ fixAttempts: 0,
22
+ forgeFixApplied: false,
23
+ filePath,
24
+ createdAt: now,
25
+ updatedAt: now,
26
+ };
27
+ this.issues.set(id, issue);
28
+ return issue;
29
+ }
30
+ resolve(issueId, resolvedAtPhase) {
31
+ const issue = this.issues.get(issueId);
32
+ if (!issue)
33
+ return;
34
+ issue.status = 'resolved';
35
+ issue.resolvedAtPhase = resolvedAtPhase;
36
+ issue.updatedAt = new Date().toISOString();
37
+ }
38
+ wontfix(issueId) {
39
+ const issue = this.issues.get(issueId);
40
+ if (!issue)
41
+ return;
42
+ issue.status = 'wontfix';
43
+ issue.updatedAt = new Date().toISOString();
44
+ }
45
+ /** 增加修复尝试次数,返回新值 */
46
+ incrementFixAttempts(issueId) {
47
+ const issue = this.issues.get(issueId);
48
+ if (!issue)
49
+ return 0;
50
+ issue.fixAttempts += 1;
51
+ issue.status = 'in_progress';
52
+ issue.updatedAt = new Date().toISOString();
53
+ return issue.fixAttempts;
54
+ }
55
+ markForgeFixed(issueId) {
56
+ const issue = this.issues.get(issueId);
57
+ if (!issue)
58
+ return;
59
+ issue.forgeFixApplied = true;
60
+ issue.updatedAt = new Date().toISOString();
61
+ }
62
+ /** 获取指定阶段发现的 open/in_progress 问题 */
63
+ getOpenByPhase(pipelineId, sourcePhase) {
64
+ return [...this.issues.values()].filter(i => i.pipelineId === pipelineId &&
65
+ i.sourcePhase === sourcePhase &&
66
+ (i.status === 'open' || i.status === 'in_progress'));
67
+ }
68
+ /** 获取指定 Pipeline 的所有问题(含所有状态) */
69
+ getAll(pipelineId) {
70
+ return [...this.issues.values()].filter(i => i.pipelineId === pipelineId);
71
+ }
72
+ getSummary(pipelineId) {
73
+ const all = this.getAll(pipelineId);
74
+ const byCategory = {};
75
+ for (const issue of all) {
76
+ byCategory[issue.category] = (byCategory[issue.category] ?? 0) + 1;
77
+ }
78
+ return {
79
+ total: all.length,
80
+ resolved: all.filter(i => i.status === 'resolved').length,
81
+ wontfix: all.filter(i => i.status === 'wontfix').length,
82
+ open: all.filter(i => i.status === 'open' || i.status === 'in_progress').length,
83
+ byCategory,
84
+ };
85
+ }
86
+ resetForPipeline(pipelineId) {
87
+ for (const [id, issue] of this.issues) {
88
+ if (issue.pipelineId === pipelineId) {
89
+ this.issues.delete(id);
90
+ }
91
+ }
92
+ }
93
+ }
94
+ //# sourceMappingURL=issue-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-tracker.js","sourceRoot":"","sources":["../../src/autopilot/issue-tracker.ts"],"names":[],"mappings":"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"}