@winspan/claude-forge 0.1.2 → 0.1.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 (156) hide show
  1. package/dist/autopilot/index.d.ts +0 -1
  2. package/dist/autopilot/index.d.ts.map +1 -1
  3. package/dist/autopilot/index.js +0 -1
  4. package/dist/autopilot/index.js.map +1 -1
  5. package/dist/autopilot/intent-engine.d.ts +4 -1
  6. package/dist/autopilot/intent-engine.d.ts.map +1 -1
  7. package/dist/autopilot/intent-engine.js +22 -4
  8. package/dist/autopilot/intent-engine.js.map +1 -1
  9. package/dist/autopilot/quality-gate.d.ts +7 -0
  10. package/dist/autopilot/quality-gate.d.ts.map +1 -1
  11. package/dist/autopilot/quality-gate.js +8 -0
  12. package/dist/autopilot/quality-gate.js.map +1 -1
  13. package/dist/claudemd/index.d.ts +1 -1
  14. package/dist/claudemd/index.d.ts.map +1 -1
  15. package/dist/claudemd/index.js +30 -4
  16. package/dist/claudemd/index.js.map +1 -1
  17. package/dist/claudemd/prompts.d.ts +4 -1
  18. package/dist/claudemd/prompts.d.ts.map +1 -1
  19. package/dist/claudemd/prompts.js +41 -5
  20. package/dist/claudemd/prompts.js.map +1 -1
  21. package/dist/cli/commands/init.d.ts +33 -0
  22. package/dist/cli/commands/init.d.ts.map +1 -1
  23. package/dist/cli/commands/init.js +508 -3
  24. package/dist/cli/commands/init.js.map +1 -1
  25. package/dist/cli/index.js +3 -1
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/tui.d.ts.map +1 -1
  28. package/dist/cli/tui.js +4 -0
  29. package/dist/cli/tui.js.map +1 -1
  30. package/dist/config/defaults.d.ts.map +1 -1
  31. package/dist/config/defaults.js +0 -2
  32. package/dist/config/defaults.js.map +1 -1
  33. package/dist/config/schema.d.ts +0 -2
  34. package/dist/config/schema.d.ts.map +1 -1
  35. package/dist/config/schema.js +0 -4
  36. package/dist/config/schema.js.map +1 -1
  37. package/dist/convention/official-sync.d.ts +21 -0
  38. package/dist/convention/official-sync.d.ts.map +1 -0
  39. package/dist/convention/official-sync.js +196 -0
  40. package/dist/convention/official-sync.js.map +1 -0
  41. package/dist/daemon/engine-registry/init-autopilot.d.ts +0 -2
  42. package/dist/daemon/engine-registry/init-autopilot.d.ts.map +1 -1
  43. package/dist/daemon/engine-registry/init-autopilot.js +2 -6
  44. package/dist/daemon/engine-registry/init-autopilot.js.map +1 -1
  45. package/dist/daemon/engine-registry.d.ts.map +1 -1
  46. package/dist/daemon/engine-registry.js +4 -2
  47. package/dist/daemon/engine-registry.js.map +1 -1
  48. package/dist/daemon/handler-context.d.ts +0 -2
  49. package/dist/daemon/handler-context.d.ts.map +1 -1
  50. package/dist/daemon/handlers/post-tool-use-handler.d.ts.map +1 -1
  51. package/dist/daemon/handlers/post-tool-use-handler.js +7 -0
  52. package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
  53. package/dist/daemon/handlers/pre-tool-use-handler.d.ts.map +1 -1
  54. package/dist/daemon/handlers/pre-tool-use-handler.js +15 -15
  55. package/dist/daemon/handlers/pre-tool-use-handler.js.map +1 -1
  56. package/dist/daemon/handlers/stop-handler.d.ts.map +1 -1
  57. package/dist/daemon/handlers/stop-handler.js +23 -9
  58. package/dist/daemon/handlers/stop-handler.js.map +1 -1
  59. package/dist/daemon/handlers/user-prompt-handler.d.ts +9 -8
  60. package/dist/daemon/handlers/user-prompt-handler.d.ts.map +1 -1
  61. package/dist/daemon/handlers/user-prompt-handler.js +75 -48
  62. package/dist/daemon/handlers/user-prompt-handler.js.map +1 -1
  63. package/dist/daemon/index.d.ts.map +1 -1
  64. package/dist/daemon/index.js +25 -15
  65. package/dist/daemon/index.js.map +1 -1
  66. package/dist/daemon/lifecycle.d.ts +6 -0
  67. package/dist/daemon/lifecycle.d.ts.map +1 -1
  68. package/dist/daemon/lifecycle.js +28 -0
  69. package/dist/daemon/lifecycle.js.map +1 -1
  70. package/dist/daemon/server.d.ts +2 -1
  71. package/dist/daemon/server.d.ts.map +1 -1
  72. package/dist/daemon/server.js +20 -1
  73. package/dist/daemon/server.js.map +1 -1
  74. package/dist/distill/index.d.ts.map +1 -1
  75. package/dist/distill/index.js +4 -0
  76. package/dist/distill/index.js.map +1 -1
  77. package/dist/distill/writer.d.ts +22 -0
  78. package/dist/distill/writer.d.ts.map +1 -1
  79. package/dist/distill/writer.js +77 -0
  80. package/dist/distill/writer.js.map +1 -1
  81. package/dist/hooks/check-context-limit.sh +0 -0
  82. package/dist/hooks/notification.sh +3 -1
  83. package/dist/hooks/post-tool-use.sh +3 -1
  84. package/dist/hooks/pre-tool-use.sh +3 -1
  85. package/dist/hooks/stop.sh +3 -1
  86. package/dist/hooks/user-prompt-submit.sh +3 -1
  87. package/dist/pipeline/phase-manager.d.ts +4 -0
  88. package/dist/pipeline/phase-manager.d.ts.map +1 -1
  89. package/dist/pipeline/phase-manager.js +52 -10
  90. package/dist/pipeline/phase-manager.js.map +1 -1
  91. package/dist/skill-registry/evolver.d.ts.map +1 -1
  92. package/dist/skill-registry/evolver.js +4 -2
  93. package/dist/skill-registry/evolver.js.map +1 -1
  94. package/package.json +10 -4
  95. package/dist/cli/commands/console.d.ts +0 -3
  96. package/dist/cli/commands/console.d.ts.map +0 -1
  97. package/dist/cli/commands/console.js +0 -11
  98. package/dist/cli/commands/console.js.map +0 -1
  99. package/dist/cli/interceptor.d.ts +0 -5
  100. package/dist/cli/interceptor.d.ts.map +0 -1
  101. package/dist/cli/interceptor.js +0 -55
  102. package/dist/cli/interceptor.js.map +0 -1
  103. package/dist/hooks/hooks/check-context-limit.sh +0 -97
  104. package/dist/hooks/hooks/notification.sh +0 -33
  105. package/dist/hooks/hooks/post-tool-use.sh +0 -49
  106. package/dist/hooks/hooks/pre-tool-use.sh +0 -55
  107. package/dist/hooks/hooks/stop.sh +0 -29
  108. package/dist/hooks/hooks/user-prompt-submit.sh +0 -72
  109. package/dist/skill-registry/recommender.d.ts +0 -25
  110. package/dist/skill-registry/recommender.d.ts.map +0 -1
  111. package/dist/skill-registry/recommender.js +0 -91
  112. package/dist/skill-registry/recommender.js.map +0 -1
  113. package/dist/tests/claude-api.test.d.ts +0 -2
  114. package/dist/tests/claude-api.test.d.ts.map +0 -1
  115. package/dist/tests/claude-api.test.js +0 -96
  116. package/dist/tests/claude-api.test.js.map +0 -1
  117. package/dist/tests/conversational-config-handler.test.d.ts +0 -2
  118. package/dist/tests/conversational-config-handler.test.d.ts.map +0 -1
  119. package/dist/tests/conversational-config-handler.test.js +0 -107
  120. package/dist/tests/conversational-config-handler.test.js.map +0 -1
  121. package/dist/tests/doc-sync.test.d.ts +0 -2
  122. package/dist/tests/doc-sync.test.d.ts.map +0 -1
  123. package/dist/tests/doc-sync.test.js +0 -148
  124. package/dist/tests/doc-sync.test.js.map +0 -1
  125. package/dist/tests/orchestration-config.test.d.ts +0 -2
  126. package/dist/tests/orchestration-config.test.d.ts.map +0 -1
  127. package/dist/tests/orchestration-config.test.js +0 -122
  128. package/dist/tests/orchestration-config.test.js.map +0 -1
  129. package/dist/tests/pipeline-options.test.d.ts +0 -2
  130. package/dist/tests/pipeline-options.test.d.ts.map +0 -1
  131. package/dist/tests/pipeline-options.test.js +0 -68
  132. package/dist/tests/pipeline-options.test.js.map +0 -1
  133. package/dist/tests/resume-context-gen.test.d.ts +0 -2
  134. package/dist/tests/resume-context-gen.test.d.ts.map +0 -1
  135. package/dist/tests/resume-context-gen.test.js +0 -93
  136. package/dist/tests/resume-context-gen.test.js.map +0 -1
  137. package/dist/tests/sqlite.test.d.ts +0 -2
  138. package/dist/tests/sqlite.test.d.ts.map +0 -1
  139. package/dist/tests/sqlite.test.js +0 -154
  140. package/dist/tests/sqlite.test.js.map +0 -1
  141. package/dist/tests/tracker.test.d.ts +0 -2
  142. package/dist/tests/tracker.test.d.ts.map +0 -1
  143. package/dist/tests/tracker.test.js +0 -75
  144. package/dist/tests/tracker.test.js.map +0 -1
  145. package/dist/tests/tui.test.d.ts +0 -2
  146. package/dist/tests/tui.test.d.ts.map +0 -1
  147. package/dist/tests/tui.test.js +0 -39
  148. package/dist/tests/tui.test.js.map +0 -1
  149. package/dist/tests/user-prompt-handler.test.d.ts +0 -2
  150. package/dist/tests/user-prompt-handler.test.d.ts.map +0 -1
  151. package/dist/tests/user-prompt-handler.test.js +0 -182
  152. package/dist/tests/user-prompt-handler.test.js.map +0 -1
  153. package/dist/tui/index.d.ts +0 -2
  154. package/dist/tui/index.d.ts.map +0 -1
  155. package/dist/tui/index.js +0 -486
  156. package/dist/tui/index.js.map +0 -1
@@ -87,17 +87,20 @@ export class PhaseManager {
87
87
  for (const currentTask of pendingTasks) {
88
88
  const completed = this.detectTaskCompletion(phase, toolName, inputStr, event);
89
89
  if (completed) {
90
- this.store.updateTaskStatus(currentTask.id, 'completed', inputStr.substring(0, 200));
91
- logger.info(`[Pipeline] 任务已完成:${currentTask.title}`);
90
+ // 生成成果摘要:工具名 + 操作对象(文件路径或关键信息)
91
+ const artifact = this.summarizeArtifact(toolName, inputStr, event);
92
+ this.store.updateTaskStatus(currentTask.id, 'completed', artifact);
93
+ logger.info(`[Pipeline] 任务已完成:${currentTask.title} | 成果:${artifact}`);
92
94
  break; // 每次事件只完成一个任务
93
95
  }
94
96
  }
95
97
  // 兜底推进:同一阶段累积了足够多的工具调用,强制将剩余任务标记完成
98
+ // 前提条件:至少有一个任务已完成(避免还没开始就被强制跳过)
96
99
  const progress = this.store.getPhaseProgress(pipeline.id, phase);
97
100
  const activityThreshold = this.getPhaseActivityThreshold(phase);
98
101
  const phaseEventCount = this.phaseEventCount.get(`${pipeline.id}:${phase}`) || 0;
99
102
  this.phaseEventCount.set(`${pipeline.id}:${phase}`, phaseEventCount + 1);
100
- if (progress.completed < progress.total && phaseEventCount + 1 >= activityThreshold) {
103
+ if (progress.completed > 0 && progress.completed < progress.total && phaseEventCount + 1 >= activityThreshold) {
101
104
  logger.info(`[Pipeline] 活动阈值(${activityThreshold})已达到,强制完成 ${PHASE_LABELS[phase]} 阶段剩余任务`);
102
105
  const remaining = pipeline.tasks.filter(t => t.phase === phase && t.status !== 'completed');
103
106
  for (const t of remaining) {
@@ -110,7 +113,13 @@ export class PhaseManager {
110
113
  const newPh = nextPhase(phase);
111
114
  this.store.updatePhase(pipeline.id, newPh);
112
115
  this.phaseEventCount.delete(`${pipeline.id}:${phase}`);
113
- logger.info(`[Pipeline] 阶段推进:${PHASE_LABELS[phase]} → ${PHASE_LABELS[newPh]}`);
116
+ // 汇总本阶段所有任务的成果
117
+ const phaseTasks = pipeline.tasks.filter(t => t.phase === phase);
118
+ const artifacts = phaseTasks
119
+ .map(t => ` - ${t.title}: ${t.output || '(无记录)'}`)
120
+ .join('\n');
121
+ logger.info(`[Pipeline] 阶段推进:${PHASE_LABELS[phase]} → ${PHASE_LABELS[newPh]}\n` +
122
+ ` 完成 ${phaseTasks.length} 个任务,成果汇总:\n${artifacts}`);
114
123
  return { advanced: true, newPhase: newPh };
115
124
  }
116
125
  return { advanced: false };
@@ -118,12 +127,12 @@ export class PhaseManager {
118
127
  /** 每个阶段兜底推进所需的最少工具调用次数 */
119
128
  getPhaseActivityThreshold(phase) {
120
129
  switch (phase) {
121
- case 'analyze': return 6; // 6 次工具调用后强制完成分析
122
- case 'design': return 8;
123
- case 'code': return 15;
124
- case 'test': return 5;
125
- case 'review': return 4;
126
- default: return 10;
130
+ case 'analyze': return 15;
131
+ case 'design': return 20;
132
+ case 'code': return 40;
133
+ case 'test': return 15;
134
+ case 'review': return 20;
135
+ default: return 25;
127
136
  }
128
137
  }
129
138
  getPhaseDirective(phase, currentTask, pipeline) {
@@ -184,5 +193,38 @@ ${taskDesc}`;
184
193
  return false;
185
194
  }
186
195
  }
196
+ /**
197
+ * 从工具调用中提取成果摘要(文件路径、命令、操作类型)
198
+ */
199
+ summarizeArtifact(toolName, inputStr, event) {
200
+ const input = event.tool_input;
201
+ switch (toolName) {
202
+ case 'Write':
203
+ case 'Read':
204
+ case 'Edit': {
205
+ const filePath = input?.file_path;
206
+ if (filePath) {
207
+ const shortPath = filePath.split('/').slice(-3).join('/');
208
+ return `${toolName} ${shortPath}`;
209
+ }
210
+ return toolName;
211
+ }
212
+ case 'Bash': {
213
+ const cmd = (input?.command || '').substring(0, 80);
214
+ return `执行命令: ${cmd}`;
215
+ }
216
+ case 'Glob':
217
+ case 'Grep': {
218
+ const pattern = input?.pattern || '';
219
+ return `${toolName} "${pattern.substring(0, 50)}"`;
220
+ }
221
+ case 'Agent': {
222
+ const desc = input?.description || input?.prompt || '';
223
+ return `Agent: ${desc.substring(0, 60)}`;
224
+ }
225
+ default:
226
+ return `${toolName}: ${inputStr.substring(0, 80)}`;
227
+ }
228
+ }
187
229
  }
188
230
  //# sourceMappingURL=phase-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"phase-manager.js","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase-manager.js","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"evolver.d.ts","sourceRoot":"","sources":["../../src/skill-registry/evolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAK3E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,cAAc,CAA+B;gBAEzC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS;IAOnD,0CAA0C;IAC1C,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIhD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAsDrC;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAU3B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA8BzC;;OAEG;YACW,mBAAmB;IA+CjC;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiD/C;;;OAGG;IACH,OAAO,CAAC,WAAW;IAanB;;OAEG;YACW,yBAAyB;IAgDvC;;OAEG;YACW,gBAAgB;IA0C9B;;OAEG;YACW,gBAAgB;IAkC9B;;OAEG;YACW,mBAAmB;YAiEnB,oBAAoB;IA0BlC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,WAAW;IAMnB;;;;;OAKG;IACG,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA+GhD,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,eAAe;CAOxB"}
1
+ {"version":3,"file":"evolver.d.ts","sourceRoot":"","sources":["../../src/skill-registry/evolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAK3E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,cAAc,CAA+B;gBAEzC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS;IAOnD,0CAA0C;IAC1C,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIhD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAsDrC;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAU3B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA8BzC;;OAEG;YACW,mBAAmB;IA+CjC;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiD/C;;;OAGG;IACH,OAAO,CAAC,WAAW;IAanB;;OAEG;YACW,yBAAyB;IAgDvC;;OAEG;YACW,gBAAgB;IA0C9B;;OAEG;YACW,gBAAgB;IAkC9B;;OAEG;YACW,mBAAmB;YAmEnB,oBAAoB;IA0BlC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,WAAW;IAMnB;;;;;OAKG;IACG,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA+GhD,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,eAAe;CAOxB"}
@@ -364,9 +364,11 @@ ${topUsed.map(s => `- ${s.name}: ${s.stats.callCount}次`).join('\n')}
364
364
  const response = await this.api.complete(prompt, 'skill-evolver');
365
365
  const nameMatch = response.match(/###\s*SKILL_NAME\s*\n\s*(.+)/i);
366
366
  const contentMatch = response.match(/###\s*SKILL_CONTENT\s*\n([\s\S]*?)$/i);
367
- const skillName = nameMatch?.[1]?.trim();
367
+ const rawSkillName = nameMatch?.[1]?.trim();
368
+ // 去除 AI 可能输出的 Markdown 格式(反引号、代码块标记等)
369
+ const skillName = rawSkillName?.replace(/^`+|`+$/g, '').replace(/^```\w*\s*|\s*```$/g, '').trim();
368
370
  const skillContent = contentMatch?.[1]?.trim();
369
- if (skillName && skillName !== 'NONE' && skillContent && skillContent.length > 50) {
371
+ if (skillName && skillName !== 'NONE' && /^[\w-]+$/.test(skillName) && skillContent && skillContent.length > 50) {
370
372
  const skillDir = path.join(SKILLS_DIR, skillName);
371
373
  if (!fs.existsSync(skillDir)) {
372
374
  fs.mkdirSync(skillDir, { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"evolver.js","sourceRoot":"","sources":["../../src/skill-registry/evolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evolver.js","sourceRoot":"","sources":["../../src/skill-registry/evolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,18 @@
1
1
  {
2
2
  "name": "@winspan/claude-forge",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "SDLC intelligent orchestration engine for Claude Code",
5
- "main": "dist/index.js",
5
+ "main": "dist/cli/index.js",
6
6
  "type": "module",
7
7
  "bin": {
8
8
  "claude-forge": "dist/cli/index.js",
9
9
  "cf": "dist/cli/index.js"
10
10
  },
11
+ "exports": {
12
+ ".": {
13
+ "default": "./dist/cli/index.js"
14
+ }
15
+ },
11
16
  "files": [
12
17
  "dist/",
13
18
  "README.md",
@@ -20,8 +25,9 @@
20
25
  "access": "public"
21
26
  },
22
27
  "scripts": {
23
- "prepare": "tsc && cp -r src/hooks/* dist/hooks/",
24
- "build": "tsc && cp -r src/hooks/* dist/hooks/",
28
+ "prebuild": "rm -rf dist",
29
+ "build": "tsc && mkdir -p dist/hooks && cp -r src/hooks/* dist/hooks/ && chmod +x dist/hooks/*.sh",
30
+ "prepublishOnly": "npm run build",
25
31
  "dev": "tsx src/cli/index.ts",
26
32
  "test": "vitest run",
27
33
  "test:watch": "vitest",
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerConsoleCommand(program: Command): void;
3
- //# sourceMappingURL=console.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/console.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ7D"}
@@ -1,11 +0,0 @@
1
- import { startTui } from '../../tui/index.js';
2
- export function registerConsoleCommand(program) {
3
- program
4
- .command('console')
5
- .alias('ui')
6
- .description('打开 TUI 实时控制台')
7
- .action(async () => {
8
- await startTui();
9
- });
10
- }
11
- //# sourceMappingURL=console.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/cli/commands/console.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,cAAc,CAAC;SAC3B,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,QAAQ,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare function interceptToolCall(toolName: string, toolInput: Record<string, unknown>): void;
2
- export declare function interceptToolResult(toolName: string, success: boolean, error?: string): void;
3
- export declare function sendNotification(message: string): void;
4
- export declare function sendStopEvent(): void;
5
- //# sourceMappingURL=interceptor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../src/cli/interceptor.ts"],"names":[],"mappings":"AA8BA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAS5F;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CAUN;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAQtD;AAED,wBAAgB,aAAa,IAAI,IAAI,CAOpC"}
@@ -1,55 +0,0 @@
1
- import net from 'net';
2
- import os from 'os';
3
- import path from 'path';
4
- const SOCKET_PATH = path.join(os.homedir(), '.claude-forge', 'daemon.sock');
5
- const SESSION_ID = process.env.CLAUDE_CODE_SESSION_ID || `cli-${Date.now()}`;
6
- const PROJECT_PATH = process.cwd();
7
- function sendEvent(event) {
8
- try {
9
- const client = net.connect(SOCKET_PATH);
10
- client.write(JSON.stringify(event));
11
- client.end();
12
- }
13
- catch (error) {
14
- // 静默失败,不影响正常操作
15
- }
16
- }
17
- export function interceptToolCall(toolName, toolInput) {
18
- sendEvent({
19
- hook_type: 'PreToolUse',
20
- timestamp: new Date().toISOString(),
21
- session_id: SESSION_ID,
22
- project_path: PROJECT_PATH,
23
- tool_name: toolName,
24
- tool_input: JSON.stringify(toolInput),
25
- });
26
- }
27
- export function interceptToolResult(toolName, success, error) {
28
- sendEvent({
29
- hook_type: 'PostToolUse',
30
- timestamp: new Date().toISOString(),
31
- session_id: SESSION_ID,
32
- project_path: PROJECT_PATH,
33
- tool_name: toolName,
34
- success,
35
- error,
36
- });
37
- }
38
- export function sendNotification(message) {
39
- sendEvent({
40
- hook_type: 'Notification',
41
- timestamp: new Date().toISOString(),
42
- session_id: SESSION_ID,
43
- project_path: PROJECT_PATH,
44
- message,
45
- });
46
- }
47
- export function sendStopEvent() {
48
- sendEvent({
49
- hook_type: 'Stop',
50
- timestamp: new Date().toISOString(),
51
- session_id: SESSION_ID,
52
- project_path: PROJECT_PATH,
53
- });
54
- }
55
- //# sourceMappingURL=interceptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../../src/cli/interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAcnC,SAAS,SAAS,CAAC,KAAgB;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAe;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,SAAkC;IACpF,SAAS,CAAC;QACR,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,YAAY;QAC1B,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,OAAgB,EAChB,KAAc;IAEd,SAAS,CAAC;QACR,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,YAAY;QAC1B,SAAS,EAAE,QAAQ;QACnB,OAAO;QACP,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,SAAS,CAAC;QACR,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,YAAY;QAC1B,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,SAAS,CAAC;QACR,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,YAAY;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -1,97 +0,0 @@
1
- #!/usr/bin/env bash
2
- # 检查当前 session 的 context token 使用量,接近限制时发出预警
3
-
4
- WARN_THRESHOLD="${CONTEXT_WARN_THRESHOLD:-150000}"
5
- ALERT_THRESHOLD="${CONTEXT_ALERT_THRESHOLD:-180000}"
6
-
7
- # 从 stdin 读取 hook 输入,提取 session_id 和 cwd
8
- INPUT=$(cat)
9
- SESSION_ID=$(echo "$INPUT" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d.get("session_id",""))' 2>/dev/null || echo "")
10
- CWD=$(echo "$INPUT" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d.get("cwd",""))' 2>/dev/null || echo "")
11
-
12
- # 定位 session 文件
13
- find_session_file() {
14
- local session_id="$1"
15
- local cwd="$2"
16
-
17
- if [ -n "$cwd" ]; then
18
- local sanitized
19
- sanitized=$(echo "$cwd" | sed 's|/|-|g')
20
- local project_dir="$HOME/.claude/projects/${sanitized}"
21
- if [ -n "$session_id" ] && [ -f "$project_dir/${session_id}.jsonl" ]; then
22
- echo "$project_dir/${session_id}.jsonl"
23
- return
24
- fi
25
- local latest
26
- latest=$(ls -t "$project_dir"/*.jsonl 2>/dev/null | head -1)
27
- [ -n "$latest" ] && echo "$latest"
28
- fi
29
- }
30
-
31
- SESSION_FILE=$(find_session_file "$SESSION_ID" "$CWD")
32
-
33
- if [ -z "$SESSION_FILE" ] || [ ! -f "$SESSION_FILE" ]; then
34
- exit 0
35
- fi
36
-
37
- CONTEXT_TOKENS=$(python3 - "$SESSION_FILE" <<'PYEOF'
38
- import sys, json
39
-
40
- session_file = sys.argv[1]
41
- max_tokens = 0
42
-
43
- with open(session_file) as f:
44
- for line in f:
45
- try:
46
- d = json.loads(line)
47
- if d.get('type') == 'assistant' and 'message' in d:
48
- usage = d['message'].get('usage', {})
49
- total = (usage.get('input_tokens', 0) +
50
- usage.get('cache_read_input_tokens', 0) +
51
- usage.get('cache_creation_input_tokens', 0))
52
- if total > max_tokens:
53
- max_tokens = total
54
- except Exception:
55
- pass
56
-
57
- print(max_tokens)
58
- PYEOF
59
- )
60
-
61
- CONTEXT_TOKENS="${CONTEXT_TOKENS:-0}"
62
-
63
- # 冷却机制:同一会话 60 秒内只触发一次告警,避免每次 PostToolUse 重复输出
64
- COOLDOWN_SECS="${CONTEXT_ALERT_COOLDOWN:-60}"
65
- ALERT_FLAG_DIR="${TMPDIR:-/tmp}/claude-forge-ctx"
66
- mkdir -p "$ALERT_FLAG_DIR"
67
- ALERT_FLAG="$ALERT_FLAG_DIR/${SESSION_ID}.alert"
68
-
69
- is_in_cooldown() {
70
- [ -f "$ALERT_FLAG" ] || return 1
71
- local last_alert
72
- last_alert=$(cat "$ALERT_FLAG" 2>/dev/null)
73
- local now
74
- now=$(date +%s)
75
- [ -n "$last_alert" ] && [ $((now - last_alert)) -lt "$COOLDOWN_SECS" ]
76
- }
77
-
78
- if [ "$CONTEXT_TOKENS" -ge "$ALERT_THRESHOLD" ] 2>/dev/null; then
79
- if ! is_in_cooldown; then
80
- date +%s > "$ALERT_FLAG"
81
- # 告急:注入 systemMessage 提示用户手动执行 /compact
82
- echo "{\"systemMessage\": \"⚠️ Context 告急:当前已用 ${CONTEXT_TOKENS} tokens(阈值 ${ALERT_THRESHOLD}),请立即执行 /compact 压缩上下文。\"}"
83
- fi
84
-
85
- elif [ "$CONTEXT_TOKENS" -ge "$WARN_THRESHOLD" ] 2>/dev/null; then
86
- if ! is_in_cooldown; then
87
- date +%s > "$ALERT_FLAG"
88
- # 预警:在命令行输出提示(stderr → 终端可见,不影响 Claude Code 响应)
89
- echo "⚠️ Context 预警:已用 ${CONTEXT_TOKENS} tokens,建议执行 /compact" >&2
90
- fi
91
- exit 0
92
- else
93
- # 低于预警阈值时清除冷却标记,允许下次超限时重新告警
94
- rm -f "$ALERT_FLAG"
95
- fi
96
-
97
- exit 0
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Claude Forge - Notification Hook
3
-
4
- SOCKET_PATH="${CLAUDE_FORGE_SOCKET:-$HOME/.claude-forge/daemon.sock}"
5
-
6
- # 读取 stdin
7
- INPUT=$(cat)
8
-
9
- # 提取 cwd
10
- PROJECT_PATH=$(echo "$INPUT" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d.get("cwd",""))' 2>/dev/null || echo '')
11
- PROJECT_PATH="${PROJECT_PATH:-${PWD}}"
12
-
13
- # 构造事件 JSON(通过环境变量传参,避免 shell 注入)
14
- EVENT=$(FORGE_PROJECT_PATH="$PROJECT_PATH" FORGE_INPUT="$INPUT" \
15
- python3 -c "
16
- import json, os
17
- from datetime import datetime
18
- try:
19
- tool_input = json.loads(os.environ.get('FORGE_INPUT', '{}'))
20
- except Exception:
21
- tool_input = {}
22
- print(json.dumps({
23
- 'hook_type': 'Notification',
24
- 'timestamp': datetime.now().strftime('%Y-%m-%dT%H:%M:%S'),
25
- 'session_id': os.environ.get('CLAUDE_CODE_SESSION_ID', 'cli'),
26
- 'project_path': os.environ.get('FORGE_PROJECT_PATH', ''),
27
- 'tool_name': 'notification',
28
- 'tool_input': tool_input,
29
- }))
30
- " 2>/dev/null)
31
-
32
- echo "$EVENT" | nc -U -w 1 "$SOCKET_PATH" 2>/dev/null || true
33
- exit 0
@@ -1,49 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Claude Forge - PostToolUse Hook
3
-
4
- SOCKET_PATH="${CLAUDE_FORGE_SOCKET:-$HOME/.claude-forge/daemon.sock}"
5
-
6
- # 读取 stdin
7
- INPUT=$(cat)
8
-
9
- # 提取字段(tool_response 是 Claude Code 的字段名)
10
- TOOL_NAME="${CLAUDE_TOOL_NAME:-$(echo "$INPUT" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d.get("tool_name",""))' 2>/dev/null || echo '')}"
11
- TOOL_INPUT=$(echo "$INPUT" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(json.dumps(d.get("tool_input",{})))' 2>/dev/null || echo '{}')
12
- TOOL_OUTPUT=$(echo "$INPUT" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(json.dumps(d.get("tool_response",{})))' 2>/dev/null || echo '{}')
13
- # cwd 是 Claude Code 的项目根目录
14
- PROJECT_PATH=$(echo "$INPUT" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d.get("cwd",""))' 2>/dev/null || echo '')
15
- PROJECT_PATH="${PROJECT_PATH:-${PWD}}"
16
-
17
- # 构造事件 JSON(通过环境变量传参,避免 shell 注入)
18
- EVENT=$(FORGE_TOOL_NAME="$TOOL_NAME" FORGE_TOOL_INPUT="$TOOL_INPUT" FORGE_TOOL_OUTPUT="$TOOL_OUTPUT" FORGE_PROJECT_PATH="$PROJECT_PATH" \
19
- python3 -c "
20
- import json, os
21
- from datetime import datetime
22
- try:
23
- tool_input = json.loads(os.environ.get('FORGE_TOOL_INPUT', '{}'))
24
- except Exception:
25
- tool_input = {}
26
- try:
27
- tool_output = json.loads(os.environ.get('FORGE_TOOL_OUTPUT', '{}'))
28
- except Exception:
29
- tool_output = {}
30
- print(json.dumps({
31
- 'hook_type': 'PostToolUse',
32
- 'timestamp': datetime.now().strftime('%Y-%m-%dT%H:%M:%S'),
33
- 'session_id': os.environ.get('CLAUDE_CODE_SESSION_ID', 'cli'),
34
- 'project_path': os.environ.get('FORGE_PROJECT_PATH', ''),
35
- 'tool_name': os.environ.get('FORGE_TOOL_NAME', ''),
36
- 'tool_input': tool_input,
37
- 'tool_output': tool_output,
38
- }))
39
- " 2>/dev/null)
40
-
41
- # 发送到 daemon(PostToolUse 也需要等待响应以支持通知注入)
42
- RESPONSE=$(echo "$EVENT" | nc -U -w 5 "$SOCKET_PATH" 2>/dev/null || true)
43
- if [ -n "$RESPONSE" ]; then
44
- HAS_CONTEXT=$(echo "$RESPONSE" | python3 -c 'import sys,json; d=json.load(sys.stdin); print("yes" if d.get("additionalContext") else "no")' 2>/dev/null || echo 'no')
45
- if [ "$HAS_CONTEXT" = "yes" ]; then
46
- echo "$RESPONSE"
47
- fi
48
- fi
49
- exit 0
@@ -1,55 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Claude Forge - PreToolUse Hook(双向通信)
3
-
4
- SOCKET_PATH="${CLAUDE_FORGE_SOCKET:-$HOME/.claude-forge/daemon.sock}"
5
-
6
- # 读取 stdin(Claude Code 传入的 JSON)
7
- INPUT=$(cat)
8
-
9
- # 提取字段
10
- TOOL_NAME="${CLAUDE_TOOL_NAME:-$(echo "$INPUT" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d.get("tool_name",""))' 2>/dev/null || echo '')}"
11
- TOOL_INPUT=$(echo "$INPUT" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(json.dumps(d.get("tool_input",{})))' 2>/dev/null || echo '{}')
12
- PROJECT_PATH=$(echo "$INPUT" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d.get("cwd",""))' 2>/dev/null || echo '')
13
- PROJECT_PATH="${PROJECT_PATH:-${PWD}}"
14
-
15
- # 构造事件 JSON(通过环境变量传参,避免 shell 注入)
16
- EVENT=$(FORGE_TOOL_NAME="$TOOL_NAME" FORGE_TOOL_INPUT="$TOOL_INPUT" FORGE_PROJECT_PATH="$PROJECT_PATH" \
17
- python3 -c "
18
- import json, os
19
- from datetime import datetime
20
- tool_input_raw = os.environ.get('FORGE_TOOL_INPUT', '{}')
21
- try:
22
- tool_input = json.loads(tool_input_raw)
23
- except Exception:
24
- tool_input = {}
25
- print(json.dumps({
26
- 'hook_type': 'PreToolUse',
27
- 'timestamp': datetime.now().strftime('%Y-%m-%dT%H:%M:%S'),
28
- 'session_id': os.environ.get('CLAUDE_CODE_SESSION_ID', 'cli'),
29
- 'project_path': os.environ.get('FORGE_PROJECT_PATH', ''),
30
- 'tool_name': os.environ.get('FORGE_TOOL_NAME', ''),
31
- 'tool_input': tool_input,
32
- }))
33
- " 2>/dev/null)
34
-
35
- # 发送事件并等待响应(双向通信,5 秒超时)
36
- RESPONSE=$(echo "$EVENT" | nc -U -w 5 "$SOCKET_PATH" 2>/dev/null)
37
-
38
- if [ -n "$RESPONSE" ]; then
39
- # 解析响应
40
- ALLOW=$(echo "$RESPONSE" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(str(d.get("allow",True)).lower())' 2>/dev/null || echo 'true')
41
-
42
- if [ "$ALLOW" = "false" ]; then
43
- # 输出拦截 JSON 到 stdout(Claude Code 读取)
44
- echo "$RESPONSE"
45
- exit 2
46
- fi
47
-
48
- # 有 additionalContext 时输出
49
- HAS_CONTEXT=$(echo "$RESPONSE" | python3 -c 'import sys,json; d=json.load(sys.stdin); print("yes" if d.get("additionalContext") else "no")' 2>/dev/null || echo 'no')
50
- if [ "$HAS_CONTEXT" = "yes" ]; then
51
- echo "$RESPONSE"
52
- fi
53
- fi
54
-
55
- exit 0