@fantasticit/sumi 0.7.5 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/README.md +28 -25
  2. package/dist/adapters.d.ts +26 -3
  3. package/dist/adapters.js +117 -16
  4. package/dist/adapters.js.map +1 -1
  5. package/dist/agent-hooks.d.ts +7 -1
  6. package/dist/agent-hooks.js +207 -11
  7. package/dist/agent-hooks.js.map +1 -1
  8. package/dist/agents.js +36 -3
  9. package/dist/agents.js.map +1 -1
  10. package/dist/cli.d.ts +3 -1
  11. package/dist/cli.js +45 -6
  12. package/dist/cli.js.map +1 -1
  13. package/dist/context.d.ts +27 -0
  14. package/dist/context.js +31 -13
  15. package/dist/context.js.map +1 -1
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.js +2 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/instructions.js +7 -5
  20. package/dist/instructions.js.map +1 -1
  21. package/dist/task.d.ts +1 -0
  22. package/dist/task.js +170 -0
  23. package/dist/task.js.map +1 -0
  24. package/dist/visualize-page.d.ts +1 -0
  25. package/dist/visualize-page.js +49 -0
  26. package/dist/visualize-page.js.map +1 -0
  27. package/dist/visualize.d.ts +5 -0
  28. package/dist/visualize.js +132 -0
  29. package/dist/visualize.js.map +1 -0
  30. package/node_modules/@sumi/create/dist/scaffold.js +6 -0
  31. package/node_modules/@sumi/create/dist/scaffold.js.map +1 -1
  32. package/node_modules/@sumi/create/package.json +1 -1
  33. package/node_modules/@sumi/create/template/AGENTS.md +2 -0
  34. package/node_modules/@sumi/create/template/control/config.yaml +2 -0
  35. package/node_modules/@sumi/create/template/control/flows/change.flow.yaml +6 -0
  36. package/node_modules/@sumi/create/template/control/flows/check.flow.yaml +8 -0
  37. package/node_modules/@sumi/create/template/control/rubrics/business-impact.yaml +6 -0
  38. package/node_modules/@sumi/create/template/control/rules/development.md +61 -0
  39. package/node_modules/@sumi/create/template/init/AGENTS.md +2 -0
  40. package/node_modules/@sumi/create/template/init/control/flows/check.flow.yaml +2 -0
  41. package/node_modules/@sumi/kernel/dist/brief.d.ts +1 -0
  42. package/node_modules/@sumi/kernel/dist/brief.js +1 -0
  43. package/node_modules/@sumi/kernel/dist/brief.js.map +1 -1
  44. package/node_modules/@sumi/kernel/dist/engine.js +1 -0
  45. package/node_modules/@sumi/kernel/dist/engine.js.map +1 -1
  46. package/node_modules/@sumi/kernel/package.json +2 -2
  47. package/node_modules/@sumi/plugin-sdk/README.md +39 -20
  48. package/node_modules/@sumi/plugin-sdk/dist/index.d.ts +2 -0
  49. package/node_modules/@sumi/plugin-sdk/dist/index.js +2 -0
  50. package/node_modules/@sumi/plugin-sdk/dist/index.js.map +1 -1
  51. package/node_modules/@sumi/plugin-sdk/dist/protocol.d.ts +59 -1
  52. package/node_modules/@sumi/plugin-sdk/dist/protocol.js.map +1 -1
  53. package/node_modules/@sumi/plugin-sdk/dist/rules.d.ts +1 -4
  54. package/node_modules/@sumi/plugin-sdk/dist/rules.js.map +1 -1
  55. package/node_modules/@sumi/plugin-sdk/dist/session-context.d.ts +7 -0
  56. package/node_modules/@sumi/plugin-sdk/dist/session-context.js +62 -0
  57. package/node_modules/@sumi/plugin-sdk/dist/session-context.js.map +1 -0
  58. package/node_modules/@sumi/plugin-sdk/dist/trace.d.ts +16 -0
  59. package/node_modules/@sumi/plugin-sdk/dist/trace.js +48 -0
  60. package/node_modules/@sumi/plugin-sdk/dist/trace.js.map +1 -0
  61. package/node_modules/@sumi/plugin-sdk/dist/validate.js +62 -2
  62. package/node_modules/@sumi/plugin-sdk/dist/validate.js.map +1 -1
  63. package/node_modules/@sumi/plugin-sdk/package.json +1 -1
  64. package/node_modules/@sumi/plugins-core/dist/agent-rules.d.ts +5 -0
  65. package/node_modules/@sumi/plugins-core/dist/agent-rules.js +66 -0
  66. package/node_modules/@sumi/plugins-core/dist/agent-rules.js.map +1 -0
  67. package/node_modules/@sumi/plugins-core/dist/commands/agent-rules-before-edit.d.ts +1 -0
  68. package/node_modules/@sumi/plugins-core/dist/commands/agent-rules-before-edit.js +10 -0
  69. package/node_modules/@sumi/plugins-core/dist/commands/agent-rules-before-edit.js.map +1 -0
  70. package/node_modules/@sumi/plugins-core/dist/commands/agent-rules-prompt.d.ts +1 -0
  71. package/node_modules/@sumi/plugins-core/dist/commands/agent-rules-prompt.js +8 -0
  72. package/node_modules/@sumi/plugins-core/dist/commands/agent-rules-prompt.js.map +1 -0
  73. package/node_modules/@sumi/plugins-core/dist/plugins/agent-rules.d.ts +1 -0
  74. package/node_modules/@sumi/plugins-core/dist/plugins/agent-rules.js +19 -0
  75. package/node_modules/@sumi/plugins-core/dist/plugins/agent-rules.js.map +1 -0
  76. package/node_modules/@sumi/plugins-core/instructions/bugfix.md +9 -0
  77. package/node_modules/@sumi/plugins-core/instructions/feature.md +9 -0
  78. package/node_modules/@sumi/plugins-core/package.json +2 -2
  79. package/node_modules/@sumi/plugins-core/sumi-plugins.yaml +22 -1
  80. package/node_modules/@sumi/plugins-governance/README.md +3 -3
  81. package/node_modules/@sumi/plugins-governance/dist/checkout.d.ts +2 -0
  82. package/node_modules/@sumi/plugins-governance/dist/checkout.js.map +1 -1
  83. package/node_modules/@sumi/plugins-governance/dist/commands/pr-report-check.js +2 -0
  84. package/node_modules/@sumi/plugins-governance/dist/commands/pr-report-check.js.map +1 -1
  85. package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js +2 -3
  86. package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js.map +1 -1
  87. package/node_modules/@sumi/plugins-governance/dist/pr-report-sections.d.ts +6 -0
  88. package/node_modules/@sumi/plugins-governance/dist/pr-report-sections.js +11 -0
  89. package/node_modules/@sumi/plugins-governance/dist/pr-report-sections.js.map +1 -0
  90. package/node_modules/@sumi/plugins-governance/dist/pr-report-status.d.ts +1 -0
  91. package/node_modules/@sumi/plugins-governance/dist/pr-report-status.js +15 -12
  92. package/node_modules/@sumi/plugins-governance/dist/pr-report-status.js.map +1 -1
  93. package/node_modules/@sumi/plugins-governance/instructions/push.md +1 -1
  94. package/node_modules/@sumi/plugins-governance/package.json +2 -2
  95. package/node_modules/@sumi/plugins-openspec/dist/impact-consistency.d.ts +11 -0
  96. package/node_modules/@sumi/plugins-openspec/dist/impact-consistency.js +67 -0
  97. package/node_modules/@sumi/plugins-openspec/dist/impact-consistency.js.map +1 -0
  98. package/node_modules/@sumi/plugins-openspec/dist/plugins/impact-consistency.d.ts +1 -0
  99. package/node_modules/@sumi/plugins-openspec/dist/plugins/impact-consistency.js +63 -0
  100. package/node_modules/@sumi/plugins-openspec/dist/plugins/impact-consistency.js.map +1 -0
  101. package/node_modules/@sumi/plugins-openspec/package.json +4 -2
  102. package/node_modules/@sumi/plugins-openspec/sumi-plugins.yaml +6 -0
  103. package/node_modules/@sumi/plugins-precedent/README.md +6 -0
  104. package/node_modules/@sumi/plugins-precedent/dist/after-edit-context.d.ts +2 -0
  105. package/node_modules/@sumi/plugins-precedent/dist/after-edit-context.js +89 -77
  106. package/node_modules/@sumi/plugins-precedent/dist/after-edit-context.js.map +1 -1
  107. package/node_modules/@sumi/plugins-precedent/dist/candidates.d.ts +1 -0
  108. package/node_modules/@sumi/plugins-precedent/dist/commands/before-edit-context.d.ts +1 -0
  109. package/node_modules/@sumi/plugins-precedent/dist/commands/before-edit-context.js +10 -0
  110. package/node_modules/@sumi/plugins-precedent/dist/commands/before-edit-context.js.map +1 -0
  111. package/node_modules/@sumi/plugins-precedent/dist/commands/context.js +21 -5
  112. package/node_modules/@sumi/plugins-precedent/dist/commands/context.js.map +1 -1
  113. package/node_modules/@sumi/plugins-precedent/dist/commands/impact-submit.d.ts +1 -0
  114. package/node_modules/@sumi/plugins-precedent/dist/commands/impact-submit.js +21 -0
  115. package/node_modules/@sumi/plugins-precedent/dist/commands/impact-submit.js.map +1 -0
  116. package/node_modules/@sumi/plugins-precedent/dist/commands/on-prompt-context.d.ts +1 -0
  117. package/node_modules/@sumi/plugins-precedent/dist/commands/on-prompt-context.js +55 -0
  118. package/node_modules/@sumi/plugins-precedent/dist/commands/on-prompt-context.js.map +1 -0
  119. package/node_modules/@sumi/plugins-precedent/dist/impact-candidates.d.ts +6 -0
  120. package/node_modules/@sumi/plugins-precedent/dist/impact-candidates.js +51 -0
  121. package/node_modules/@sumi/plugins-precedent/dist/impact-candidates.js.map +1 -0
  122. package/node_modules/@sumi/plugins-precedent/dist/impact-state.d.ts +14 -0
  123. package/node_modules/@sumi/plugins-precedent/dist/impact-state.js +60 -0
  124. package/node_modules/@sumi/plugins-precedent/dist/impact-state.js.map +1 -0
  125. package/node_modules/@sumi/plugins-precedent/dist/impact.d.ts +52 -0
  126. package/node_modules/@sumi/plugins-precedent/dist/impact.js +253 -0
  127. package/node_modules/@sumi/plugins-precedent/dist/impact.js.map +1 -0
  128. package/node_modules/@sumi/plugins-precedent/dist/index.d.ts +2 -0
  129. package/node_modules/@sumi/plugins-precedent/dist/index.js +2 -0
  130. package/node_modules/@sumi/plugins-precedent/dist/index.js.map +1 -1
  131. package/node_modules/@sumi/plugins-precedent/dist/model.d.ts +2 -0
  132. package/node_modules/@sumi/plugins-precedent/dist/model.js.map +1 -1
  133. package/node_modules/@sumi/plugins-precedent/dist/plugins/harvest.js +31 -5
  134. package/node_modules/@sumi/plugins-precedent/dist/plugins/harvest.js.map +1 -1
  135. package/node_modules/@sumi/plugins-precedent/dist/plugins/impact.d.ts +1 -0
  136. package/node_modules/@sumi/plugins-precedent/dist/plugins/impact.js +60 -0
  137. package/node_modules/@sumi/plugins-precedent/dist/plugins/impact.js.map +1 -0
  138. package/node_modules/@sumi/plugins-precedent/package.json +3 -3
  139. package/node_modules/@sumi/plugins-precedent/sumi-plugins.yaml +34 -1
  140. package/node_modules/@sumi/plugins-review/README.md +27 -8
  141. package/node_modules/@sumi/plugins-review/dist/commands/context.js +18 -3
  142. package/node_modules/@sumi/plugins-review/dist/commands/context.js.map +1 -1
  143. package/node_modules/@sumi/plugins-review/dist/commands/host-model-hook.d.ts +1 -0
  144. package/node_modules/@sumi/plugins-review/dist/commands/host-model-hook.js +12 -0
  145. package/node_modules/@sumi/plugins-review/dist/commands/host-model-hook.js.map +1 -0
  146. package/node_modules/@sumi/plugins-review/dist/commands/model-recheck.d.ts +1 -0
  147. package/node_modules/@sumi/plugins-review/dist/commands/model-recheck.js +56 -0
  148. package/node_modules/@sumi/plugins-review/dist/commands/model-recheck.js.map +1 -0
  149. package/node_modules/@sumi/plugins-review/dist/commands/submit.js +25 -67
  150. package/node_modules/@sumi/plugins-review/dist/commands/submit.js.map +1 -1
  151. package/node_modules/@sumi/plugins-review/dist/model-execution.d.ts +29 -0
  152. package/node_modules/@sumi/plugins-review/dist/model-execution.js +157 -0
  153. package/node_modules/@sumi/plugins-review/dist/model-execution.js.map +1 -0
  154. package/node_modules/@sumi/plugins-review/dist/model-independence.d.ts +10 -0
  155. package/node_modules/@sumi/plugins-review/dist/model-independence.js +14 -0
  156. package/node_modules/@sumi/plugins-review/dist/model-independence.js.map +1 -0
  157. package/node_modules/@sumi/plugins-review/dist/plugins/independent-recheck.d.ts +1 -0
  158. package/node_modules/@sumi/plugins-review/dist/plugins/independent-recheck.js +88 -0
  159. package/node_modules/@sumi/plugins-review/dist/plugins/independent-recheck.js.map +1 -0
  160. package/node_modules/@sumi/plugins-review/dist/plugins/rubric.js +44 -7
  161. package/node_modules/@sumi/plugins-review/dist/plugins/rubric.js.map +1 -1
  162. package/node_modules/@sumi/plugins-review/dist/recheck.d.ts +48 -0
  163. package/node_modules/@sumi/plugins-review/dist/recheck.js +130 -0
  164. package/node_modules/@sumi/plugins-review/dist/recheck.js.map +1 -0
  165. package/node_modules/@sumi/plugins-review/dist/review.d.ts +8 -0
  166. package/node_modules/@sumi/plugins-review/dist/review.js +33 -4
  167. package/node_modules/@sumi/plugins-review/dist/review.js.map +1 -1
  168. package/node_modules/@sumi/plugins-review/dist/submission.d.ts +11 -0
  169. package/node_modules/@sumi/plugins-review/dist/submission.js +77 -0
  170. package/node_modules/@sumi/plugins-review/dist/submission.js.map +1 -0
  171. package/node_modules/@sumi/plugins-review/package.json +4 -3
  172. package/node_modules/@sumi/plugins-review/sumi-plugins.yaml +15 -0
  173. package/package.json +10 -10
@@ -1,5 +1,8 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
3
+ import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
1
4
  import { loadConfig, loadRegistry, resolveArgv } from '@sumi/kernel';
2
- import { cleanEnv, parseAfterEditResult, spawnCommandSync } from '@sumi/plugin-sdk';
5
+ import { cleanEnv, parseAfterEditResult, recordTrace, spawnCommandSync } from '@sumi/plugin-sdk';
3
6
  import { registerCommand, requireRoot } from './cli.js';
4
7
  function afterEditCommands(registry) {
5
8
  const commands = [];
@@ -14,6 +17,48 @@ function afterEditCommands(registry) {
14
17
  }
15
18
  return commands;
16
19
  }
20
+ /** 提示词阶段只接受插件成功返回的上下文;失败不影响用户输入。 */
21
+ export function runPromptChecks(root, input, registry = loadRegistry(root, loadConfig(root))) {
22
+ const contexts = [];
23
+ const deliveries = [];
24
+ for (const { decl } of registry.plugins.values()) {
25
+ const name = typeof decl.hooks?.agent?.onPrompt === 'string' ? decl.hooks.agent.onPrompt : decl.hooks?.agent?.onPrompt?.command;
26
+ if (!name)
27
+ continue;
28
+ const command = registry.commands.get(name);
29
+ if (!command)
30
+ continue;
31
+ const [bin, ...argv] = resolveArgv(command.argv, command.dir);
32
+ const child = spawnCommandSync(bin, argv, {
33
+ cwd: root,
34
+ input,
35
+ encoding: 'utf8',
36
+ timeout: 10000,
37
+ env: { ...cleanEnv(), SUMI_ROOT: root, SUMI_BIN: process.env.SUMI_BIN ?? process.argv[1] ?? '' },
38
+ windowsHide: true,
39
+ });
40
+ if (child.status !== 0 || child.error)
41
+ continue;
42
+ const result = parseAfterEditResult(child.stdout ?? '');
43
+ if (result) {
44
+ contexts.push(result.additionalContext);
45
+ if (result.deliveryKeys?.length)
46
+ deliveries.push({ argv: [bin, ...argv], dir: command.dir, keys: result.deliveryKeys });
47
+ }
48
+ }
49
+ return { contexts, deliveries };
50
+ }
51
+ export function acknowledgePrompt(root, input, decision) {
52
+ for (const delivery of decision.deliveries ?? []) {
53
+ spawnCommandSync(delivery.argv[0], delivery.argv.slice(1), {
54
+ cwd: root,
55
+ input: JSON.stringify({ originalInput: input, keys: delivery.keys }),
56
+ encoding: 'utf8',
57
+ env: { ...cleanEnv(), SUMI_ROOT: root, SUMI_PROMPT_DELIVERED: '1' },
58
+ windowsHide: true,
59
+ });
60
+ }
61
+ }
17
62
  /** 插件成功结果可以补充上下文;只有显式退出码 2 才转为编辑后阻断反馈。 */
18
63
  export function runAfterEditChecks(root, input, registry = loadRegistry(root, loadConfig(root))) {
19
64
  const contexts = [];
@@ -95,9 +140,10 @@ function stopCommands(registry) {
95
140
  }
96
141
  return commands;
97
142
  }
98
- /** 依次运行所有插件声明的停止检查;任一非零退出都阻断,并合并其诊断。 */
143
+ /** 依次运行插件停止检查;仅显式退出码 2 请求阻断,命令故障作为诊断。 */
99
144
  export function runStopChecks(root, input, registry = loadRegistry(root, loadConfig(root))) {
100
145
  const reasons = [];
146
+ const warnings = [];
101
147
  for (const command of stopCommands(registry)) {
102
148
  const [bin, ...argv] = resolveArgv(command.argv, command.dir);
103
149
  const child = spawnCommandSync(bin, argv, {
@@ -107,12 +153,86 @@ export function runStopChecks(root, input, registry = loadRegistry(root, loadCon
107
153
  env: { ...cleanEnv(), SUMI_ROOT: root, SUMI_BIN: process.env.SUMI_BIN ?? process.argv[1] ?? '' },
108
154
  windowsHide: true,
109
155
  });
110
- if (child.status === 0)
111
- continue;
112
156
  const detail = `${child.stderr ?? ''}${child.stdout ?? ''}`.trim();
113
- reasons.push(detail || `停止检查 ${command.name} 无法完成(退出码 ${child.status ?? '未知'})`);
157
+ if (child.status === 0) {
158
+ if (detail)
159
+ warnings.push(detail);
160
+ }
161
+ else if (child.status === 2) {
162
+ reasons.push(detail || `停止检查 ${command.name} 请求继续处理`);
163
+ }
164
+ else {
165
+ warnings.push(detail || `停止检查 ${command.name} 无法完成(退出码 ${child.status ?? '未知'})`);
166
+ }
167
+ }
168
+ return { blocked: reasons.length > 0, reasons, ...(warnings.length ? { warnings } : {}) };
169
+ }
170
+ function stopPayload(input) {
171
+ try {
172
+ const value = JSON.parse(input);
173
+ return value !== null && typeof value === 'object' && !Array.isArray(value) ? value : null;
174
+ }
175
+ catch {
176
+ return null;
177
+ }
178
+ }
179
+ function retryFile(root, agent, session) {
180
+ const head = spawnCommandSync('git', ['rev-parse', '--verify', 'HEAD'], { cwd: root, encoding: 'utf8', windowsHide: true });
181
+ const common = spawnCommandSync('git', ['rev-parse', '--git-common-dir'], { cwd: root, encoding: 'utf8', windowsHide: true });
182
+ const oid = head.stdout?.trim();
183
+ const dir = common.stdout?.trim();
184
+ if (head.status !== 0 || common.status !== 0 || !oid || !/^[0-9a-f]{40,64}$/i.test(oid) || !dir)
185
+ return null;
186
+ const key = createHash('sha256')
187
+ .update(JSON.stringify([agent, session, oid.toLowerCase()]))
188
+ .digest('hex');
189
+ return join(resolve(root, dir), 'sumi', 'agent-stop-retries', key);
190
+ }
191
+ /** 跨进程 Stop 续跑熔断:稳定会话和同一 HEAD 最多阻断一次。 */
192
+ export function runAgentStop(root, agent, input) {
193
+ const payload = stopPayload(input);
194
+ if (payload?.stop_hook_active === true || (typeof payload?.loop_count === 'number' && payload.loop_count > 0)) {
195
+ return { blocked: false, reasons: [] };
196
+ }
197
+ const session = [payload?.session_id, payload?.thread_id, payload?.conversation_id].find((value) => typeof value === 'string' && value.length > 0 && value.length <= 512);
198
+ const file = session ? retryFile(root, agent, session) : null;
199
+ const decision = runStopChecks(root, input);
200
+ if (!decision.blocked)
201
+ return decision;
202
+ if (file && existsSync(file)) {
203
+ return {
204
+ blocked: false,
205
+ reasons: [],
206
+ warnings: [...(decision.warnings ?? []), ...decision.reasons, 'Stop 已自动续跑一次,仍未解决。请向用户报告,不要自动重试。'],
207
+ };
208
+ }
209
+ if (!file) {
210
+ return {
211
+ blocked: false,
212
+ reasons: [],
213
+ warnings: [
214
+ ...(decision.warnings ?? []),
215
+ ...decision.reasons,
216
+ 'Stop 缺少可靠会话标识或本地 HEAD,无法限制续跑次数;请向用户报告,不自动重试。',
217
+ ],
218
+ };
219
+ }
220
+ try {
221
+ mkdirSync(dirname(file), { recursive: true, mode: 0o700 });
222
+ writeFileSync(file, '1', { flag: 'wx', mode: 0o600 });
223
+ return decision;
224
+ }
225
+ catch (error) {
226
+ return {
227
+ blocked: false,
228
+ reasons: [],
229
+ warnings: [
230
+ ...(decision.warnings ?? []),
231
+ ...decision.reasons,
232
+ `Stop 无法记录续跑预算:${error.message};请向用户报告,不自动重试。`,
233
+ ],
234
+ };
114
235
  }
115
- return { blocked: reasons.length > 0, reasons };
116
236
  }
117
237
  /** 把策略中立的阻断结论转换为各工具的原生 Stop 响应。 */
118
238
  export function renderStopResponse(agent, decision) {
@@ -120,7 +240,8 @@ export function renderStopResponse(agent, decision) {
120
240
  if (agent === 'cursor') {
121
241
  return { code: 0, stdout: JSON.stringify(decision.blocked ? { followup_message: reason } : {}), stderr: '' };
122
242
  }
123
- return { code: 0, stdout: JSON.stringify(decision.blocked ? { decision: 'block', reason } : {}), stderr: '' };
243
+ const warning = decision.warnings?.length ? { systemMessage: `Sumi Stop 提醒:${decision.warnings.join('\n')}` } : {};
244
+ return { code: 0, stdout: JSON.stringify(decision.blocked ? { decision: 'block', reason, ...warning } : warning), stderr: '' };
124
245
  }
125
246
  async function readStdin() {
126
247
  const chunks = [];
@@ -128,24 +249,99 @@ async function readStdin() {
128
249
  chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
129
250
  return Buffer.concat(chunks).toString('utf8');
130
251
  }
131
- registerCommand('hook', '运行工具适配 hook:sumi hook <agent-stop|agent-after-edit> <claude|codex|cursor>', async (args, io, root) => {
252
+ registerCommand('hook', '运行工具适配 hook:sumi hook <agent-stop|agent-after-edit|agent-after-read|agent-user-prompt> <claude|codex|cursor>', async (args, io, root) => {
132
253
  const operation = args.positionals[0];
133
- if (!['agent-stop', 'agent-after-edit'].includes(operation ?? '') || !['claude', 'codex', 'cursor'].includes(args.positionals[1] ?? '')) {
134
- io.err('用法:sumi hook <agent-stop|agent-after-edit> <claude|codex|cursor>');
254
+ if (!['agent-stop', 'agent-after-edit', 'agent-after-read', 'agent-user-prompt'].includes(operation ?? '') ||
255
+ !['claude', 'codex', 'cursor'].includes(args.positionals[1] ?? '')) {
256
+ io.err('用法:sumi hook <agent-stop|agent-after-edit|agent-after-read|agent-user-prompt> <claude|codex|cursor>');
135
257
  return 3;
136
258
  }
137
259
  const agent = args.positionals[1];
138
260
  const input = await readStdin();
139
261
  const projectRoot = requireRoot(root);
262
+ if (operation === 'agent-after-read') {
263
+ const read = agentReadOf(projectRoot, input);
264
+ if (read)
265
+ recordTrace(projectRoot, {
266
+ kind: 'agent-read',
267
+ source: read.path,
268
+ channel: agent,
269
+ session: sessionOf(input),
270
+ content: read.content,
271
+ });
272
+ return 0;
273
+ }
274
+ if (operation === 'agent-user-prompt') {
275
+ const prompt = promptOf(input);
276
+ if (prompt)
277
+ recordTrace(projectRoot, { kind: 'prompt', source: agent, session: sessionOf(input), content: prompt });
278
+ const decision = runPromptChecks(projectRoot, input);
279
+ if (decision.contexts.length && agent !== 'cursor') {
280
+ const context = decision.contexts.join('\n\n');
281
+ io.out(JSON.stringify({ hookSpecificOutput: { hookEventName: 'UserPromptSubmit', additionalContext: context } }));
282
+ recordTrace(projectRoot, { kind: 'injection', channel: 'prompt', session: sessionOf(input), content: context });
283
+ acknowledgePrompt(projectRoot, input, decision);
284
+ }
285
+ return 0;
286
+ }
140
287
  const afterEdit = operation === 'agent-after-edit' ? runAfterEditChecks(projectRoot, input) : null;
141
- const response = afterEdit ? renderAfterEditResponse(agent, afterEdit) : renderStopResponse(agent, runStopChecks(projectRoot, input));
288
+ const stop = afterEdit ? null : runAgentStop(projectRoot, agent, input);
289
+ const response = afterEdit ? renderAfterEditResponse(agent, afterEdit) : renderStopResponse(agent, stop);
142
290
  if (response.stdout)
143
291
  io.out(response.stdout);
144
292
  if (response.stderr)
145
293
  io.err(response.stderr);
294
+ for (const warning of stop?.warnings ?? [])
295
+ io.err(`Sumi Stop 提醒:${warning}`);
146
296
  const delivered = agent !== 'cursor' && afterEdit?.contexts.length && (response.code === 2 || (response.code === 0 && Boolean(response.stdout)));
147
297
  if (delivered && afterEdit)
148
298
  acknowledgeAfterEdit(projectRoot, input, afterEdit);
299
+ if (delivered && afterEdit)
300
+ recordTrace(projectRoot, {
301
+ kind: 'injection',
302
+ channel: 'after-edit',
303
+ session: sessionOf(input),
304
+ content: afterEdit.contexts.join('\n\n'),
305
+ });
149
306
  return response.code;
150
307
  });
308
+ function sessionOf(input) {
309
+ try {
310
+ const value = JSON.parse(input);
311
+ const id = value.session_id ?? value.thread_id;
312
+ return typeof id === 'string' ? id : undefined;
313
+ }
314
+ catch {
315
+ return undefined;
316
+ }
317
+ }
318
+ function promptOf(input) {
319
+ try {
320
+ const value = JSON.parse(input);
321
+ return typeof value.prompt === 'string' && value.prompt.length ? value.prompt : undefined;
322
+ }
323
+ catch {
324
+ return undefined;
325
+ }
326
+ }
327
+ function agentReadOf(root, input) {
328
+ try {
329
+ const value = JSON.parse(input);
330
+ if (value.tool_name !== 'Read' || typeof value.tool_input?.file_path !== 'string')
331
+ return undefined;
332
+ const path = relative(root, resolve(value.tool_input.file_path));
333
+ if (!path || path === '..' || path.startsWith(`..${process.platform === 'win32' ? '\\' : '/'}`) || isAbsolute(path))
334
+ return undefined;
335
+ const response = value.tool_response;
336
+ const content = typeof response === 'string'
337
+ ? response
338
+ : response && typeof response === 'object' && 'content' in response && typeof response.content === 'string'
339
+ ? response.content
340
+ : JSON.stringify(response ?? '宿主未提供读取内容');
341
+ return { path, content };
342
+ }
343
+ catch {
344
+ return undefined;
345
+ }
346
+ }
151
347
  //# sourceMappingURL=agent-hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-hooks.js","sourceRoot":"","sources":["../src/agent-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-hooks.js","sourceRoot":"","sources":["../src/agent-hooks.ts"],"names":[],"mappings":"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"}
package/dist/agents.js CHANGED
@@ -2,8 +2,9 @@ import { existsSync, readFileSync, readdirSync, realpathSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { CONFIG_FILE, getCliBuild, loadConfig, loadFlow, loadRegistry, readRecords } from '@sumi/kernel';
4
4
  import { configFile, PROJECT_SUMI } from '@sumi/plugin-sdk';
5
- import { capabilityGaps, checkDrift, foreignAgentHooks, foreignGitHookLines, hookManager, sync, updatePlan } from './adapters.js';
5
+ import { capabilityGaps, checkDrift, declaredAgentSettings, foreignAgentHooks, foreignGitHookLines, hookManager, newlyAddedAgentWiring, sync, updatePlan, } from './adapters.js';
6
6
  import { emit, registerCommand, requireRoot } from './cli.js';
7
+ import { collectContext } from './context.js';
7
8
  import { dependencyRuntimeDir, fileSha256, isDependencyRuntime, PROJECT_LAUNCHER, RUNTIME_MANIFEST, parseRuntimeManifest, } from './runtime-manifest.js';
8
9
  import { inspectRuntimePackage, validateRuntimeTree } from './runtime-package.js';
9
10
  registerCommand('update', '重新生成 AI 工具的 skills、commands 与 hook:sumi update [--check]', { flags: ['plan', 'check'] }, async (args, io, root) => {
@@ -18,8 +19,15 @@ registerCommand('update', '重新生成 AI 工具的 skills、commands 与 hook
18
19
  emit(io, args, { drift }, drift.length ? drift.map((d) => `✗ ${d.path}:${d.problem}`).join('\n') : '适配无漂移');
19
20
  return drift.length ? 1 : 0;
20
21
  }
22
+ const added = newlyAddedAgentWiring(dir);
21
23
  const written = sync(dir);
22
- emit(io, args, { written }, written.length ? `已生成:\n${written.map((w) => ` ${w}`).join('\n')}` : '适配已是最新');
24
+ const config = loadConfig(dir);
25
+ const registry = loadRegistry(dir, config);
26
+ const notices = declaredAgentSettings(registry, config)
27
+ .filter(({ setting, configured }) => !configured && added[setting.event])
28
+ .flatMap(({ setting }) => (setting.upgradeNotice ? [setting.upgradeNotice] : []));
29
+ const notice = notices.length ? `\n${notices.join('\n')}` : '';
30
+ emit(io, args, { written, notice: notice.trim() }, (written.length ? `已生成:\n${written.map((w) => ` ${w}`).join('\n')}` : '适配已是最新') + notice);
23
31
  return 0;
24
32
  });
25
33
  registerCommand('hint', '会话结束提示:最近一次 check 未通过时提醒(从不阻止结束)', async (_args, io, root) => {
@@ -38,7 +46,18 @@ registerCommand('hint', '会话结束提示:最近一次 check 未通过时提
38
46
  registerCommand('doctor', '诊断接线:配置、流程、git hook、AI 工具适配与能力', async (args, io, root) => {
39
47
  const dir = requireRoot(root);
40
48
  const config = loadConfig(dir);
49
+ const registry = loadRegistry(dir, config);
41
50
  const checks = [{ name: 'config', status: 'pass', message: '项目配置合法' }];
51
+ const settings = declaredAgentSettings(registry, config);
52
+ for (const group of new Set(settings.map(({ setting }) => setting.group)))
53
+ checks.push({
54
+ name: `agent-setting:${group}`,
55
+ status: 'pass',
56
+ message: `${group}:${settings
57
+ .filter(({ setting }) => setting.group === group)
58
+ .map(({ setting, value }) => `${setting.label}=${value}`)
59
+ .join(',')}`,
60
+ });
42
61
  const legacyInstall = config.install;
43
62
  if (legacyInstall !== undefined) {
44
63
  checks.push({
@@ -104,7 +123,20 @@ registerCommand('doctor', '诊断接线:配置、流程、git hook、AI 工具
104
123
  });
105
124
  }
106
125
  }
107
- const registry = loadRegistry(dir, config);
126
+ try {
127
+ const catalog = collectContext(dir, { repoRoot: dir, paths: [], catalog: true, select: [] }).catalog;
128
+ for (const entry of catalog) {
129
+ if (!entry.description || entry.warning)
130
+ checks.push({
131
+ name: `catalog:${entry.id}`,
132
+ status: 'warning',
133
+ message: `${entry.id}:${entry.warning ?? '缺少一句话说明'}${entry.source ? `(${entry.source})` : ''}`,
134
+ });
135
+ }
136
+ }
137
+ catch (error) {
138
+ checks.push({ name: 'catalog', status: 'warning', message: `任务目录无法诊断:${error.message}` });
139
+ }
108
140
  const flowsDir = join(dir, config.flows);
109
141
  for (const file of existsSync(flowsDir) ? readdirSync(flowsDir).filter((f) => f.endsWith('.flow.yaml')) : []) {
110
142
  const id = file.replace(/\.flow\.yaml$/, '');
@@ -124,6 +156,7 @@ registerCommand('doctor', '诊断接线:配置、流程、git hook、AI 工具
124
156
  const mark = { pass: '✓', fail: '✗', warning: '!' };
125
157
  const lines = [
126
158
  `${failed.length ? 'FAIL' : 'PASS'} doctor`,
159
+ ...checks.filter((c) => c.name.startsWith('agent-setting:')).map((c) => c.message),
127
160
  ...checks.filter((c) => c.status !== 'pass').map((c) => `${mark[c.status]} ${c.message}`),
128
161
  ];
129
162
  // 外来接线(sumi 区块之外的 hook 命令、非 sumi 生成的 AI 工具 hook)只报告,不使诊断失败。
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClI,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAElF,eAAe,CACb,QAAQ,EACR,0DAA0D,EAC1D,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC5B,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IACvB,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CACF,EAAE,EACF,IAAI,EACJ,EAAE,IAAI,EAAE,EACR,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACjH,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5G,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5G,OAAO,CAAC,CAAC;AACX,CAAC,CACF,CAAC;AAEF,eAAe,CAAC,MAAM,EAAE,kCAAkC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IACpF,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;SAC1D,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACV,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACvC,EAAE,CAAC,GAAG,CACJ,IAAI,CAAC,SAAS,CAAC;YACb,aAAa,EAAE,4BAA4B,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,wBAAwB;SACjG,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AASH,eAAe,CAAC,QAAQ,EAAE,gCAAgC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IACnF,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,MAAM,aAAa,GAAI,MAAgD,CAAC,OAAO,CAAC;IAChF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,2BAA2B;YACpC,IAAI,EAAE,gCAAgC;SACvC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,IAAI;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvG,IAAI,MAAM,CAAC,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9G,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,UAAU,CAAC,GAAG,CAAC,SAAS,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3H,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,QAAQ,CAAC;YAClB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE;YACvE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE,CACxH,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1G,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrH,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC9D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;gBACxG,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBACnG,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,WAAW,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,OAAO,EAAE;iBACpF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrE,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,aAAa;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAClG,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACnH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;gBAC9G,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjF,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,mBAAmB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;oBACjF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACvF,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,iBAAkB,KAAe,CAAC,OAAO,EAAE;gBACpD,IAAI,EAAE,0BAA0B;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7G,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,YAAY,SAAS,EAAE,CAAC,CAAC;IACnH,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5G,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAW,CAAC;IAC7D,MAAM,KAAK,GAAG;QACZ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,SAAS;QAC3C,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;KAC1F,CAAC;IACF,4DAA4D;IAC5D,MAAM,aAAa,GAAG,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,IAAI,aAAa,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,aAAa,CAAC,MAAM,KAAK,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjI,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,CAAC;IACjG,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxI,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -8,7 +8,7 @@ export interface Parsed {
8
8
  flags: Record<string, string | boolean>;
9
9
  multi: Record<string, string[]>;
10
10
  }
11
- export declare function parseArgs(argv: string[]): Parsed;
11
+ export declare function parseArgs(argv: string[], booleanFlags?: ReadonlySet<string>): Parsed;
12
12
  /** 向上查找含项目配置(control/config.yaml 或旧的 sumi.config.yaml)的目录;找不到时返回 null。 */
13
13
  export declare function findRoot(start: string): string | null;
14
14
  export type Command = (args: Parsed, io: Io, root: string | null) => Promise<number>;
@@ -19,6 +19,8 @@ export interface CommandOptions {
19
19
  * 会写文件的命令必须声明,避免把 `--help` 或拼错的参数当作普通参数忽略后继续写入。
20
20
  */
21
21
  flags: readonly string[];
22
+ /** 不消费后续位置参数的布尔开关。 */
23
+ booleanFlags?: readonly string[];
22
24
  }
23
25
  /** 注册内核命令;插件命令不能与之重名。会写文件的命令在处理函数前声明 `{ flags }`(见 CommandOptions)。 */
24
26
  export declare function registerCommand(name: string, describe: string, handler: Command): void;
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { dirname, resolve } from 'node:path';
2
2
  import { CONFIG_FILE, getCliBuild, getCliVersion, KernelError, loadConfig, loadRegistry, resolveArgv, run, } from '@sumi/kernel';
3
- import { cleanEnv, configFile, PROJECT_SUMI_ARGV, spawnCommandSync } from '@sumi/plugin-sdk';
3
+ import { cleanEnv, configFile, PROJECT_SUMI_ARGV, recordTrace, spawnCommandSync } from '@sumi/plugin-sdk';
4
4
  const MULTI_FLAGS = new Set(['label']);
5
5
  /** 把插件使用的逻辑 `sumi` 命令映射到受管项目的固定入口。 */
6
6
  function projectNextAction(action) {
@@ -12,7 +12,7 @@ function projectNextAction(action) {
12
12
  }
13
13
  return action;
14
14
  }
15
- export function parseArgs(argv) {
15
+ export function parseArgs(argv, booleanFlags = new Set()) {
16
16
  const parsed = { positionals: [], flags: {}, multi: {} };
17
17
  for (let i = 0; i < argv.length; i++) {
18
18
  const arg = argv[i];
@@ -21,7 +21,7 @@ export function parseArgs(argv) {
21
21
  continue;
22
22
  }
23
23
  const [key, inline] = arg.slice(2).split('=', 2);
24
- const value = inline ?? (argv[i + 1] && !argv[i + 1].startsWith('--') ? argv[++i] : true);
24
+ const value = inline ?? (booleanFlags.has(key) || key === 'json' ? true : argv[i + 1] && !argv[i + 1].startsWith('--') ? argv[++i] : true);
25
25
  if (MULTI_FLAGS.has(key))
26
26
  (parsed.multi[key] ??= []).push(String(value));
27
27
  else
@@ -115,7 +115,7 @@ function usage(pluginCommands) {
115
115
  lines.push(` ${name.padEnd(12)} (插件命令)`);
116
116
  return lines.join('\n');
117
117
  }
118
- export async function main(argv, io) {
118
+ async function mainImpl(argv, io) {
119
119
  const [name, ...rest] = argv;
120
120
  if (name === '--version' || name === 'version') {
121
121
  const version = getCliVersion() ?? 'unknown';
@@ -125,10 +125,10 @@ export async function main(argv, io) {
125
125
  io.out(version);
126
126
  return 0;
127
127
  }
128
- const args = parseArgs(rest);
128
+ const builtin = name ? commands.get(name) : undefined;
129
+ const args = parseArgs(rest, new Set(builtin?.options?.booleanFlags));
129
130
  const root = findRoot(io.cwd);
130
131
  try {
131
- const builtin = name ? commands.get(name) : undefined;
132
132
  if (builtin) {
133
133
  const early = builtin.options ? strictArgs(name, rest, args, builtin.options, io) : null;
134
134
  return early ?? (await builtin.handler(args, io, root));
@@ -168,4 +168,43 @@ export async function main(argv, io) {
168
168
  throw error;
169
169
  }
170
170
  }
171
+ export async function main(argv, io) {
172
+ if (argv[0] === 'visualize')
173
+ return mainImpl(argv, io);
174
+ const root = findRoot(io.cwd);
175
+ let output = '';
176
+ let truncated = false;
177
+ let first = true;
178
+ const capture = (value) => {
179
+ if (!first && output.length < 131000)
180
+ output += '\n';
181
+ first = false;
182
+ const remaining = 131000 - output.length;
183
+ if (remaining > 0)
184
+ output += value.slice(0, remaining);
185
+ if (value.length > remaining)
186
+ truncated = true;
187
+ };
188
+ const wrapped = {
189
+ ...io,
190
+ out: (value) => {
191
+ capture(value);
192
+ io.out(value);
193
+ },
194
+ err: (value) => {
195
+ capture(value);
196
+ io.err(value);
197
+ },
198
+ };
199
+ const code = await mainImpl(argv, wrapped);
200
+ if (root)
201
+ recordTrace(root, {
202
+ kind: 'command',
203
+ command: argv[0] ?? 'help',
204
+ args: argv.slice(1),
205
+ exitCode: code,
206
+ output: truncated ? `${output}\n[已截断]` : output,
207
+ });
208
+ return code;
209
+ }
171
210
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -1 +1,28 @@
1
+ import { type ContextCatalogEntry, type ContextInput, type ContextItem } from '@sumi/plugin-sdk';
2
+ interface ActivePlugin {
3
+ id: string;
4
+ description: string;
5
+ steps: string[];
6
+ global: boolean;
7
+ }
8
+ interface RuleLine {
9
+ file: string;
10
+ line: number;
11
+ text: string;
12
+ refs: string[];
13
+ }
14
+ /** 把输入(文件、目录、glob,可以尚不存在)展开为仓库相对路径,去掉排除路径。 */
15
+ export declare function expand(root: string, cwd: string, inputs: string[], exclude: string[]): string[];
16
+ export interface CollectedContext {
17
+ paths: string[];
18
+ plugins: ActivePlugin[];
19
+ rules: RuleLine[];
20
+ generalRules: RuleLine[];
21
+ items: (ContextItem & {
22
+ plugin: string;
23
+ })[];
24
+ catalog: ContextCatalogEntry[];
25
+ }
26
+ /** CLI 仅聚合提供者结果;意图选择由宿主模型完成。 */
27
+ export declare function collectContext(repo: string, input: ContextInput): CollectedContext;
1
28
  export {};