@fantasticit/sumi 0.7.4 → 0.7.6

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 (115) hide show
  1. package/README.md +27 -25
  2. package/dist/adapters.d.ts +24 -3
  3. package/dist/adapters.js +101 -15
  4. package/dist/adapters.js.map +1 -1
  5. package/dist/agent-hooks.d.ts +18 -0
  6. package/dist/agent-hooks.js +144 -5
  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 +4 -4
  12. package/dist/cli.js.map +1 -1
  13. package/dist/context.d.ts +27 -0
  14. package/dist/context.js +28 -10
  15. package/dist/context.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.js +1 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/instructions.js +4 -4
  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/node_modules/@sumi/create/dist/bin.d.ts +2 -0
  25. package/node_modules/@sumi/create/dist/bin.js +52 -0
  26. package/node_modules/@sumi/create/dist/bin.js.map +1 -0
  27. package/node_modules/@sumi/create/package.json +1 -1
  28. package/node_modules/@sumi/kernel/dist/config.d.ts +5 -0
  29. package/node_modules/@sumi/kernel/dist/config.js +16 -0
  30. package/node_modules/@sumi/kernel/dist/config.js.map +1 -1
  31. package/node_modules/@sumi/kernel/dist/engine.js +1 -0
  32. package/node_modules/@sumi/kernel/dist/engine.js.map +1 -1
  33. package/node_modules/@sumi/kernel/dist/registry.d.ts +2 -0
  34. package/node_modules/@sumi/kernel/dist/registry.js +15 -1
  35. package/node_modules/@sumi/kernel/dist/registry.js.map +1 -1
  36. package/node_modules/@sumi/kernel/package.json +2 -2
  37. package/node_modules/@sumi/plugin-sdk/README.md +62 -36
  38. package/node_modules/@sumi/plugin-sdk/dist/index.d.ts +1 -0
  39. package/node_modules/@sumi/plugin-sdk/dist/index.js +1 -0
  40. package/node_modules/@sumi/plugin-sdk/dist/index.js.map +1 -1
  41. package/node_modules/@sumi/plugin-sdk/dist/protocol.d.ts +64 -1
  42. package/node_modules/@sumi/plugin-sdk/dist/protocol.js +17 -0
  43. package/node_modules/@sumi/plugin-sdk/dist/protocol.js.map +1 -1
  44. package/node_modules/@sumi/plugin-sdk/dist/rules.d.ts +1 -4
  45. package/node_modules/@sumi/plugin-sdk/dist/rules.js.map +1 -1
  46. package/node_modules/@sumi/plugin-sdk/dist/session-context.d.ts +7 -0
  47. package/node_modules/@sumi/plugin-sdk/dist/session-context.js +62 -0
  48. package/node_modules/@sumi/plugin-sdk/dist/session-context.js.map +1 -0
  49. package/node_modules/@sumi/plugin-sdk/dist/validate.js +51 -2
  50. package/node_modules/@sumi/plugin-sdk/dist/validate.js.map +1 -1
  51. package/node_modules/@sumi/plugin-sdk/package.json +1 -1
  52. package/node_modules/@sumi/plugins-core/README.md +14 -12
  53. package/node_modules/@sumi/plugins-core/dist/plugins/exec.js +7 -2
  54. package/node_modules/@sumi/plugins-core/dist/plugins/exec.js.map +1 -1
  55. package/node_modules/@sumi/plugins-core/dist/plugins/test-affected.js +12 -3
  56. package/node_modules/@sumi/plugins-core/dist/plugins/test-affected.js.map +1 -1
  57. package/node_modules/@sumi/plugins-core/dist/test-scope.d.ts +1 -1
  58. package/node_modules/@sumi/plugins-core/dist/test-scope.js +12 -6
  59. package/node_modules/@sumi/plugins-core/dist/test-scope.js.map +1 -1
  60. package/node_modules/@sumi/plugins-core/dist/tool-batches.d.ts +11 -0
  61. package/node_modules/@sumi/plugins-core/dist/tool-batches.js +41 -0
  62. package/node_modules/@sumi/plugins-core/dist/tool-batches.js.map +1 -0
  63. package/node_modules/@sumi/plugins-core/dist/vitest-runner.js +129 -5
  64. package/node_modules/@sumi/plugins-core/dist/vitest-runner.js.map +1 -1
  65. package/node_modules/@sumi/plugins-core/instructions/bugfix.md +9 -0
  66. package/node_modules/@sumi/plugins-core/instructions/feature.md +9 -0
  67. package/node_modules/@sumi/plugins-core/package.json +4 -4
  68. package/node_modules/@sumi/plugins-core/sumi-plugins.yaml +2 -1
  69. package/node_modules/@sumi/plugins-governance/README.md +10 -9
  70. package/node_modules/@sumi/plugins-governance/dist/checkout.d.ts +12 -2
  71. package/node_modules/@sumi/plugins-governance/dist/checkout.js +40 -3
  72. package/node_modules/@sumi/plugins-governance/dist/checkout.js.map +1 -1
  73. package/node_modules/@sumi/plugins-governance/dist/commands/gate.js +6 -2
  74. package/node_modules/@sumi/plugins-governance/dist/commands/gate.js.map +1 -1
  75. package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js +1 -1
  76. package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js.map +1 -1
  77. package/node_modules/@sumi/plugins-governance/dist/gate-cache.d.ts +25 -0
  78. package/node_modules/@sumi/plugins-governance/dist/gate-cache.js +83 -0
  79. package/node_modules/@sumi/plugins-governance/dist/gate-cache.js.map +1 -0
  80. package/node_modules/@sumi/plugins-governance/dist/hooks.d.ts +2 -0
  81. package/node_modules/@sumi/plugins-governance/dist/hooks.js +4 -0
  82. package/node_modules/@sumi/plugins-governance/dist/hooks.js.map +1 -0
  83. package/node_modules/@sumi/plugins-governance/dist/protected.d.ts +1 -0
  84. package/node_modules/@sumi/plugins-governance/instructions/push.md +1 -1
  85. package/node_modules/@sumi/plugins-governance/package.json +2 -2
  86. package/node_modules/@sumi/plugins-openspec/package.json +2 -2
  87. package/node_modules/@sumi/plugins-openspec/sumi-plugins.yaml +2 -0
  88. package/node_modules/@sumi/plugins-precedent/README.md +8 -0
  89. package/node_modules/@sumi/plugins-precedent/dist/after-edit-context.d.ts +28 -0
  90. package/node_modules/@sumi/plugins-precedent/dist/after-edit-context.js +204 -0
  91. package/node_modules/@sumi/plugins-precedent/dist/after-edit-context.js.map +1 -0
  92. package/node_modules/@sumi/plugins-precedent/dist/commands/after-edit-context.d.ts +1 -0
  93. package/node_modules/@sumi/plugins-precedent/dist/commands/after-edit-context.js +13 -0
  94. package/node_modules/@sumi/plugins-precedent/dist/commands/after-edit-context.js.map +1 -0
  95. package/node_modules/@sumi/plugins-precedent/dist/commands/before-edit-context.d.ts +1 -0
  96. package/node_modules/@sumi/plugins-precedent/dist/commands/before-edit-context.js +10 -0
  97. package/node_modules/@sumi/plugins-precedent/dist/commands/before-edit-context.js.map +1 -0
  98. package/node_modules/@sumi/plugins-precedent/dist/commands/context.js +15 -5
  99. package/node_modules/@sumi/plugins-precedent/dist/commands/context.js.map +1 -1
  100. package/node_modules/@sumi/plugins-precedent/dist/commands/on-prompt-context.d.ts +1 -0
  101. package/node_modules/@sumi/plugins-precedent/dist/commands/on-prompt-context.js +55 -0
  102. package/node_modules/@sumi/plugins-precedent/dist/commands/on-prompt-context.js.map +1 -0
  103. package/node_modules/@sumi/plugins-precedent/dist/model.d.ts +2 -0
  104. package/node_modules/@sumi/plugins-precedent/dist/model.js.map +1 -1
  105. package/node_modules/@sumi/plugins-precedent/package.json +3 -3
  106. package/node_modules/@sumi/plugins-precedent/sumi-plugins.yaml +29 -0
  107. package/node_modules/@sumi/plugins-review/dist/commands/context.js +18 -3
  108. package/node_modules/@sumi/plugins-review/dist/commands/context.js.map +1 -1
  109. package/node_modules/@sumi/plugins-review/dist/review.d.ts +1 -0
  110. package/node_modules/@sumi/plugins-review/dist/review.js.map +1 -1
  111. package/node_modules/@sumi/plugins-review/package.json +3 -3
  112. package/package.json +10 -10
  113. package/node_modules/@sumi/kernel/test/fixtures/fake-plugin.mjs +0 -44
  114. package/node_modules/@sumi/kernel/test/fixtures/py-plugin.py +0 -3
  115. package/node_modules/@sumi/plugin-sdk/test/isolate-tmpdir.ts +0 -27
@@ -0,0 +1,204 @@
1
+ import { readFileSync, realpathSync } from 'node:fs';
2
+ import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
3
+ import { configFile, PROJECT_SUMI, readContextSession, saveContextSession, spawnCommandSync, } from '@sumi/plugin-sdk';
4
+ import { parse } from 'yaml';
5
+ const LIMIT = 2500;
6
+ const QUERY_TIMEOUT = 8000;
7
+ function inside(root, path) {
8
+ const canonical = (value) => {
9
+ let parent = value;
10
+ for (;;) {
11
+ try {
12
+ return resolve(realpathSync(parent), relative(parent, value));
13
+ }
14
+ catch {
15
+ const next = dirname(parent);
16
+ if (next === parent)
17
+ throw new Error('无法解析编辑路径');
18
+ parent = next;
19
+ }
20
+ }
21
+ };
22
+ const rel = relative(realpathSync(root), canonical(resolve(root, path))).replaceAll('\\', '/');
23
+ return rel && rel !== '..' && !rel.startsWith('../') && !isAbsolute(rel) ? rel : null;
24
+ }
25
+ /** 只接受编辑工具的明确路径,不猜测任意 shell 命令可能写入了什么。 */
26
+ export function editedPaths(root, input) {
27
+ try {
28
+ const payload = JSON.parse(input);
29
+ const tool = payload.tool_input;
30
+ if (!tool || typeof tool !== 'object')
31
+ return [];
32
+ const base = typeof payload.cwd === 'string' ? resolve(root, payload.cwd) : root;
33
+ const candidates = [tool.file_path, tool.notebook_path];
34
+ if (payload.tool_name === 'apply_patch') {
35
+ const patch = typeof tool.command === 'string' ? tool.command : tool.patch;
36
+ if (typeof patch === 'string') {
37
+ for (const match of patch.matchAll(/^\*\*\* (?:Add|Update|Delete|Move) File: (.+)$/gm))
38
+ candidates.push(match[1]);
39
+ for (const match of patch.matchAll(/^\*\*\* Move to: (.+)$/gm))
40
+ candidates.push(match[1]);
41
+ }
42
+ }
43
+ return [
44
+ ...new Set(candidates
45
+ .filter((v) => typeof v === 'string')
46
+ .map((v) => inside(root, resolve(base, v)))
47
+ .filter((v) => !!v)),
48
+ ];
49
+ }
50
+ catch {
51
+ return [];
52
+ }
53
+ }
54
+ function sessionId(input) {
55
+ try {
56
+ const value = JSON.parse(input).session_id;
57
+ return typeof value === 'string' && value ? value : null;
58
+ }
59
+ catch {
60
+ return null;
61
+ }
62
+ }
63
+ function enabled(root) {
64
+ const file = configFile(root);
65
+ if (!file)
66
+ return false;
67
+ const data = parse(readFileSync(join(root, file), 'utf8'));
68
+ return data?.agentContext?.afterEdit !== false;
69
+ }
70
+ function beforeEnabled(root) {
71
+ if (process.env.SUMI_BEFORE_EDIT === 'off')
72
+ return false;
73
+ const file = configFile(root);
74
+ if (!file)
75
+ return false;
76
+ const data = parse(readFileSync(join(root, file), 'utf8'));
77
+ return data?.agentContext?.beforeEdit === undefined || ['inject-once', 'inject_once'].includes(data.agentContext.beforeEdit);
78
+ }
79
+ export function queryContext(root, paths, timeout = QUERY_TIMEOUT) {
80
+ const launcher = process.env.SUMI_BIN || join(root, 'control/bin/sumi.cjs');
81
+ const result = spawnCommandSync(process.execPath, [launcher, 'context', ...paths, '--json'], {
82
+ cwd: root,
83
+ encoding: 'utf8',
84
+ timeout,
85
+ maxBuffer: 1024 * 1024,
86
+ windowsHide: true,
87
+ env: Object.fromEntries(Object.entries(process.env).filter(([name]) => name !== 'SUMI_SESSION_ID')),
88
+ });
89
+ if (result.status !== 0 || result.error)
90
+ return null;
91
+ const value = JSON.parse(result.stdout);
92
+ return Array.isArray(value.plugins) && Array.isArray(value.items) && Array.isArray(value.rules) && Array.isArray(value.generalRules)
93
+ ? value
94
+ : null;
95
+ }
96
+ function previous(root, session) {
97
+ return new Set(session ? (readContextSession(root, session)?.keys ?? []) : []);
98
+ }
99
+ export function acknowledgeContext(root, input) {
100
+ try {
101
+ const value = JSON.parse(input);
102
+ const session = sessionId(value.originalInput ?? '');
103
+ if (session && Array.isArray(value.keys) && value.keys.every((key) => typeof key === 'string'))
104
+ saveContextSession(root, session, value.keys, undefined, true);
105
+ }
106
+ catch {
107
+ /* 送达回执不可影响编辑操作 */
108
+ }
109
+ }
110
+ function contextRows(context) {
111
+ const itemRow = (i) => ({ key: `item:${i.ref}`, text: `- [${i.ref}] ${i.text}${i.source ? `(来源:${i.source})` : ''}` });
112
+ const ruleRow = (r) => ({ key: `rule:${r.file}:${r.line}`, text: `- ${r.file}:${r.line} ${r.text}` });
113
+ const pluginRow = (p) => ({
114
+ key: `plugin:${p.id}`,
115
+ text: `- 机械门 ${p.id}${p.description ? `:${p.description}` : ''}`,
116
+ });
117
+ return [
118
+ ...context.items.filter((i) => !i.global).map(itemRow),
119
+ ...context.rules.map(ruleRow),
120
+ ...context.plugins.filter((p) => !p.global).map(pluginRow),
121
+ ].map((row) => ({ ...row, text: row.text.length > 220 ? `${row.text.slice(0, 219)}…` : row.text }));
122
+ }
123
+ function renderContext(paths, rows, before = false, session) {
124
+ if (!rows.length)
125
+ return null;
126
+ const command = `${PROJECT_SUMI} context ${session ? `--session ${JSON.stringify(session)} ` : ''}${paths.map((p) => JSON.stringify(p)).join(' ')}`;
127
+ const footer = before ? `\n约束已送达,请据此重新执行该编辑;完整原文见 ${command}` : `\n原文:${command}`;
128
+ const budget = before ? LIMIT - BEFORE_PREFIX.length : LIMIT;
129
+ let body = '本次编辑命中的项目约束(请核对原文):';
130
+ const deliveryKeys = [];
131
+ for (const row of rows) {
132
+ if (body.length + row.text.length + footer.length + 20 > budget)
133
+ break;
134
+ body += `\n${row.text}`;
135
+ deliveryKeys.push(row.key);
136
+ }
137
+ if (!deliveryKeys.length)
138
+ return { additionalContext: `${body}\n内容过长,已截断。${footer}`.slice(0, budget) };
139
+ if (deliveryKeys.length < rows.length)
140
+ body += '\n其余条目已截断;';
141
+ return { additionalContext: `${body}${footer}`.slice(0, budget), deliveryKeys };
142
+ }
143
+ const BEFORE_PREFIX = '约束送达,不是失败;请阅读后重试同一编辑。\n';
144
+ /** 用命中条目的所属集合而非目标文件组成稳定范围键。 */
145
+ function scopeOwners(context) {
146
+ const owners = [
147
+ ...context.items.filter((item) => !item.global).map((item) => `item:${item.ref.split('#')[0]}`),
148
+ ...context.rules.map((rule) => `rule:${rule.file}`),
149
+ ...context.plugins.filter((plugin) => !plugin.global).map((plugin) => `plugin:${plugin.id}`),
150
+ ];
151
+ return [...new Set(owners)].sort();
152
+ }
153
+ /** 只在明确送达约束且状态可记录时,请求编辑工具拒绝一次。 */
154
+ export function beforeEditContext(root, input, query = (paths) => queryContext(root, paths)) {
155
+ try {
156
+ if (!beforeEnabled(root))
157
+ return null;
158
+ const session = sessionId(input);
159
+ if (!session)
160
+ return null;
161
+ const paths = editedPaths(root, input);
162
+ if (!paths.length)
163
+ return null;
164
+ const state = readContextSession(root, session);
165
+ if (!state)
166
+ return null;
167
+ const context = query(paths);
168
+ if (!context)
169
+ return null;
170
+ const owners = scopeOwners(context);
171
+ if (!owners.length || owners.every((owner) => state.deniedScopes.includes(owner)))
172
+ return null;
173
+ const result = renderContext(paths, contextRows(context).filter((row) => !state.keys.includes(row.key)), true, session);
174
+ if (!result?.deliveryKeys?.length)
175
+ return null;
176
+ return saveContextSession(root, session, result.deliveryKeys, owners) ? `${BEFORE_PREFIX}${result.additionalContext}` : null;
177
+ }
178
+ catch {
179
+ return null;
180
+ }
181
+ }
182
+ /** 插件层的提示策略;查询函数可替换以测试失败、超时和异常。 */
183
+ export function afterEditContext(root, input, query = (paths) => queryContext(root, paths)) {
184
+ try {
185
+ if (!enabled(root))
186
+ return null;
187
+ const paths = editedPaths(root, input);
188
+ if (!paths.length)
189
+ return null;
190
+ const context = query(paths);
191
+ if (!context)
192
+ return null;
193
+ const session = sessionId(input);
194
+ if (session && !readContextSession(root, session))
195
+ saveContextSession(root, session, [], undefined, true);
196
+ const seen = previous(root, session);
197
+ const result = renderContext(paths, contextRows(context).filter((row) => !seen.has(row.key)));
198
+ return result && session ? result : result ? { additionalContext: result.additionalContext } : null;
199
+ }
200
+ catch {
201
+ return null;
202
+ }
203
+ }
204
+ //# sourceMappingURL=after-edit-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"after-edit-context.js","sourceRoot":"","sources":["../src/after-edit-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { acknowledgeContext, afterEditContext } from '../after-edit-context.js';
2
+ let input = '';
3
+ for await (const chunk of process.stdin)
4
+ input += chunk;
5
+ const root = process.env.SUMI_ROOT ?? process.cwd();
6
+ if (process.env.SUMI_AFTER_EDIT_DELIVERED === '1')
7
+ acknowledgeContext(root, input);
8
+ else {
9
+ const result = afterEditContext(root, input);
10
+ if (result)
11
+ process.stdout.write(JSON.stringify(result));
12
+ }
13
+ //# sourceMappingURL=after-edit-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"after-edit-context.js","sourceRoot":"","sources":["../../src/commands/after-edit-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;IAAE,KAAK,IAAI,KAAK,CAAC;AACxD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACpD,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG;IAAE,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC9E,CAAC;IACJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { beforeEditContext } from '../after-edit-context.js';
2
+ let input = '';
3
+ for await (const chunk of process.stdin)
4
+ input += chunk;
5
+ const message = beforeEditContext(process.env.SUMI_ROOT ?? process.cwd(), input);
6
+ if (message) {
7
+ process.stderr.write(`${message}\n`);
8
+ process.exitCode = 2;
9
+ }
10
+ //# sourceMappingURL=before-edit-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"before-edit-context.js","sourceRoot":"","sources":["../../src/commands/before-edit-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;IAAE,KAAK,IAAI,KAAK,CAAC;AACxD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;AACjF,IAAI,OAAO,EAAE,CAAC;IACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
@@ -2,22 +2,32 @@ import { readContextInput } from '@sumi/plugin-sdk';
2
2
  import picomatch from 'picomatch';
3
3
  import { activeIds, readPrecedent, readRegistry } from '../model.js';
4
4
  /** 约束查询:触发条件命中给定路径的 active 判例(没有触发条件的判例对所有路径生效)。 */
5
- const { repoRoot, paths } = await readContextInput();
5
+ const { repoRoot, paths, select, catalog: wantCatalog } = await readContextInput();
6
6
  const items = [];
7
+ const catalog = [];
7
8
  for (const id of activeIds(readRegistry(repoRoot))) {
8
9
  const p = readPrecedent(repoRoot, id);
9
10
  if (!p)
10
11
  continue;
11
- const hit = p.triggers?.length ? paths.some((f) => picomatch(p.triggers, { dot: true })(f)) : true;
12
+ const ref = `prec:${id}`;
13
+ if (wantCatalog)
14
+ catalog.push({
15
+ id: ref,
16
+ description: p.statement,
17
+ ...(p.symptoms ? { symptoms: Array.isArray(p.symptoms) ? p.symptoms.join(';') : p.symptoms } : {}),
18
+ source: `precedents/${id}/precedent.yaml`,
19
+ ...(!p.symptoms || (Array.isArray(p.symptoms) && !p.symptoms.length) ? { warning: '判例缺少 symptoms 现象摘要' } : {}),
20
+ });
21
+ const hit = select ? select.includes(ref) : p.triggers?.length ? paths.some((f) => picomatch(p.triggers, { dot: true })(f)) : true;
12
22
  if (!hit)
13
23
  continue;
14
24
  const source = p.source.adr ?? (p.source.spec ? `openspec ${p.source.spec}` : undefined);
15
25
  items.push({
16
- ref: `prec:${id}`,
26
+ ref,
17
27
  text: `${p.statement}(${p.severity === 'error' ? '违反即拦截' : '告警'})`,
18
28
  ...(source ? { source } : {}),
19
- global: !p.triggers?.length,
29
+ global: !p.triggers?.length || p.triggers.includes('**'),
20
30
  });
21
31
  }
22
- process.stdout.write(JSON.stringify({ items }));
32
+ process.stdout.write(JSON.stringify({ items, ...(wantCatalog ? { catalog } : {}) }));
23
33
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AACxE,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAErE,oDAAoD;AACpD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;AACrD,MAAM,KAAK,GAA2B,EAAE,CAAC;AACzC,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;IACnD,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC;QAAE,SAAS;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,QAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,IAAI,CAAC,GAAG;QAAE,SAAS;IACnB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzF,KAAK,CAAC,IAAI,CAAC;QACT,GAAG,EAAE,QAAQ,EAAE,EAAE;QACjB,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG;QAClE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC;AACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAA0B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { configFile, readContextSession, saveContextSession, spawnCommandSync } from '@sumi/plugin-sdk';
4
+ import { parse } from 'yaml';
5
+ /** 只送目录;由宿主模型决定后续 --select。任何故障都静默放行。 */
6
+ try {
7
+ const root = process.env.SUMI_ROOT;
8
+ if (!root)
9
+ process.exit(0);
10
+ if (process.env.SUMI_PROMPT_DELIVERED === '1') {
11
+ let receipt = '';
12
+ for await (const chunk of process.stdin)
13
+ receipt += chunk;
14
+ const value = JSON.parse(receipt);
15
+ const session = JSON.parse(value.originalInput ?? '{}');
16
+ if (typeof session.session_id === 'string' && Array.isArray(value.keys) && value.keys.every((key) => typeof key === 'string'))
17
+ saveContextSession(root, session.session_id, value.keys);
18
+ process.exit(0);
19
+ }
20
+ if (process.env.SUMI_ON_PROMPT === 'off')
21
+ process.exit(0);
22
+ const config = configFile(root);
23
+ if (!config)
24
+ process.exit(0);
25
+ const value = parse(readFileSync(join(root, config), 'utf8'));
26
+ if (value?.agentContext?.onPrompt !== undefined && value.agentContext.onPrompt !== 'inject')
27
+ process.exit(0);
28
+ let raw = '';
29
+ for await (const chunk of process.stdin)
30
+ raw += chunk;
31
+ const payload = JSON.parse(raw);
32
+ if (typeof payload.session_id === 'string' && readContextSession(root, payload.session_id)?.keys.includes('catalog:complete'))
33
+ process.exit(0);
34
+ const launcher = process.env.SUMI_BIN || join(root, 'control/bin/sumi.cjs');
35
+ // 目录不需要提示词原文;不经 argv 或 context 提供者传播用户输入。
36
+ const argv = [launcher, 'task', '--json', '--no-record'];
37
+ if (typeof payload.session_id === 'string' && payload.session_id)
38
+ argv.push('--session', payload.session_id);
39
+ const result = spawnCommandSync(process.execPath, argv, {
40
+ cwd: root,
41
+ encoding: 'utf8',
42
+ timeout: 8000,
43
+ maxBuffer: 1024 * 1024,
44
+ windowsHide: true,
45
+ });
46
+ if (result.status === 0 && !result.error) {
47
+ const parsed = JSON.parse(result.stdout);
48
+ if (typeof parsed.text === 'string' && typeof parsed.count === 'number' && parsed.count > 0)
49
+ process.stdout.write(JSON.stringify({ additionalContext: parsed.text, deliveryKeys: parsed.deliveryKeys }));
50
+ }
51
+ }
52
+ catch {
53
+ /* 用户提示词 hook 故障开放 */
54
+ }
55
+ //# sourceMappingURL=on-prompt-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-prompt-context.js","sourceRoot":"","sources":["../../src/commands/on-prompt-context.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ export type EnforcerType = 'checker' | 'test' | 'lint-rule' | 'rubric-item';
4
4
  export interface Precedent {
5
5
  id: string;
6
6
  statement: string;
7
+ /** 目录中的一句现象摘要,仅供宿主代理阅读,不用于关键词匹配。 */
8
+ symptoms?: string | string[];
7
9
  severity: 'error' | 'warning';
8
10
  triggers?: string[];
9
11
  source: {
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sumi/plugins-precedent",
3
- "version": "0.7.4",
3
+ "version": "0.7.6",
4
4
  "description": "判例插件",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,10 +13,10 @@
13
13
  "./package.json": "./package.json"
14
14
  },
15
15
  "dependencies": {
16
- "@sumi/plugin-sdk": "0.7.4",
16
+ "@sumi/plugin-sdk": "0.7.6",
17
17
  "yaml": "2.9.1",
18
18
  "picomatch": "4.0.7",
19
- "@sumi/plugins-governance": "0.7.4"
19
+ "@sumi/plugins-governance": "0.7.6"
20
20
  },
21
21
  "files": [
22
22
  "dist",
@@ -1,4 +1,6 @@
1
1
  # 判例插件:判例 = 一句约束 + 执行者 + 来源。规划器把命中的判例接线成执行义务,自检保证登记了就可执行。
2
+ pathHints:
3
+ testNeutral: ['precedents/**']
2
4
  plugins:
3
5
  - id: prec/planner
4
6
  version: 0.1.0
@@ -7,8 +9,35 @@ plugins:
7
9
  command: [node, ./dist/plugins/planner.js]
8
10
  timeout: 60
9
11
  context: context-precedents
12
+ agentSettings:
13
+ - path: agentContext.beforeEdit
14
+ values: [off, inject-once, inject_once]
15
+ default: inject-once
16
+ event: beforeTool
17
+ group: 上下文模式
18
+ label: beforeEdit
19
+ upgradeNotice: '编辑前 hook 已按默认 inject-once 开启;可设置 agentContext.beforeEdit: off 或本次进程 SUMI_BEFORE_EDIT=off 关闭。'
20
+ - path: agentContext.onPrompt
21
+ values: [off, inject]
22
+ default: inject
23
+ event: onPrompt
24
+ group: 上下文模式
25
+ label: onPrompt
26
+ upgradeNotice: '提示词 hook 已按默认 inject 开启;可设置 agentContext.onPrompt: off 或本次进程 SUMI_ON_PROMPT=off 关闭。'
27
+ hooks:
28
+ agent:
29
+ beforeTool:
30
+ command: context-before-edit
31
+ tools: edit
32
+ failure: open
33
+ when: { path: agentContext.beforeEdit, notEquals: off }
34
+ afterEdit: context-after-edit
35
+ onPrompt: { command: context-on-prompt, when: { path: agentContext.onPrompt, notEquals: off } }
10
36
  commands:
11
37
  - { name: context-precedents, argv: [node, ./dist/commands/context.js], description: 列出给定路径上生效的判例 }
38
+ - { name: context-after-edit, argv: [node, ./dist/commands/after-edit-context.js], description: 编辑后提示新命中的约束 }
39
+ - { name: context-before-edit, argv: [node, ./dist/commands/before-edit-context.js], description: 首次编辑前送达约束 }
40
+ - { name: context-on-prompt, argv: [node, ./dist/commands/on-prompt-context.js], description: 用户提示词阶段送达任务目录 }
12
41
  - id: prec/checker
13
42
  version: 0.1.0
14
43
  description: 运行判例的检查器
@@ -4,9 +4,10 @@ import { readContextInput } from '@sumi/plugin-sdk';
4
4
  import picomatch from 'picomatch';
5
5
  import { loadRubric } from '../review.js';
6
6
  /** 约束查询:范围命中给定路径的评审条目(没有范围的条目对所有路径生效)。 */
7
- const { repoRoot, paths } = await readContextInput();
7
+ const { repoRoot, paths, select, catalog: wantCatalog } = await readContextInput();
8
8
  const dir = join(repoRoot, 'control', 'rubrics');
9
9
  const items = [];
10
+ const catalog = [];
10
11
  for (const file of existsSync(dir)
11
12
  ? readdirSync(dir)
12
13
  .filter((f) => f.endsWith('.yaml'))
@@ -14,8 +15,22 @@ for (const file of existsSync(dir)
14
15
  : []) {
15
16
  const id = file.replace(/\.yaml$/, '');
16
17
  const { rubric } = loadRubric(repoRoot, id);
18
+ if (wantCatalog) {
19
+ catalog.push({
20
+ id: `rubric:${id}`,
21
+ description: rubric.description ?? '',
22
+ source: `control/rubrics/${file}`,
23
+ ...(!rubric.description ? { warning: '评审集合缺少 description' } : {}),
24
+ });
25
+ for (const item of rubric.items)
26
+ catalog.push({ id: `rubric:${id}#${item.id}`, description: item.question, source: `control/rubrics/${file}` });
27
+ }
17
28
  for (const item of rubric.items) {
18
- const hit = item.scope?.length ? paths.some((f) => picomatch(item.scope, { dot: true })(f)) : true;
29
+ const hit = select
30
+ ? select.includes(`rubric:${id}`) || select.includes(`rubric:${id}#${item.id}`)
31
+ : item.scope?.length
32
+ ? paths.some((f) => picomatch(item.scope, { dot: true })(f))
33
+ : true;
19
34
  if (!hit)
20
35
  continue;
21
36
  const global = !item.scope?.length || item.scope.includes('**');
@@ -28,5 +43,5 @@ for (const file of existsSync(dir)
28
43
  });
29
44
  }
30
45
  }
31
- process.stdout.write(JSON.stringify({ items }));
46
+ process.stdout.write(JSON.stringify({ items, ...(wantCatalog ? { catalog } : {}) }));
32
47
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AACxE,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,0CAA0C;AAC1C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;AACrD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACjD,MAAM,KAAK,GAA2B,EAAE,CAAC;AACzC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC;IAChC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;SACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAClC,IAAI,EAAE;IACX,CAAC,CAAC,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpG,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE;YAC9B,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;YACzB,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,SAAS,IAAI,CAAC,IAAI,EAAE;YAC1C,MAAM,EAAE,mBAAmB,IAAI,EAAE;YACjC,MAAM;SACP,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAA0B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AACxE,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,0CAA0C;AAC1C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;AACnF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACjD,MAAM,KAAK,GAA2B,EAAE,CAAC;AACzC,MAAM,OAAO,GAA0C,EAAE,CAAC;AAC1D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC;IAChC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;SACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAClC,IAAI,EAAE;IACX,CAAC,CAAC,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,UAAU,EAAE,EAAE;YAClB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YACrC,MAAM,EAAE,mBAAmB,IAAI,EAAE;YACjC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,IAAI,EAAE,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM;YAChB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YAC/E,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM;gBAClB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE;YAC9B,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;YACzB,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,SAAS,IAAI,CAAC,IAAI,EAAE;YAC1C,MAAM,EAAE,mBAAmB,IAAI,EAAE;YACjC,MAAM;SACP,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAA0B,CAAC,CAAC,CAAC"}
@@ -6,6 +6,7 @@ export interface RubricItem {
6
6
  }
7
7
  export interface Rubric {
8
8
  id: string;
9
+ description?: string;
9
10
  items: RubricItem[];
10
11
  }
11
12
  export interface RequestItem extends RubricItem {
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sumi/plugins-review",
3
- "version": "0.7.4",
3
+ "version": "0.7.6",
4
4
  "description": "评审插件",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,10 +13,10 @@
13
13
  "./package.json": "./package.json"
14
14
  },
15
15
  "dependencies": {
16
- "@sumi/plugin-sdk": "0.7.4",
16
+ "@sumi/plugin-sdk": "0.7.6",
17
17
  "yaml": "2.9.1",
18
18
  "picomatch": "4.0.7",
19
- "@sumi/plugins-governance": "0.7.4"
19
+ "@sumi/plugins-governance": "0.7.6"
20
20
  },
21
21
  "files": [
22
22
  "dist",