@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.
- package/README.md +27 -25
- package/dist/adapters.d.ts +24 -3
- package/dist/adapters.js +101 -15
- package/dist/adapters.js.map +1 -1
- package/dist/agent-hooks.d.ts +18 -0
- package/dist/agent-hooks.js +144 -5
- package/dist/agent-hooks.js.map +1 -1
- package/dist/agents.js +36 -3
- package/dist/agents.js.map +1 -1
- package/dist/cli.d.ts +3 -1
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/context.d.ts +27 -0
- package/dist/context.js +28 -10
- package/dist/context.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/instructions.js +4 -4
- package/dist/instructions.js.map +1 -1
- package/dist/task.d.ts +1 -0
- package/dist/task.js +170 -0
- package/dist/task.js.map +1 -0
- package/node_modules/@sumi/create/dist/bin.d.ts +2 -0
- package/node_modules/@sumi/create/dist/bin.js +52 -0
- package/node_modules/@sumi/create/dist/bin.js.map +1 -0
- package/node_modules/@sumi/create/package.json +1 -1
- package/node_modules/@sumi/kernel/dist/config.d.ts +5 -0
- package/node_modules/@sumi/kernel/dist/config.js +16 -0
- package/node_modules/@sumi/kernel/dist/config.js.map +1 -1
- package/node_modules/@sumi/kernel/dist/engine.js +1 -0
- package/node_modules/@sumi/kernel/dist/engine.js.map +1 -1
- package/node_modules/@sumi/kernel/dist/registry.d.ts +2 -0
- package/node_modules/@sumi/kernel/dist/registry.js +15 -1
- package/node_modules/@sumi/kernel/dist/registry.js.map +1 -1
- package/node_modules/@sumi/kernel/package.json +2 -2
- package/node_modules/@sumi/plugin-sdk/README.md +62 -36
- package/node_modules/@sumi/plugin-sdk/dist/index.d.ts +1 -0
- package/node_modules/@sumi/plugin-sdk/dist/index.js +1 -0
- package/node_modules/@sumi/plugin-sdk/dist/index.js.map +1 -1
- package/node_modules/@sumi/plugin-sdk/dist/protocol.d.ts +64 -1
- package/node_modules/@sumi/plugin-sdk/dist/protocol.js +17 -0
- package/node_modules/@sumi/plugin-sdk/dist/protocol.js.map +1 -1
- package/node_modules/@sumi/plugin-sdk/dist/rules.d.ts +1 -4
- package/node_modules/@sumi/plugin-sdk/dist/rules.js.map +1 -1
- package/node_modules/@sumi/plugin-sdk/dist/session-context.d.ts +7 -0
- package/node_modules/@sumi/plugin-sdk/dist/session-context.js +62 -0
- package/node_modules/@sumi/plugin-sdk/dist/session-context.js.map +1 -0
- package/node_modules/@sumi/plugin-sdk/dist/validate.js +51 -2
- package/node_modules/@sumi/plugin-sdk/dist/validate.js.map +1 -1
- package/node_modules/@sumi/plugin-sdk/package.json +1 -1
- package/node_modules/@sumi/plugins-core/README.md +14 -12
- package/node_modules/@sumi/plugins-core/dist/plugins/exec.js +7 -2
- package/node_modules/@sumi/plugins-core/dist/plugins/exec.js.map +1 -1
- package/node_modules/@sumi/plugins-core/dist/plugins/test-affected.js +12 -3
- package/node_modules/@sumi/plugins-core/dist/plugins/test-affected.js.map +1 -1
- package/node_modules/@sumi/plugins-core/dist/test-scope.d.ts +1 -1
- package/node_modules/@sumi/plugins-core/dist/test-scope.js +12 -6
- package/node_modules/@sumi/plugins-core/dist/test-scope.js.map +1 -1
- package/node_modules/@sumi/plugins-core/dist/tool-batches.d.ts +11 -0
- package/node_modules/@sumi/plugins-core/dist/tool-batches.js +41 -0
- package/node_modules/@sumi/plugins-core/dist/tool-batches.js.map +1 -0
- package/node_modules/@sumi/plugins-core/dist/vitest-runner.js +129 -5
- package/node_modules/@sumi/plugins-core/dist/vitest-runner.js.map +1 -1
- package/node_modules/@sumi/plugins-core/instructions/bugfix.md +9 -0
- package/node_modules/@sumi/plugins-core/instructions/feature.md +9 -0
- package/node_modules/@sumi/plugins-core/package.json +4 -4
- package/node_modules/@sumi/plugins-core/sumi-plugins.yaml +2 -1
- package/node_modules/@sumi/plugins-governance/README.md +10 -9
- package/node_modules/@sumi/plugins-governance/dist/checkout.d.ts +12 -2
- package/node_modules/@sumi/plugins-governance/dist/checkout.js +40 -3
- package/node_modules/@sumi/plugins-governance/dist/checkout.js.map +1 -1
- package/node_modules/@sumi/plugins-governance/dist/commands/gate.js +6 -2
- package/node_modules/@sumi/plugins-governance/dist/commands/gate.js.map +1 -1
- package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js +1 -1
- package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js.map +1 -1
- package/node_modules/@sumi/plugins-governance/dist/gate-cache.d.ts +25 -0
- package/node_modules/@sumi/plugins-governance/dist/gate-cache.js +83 -0
- package/node_modules/@sumi/plugins-governance/dist/gate-cache.js.map +1 -0
- package/node_modules/@sumi/plugins-governance/dist/hooks.d.ts +2 -0
- package/node_modules/@sumi/plugins-governance/dist/hooks.js +4 -0
- package/node_modules/@sumi/plugins-governance/dist/hooks.js.map +1 -0
- package/node_modules/@sumi/plugins-governance/dist/protected.d.ts +1 -0
- package/node_modules/@sumi/plugins-governance/instructions/push.md +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-openspec/sumi-plugins.yaml +2 -0
- package/node_modules/@sumi/plugins-precedent/README.md +8 -0
- package/node_modules/@sumi/plugins-precedent/dist/after-edit-context.d.ts +28 -0
- package/node_modules/@sumi/plugins-precedent/dist/after-edit-context.js +204 -0
- package/node_modules/@sumi/plugins-precedent/dist/after-edit-context.js.map +1 -0
- package/node_modules/@sumi/plugins-precedent/dist/commands/after-edit-context.d.ts +1 -0
- package/node_modules/@sumi/plugins-precedent/dist/commands/after-edit-context.js +13 -0
- package/node_modules/@sumi/plugins-precedent/dist/commands/after-edit-context.js.map +1 -0
- package/node_modules/@sumi/plugins-precedent/dist/commands/before-edit-context.d.ts +1 -0
- package/node_modules/@sumi/plugins-precedent/dist/commands/before-edit-context.js +10 -0
- package/node_modules/@sumi/plugins-precedent/dist/commands/before-edit-context.js.map +1 -0
- package/node_modules/@sumi/plugins-precedent/dist/commands/context.js +15 -5
- package/node_modules/@sumi/plugins-precedent/dist/commands/context.js.map +1 -1
- package/node_modules/@sumi/plugins-precedent/dist/commands/on-prompt-context.d.ts +1 -0
- package/node_modules/@sumi/plugins-precedent/dist/commands/on-prompt-context.js +55 -0
- package/node_modules/@sumi/plugins-precedent/dist/commands/on-prompt-context.js.map +1 -0
- package/node_modules/@sumi/plugins-precedent/dist/model.d.ts +2 -0
- package/node_modules/@sumi/plugins-precedent/dist/model.js.map +1 -1
- package/node_modules/@sumi/plugins-precedent/package.json +3 -3
- package/node_modules/@sumi/plugins-precedent/sumi-plugins.yaml +29 -0
- package/node_modules/@sumi/plugins-review/dist/commands/context.js +18 -3
- package/node_modules/@sumi/plugins-review/dist/commands/context.js.map +1 -1
- package/node_modules/@sumi/plugins-review/dist/review.d.ts +1 -0
- package/node_modules/@sumi/plugins-review/dist/review.js.map +1 -1
- package/node_modules/@sumi/plugins-review/package.json +3 -3
- package/package.json +10 -10
- package/node_modules/@sumi/kernel/test/fixtures/fake-plugin.mjs +0 -44
- package/node_modules/@sumi/kernel/test/fixtures/py-plugin.py +0 -3
- package/node_modules/@sumi/plugin-sdk/test/isolate-tmpdir.ts +0 -27
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fantasticit/sumi",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.6",
|
|
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.6",
|
|
17
|
+
"@sumi/kernel": "0.7.6",
|
|
18
|
+
"@sumi/plugin-sdk": "0.7.6",
|
|
19
|
+
"@sumi/plugins-core": "0.7.6",
|
|
20
|
+
"@sumi/plugins-governance": "0.7.6",
|
|
21
|
+
"@sumi/plugins-openspec": "0.7.6",
|
|
22
|
+
"@sumi/plugins-precedent": "0.7.6",
|
|
23
|
+
"@sumi/plugins-review": "0.7.6",
|
|
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:830ed000d447608463cbea2555b5ba350c9dc3e1daee309288bbb1b64c409b01"
|
|
46
46
|
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// 测试用插件:行为由步骤配置 with 决定。
|
|
2
|
-
import { spawn } from 'node:child_process';
|
|
3
|
-
import { writeFileSync } from 'node:fs';
|
|
4
|
-
|
|
5
|
-
let input = '';
|
|
6
|
-
for await (const chunk of process.stdin) input += chunk;
|
|
7
|
-
const ctx = JSON.parse(input);
|
|
8
|
-
const c = ctx.config;
|
|
9
|
-
if (c.touch) writeFileSync(`${ctx.repoRoot}/${c.touch}`, String(Date.now()));
|
|
10
|
-
if (c.assertNoGitEnv) {
|
|
11
|
-
// hook 中 git 导出的变量指向当前仓库,插件看到它们就可能把操作写进错误的仓库。
|
|
12
|
-
const leaked = ['GIT_DIR', 'GIT_INDEX_FILE', 'GIT_WORK_TREE'].filter((v) => process.env[v] !== undefined);
|
|
13
|
-
if (leaked.length) {
|
|
14
|
-
c.status = 'fail';
|
|
15
|
-
c.summary = `泄漏:${leaked.join(',')}`;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
if (c.orphan) {
|
|
19
|
-
const child = spawn(process.execPath, ['-e', 'setTimeout(() => {}, 30000)'], { stdio: 'ignore' });
|
|
20
|
-
writeFileSync(`${ctx.evidenceDir}/orphan.pid`, String(child.pid));
|
|
21
|
-
child.unref();
|
|
22
|
-
}
|
|
23
|
-
if (c.sleep) await new Promise((r) => setTimeout(r, c.sleep * 1000));
|
|
24
|
-
if (c.raw !== undefined) {
|
|
25
|
-
process.stdout.write(c.raw);
|
|
26
|
-
process.exit(c.exit ?? 0);
|
|
27
|
-
}
|
|
28
|
-
const status = c.status ?? 'pass';
|
|
29
|
-
const result = {
|
|
30
|
-
status,
|
|
31
|
-
summary: c.summary ?? `${ctx.stepId} ${status}`,
|
|
32
|
-
findings: c.findings ?? [],
|
|
33
|
-
checked: ctx.files,
|
|
34
|
-
evidence: [],
|
|
35
|
-
next: c.next,
|
|
36
|
-
metrics: c.metrics,
|
|
37
|
-
plan: c.plan,
|
|
38
|
-
report: c.report,
|
|
39
|
-
obligations: ctx.obligations.map((o) => ({ id: o.id, outcome: (c.receipts ?? {})[o.id] ?? 'passed' })),
|
|
40
|
-
};
|
|
41
|
-
if (c.echoFiles) result.summary = ctx.files.join(',');
|
|
42
|
-
process.stdout.write(JSON.stringify(result));
|
|
43
|
-
process.exitCode = c.exit ?? (status === 'pass' ? 0 : status === 'fail' ? 1 : 2);
|
|
44
|
-
if (c.signal) process.kill(process.pid, c.signal);
|
|
@@ -1,27 +0,0 @@
|
|
|
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
|
-
});
|