@fantasticit/sumi 0.6.1 → 0.7.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.
- package/README.md +3 -1
- package/dist/agents.js +1 -1
- package/dist/agents.js.map +1 -1
- package/dist/cli.d.ts +10 -1
- package/dist/cli.js +26 -5
- package/dist/cli.js.map +1 -1
- package/dist/fix.js +1 -1
- package/dist/fix.js.map +1 -1
- package/dist/launcher.cjs +23 -3
- package/dist/launcher.d.ts +10 -1
- package/dist/launcher.js +24 -4
- package/dist/launcher.js.map +1 -1
- package/dist/scaffold-commands.js +2 -2
- package/dist/scaffold-commands.js.map +1 -1
- package/dist/vendor.js +1 -1
- package/dist/vendor.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/README.md +17 -16
- package/node_modules/@sumi/plugin-sdk/dist/command-args.d.ts +22 -0
- package/node_modules/@sumi/plugin-sdk/dist/command-args.js +44 -0
- package/node_modules/@sumi/plugin-sdk/dist/command-args.js.map +1 -0
- 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/package.json +1 -1
- package/node_modules/@sumi/plugins-core/README.md +1 -1
- package/node_modules/@sumi/plugins-core/dist/commands/adopt.js +3 -1
- package/node_modules/@sumi/plugins-core/dist/commands/adopt.js.map +1 -1
- package/node_modules/@sumi/plugins-core/dist/commands/baseline.js +4 -2
- package/node_modules/@sumi/plugins-core/dist/commands/baseline.js.map +1 -1
- package/node_modules/@sumi/plugins-core/dist/plugins/coverage.js +57 -5
- package/node_modules/@sumi/plugins-core/dist/plugins/coverage.js.map +1 -1
- package/node_modules/@sumi/plugins-core/package.json +2 -2
- package/node_modules/@sumi/plugins-governance/README.md +18 -8
- package/node_modules/@sumi/plugins-governance/dist/commands/approve.js +2 -0
- package/node_modules/@sumi/plugins-governance/dist/commands/approve.js.map +1 -1
- package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js +24 -20
- package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js.map +1 -1
- package/node_modules/@sumi/plugins-governance/dist/commands/unlock.js +2 -0
- package/node_modules/@sumi/plugins-governance/dist/commands/unlock.js.map +1 -1
- package/node_modules/@sumi/plugins-governance/dist/pr-report-publish.d.ts +48 -0
- package/node_modules/@sumi/plugins-governance/dist/pr-report-publish.js +181 -0
- package/node_modules/@sumi/plugins-governance/dist/pr-report-publish.js.map +1 -0
- package/node_modules/@sumi/plugins-governance/dist/pr-report-status.js +4 -1
- package/node_modules/@sumi/plugins-governance/dist/pr-report-status.js.map +1 -1
- package/node_modules/@sumi/plugins-governance/instructions/push.md +1 -0
- package/node_modules/@sumi/plugins-governance/package.json +2 -2
- package/node_modules/@sumi/plugins-governance/sumi-plugins.yaml +5 -1
- package/node_modules/@sumi/plugins-openspec/package.json +2 -2
- package/node_modules/@sumi/plugins-precedent/dist/commands/promote.js +5 -0
- package/node_modules/@sumi/plugins-precedent/dist/commands/promote.js.map +1 -1
- package/node_modules/@sumi/plugins-precedent/package.json +3 -3
- package/node_modules/@sumi/plugins-review/dist/commands/submit.js +2 -0
- package/node_modules/@sumi/plugins-review/dist/commands/submit.js.map +1 -1
- package/node_modules/@sumi/plugins-review/package.json +3 -3
- package/package.json +10 -10
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { CommandResult } from './pr-report-status.js';
|
|
2
|
+
/** gh pr comment 单次最多接受的附件数。 */
|
|
3
|
+
export declare const MAX_ATTACHMENTS = 50;
|
|
4
|
+
export declare const PR_REPORT_USAGE = "\u7528\u6CD5\uFF1Asumi pr-report <PR \u53F7> [--attach <\u6587\u4EF6>[#\u8BF4\u660E]]...";
|
|
5
|
+
export interface PrReportArgs {
|
|
6
|
+
pr: string;
|
|
7
|
+
attach: string[];
|
|
8
|
+
}
|
|
9
|
+
/** 解析 pr-report 的参数:一个 PR 号,任意个 --attach <值> / --attach=<值>,位置不限。出错时返回错误说明。 */
|
|
10
|
+
export declare function parsePrReportArgs(argv: string[]): PrReportArgs | {
|
|
11
|
+
error: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* 调用者所在目录。插件命令由 CLI 在项目根目录下启动,调用者的目录只能从 shell 维护的 PWD 得知;
|
|
15
|
+
* PWD 缺失、不是目录或不在项目根目录之内(调用者目录一定在根目录之内,否则 CLI 找不到项目)时退回根目录。
|
|
16
|
+
*/
|
|
17
|
+
export declare function callerDir(root: string, env?: NodeJS.ProcessEnv): string;
|
|
18
|
+
/**
|
|
19
|
+
* 校验附件并转为 gh 可用的参数值:路径按 cwd 解析为绝对路径,保留 `#说明`。
|
|
20
|
+
* 与 gh 的解析一致:整串本身是存在的文件时以整串为路径,否则以最后一个 `#` 之前的部分为路径。
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveAttachments(specs: string[], cwd: string): {
|
|
23
|
+
attach: string[];
|
|
24
|
+
} | {
|
|
25
|
+
error: string;
|
|
26
|
+
};
|
|
27
|
+
export type GhRunner = (args: string[]) => CommandResult;
|
|
28
|
+
export declare function ghRunner(cwd: string): GhRunner;
|
|
29
|
+
export type PublishResult = {
|
|
30
|
+
ok: true;
|
|
31
|
+
action: 'created' | 'updated' | 'replaced';
|
|
32
|
+
attachments: number;
|
|
33
|
+
warning?: string;
|
|
34
|
+
} | {
|
|
35
|
+
ok: false;
|
|
36
|
+
message: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* 发布报告评论。无附件时:已有报告评论则原地更新,否则新建。
|
|
40
|
+
* 有附件时:编辑评论无法上传附件,因此总是用 gh pr comment --attach 新建;已有报告评论时新建成功后再删除全部旧报告评论,
|
|
41
|
+
* 新建失败则旧报告保留;删除失败不影响已发布的新报告,返回警告。
|
|
42
|
+
*/
|
|
43
|
+
export declare function publishReport(options: {
|
|
44
|
+
pr: string;
|
|
45
|
+
bodyFile: string;
|
|
46
|
+
attach: string[];
|
|
47
|
+
gh: GhRunner;
|
|
48
|
+
}): PublishResult;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { realpathSync, statSync } from 'node:fs';
|
|
2
|
+
import { isAbsolute, relative, resolve } from 'node:path';
|
|
3
|
+
import { spawnCommandSync } from '@sumi/plugin-sdk';
|
|
4
|
+
import { PR_REPORT_MARKER } from './pr-report-markers.js';
|
|
5
|
+
/** gh pr comment 单次最多接受的附件数。 */
|
|
6
|
+
export const MAX_ATTACHMENTS = 50;
|
|
7
|
+
export const PR_REPORT_USAGE = '用法:sumi pr-report <PR 号> [--attach <文件>[#说明]]...';
|
|
8
|
+
/** 解析 pr-report 的参数:一个 PR 号,任意个 --attach <值> / --attach=<值>,位置不限。出错时返回错误说明。 */
|
|
9
|
+
export function parsePrReportArgs(argv) {
|
|
10
|
+
const attach = [];
|
|
11
|
+
let pr;
|
|
12
|
+
for (let i = 0; i < argv.length; i++) {
|
|
13
|
+
const arg = argv[i];
|
|
14
|
+
if (arg === '--attach') {
|
|
15
|
+
const value = argv[i + 1];
|
|
16
|
+
if (value === undefined || value === '' || value.startsWith('--'))
|
|
17
|
+
return { error: `--attach 缺少文件\n${PR_REPORT_USAGE}` };
|
|
18
|
+
attach.push(value);
|
|
19
|
+
i++;
|
|
20
|
+
}
|
|
21
|
+
else if (arg.startsWith('--attach=')) {
|
|
22
|
+
const value = arg.slice('--attach='.length);
|
|
23
|
+
if (!value)
|
|
24
|
+
return { error: `--attach 缺少文件\n${PR_REPORT_USAGE}` };
|
|
25
|
+
attach.push(value);
|
|
26
|
+
}
|
|
27
|
+
else if (arg.startsWith('-')) {
|
|
28
|
+
return { error: `未知参数:${arg}\n${PR_REPORT_USAGE}` };
|
|
29
|
+
}
|
|
30
|
+
else if (pr === undefined && /^\d+$/.test(arg)) {
|
|
31
|
+
pr = arg;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return { error: `${pr === undefined ? '无效的 PR 号' : '多余的参数'}:${arg}\n${PR_REPORT_USAGE}` };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (pr === undefined)
|
|
38
|
+
return { error: PR_REPORT_USAGE };
|
|
39
|
+
return { pr, attach };
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 调用者所在目录。插件命令由 CLI 在项目根目录下启动,调用者的目录只能从 shell 维护的 PWD 得知;
|
|
43
|
+
* PWD 缺失、不是目录或不在项目根目录之内(调用者目录一定在根目录之内,否则 CLI 找不到项目)时退回根目录。
|
|
44
|
+
*/
|
|
45
|
+
export function callerDir(root, env = process.env) {
|
|
46
|
+
const pwd = env.PWD;
|
|
47
|
+
if (!pwd || !isAbsolute(pwd))
|
|
48
|
+
return root;
|
|
49
|
+
try {
|
|
50
|
+
if (!statSync(pwd).isDirectory())
|
|
51
|
+
return root;
|
|
52
|
+
const rel = relative(realpathSync(root), realpathSync(pwd));
|
|
53
|
+
return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel)) ? pwd : root;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return root;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function fileKind(path) {
|
|
60
|
+
try {
|
|
61
|
+
const stat = statSync(path);
|
|
62
|
+
if (!stat.isFile())
|
|
63
|
+
return 'other';
|
|
64
|
+
return stat.size === 0 ? 'empty' : 'file';
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return 'missing';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 校验附件并转为 gh 可用的参数值:路径按 cwd 解析为绝对路径,保留 `#说明`。
|
|
72
|
+
* 与 gh 的解析一致:整串本身是存在的文件时以整串为路径,否则以最后一个 `#` 之前的部分为路径。
|
|
73
|
+
*/
|
|
74
|
+
export function resolveAttachments(specs, cwd) {
|
|
75
|
+
if (specs.length > MAX_ATTACHMENTS)
|
|
76
|
+
return { error: `附件最多 ${MAX_ATTACHMENTS} 个,当前 ${specs.length} 个` };
|
|
77
|
+
const attach = [];
|
|
78
|
+
for (const spec of specs) {
|
|
79
|
+
const whole = resolve(cwd, spec);
|
|
80
|
+
let path = whole;
|
|
81
|
+
let alt = '';
|
|
82
|
+
const hash = spec.lastIndexOf('#');
|
|
83
|
+
if (fileKind(whole) === 'missing' && hash > 0) {
|
|
84
|
+
path = resolve(cwd, spec.slice(0, hash));
|
|
85
|
+
alt = spec.slice(hash);
|
|
86
|
+
}
|
|
87
|
+
const kind = fileKind(path);
|
|
88
|
+
if (kind === 'missing')
|
|
89
|
+
return { error: `附件不存在:${spec}(解析为 ${path})` };
|
|
90
|
+
if (kind === 'other')
|
|
91
|
+
return { error: `附件不是普通文件:${spec}(解析为 ${path})` };
|
|
92
|
+
if (kind === 'empty')
|
|
93
|
+
return { error: `附件是空文件:${spec}(解析为 ${path})` };
|
|
94
|
+
attach.push(`${path}${alt}`);
|
|
95
|
+
}
|
|
96
|
+
return { attach };
|
|
97
|
+
}
|
|
98
|
+
export function ghRunner(cwd) {
|
|
99
|
+
return (args) => {
|
|
100
|
+
const r = spawnCommandSync('gh', args, { cwd, encoding: 'utf8', windowsHide: true });
|
|
101
|
+
return { status: r.status, stdout: r.stdout ?? '', stderr: r.stderr ?? '', error: r.error };
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
const GH_MISSING = '未找到 gh:PR 报告通过 GitHub CLI 读写 PR,请安装并登录 gh(gh auth login)';
|
|
105
|
+
function failure(args, r) {
|
|
106
|
+
if (r.error)
|
|
107
|
+
return GH_MISSING;
|
|
108
|
+
return `gh ${args.slice(0, 2).join(' ')} 失败:${r.stderr.trim()}`;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* 已有的报告评论 id,按创建先后(id 递增)排序。正常只有一条;带附件重新发布时删除失败会残留多条,
|
|
112
|
+
* 此时最新一条是更新目标(与 pr-report-check 在没有绑定当前 head 的报告时取最新一条一致)。
|
|
113
|
+
*/
|
|
114
|
+
function existingReports(gh, pr) {
|
|
115
|
+
const args = [
|
|
116
|
+
'api',
|
|
117
|
+
`repos/{owner}/{repo}/issues/${pr}/comments`,
|
|
118
|
+
'--paginate',
|
|
119
|
+
'--jq',
|
|
120
|
+
`.[] | select(.body | startswith("${PR_REPORT_MARKER}")) | .id`,
|
|
121
|
+
];
|
|
122
|
+
const r = gh(args);
|
|
123
|
+
if (r.error || r.status !== 0)
|
|
124
|
+
return { error: failure(args, r) };
|
|
125
|
+
const ids = r.stdout
|
|
126
|
+
.trim()
|
|
127
|
+
.split('\n')
|
|
128
|
+
.map((id) => id.trim())
|
|
129
|
+
.filter((id) => /^\d+$/.test(id));
|
|
130
|
+
ids.sort((a, b) => (BigInt(a) < BigInt(b) ? -1 : BigInt(a) > BigInt(b) ? 1 : 0));
|
|
131
|
+
return { ids };
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* 发布报告评论。无附件时:已有报告评论则原地更新,否则新建。
|
|
135
|
+
* 有附件时:编辑评论无法上传附件,因此总是用 gh pr comment --attach 新建;已有报告评论时新建成功后再删除全部旧报告评论,
|
|
136
|
+
* 新建失败则旧报告保留;删除失败不影响已发布的新报告,返回警告。
|
|
137
|
+
*/
|
|
138
|
+
export function publishReport(options) {
|
|
139
|
+
const { pr, bodyFile, attach, gh } = options;
|
|
140
|
+
const found = existingReports(gh, pr);
|
|
141
|
+
if ('error' in found)
|
|
142
|
+
return { ok: false, message: found.error };
|
|
143
|
+
const existing = found.ids.at(-1);
|
|
144
|
+
if (!attach.length && existing) {
|
|
145
|
+
const args = ['api', '-X', 'PATCH', `repos/{owner}/{repo}/issues/comments/${existing}`, '-F', `body=@${bodyFile}`];
|
|
146
|
+
const r = gh(args);
|
|
147
|
+
if (r.error || r.status !== 0)
|
|
148
|
+
return { ok: false, message: failure(args, r) };
|
|
149
|
+
return { ok: true, action: 'updated', attachments: 0 };
|
|
150
|
+
}
|
|
151
|
+
const args = ['pr', 'comment', pr, '--body-file', bodyFile, ...attach.flatMap((a) => ['--attach', a])];
|
|
152
|
+
const created = gh(args);
|
|
153
|
+
if (created.error || created.status !== 0) {
|
|
154
|
+
if (attach.length && !created.error && /unknown flag/i.test(created.stderr)) {
|
|
155
|
+
return {
|
|
156
|
+
ok: false,
|
|
157
|
+
message: `当前 gh 不支持 --attach:需要 gh ≥ 2.100 才能附加文件,请升级 gh(${created.stderr.trim()})${existing ? ';已有报告评论未改动' : ''}`,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
return { ok: false, message: `${failure(args, created)}${existing ? ';已有报告评论未改动' : ''}` };
|
|
161
|
+
}
|
|
162
|
+
if (!existing)
|
|
163
|
+
return { ok: true, action: 'created', attachments: attach.length };
|
|
164
|
+
// 新报告已发布:删除全部旧报告评论(含此前删除失败的残留),失败的列出供手动删除
|
|
165
|
+
const failed = [];
|
|
166
|
+
for (const id of found.ids) {
|
|
167
|
+
const removed = gh(['api', '-X', 'DELETE', `repos/{owner}/{repo}/issues/comments/${id}`]);
|
|
168
|
+
if (removed.error || removed.status !== 0)
|
|
169
|
+
failed.push(`${id}(${removed.error ? GH_MISSING : removed.stderr.trim()})`);
|
|
170
|
+
}
|
|
171
|
+
if (failed.length) {
|
|
172
|
+
return {
|
|
173
|
+
ok: true,
|
|
174
|
+
action: 'replaced',
|
|
175
|
+
attachments: attach.length,
|
|
176
|
+
warning: `新报告已发布,但删除旧报告评论失败:${failed.join(';')}。请在 PR 页面手动删除这些评论`,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
return { ok: true, action: 'replaced', attachments: attach.length };
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=pr-report-publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-report-publish.js","sourceRoot":"","sources":["../src/pr-report-publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,7 +83,10 @@ export function checkPrReportStatus(root, run = defaultRunner) {
|
|
|
83
83
|
if (head !== prHead) {
|
|
84
84
|
return block(`PR #${pr.number} 的头提交是 ${prHead.slice(0, 8)},本地 HEAD 是 ${head.slice(0, 8)}。请先推送当前提交或切回 PR 头提交`, pr.number);
|
|
85
85
|
}
|
|
86
|
-
|
|
86
|
+
// 通常只有一条报告;带附件重新发布时若删除旧评论失败会残留多条,此时以绑定当前 head 的那条为准,
|
|
87
|
+
// 都不绑定时取最新一条(评论按时间升序返回;与 pr-report 更新最新一条的口径一致)
|
|
88
|
+
const reports = (pr.comments ?? []).map((comment) => comment.body ?? '').filter(isPrReport);
|
|
89
|
+
const report = reports.find((body) => prReportHead(body) === prHead) ?? reports.at(-1);
|
|
87
90
|
if (!report)
|
|
88
91
|
return block(`PR #${pr.number} 缺少 Sumi 审查报告。请运行:${PROJECT_SUMI} pr-report ${pr.number}`, pr.number);
|
|
89
92
|
const reportHead = prReportHead(report);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-report-status.js","sourceRoot":"","sources":["../src/pr-report-status.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pr-report-status.js","sourceRoot":"","sources":["../src/pr-report-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,5 +16,6 @@ description: 推送前使用:按推送门禁的档位在工作区运行检查
|
|
|
16
16
|
- 命令提示有待处理项时,按提示在工作区运行给出的命令(带 `--base <合并基础>`)完成评审,再重新运行;
|
|
17
17
|
- 只有报告成功发布并绑定当前 PR head 后才可宣告 PR 工作流完成;报告缺失、过期或发布失败时不得结束;
|
|
18
18
|
- PR 头提交变化后,旧报告立即过期,必须对新 head 重新运行 `sumi pr-report`;
|
|
19
|
+
- 只在用户要求或确有必要(例如需要展示 UI 改动效果)时用 `--attach <文件>[#说明]` 附加截图或录屏,需要 gh ≥ 2.100;
|
|
19
20
|
- Claude Code、Codex 与 Cursor 的停止阶段 hook 会只读复查当前 PR head 的报告;它不会代替代理发布,但会在缺失或过期时强制继续处理。
|
|
20
21
|
6. 不要替用户运行 `sumi approve` 或 `sumi unlock`,不要用 `--no-verify`、`HUSKY=0` 等方式绕过 hook。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sumi/plugins-governance",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
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.
|
|
16
|
+
"@sumi/plugin-sdk": "0.7.0",
|
|
17
17
|
"yaml": "2.9.1",
|
|
18
18
|
"picomatch": "4.0.7"
|
|
19
19
|
},
|
|
@@ -15,7 +15,11 @@ plugins:
|
|
|
15
15
|
- { name: approve, argv: [node, ./dist/commands/approve.js], description: 人工确认待确认请求(需要交互式终端) }
|
|
16
16
|
- { name: unlock, argv: [node, ./dist/commands/unlock.js], description: 由人开启 control 编辑窗口(需要交互式终端) }
|
|
17
17
|
- { name: guard, argv: [node, ./dist/commands/guard.js], description: AI 工具前置 hook 的拦截命令 }
|
|
18
|
-
- {
|
|
18
|
+
- {
|
|
19
|
+
name: pr-report,
|
|
20
|
+
argv: [node, ./dist/commands/pr-report.js],
|
|
21
|
+
description: 把 PR 范围的检查与评审结论发布为 PR 评论,可用 --attach 附加图片或视频(需要 gh),
|
|
22
|
+
}
|
|
19
23
|
- {
|
|
20
24
|
name: pr-report-check,
|
|
21
25
|
argv: [node, ./dist/commands/pr-report-check.js],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sumi/plugins-openspec",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
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.
|
|
16
|
+
"@sumi/plugin-sdk": "0.7.0"
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"dist",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
+
import { guardCommandArgs } from '@sumi/plugin-sdk';
|
|
3
4
|
import { stringify } from 'yaml';
|
|
4
5
|
import { readCandidates, writeCandidates } from '../candidates.js';
|
|
5
6
|
import { readRegistry, REGISTRY_FILE } from '../model.js';
|
|
@@ -10,6 +11,10 @@ import { readRegistry, REGISTRY_FILE } from '../model.js';
|
|
|
10
11
|
*/
|
|
11
12
|
const root = process.env.SUMI_ROOT ?? process.cwd();
|
|
12
13
|
const args = process.argv.slice(2);
|
|
14
|
+
guardCommandArgs(args, {
|
|
15
|
+
usage: '用法:sumi promote <kebab-case id> --type <checker|test|lint-rule|rubric-item> [--candidate <候选 id> --change <名称>] [--spec <cap#需求>] [--adr <路径>] [--from <运行#步骤/finding>]',
|
|
16
|
+
options: ['type', 'candidate', 'change', 'spec', 'adr', 'from'],
|
|
17
|
+
});
|
|
13
18
|
const flag = (name) => {
|
|
14
19
|
const i = args.indexOf(`--${name}`);
|
|
15
20
|
return i >= 0 ? args[i + 1] : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promote.js","sourceRoot":"","sources":["../../src/commands/promote.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"promote.js","sourceRoot":"","sources":["../../src/commands/promote.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sumi/plugins-precedent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
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.
|
|
16
|
+
"@sumi/plugin-sdk": "0.7.0",
|
|
17
17
|
"yaml": "2.9.1",
|
|
18
18
|
"picomatch": "4.0.7",
|
|
19
|
-
"@sumi/plugins-governance": "0.
|
|
19
|
+
"@sumi/plugins-governance": "0.7.0"
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
22
|
"dist",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
+
import { guardCommandArgs } from '@sumi/plugin-sdk';
|
|
3
4
|
import { filesDigest, ticketsDir, validateReviewResult, writeAccepted } from '../review.js';
|
|
4
5
|
/**
|
|
5
6
|
* sumi submit <run-id> <step-id> --ticket <t>:校验并接受评审结果。
|
|
@@ -7,6 +8,7 @@ import { filesDigest, ticketsDir, validateReviewResult, writeAccepted } from '..
|
|
|
7
8
|
*/
|
|
8
9
|
const root = process.env.SUMI_ROOT ?? process.cwd();
|
|
9
10
|
const args = process.argv.slice(2);
|
|
11
|
+
guardCommandArgs(args, { usage: '用法:sumi submit <run-id> <step-id> --ticket <ticket>', options: ['ticket'] });
|
|
10
12
|
const ti = args.indexOf('--ticket');
|
|
11
13
|
const ticketId = ti >= 0 ? args[ti + 1] : undefined;
|
|
12
14
|
const [runId, stepId] = args.filter((_, i) => i !== ti && i !== ti + 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../src/commands/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAmC,MAAM,cAAc,CAAC;AAE7H;;;GAGG;AACH,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACpC,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAExE,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,OAAO,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;IAAE,MAAM,CAAC,qDAAqD,CAAC,CAAC;AAClG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;AAC9D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IAAE,MAAM,CAAC,UAAU,QAAQ,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAW,CAAC;AACtE,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;IAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACnF,IAAI,MAAM,CAAC,IAAI;IAAE,MAAM,CAAC,YAAY,CAAC,CAAC;AACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;IAAE,MAAM,CAAC,cAAc,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;AAE9E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAkB,CAAC;AACtF,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrE,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,OAAO,CAAC,aAAa;IAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEnG,IAAI,KAAc,CAAC;AACnB,IAAI,CAAC;IACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;AAAC,MAAM,CAAC;IACP,MAAM,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;AACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,MAAM,CAAC,MAAM;IAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE5C,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,KAA8B,CAAC,CAAC;AACjE,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../src/commands/submit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sumi/plugins-review",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
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.
|
|
16
|
+
"@sumi/plugin-sdk": "0.7.0",
|
|
17
17
|
"yaml": "2.9.1",
|
|
18
18
|
"picomatch": "4.0.7",
|
|
19
|
-
"@sumi/plugins-governance": "0.
|
|
19
|
+
"@sumi/plugins-governance": "0.7.0"
|
|
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.
|
|
3
|
+
"version": "0.7.0",
|
|
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.
|
|
17
|
-
"@sumi/kernel": "0.
|
|
18
|
-
"@sumi/plugin-sdk": "0.
|
|
19
|
-
"@sumi/plugins-core": "0.
|
|
20
|
-
"@sumi/plugins-governance": "0.
|
|
21
|
-
"@sumi/plugins-openspec": "0.
|
|
22
|
-
"@sumi/plugins-precedent": "0.
|
|
23
|
-
"@sumi/plugins-review": "0.
|
|
16
|
+
"@sumi/create": "0.7.0",
|
|
17
|
+
"@sumi/kernel": "0.7.0",
|
|
18
|
+
"@sumi/plugin-sdk": "0.7.0",
|
|
19
|
+
"@sumi/plugins-core": "0.7.0",
|
|
20
|
+
"@sumi/plugins-governance": "0.7.0",
|
|
21
|
+
"@sumi/plugins-openspec": "0.7.0",
|
|
22
|
+
"@sumi/plugins-precedent": "0.7.0",
|
|
23
|
+
"@sumi/plugins-review": "0.7.0",
|
|
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:b3dfc5b5f3ac0150d81ff939de2192165f5e03879e398869c4574d31e591a665"
|
|
46
46
|
}
|