@fantasticit/sumi 0.7.2 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -6
- package/dist/adapters.d.ts +5 -0
- package/dist/adapters.js +29 -12
- package/dist/adapters.js.map +1 -1
- package/node_modules/@sumi/create/package.json +1 -1
- package/node_modules/@sumi/kernel/package.json +2 -2
- package/node_modules/@sumi/plugin-sdk/package.json +1 -1
- package/node_modules/@sumi/plugin-sdk/test/isolate-tmpdir.ts +27 -0
- package/node_modules/@sumi/plugins-core/package.json +2 -2
- package/node_modules/@sumi/plugins-governance/README.md +1 -1
- package/node_modules/@sumi/plugins-governance/dist/pr-report-status.d.ts +7 -1
- package/node_modules/@sumi/plugins-governance/dist/pr-report-status.js +27 -6
- package/node_modules/@sumi/plugins-governance/dist/pr-report-status.js.map +1 -1
- package/node_modules/@sumi/plugins-governance/package.json +2 -2
- package/node_modules/@sumi/plugins-openspec/package.json +2 -2
- package/node_modules/@sumi/plugins-precedent/package.json +3 -3
- package/node_modules/@sumi/plugins-review/package.json +3 -3
- package/package.json +10 -10
- package/node_modules/@sumi/create/dist/bin.d.ts +0 -2
- package/node_modules/@sumi/create/dist/bin.js +0 -52
- package/node_modules/@sumi/create/dist/bin.js.map +0 -1
- package/node_modules/@sumi/plugins-core/dist/tool-batches.d.ts +0 -11
- package/node_modules/@sumi/plugins-core/dist/tool-batches.js +0 -41
- package/node_modules/@sumi/plugins-core/dist/tool-batches.js.map +0 -1
- package/node_modules/@sumi/plugins-governance/dist/hooks.d.ts +0 -2
- package/node_modules/@sumi/plugins-governance/dist/hooks.js +0 -4
- package/node_modules/@sumi/plugins-governance/dist/hooks.js.map +0 -1
package/README.md
CHANGED
|
@@ -41,13 +41,23 @@
|
|
|
41
41
|
|
|
42
42
|
### hook
|
|
43
43
|
|
|
44
|
-
| 工具 | 写入位置 | 条目
|
|
45
|
-
| ------ | ----------------------- |
|
|
46
|
-
| Claude | `.claude/settings.json` | `PreToolUse`(`Bash\|Edit\|Write\|MultiEdit\|NotebookEdit`)→ 插件的 `beforeTool`;`PostToolUse`(编辑类工具)→ `afterEdit`;`Stop` → `sumi hint` |
|
|
47
|
-
| Codex | `.codex/hooks.json` | `PreToolUse`(`^(Bash\|apply_patch\|Edit\|Write)$`)、`PostToolUse`(`^(apply_patch\|Edit\|Write)
|
|
48
|
-
| Cursor |
|
|
44
|
+
| 工具 | 写入位置 | 条目 |
|
|
45
|
+
| ------ | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
46
|
+
| Claude | `.claude/settings.json` | `PreToolUse`(`Bash\|Edit\|Write\|MultiEdit\|NotebookEdit`)→ 插件的 `beforeTool`;`PostToolUse`(编辑类工具)→ `afterEdit`;`Stop` → `sumi hint` 与插件的停止检查 |
|
|
47
|
+
| Codex | `.codex/hooks.json` | `PreToolUse`(`^(Bash\|apply_patch\|Edit\|Write)$`)、`PostToolUse`(`^(apply_patch\|Edit\|Write)$`)、`Stop` → 插件的停止检查;无会话结束提示 |
|
|
48
|
+
| Cursor | `.cursor/hooks.json` | `stop` → 插件的停止检查;不支持前置拦截与编辑后 hook,`doctor` 报告能力缺口,依赖 git hook 兜底 |
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
AI 工具以会话当前目录执行 hook,会话可能位于项目子目录,因此命令不依赖当前目录定位 launcher:
|
|
51
|
+
|
|
52
|
+
| 工具 | 命令 |
|
|
53
|
+
| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
54
|
+
| Claude | `node "$CLAUDE_PROJECT_DIR/control/bin/sumi.cjs" <命令>`(sh 执行,Windows 上为 Git Bash) |
|
|
55
|
+
| Codex | `node "$(git rev-parse --show-toplevel)/control/bin/sumi.cjs" <命令>`;Windows(`cmd.exe`)用 `commandWindows`:`for /f "delims=" %r in ('git rev-parse --show-toplevel') do @node "%r/control/bin/sumi.cjs" <命令>` |
|
|
56
|
+
| Cursor | `node ./control/bin/sumi.cjs <命令>`(项目 hook 固定从项目根执行) |
|
|
57
|
+
|
|
58
|
+
前置拦截只有退出码 2 会阻断,因此前置拦截条目追加 `|| exit 2`:找不到 launcher、runtime 无效或命令崩溃时同样拒绝,命令的标准错误即拒绝说明。编辑后与停止检查条目的退出码原样返回。
|
|
59
|
+
|
|
60
|
+
更新时只增删 sumi 的条目(命令以上述 launcher 写法、旧版本的 `node ./control/bin/sumi.cjs `、`sumi ` 开头),其他条目保留;旧写法的条目被 `--check` 与 `doctor` 报告为漂移,由 `sumi update` 替换。
|
|
51
61
|
|
|
52
62
|
git hook 固定包含 `pre-commit → node ./control/bin/sumi.cjs run check`,其余由插件 `hooks.git` 声明(同一 hook 不能被重复声明)。写入位置取决于 hook 管理器:
|
|
53
63
|
|
package/dist/adapters.d.ts
CHANGED
|
@@ -24,6 +24,11 @@ interface AgentHookFile {
|
|
|
24
24
|
afterEdit?: string;
|
|
25
25
|
/** 没有插件停止检查时也生成不阻断的会话结束提示。 */
|
|
26
26
|
hint?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* 调用项目 launcher 的命令字段(`command`,以及工具支持时按平台覆盖的字段)。
|
|
29
|
+
* AI 工具以会话当前目录执行 hook,会话可能位于项目子目录,命令不得依赖当前目录定位 launcher。
|
|
30
|
+
*/
|
|
31
|
+
invoke: (args: string) => Record<string, string>;
|
|
27
32
|
}
|
|
28
33
|
export interface Adapter {
|
|
29
34
|
name: string;
|
package/dist/adapters.js
CHANGED
|
@@ -8,9 +8,11 @@ import { gitHookScript, HOOK_BLOCK_END, HOOK_BLOCK_START, hookBlock, PROJECT_SUM
|
|
|
8
8
|
import { projectInstruction, topicContext, topics } from './instructions.js';
|
|
9
9
|
import { fileSha256, PROJECT_LAUNCHER, RUNTIME_MANIFEST, runtimeManifestText } from './runtime-manifest.js';
|
|
10
10
|
export const MARK = 'generated-by: sumi update';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
/**
|
|
12
|
+
* 旧版本生成的 hook 命令前缀,更新时一并识别为 sumi 的条目:
|
|
13
|
+
* 全局 sumi,以及 0.7.2 及以前 Claude Code 与 Codex 使用的相对路径 launcher(Cursor 仍使用)。
|
|
14
|
+
*/
|
|
15
|
+
const LEGACY_PREFIXES = ['sumi ', 'npx --no-install sumi ', `${PROJECT_SUMI} `];
|
|
14
16
|
const hash = (text) => createHash('sha256').update(text).digest('hex').slice(0, 16);
|
|
15
17
|
const marked = (body) => `<!-- ${MARK}; content-hash: ${hash(body)} -->\n${body}`;
|
|
16
18
|
const skillFront = (name, description) => `---\nname: ${name}\ndescription: ${description}\n---\n`;
|
|
@@ -53,6 +55,8 @@ export const ADAPTERS = {
|
|
|
53
55
|
before: 'Bash|Edit|Write|MultiEdit|NotebookEdit',
|
|
54
56
|
afterEdit: 'Edit|Write|MultiEdit|NotebookEdit',
|
|
55
57
|
hint: true,
|
|
58
|
+
// 项目设置从会话启动目录读取,$CLAUDE_PROJECT_DIR 即项目根;命令由 sh(Windows 上为 Git Bash)执行。
|
|
59
|
+
invoke: (args) => ({ command: `node "$CLAUDE_PROJECT_DIR/${PROJECT_LAUNCHER}" ${args}` }),
|
|
56
60
|
},
|
|
57
61
|
skill: {
|
|
58
62
|
dir: '.claude/skills',
|
|
@@ -75,12 +79,18 @@ export const ADAPTERS = {
|
|
|
75
79
|
format: 'nested',
|
|
76
80
|
before: '^(Bash|apply_patch|Edit|Write)$',
|
|
77
81
|
afterEdit: '^(apply_patch|Edit|Write)$',
|
|
82
|
+
// Codex 没有项目根变量,按官方建议从 git 顶层定位;Unix 经 $SHELL -lc、Windows 经 cmd.exe /C 执行。
|
|
83
|
+
invoke: (args) => ({
|
|
84
|
+
command: `node "$(git rev-parse --show-toplevel)/${PROJECT_LAUNCHER}" ${args}`,
|
|
85
|
+
commandWindows: `for /f "delims=" %r in ('git rev-parse --show-toplevel') do @node "%r/${PROJECT_LAUNCHER}" ${args}`,
|
|
86
|
+
}),
|
|
78
87
|
},
|
|
79
88
|
},
|
|
80
89
|
cursor: {
|
|
81
90
|
name: 'cursor',
|
|
82
91
|
capabilities: { editIntercept: false, commandIntercept: false, afterEdit: false, stopCheck: true, commands: true },
|
|
83
|
-
|
|
92
|
+
// Cursor 的项目 hook 固定从项目根执行,相对路径不受会话目录影响。
|
|
93
|
+
hooks: { path: '.cursor/hooks.json', format: 'cursor', invoke: (args) => ({ command: `${PROJECT_SUMI} ${args}` }) },
|
|
84
94
|
skill: {
|
|
85
95
|
dir: '.cursor/rules',
|
|
86
96
|
pattern: /^sumi-.+\.mdc$/,
|
|
@@ -148,21 +158,24 @@ export function withBlock(existing, block) {
|
|
|
148
158
|
return existing.slice(0, start) + block + existing.slice(end + HOOK_BLOCK_END.length);
|
|
149
159
|
return `${existing}${existing.endsWith('\n') ? '' : '\n'}${block}\n`;
|
|
150
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* 前置拦截只有退出码 2 会阻断,其他非零退出码被工具当作非阻断错误放行。
|
|
163
|
+
* 找不到 launcher、runtime 无效或命令崩溃都按拒绝处理,命令自己的标准错误即拒绝说明;sh 与 cmd.exe 都支持该写法。
|
|
164
|
+
*/
|
|
165
|
+
const failClosed = (fields) => Object.fromEntries(Object.entries(fields).map(([key, command]) => [key, `${command} || exit 2`]));
|
|
151
166
|
function agentHookGroups(agent, h, hooks) {
|
|
152
167
|
if (h.format === 'cursor') {
|
|
153
|
-
return hooks.stop.length ? { stop: [{
|
|
168
|
+
return hooks.stop.length ? { stop: [{ ...h.invoke(`hook agent-stop ${agent}`), type: 'command', loop_limit: null }] } : {};
|
|
154
169
|
}
|
|
155
|
-
const entry = (matcher, commands) => ({
|
|
170
|
+
const entry = (matcher, commands, before = false) => ({
|
|
156
171
|
matcher,
|
|
157
|
-
hooks: commands.map((command) => ({ type: 'command', command:
|
|
172
|
+
hooks: commands.map((command) => ({ type: 'command', ...(before ? failClosed(h.invoke(command)) : h.invoke(command)) })),
|
|
158
173
|
});
|
|
159
174
|
const stopCommands = [...(h.hint ? ['hint'] : []), ...(hooks.stop.length ? [`hook agent-stop ${agent}`] : [])];
|
|
160
175
|
return {
|
|
161
|
-
...(hooks.beforeTool.length && h.before ? { PreToolUse: [entry(h.before, hooks.beforeTool)] } : {}),
|
|
176
|
+
...(hooks.beforeTool.length && h.before ? { PreToolUse: [entry(h.before, hooks.beforeTool, true)] } : {}),
|
|
162
177
|
...(hooks.afterEdit.length && h.afterEdit ? { PostToolUse: [entry(h.afterEdit, hooks.afterEdit)] } : {}),
|
|
163
|
-
...(stopCommands.length
|
|
164
|
-
? { Stop: [{ hooks: stopCommands.map((command) => ({ type: 'command', command: `${HOOK_PREFIX}${command}` })) }] }
|
|
165
|
-
: {}),
|
|
178
|
+
...(stopCommands.length ? { Stop: [{ hooks: stopCommands.map((command) => ({ type: 'command', ...h.invoke(command) })) }] } : {}),
|
|
166
179
|
};
|
|
167
180
|
}
|
|
168
181
|
export function enabledAgents(config) {
|
|
@@ -241,7 +254,11 @@ function expected(root) {
|
|
|
241
254
|
}
|
|
242
255
|
return { files, agentHooks, gitHooks: hooks.git, manager: hookManager(root), stale };
|
|
243
256
|
}
|
|
244
|
-
|
|
257
|
+
/** sumi 条目的命令前缀:各适配器当前的 launcher 写法与旧版本写法。 */
|
|
258
|
+
const SUMI_PREFIXES = [
|
|
259
|
+
...new Set([...Object.values(ADAPTERS).flatMap((a) => (a.hooks ? [a.hooks.invoke('').command] : [])), ...LEGACY_PREFIXES]),
|
|
260
|
+
];
|
|
261
|
+
const isSumiCommand = (command) => !!command && SUMI_PREFIXES.some((prefix) => command.startsWith(prefix));
|
|
245
262
|
function commandsInHookEntry(entry) {
|
|
246
263
|
if (!entry || typeof entry !== 'object')
|
|
247
264
|
return [];
|
package/dist/adapters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sumi/kernel",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "策略中立的编排内核",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"./package.json": "./package.json"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@sumi/plugin-sdk": "0.7.
|
|
16
|
+
"@sumi/plugin-sdk": "0.7.4",
|
|
17
17
|
"yaml": "2.9.1",
|
|
18
18
|
"picomatch": "4.0.7"
|
|
19
19
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 各包 vitest 配置共用的 setupFiles:每个测试文件运行前把系统临时目录(TMPDIR,Windows 为 TEMP/TMP)指向
|
|
3
|
+
* 一个专用目录,测试文件结束后整体删除。
|
|
4
|
+
*
|
|
5
|
+
* 测试创建的仓库、门禁检出(失败时会保留)、自检与命令的临时文件都经 os.tmpdir() 落在这里;
|
|
6
|
+
* 测试启动的子进程(sumi、git hook、门禁)继承该环境,同样写入这里。直接用 vitest CLI、`pnpm test`,
|
|
7
|
+
* 或由 core/test-affected(vitest Node API)与 core/coverage 经根配置的 projects 运行时都会加载本文件。
|
|
8
|
+
*/
|
|
9
|
+
import { mkdtempSync, realpathSync, rmSync } from 'node:fs';
|
|
10
|
+
import { tmpdir } from 'node:os';
|
|
11
|
+
import { join } from 'node:path';
|
|
12
|
+
import { afterAll } from 'vitest';
|
|
13
|
+
|
|
14
|
+
const NAMES = ['TMPDIR', 'TMP', 'TEMP'] as const;
|
|
15
|
+
const saved = Object.fromEntries(NAMES.map((name) => [name, process.env[name]]));
|
|
16
|
+
// 取真实路径:macOS 的 /var 是 /private/var 的符号链接,git 与子进程报告的路径是后者
|
|
17
|
+
const dir = realpathSync(mkdtempSync(join(tmpdir(), 'sumi-test-')));
|
|
18
|
+
for (const name of NAMES) process.env[name] = dir;
|
|
19
|
+
|
|
20
|
+
// 本文件的 afterAll 先于测试文件注册,按 vitest 默认的 stack 顺序最后运行,测试文件自己的清理先完成
|
|
21
|
+
afterAll(() => {
|
|
22
|
+
for (const name of NAMES) {
|
|
23
|
+
if (saved[name] === undefined) delete process.env[name];
|
|
24
|
+
else process.env[name] = saved[name];
|
|
25
|
+
}
|
|
26
|
+
rmSync(dir, { recursive: true, force: true, maxRetries: 5, retryDelay: 200 });
|
|
27
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sumi/plugins-core",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "通用检查插件",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"./package.json": "./package.json"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@sumi/plugin-sdk": "0.7.
|
|
16
|
+
"@sumi/plugin-sdk": "0.7.4",
|
|
17
17
|
"yaml": "2.9.1",
|
|
18
18
|
"picomatch": "4.0.7"
|
|
19
19
|
},
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
- `hooks.git: { pre-push: gate }`:git 推送前运行 `sumi gate`。
|
|
29
29
|
- `hooks.agent: { beforeTool: guard }`:AI 工具调用工具前运行 `sumi guard`。
|
|
30
|
-
- `hooks.agent: { stop: pr-report-check }`:AI 工具准备结束时只读核验当前 PR head 的报告;CLI
|
|
30
|
+
- `hooks.agent: { stop: pr-report-check }`:AI 工具准备结束时只读核验当前 PR head 的报告;CLI 转换为各工具原生阻断或续跑响应。检查只防“当前分支已有开放 PR 但当前 head 缺少报告”:detached HEAD、当前分支还没有提交、没有配置远端时直接通过且不调用 `gh`;`gh` 报告远端都不指向已知 GitHub 主机时也通过。配置了远端而 `gh` 缺失、未登录或查询失败时仍阻断,并给出下一步。
|
|
31
31
|
|
|
32
32
|
## 与项目配置的交互
|
|
33
33
|
|
|
@@ -10,5 +10,11 @@ export interface PrReportStatus {
|
|
|
10
10
|
message?: string;
|
|
11
11
|
pr?: number;
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* 只读核验当前分支开放 PR 的 Sumi 报告是否绑定当前 head。
|
|
15
|
+
*
|
|
16
|
+
* 检查只防“当前分支已有开放 PR,但其当前 head 缺少报告”。没有当前分支(detached HEAD)、
|
|
17
|
+
* 分支还没有提交(unborn HEAD)、没有远端或远端都不是 GitHub 时不可能存在对应 PR,直接通过,
|
|
18
|
+
* 避免停止 hook 产生代理无论如何都无法满足的阻断。
|
|
19
|
+
*/
|
|
14
20
|
export declare function checkPrReportStatus(root: string, run?: CommandRunner): PrReportStatus;
|
|
@@ -23,16 +23,35 @@ function json(result, action) {
|
|
|
23
23
|
function block(message, pr) {
|
|
24
24
|
return { pass: false, message, ...(pr === undefined ? {} : { pr }) };
|
|
25
25
|
}
|
|
26
|
-
/**
|
|
26
|
+
/** gh 判定没有任何远端指向已知 GitHub 主机时的固定提示(gh 的 FindRepos 错误)。 */
|
|
27
|
+
const NO_GITHUB_REMOTE = /none of the git remotes configured for this repository point to a known GitHub host/i;
|
|
28
|
+
/**
|
|
29
|
+
* 只读核验当前分支开放 PR 的 Sumi 报告是否绑定当前 head。
|
|
30
|
+
*
|
|
31
|
+
* 检查只防“当前分支已有开放 PR,但其当前 head 缺少报告”。没有当前分支(detached HEAD)、
|
|
32
|
+
* 分支还没有提交(unborn HEAD)、没有远端或远端都不是 GitHub 时不可能存在对应 PR,直接通过,
|
|
33
|
+
* 避免停止 hook 产生代理无论如何都无法满足的阻断。
|
|
34
|
+
*/
|
|
27
35
|
export function checkPrReportStatus(root, run = defaultRunner) {
|
|
28
|
-
|
|
29
|
-
if (headResult.status !== 0)
|
|
30
|
-
return block(`无法读取本地 HEAD:${detail(headResult)}`);
|
|
31
|
-
const head = headResult.stdout.trim().toLowerCase();
|
|
36
|
+
// symbolic-ref --quiet:退出码 1 表示 HEAD 不是符号引用(detached),其他非零表示 git 自身失败。
|
|
32
37
|
const branchResult = run('git', ['symbolic-ref', '--quiet', '--short', 'HEAD'], root);
|
|
38
|
+
if (branchResult.status === 1 && !branchResult.error)
|
|
39
|
+
return { pass: true };
|
|
33
40
|
if (branchResult.status !== 0)
|
|
34
|
-
return block(
|
|
41
|
+
return block(`无法读取当前分支:${detail(branchResult)}`);
|
|
35
42
|
const branch = branchResult.stdout.trim();
|
|
43
|
+
// rev-parse --verify --quiet:引用不存在时以退出码 1 静默结束;分支已确定,说明它还没有提交。
|
|
44
|
+
const headResult = run('git', ['rev-parse', '--verify', '--quiet', 'HEAD'], root);
|
|
45
|
+
if (headResult.status === 1 && !headResult.error && !headResult.stdout.trim())
|
|
46
|
+
return { pass: true };
|
|
47
|
+
if (headResult.status !== 0)
|
|
48
|
+
return block(`无法读取本地 HEAD:${detail(headResult)}`);
|
|
49
|
+
const head = headResult.stdout.trim().toLowerCase();
|
|
50
|
+
const remotes = run('git', ['remote'], root);
|
|
51
|
+
if (remotes.status !== 0)
|
|
52
|
+
return block(`无法读取 git 远端:${detail(remotes)}`);
|
|
53
|
+
if (!remotes.stdout.trim())
|
|
54
|
+
return { pass: true };
|
|
36
55
|
const auth = run('gh', ['auth', 'status'], root);
|
|
37
56
|
if (auth.status !== 0)
|
|
38
57
|
return block(`无法验证 GitHub 登录状态:${detail(auth)}。请先运行 gh auth login`);
|
|
@@ -51,6 +70,8 @@ export function checkPrReportStatus(root, run = defaultRunner) {
|
|
|
51
70
|
}
|
|
52
71
|
}
|
|
53
72
|
else {
|
|
73
|
+
if (NO_GITHUB_REMOTE.test(detail(view)))
|
|
74
|
+
return { pass: true };
|
|
54
75
|
const listed = run('gh', ['pr', 'list', '--state', 'open', '--head', branch, '--json', 'number,headRefOid,url'], root);
|
|
55
76
|
if (listed.status !== 0)
|
|
56
77
|
return block(`无法查询当前分支的开放 PR:${detail(listed)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-report-status.js","sourceRoot":"","sources":["../src/pr-report-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAwBlE,MAAM,aAAa,GAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,MAAM,CAAC,MAAqB;IACnC,OAAO,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,OAAO,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,IAAI,CAAI,MAAqB,EAAE,MAAc;IACpD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAM,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,aAAa,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,OAAe,EAAE,EAAW;IACzC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"pr-report-status.js","sourceRoot":"","sources":["../src/pr-report-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sumi/plugins-governance",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "治理插件",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"./package.json": "./package.json"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@sumi/plugin-sdk": "0.7.
|
|
16
|
+
"@sumi/plugin-sdk": "0.7.4",
|
|
17
17
|
"yaml": "2.9.1",
|
|
18
18
|
"picomatch": "4.0.7"
|
|
19
19
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sumi/plugins-openspec",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "OpenSpec 插件",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"./package.json": "./package.json"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@sumi/plugin-sdk": "0.7.
|
|
16
|
+
"@sumi/plugin-sdk": "0.7.4"
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"dist",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sumi/plugins-precedent",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
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.
|
|
16
|
+
"@sumi/plugin-sdk": "0.7.4",
|
|
17
17
|
"yaml": "2.9.1",
|
|
18
18
|
"picomatch": "4.0.7",
|
|
19
|
-
"@sumi/plugins-governance": "0.7.
|
|
19
|
+
"@sumi/plugins-governance": "0.7.4"
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
22
|
"dist",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sumi/plugins-review",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
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.
|
|
16
|
+
"@sumi/plugin-sdk": "0.7.4",
|
|
17
17
|
"yaml": "2.9.1",
|
|
18
18
|
"picomatch": "4.0.7",
|
|
19
|
-
"@sumi/plugins-governance": "0.7.
|
|
19
|
+
"@sumi/plugins-governance": "0.7.4"
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
22
|
"dist",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fantasticit/sumi",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "sumi 命令行",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
"./package.json": "./package.json"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@sumi/create": "0.7.
|
|
17
|
-
"@sumi/kernel": "0.7.
|
|
18
|
-
"@sumi/plugin-sdk": "0.7.
|
|
19
|
-
"@sumi/plugins-core": "0.7.
|
|
20
|
-
"@sumi/plugins-governance": "0.7.
|
|
21
|
-
"@sumi/plugins-openspec": "0.7.
|
|
22
|
-
"@sumi/plugins-precedent": "0.7.
|
|
23
|
-
"@sumi/plugins-review": "0.7.
|
|
16
|
+
"@sumi/create": "0.7.4",
|
|
17
|
+
"@sumi/kernel": "0.7.4",
|
|
18
|
+
"@sumi/plugin-sdk": "0.7.4",
|
|
19
|
+
"@sumi/plugins-core": "0.7.4",
|
|
20
|
+
"@sumi/plugins-governance": "0.7.4",
|
|
21
|
+
"@sumi/plugins-openspec": "0.7.4",
|
|
22
|
+
"@sumi/plugins-precedent": "0.7.4",
|
|
23
|
+
"@sumi/plugins-review": "0.7.4",
|
|
24
24
|
"tar": "7.5.22",
|
|
25
25
|
"yaml": "2.9.1"
|
|
26
26
|
},
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"tar",
|
|
43
43
|
"yaml"
|
|
44
44
|
],
|
|
45
|
-
"sumiBuild": "sha256:
|
|
45
|
+
"sumiBuild": "sha256:01d06e4e207af63305b2f17d9a3ac49e01e99107e27d93b392941ebcd8c90ae5"
|
|
46
46
|
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { execFileSync, spawnSync } from 'node:child_process';
|
|
3
|
-
import { existsSync, symlinkSync } from 'node:fs';
|
|
4
|
-
import { join, resolve } from 'node:path';
|
|
5
|
-
import { scaffold } from './scaffold.js';
|
|
6
|
-
/**
|
|
7
|
-
* create-ai-coding <目录> [--agents claude,codex,cursor] [--link <node_modules 路径>] [--no-install]
|
|
8
|
-
* 创建遵循三层结构的新项目:复制模板、初始化 git、安装依赖、生成 AI 工具适配与 git hook。
|
|
9
|
-
*/
|
|
10
|
-
const args = process.argv.slice(2);
|
|
11
|
-
const flag = (name) => {
|
|
12
|
-
const i = args.indexOf(`--${name}`);
|
|
13
|
-
return i >= 0 ? args[i + 1] : undefined;
|
|
14
|
-
};
|
|
15
|
-
const target = args.find((a, i) => !a.startsWith('--') && !['--agents', '--link'].includes(args[i - 1] ?? ''));
|
|
16
|
-
if (!target) {
|
|
17
|
-
process.stderr.write('用法:create-ai-coding <目录> [--agents claude,codex,cursor] [--link <node_modules>] [--no-install]\n');
|
|
18
|
-
process.exit(3);
|
|
19
|
-
}
|
|
20
|
-
const dir = resolve(target);
|
|
21
|
-
try {
|
|
22
|
-
scaffold(dir, {
|
|
23
|
-
agents: flag('agents')
|
|
24
|
-
?.split(',')
|
|
25
|
-
.map((a) => a.trim())
|
|
26
|
-
.filter(Boolean),
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
process.stderr.write(`${error.message}\n`);
|
|
31
|
-
process.exit(1);
|
|
32
|
-
}
|
|
33
|
-
execFileSync('git', ['init', '-q', '-b', 'main'], { cwd: dir });
|
|
34
|
-
const link = flag('link');
|
|
35
|
-
if (link)
|
|
36
|
-
symlinkSync(resolve(link), join(dir, 'node_modules'));
|
|
37
|
-
else if (!args.includes('--no-install')) {
|
|
38
|
-
const r = spawnSync('pnpm', ['install'], { cwd: dir, stdio: 'inherit' });
|
|
39
|
-
if (r.status !== 0)
|
|
40
|
-
process.stderr.write('依赖安装失败,请稍后在项目中手动运行 pnpm install\n');
|
|
41
|
-
}
|
|
42
|
-
const ctl = join(dir, 'node_modules', '.bin', 'ctl');
|
|
43
|
-
if (existsSync(ctl))
|
|
44
|
-
spawnSync(ctl, ['sync-agents'], { cwd: dir, stdio: 'inherit' });
|
|
45
|
-
process.stdout.write([
|
|
46
|
-
`已创建 ${dir}`,
|
|
47
|
-
'下一步:',
|
|
48
|
-
' npx ctl run check --all # 新项目应直接通过',
|
|
49
|
-
' 首次推送时,门禁会要求确认全部 control 内容:由人在自己的终端运行它给出的 npx ctl approve <请求 id>',
|
|
50
|
-
'',
|
|
51
|
-
].join('\n'));
|
|
52
|
-
//# sourceMappingURL=bin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Windows 的 .cmd shim 会经过命令解释器;给引号、转义和 shim 前缀保留余量。
|
|
3
|
-
* 所有平台共用该预算,使长列表行为可重复测试。
|
|
4
|
-
*/
|
|
5
|
-
export declare const FILE_TOOL_COMMAND_BUDGET = 6000;
|
|
6
|
-
export declare function estimateCommandSize(command: string, args: string[]): number;
|
|
7
|
-
/**
|
|
8
|
-
* 保持原顺序把文件参数拆成可安全启动的批次。
|
|
9
|
-
* 固定参数或单个文件无法放入空批时直接拒绝,避免工具收到截断列表。
|
|
10
|
-
*/
|
|
11
|
-
export declare function splitFileArguments(command: string, fixedArgs: string[], files: string[], budget?: number): string[][];
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Windows 的 .cmd shim 会经过命令解释器;给引号、转义和 shim 前缀保留余量。
|
|
3
|
-
* 所有平台共用该预算,使长列表行为可重复测试。
|
|
4
|
-
*/
|
|
5
|
-
export const FILE_TOOL_COMMAND_BUDGET = 6_000;
|
|
6
|
-
const SHELL_OVERHEAD = 128;
|
|
7
|
-
/** 按 UTF-8 字节数的两倍保守估算参数经 shell 引号与转义后的占用。 */
|
|
8
|
-
function estimateArgumentSize(value) {
|
|
9
|
-
return Buffer.byteLength(value, 'utf8') * 2 + 8;
|
|
10
|
-
}
|
|
11
|
-
export function estimateCommandSize(command, args) {
|
|
12
|
-
return [command, ...args].reduce((size, value) => size + estimateArgumentSize(value), SHELL_OVERHEAD);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 保持原顺序把文件参数拆成可安全启动的批次。
|
|
16
|
-
* 固定参数或单个文件无法放入空批时直接拒绝,避免工具收到截断列表。
|
|
17
|
-
*/
|
|
18
|
-
export function splitFileArguments(command, fixedArgs, files, budget = FILE_TOOL_COMMAND_BUDGET) {
|
|
19
|
-
if (!Number.isSafeInteger(budget) || budget <= 0)
|
|
20
|
-
throw new Error(`无效的命令参数安全预算:${budget}`);
|
|
21
|
-
const fixedSize = estimateCommandSize(command, fixedArgs);
|
|
22
|
-
if (fixedSize > budget)
|
|
23
|
-
throw new Error(`工具固定参数超过安全预算:${command}`);
|
|
24
|
-
if (files.length === 0)
|
|
25
|
-
return [[]];
|
|
26
|
-
const batches = [];
|
|
27
|
-
let batch = [];
|
|
28
|
-
for (const file of files) {
|
|
29
|
-
if (estimateCommandSize(command, [...fixedArgs, file]) > budget) {
|
|
30
|
-
throw new Error(`单个文件参数超过安全预算:${file}`);
|
|
31
|
-
}
|
|
32
|
-
if (batch.length > 0 && estimateCommandSize(command, [...fixedArgs, ...batch, file]) > budget) {
|
|
33
|
-
batches.push(batch);
|
|
34
|
-
batch = [];
|
|
35
|
-
}
|
|
36
|
-
batch.push(file);
|
|
37
|
-
}
|
|
38
|
-
batches.push(batch);
|
|
39
|
-
return batches;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=tool-batches.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-batches.js","sourceRoot":"","sources":["../src/tool-batches.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,6CAA6C;AAC7C,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,IAAc;IACjE,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;AACxG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,SAAmB,EAAE,KAAe,EAAE,MAAM,GAAG,wBAAwB;IACzH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAG,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC"}
|