@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.
Files changed (57) hide show
  1. package/README.md +3 -1
  2. package/dist/agents.js +1 -1
  3. package/dist/agents.js.map +1 -1
  4. package/dist/cli.d.ts +10 -1
  5. package/dist/cli.js +26 -5
  6. package/dist/cli.js.map +1 -1
  7. package/dist/fix.js +1 -1
  8. package/dist/fix.js.map +1 -1
  9. package/dist/launcher.cjs +23 -3
  10. package/dist/launcher.d.ts +10 -1
  11. package/dist/launcher.js +24 -4
  12. package/dist/launcher.js.map +1 -1
  13. package/dist/scaffold-commands.js +2 -2
  14. package/dist/scaffold-commands.js.map +1 -1
  15. package/dist/vendor.js +1 -1
  16. package/dist/vendor.js.map +1 -1
  17. package/node_modules/@sumi/create/package.json +1 -1
  18. package/node_modules/@sumi/kernel/package.json +2 -2
  19. package/node_modules/@sumi/plugin-sdk/README.md +17 -16
  20. package/node_modules/@sumi/plugin-sdk/dist/command-args.d.ts +22 -0
  21. package/node_modules/@sumi/plugin-sdk/dist/command-args.js +44 -0
  22. package/node_modules/@sumi/plugin-sdk/dist/command-args.js.map +1 -0
  23. package/node_modules/@sumi/plugin-sdk/dist/index.d.ts +1 -0
  24. package/node_modules/@sumi/plugin-sdk/dist/index.js +1 -0
  25. package/node_modules/@sumi/plugin-sdk/dist/index.js.map +1 -1
  26. package/node_modules/@sumi/plugin-sdk/package.json +1 -1
  27. package/node_modules/@sumi/plugins-core/README.md +1 -1
  28. package/node_modules/@sumi/plugins-core/dist/commands/adopt.js +3 -1
  29. package/node_modules/@sumi/plugins-core/dist/commands/adopt.js.map +1 -1
  30. package/node_modules/@sumi/plugins-core/dist/commands/baseline.js +4 -2
  31. package/node_modules/@sumi/plugins-core/dist/commands/baseline.js.map +1 -1
  32. package/node_modules/@sumi/plugins-core/dist/plugins/coverage.js +57 -5
  33. package/node_modules/@sumi/plugins-core/dist/plugins/coverage.js.map +1 -1
  34. package/node_modules/@sumi/plugins-core/package.json +2 -2
  35. package/node_modules/@sumi/plugins-governance/README.md +18 -8
  36. package/node_modules/@sumi/plugins-governance/dist/commands/approve.js +2 -0
  37. package/node_modules/@sumi/plugins-governance/dist/commands/approve.js.map +1 -1
  38. package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js +24 -20
  39. package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js.map +1 -1
  40. package/node_modules/@sumi/plugins-governance/dist/commands/unlock.js +2 -0
  41. package/node_modules/@sumi/plugins-governance/dist/commands/unlock.js.map +1 -1
  42. package/node_modules/@sumi/plugins-governance/dist/pr-report-publish.d.ts +48 -0
  43. package/node_modules/@sumi/plugins-governance/dist/pr-report-publish.js +181 -0
  44. package/node_modules/@sumi/plugins-governance/dist/pr-report-publish.js.map +1 -0
  45. package/node_modules/@sumi/plugins-governance/dist/pr-report-status.js +4 -1
  46. package/node_modules/@sumi/plugins-governance/dist/pr-report-status.js.map +1 -1
  47. package/node_modules/@sumi/plugins-governance/instructions/push.md +1 -0
  48. package/node_modules/@sumi/plugins-governance/package.json +2 -2
  49. package/node_modules/@sumi/plugins-governance/sumi-plugins.yaml +5 -1
  50. package/node_modules/@sumi/plugins-openspec/package.json +2 -2
  51. package/node_modules/@sumi/plugins-precedent/dist/commands/promote.js +5 -0
  52. package/node_modules/@sumi/plugins-precedent/dist/commands/promote.js.map +1 -1
  53. package/node_modules/@sumi/plugins-precedent/package.json +3 -3
  54. package/node_modules/@sumi/plugins-review/dist/commands/submit.js +2 -0
  55. package/node_modules/@sumi/plugins-review/dist/commands/submit.js.map +1 -1
  56. package/node_modules/@sumi/plugins-review/package.json +3 -3
  57. package/package.json +10 -10
@@ -0,0 +1,22 @@
1
+ /** 插件命令认识的参数:用于 `--help` 与未知参数检查,不替代命令自己的解析。 */
2
+ export interface CommandArgSpec {
3
+ /** 完整用法文本,例如 `用法:sumi adopt [--status] [--json]`。 */
4
+ usage: string;
5
+ /** 不带值的开关(`--status`)。 */
6
+ flags?: readonly string[];
7
+ /** 带值的参数(`--reason <原因>` 或 `--reason=<原因>`),其后的值不当作参数检查。 */
8
+ options?: readonly string[];
9
+ }
10
+ export type CommandArgCheck = {
11
+ help: true;
12
+ } | {
13
+ error: string;
14
+ } | null;
15
+ /**
16
+ * 检查插件命令的参数:含 `--help`/`-h` 时返回 `{ help: true }`;有未声明的 `-` 开头参数(负数除外)时返回 `{ error }`;
17
+ * 否则返回 null,命令照常解析执行。会写文件的命令必须在执行任何写操作前检查,
18
+ * 避免把 `--help` 或拼错的参数当作普通参数忽略后继续写入。
19
+ */
20
+ export declare function checkCommandArgs(argv: readonly string[], spec: CommandArgSpec): CommandArgCheck;
21
+ /** 插件命令进程入口用:帮助打印用法并以 0 退出;未知参数打印错误与用法并以 exitCode(默认 1)退出。 */
22
+ export declare function guardCommandArgs(argv: readonly string[], spec: CommandArgSpec, exitCode?: number): void;
@@ -0,0 +1,44 @@
1
+ const isHelp = (arg) => arg === '--help' || arg === '-h' || arg.startsWith('--help=');
2
+ /**
3
+ * 检查插件命令的参数:含 `--help`/`-h` 时返回 `{ help: true }`;有未声明的 `-` 开头参数(负数除外)时返回 `{ error }`;
4
+ * 否则返回 null,命令照常解析执行。会写文件的命令必须在执行任何写操作前检查,
5
+ * 避免把 `--help` 或拼错的参数当作普通参数忽略后继续写入。
6
+ */
7
+ export function checkCommandArgs(argv, spec) {
8
+ const flags = new Set(spec.flags ?? []);
9
+ const options = new Set(spec.options ?? []);
10
+ const unknown = [];
11
+ for (let i = 0; i < argv.length; i++) {
12
+ const arg = argv[i];
13
+ if (isHelp(arg))
14
+ return { help: true };
15
+ // 负数(如 baseline loosen 的 -1、-0.5)是位置参数,不是开关
16
+ if (!arg.startsWith('-') || arg === '-' || /^-\d/.test(arg))
17
+ continue;
18
+ if (arg.startsWith('--')) {
19
+ const [name, inline] = arg.slice(2).split('=', 2);
20
+ if (options.has(name)) {
21
+ if (inline === undefined)
22
+ i++;
23
+ continue;
24
+ }
25
+ if (flags.has(name) && inline === undefined)
26
+ continue;
27
+ }
28
+ unknown.push(arg);
29
+ }
30
+ return unknown.length ? { error: `未知参数:${unknown.join('、')}\n${spec.usage}` } : null;
31
+ }
32
+ /** 插件命令进程入口用:帮助打印用法并以 0 退出;未知参数打印错误与用法并以 exitCode(默认 1)退出。 */
33
+ export function guardCommandArgs(argv, spec, exitCode = 1) {
34
+ const checked = checkCommandArgs(argv, spec);
35
+ if (!checked)
36
+ return;
37
+ if ('help' in checked) {
38
+ process.stdout.write(`${spec.usage}\n`);
39
+ process.exit(0);
40
+ }
41
+ process.stderr.write(`${checked.error}\n`);
42
+ process.exit(exitCode);
43
+ }
44
+ //# sourceMappingURL=command-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-args.js","sourceRoot":"","sources":["../src/command-args.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAE9F;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAuB,EAAE,IAAoB;IAC5E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,MAAM,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,4CAA4C;QAC5C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QACtE,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAiC,CAAC;YAClF,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,IAAI,MAAM,KAAK,SAAS;oBAAE,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS;QACxD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvF,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB,CAAC,IAAuB,EAAE,IAAoB,EAAE,QAAQ,GAAG,CAAC;IAC1F,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC"}
@@ -7,3 +7,4 @@ export * from './rules.js';
7
7
  export * from './process.js';
8
8
  export * from './git.js';
9
9
  export * from './tool-batches.js';
10
+ export * from './command-args.js';
@@ -7,4 +7,5 @@ export * from './rules.js';
7
7
  export * from './process.js';
8
8
  export * from './git.js';
9
9
  export * from './tool-batches.js';
10
+ export * from './command-args.js';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sumi/plugin-sdk",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "description": "插件协议类型与 SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -29,7 +29,7 @@
29
29
  - **长文件列表**:core/format、core/lint 及其修复命令会按保守的跨平台命令长度预算分批调用项目工具。lint 合并每批 JSON 报告,format 合并每批不合规文件;任何一批无法启动、输出不可解析或单个参数超限时,整体不会报告成功。`core/exec passFiles` 包装的是任意项目命令,Sumi 无法推断它能否安全重复执行及如何合并输出,因此不会自动分批:Windows 上命令行超出 CreateProcess 上限,或超出 cmd.exe 上限且命令非零退出时,步骤为 `blocked` 并说明原因,需要处理超长列表时,由该命令通过 `SUMI_BASE` 自行计算范围或使用项目工具支持的响应文件机制。`sumi fix` 运行的修复命令按同一预算分批。core/test-affected 不经命令行传文件,见下文。
30
30
  - **core/typecheck**:解析 `文件(行,列): error TSxxxx: 消息` 形式的输出。tsc 退出码非 0 但没有解析出错误时,结论为 `blocked`。
31
31
  - **core/test-affected**:选择范围见下文。规划器注入的具名测试义务(`target.file`、`target.name`)按实际执行结果回执,取值为 `passed`、`failed`、`skipped`、`not-executed` 之一。被跳过、待办或未执行都不算 passed。只有经运行器执行的测试才有逐条结果;以 `<包管理器> run test` 运行的包(workspace 模式下 `test` 脚本不是 `vitest run`)没有逐条结果,目标在这些包中的义务回执为 `not-executed`。
32
- - **core/coverage**:默认用 vitest 的 v8 覆盖率(需要项目安装 `@vitest/coverage-v8`,否则结论为 `skipped`)。`tool: c8` 时还会用 `NODE_V8_COVERAGE` 收集子进程中执行的代码:`subprocess` 指定要统计的构建产物 glob,经 c8 映射回源码后,与测试进程内的覆盖按行取并集。`include` / `exclude` 限定统计范围。
32
+ - **core/coverage**:默认用 vitest 的 v8 覆盖率(需要项目安装 `@vitest/coverage-v8`)。只有从项目根沿 `node_modules` 层级找不到覆盖率提供者(`@vitest/coverage-v8` 或 `@vitest/coverage-istanbul`,与 vitest 一样不看 `NODE_PATH`)时结论为 `skipped` 并提示安装;已安装但没有产出覆盖率报告(测试无法启动、进程被终止或运行异常)时结论为 `blocked`,summary 附原因(含退出码)、日志末尾几行与完整日志 `coverage.log` 的路径,不上报指标。产出了报告而退出码非零(测试失败、覆盖率阈值不达标)是真实失败,结论为 `fail`,照常上报指标。`tool: c8` 时还会用 `NODE_V8_COVERAGE` 收集子进程中执行的代码:`subprocess` 指定要统计的构建产物 glob,经 c8 映射回源码后,与测试进程内的覆盖按行取并集。`include` / `exclude` 限定统计范围。
33
33
  - **core/layer-boundary**:从项目配置读取 `zones`、`neutral`,检查三类问题:未归属任何区域的文件(`unowned-file`);business 区用相对路径导入 control 区或 precedent 区的模块(`business-imports-control`);control 区或 precedent 区中被 `.gitignore` 忽略的文件(`ignored-control-file`,`node_modules` 除外)。
34
34
  - **core/control-docs**:默认扫描 `AGENTS.md` 与 `control/**/*.md`,`AGENTS.md` 的上限默认为 100 行。默认关键词为 `MUST`、`SHALL`、`必须`、`禁止`、`不得`。代码块、引用行和空行不扫描。带 `[non-normative]` 的行不扫描,并计入豁免指标;被 `with.exclude` 排除的文件数也计入豁免指标。插件认四类执行者引用:`[plugin:<id>]`(本次运行加载的插件)、`[step:<id>]`(`control/flows/*.flow.yaml` 中的步骤 id)、`[prec:<id>]`(`precedents/registry.yaml`)、`[rubric:<集合>#<条目>]`(`control/rubrics/<集合>.yaml`)。规范性语句没有引用时报 `no-enforcer`,引用的目标不存在时报 `broken-reference`。这项检查只证明规则声明了执行者,不证明执行者在语义上正确。
35
35
 
@@ -1,6 +1,6 @@
1
1
  import { existsSync, readdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- import { cleanEnv, configFile, spawnCommandSync, sumiCommand } from '@sumi/plugin-sdk';
3
+ import { cleanEnv, configFile, guardCommandArgs, spawnCommandSync, sumiCommand } from '@sumi/plugin-sdk';
4
4
  import { parse, parseDocument } from 'yaml';
5
5
  /**
6
6
  * sumi adopt [--status] [--json]:纳管已有项目。
@@ -9,6 +9,8 @@ import { parse, parseDocument } from 'yaml';
9
9
  */
10
10
  const root = process.env.SUMI_ROOT ?? process.cwd();
11
11
  const argv = process.argv.slice(2);
12
+ // 无参数的 adopt 会写入流程与配置:--help 与未知参数都不能落到写入分支。
13
+ guardCommandArgs(argv, { usage: '用法:sumi adopt [--status] [--json]', flags: ['status', 'json'] });
12
14
  const json = argv.includes('--json');
13
15
  /** 被识别为"已有检查"的脚本:check:*、verify*。lint/test/typecheck/format 已由通用检查插件覆盖。 */
14
16
  const CHECK_SCRIPT = /^(check|verify)([:-]|$)/;
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { compareMetric } from '@sumi/plugin-sdk';
1
+ import { compareMetric, guardCommandArgs } from '@sumi/plugin-sdk';
2
2
  import { appendHistory, latestRunDir, readBaselines, repoMetrics, writeBaselines } from '../baseline.js';
3
3
  /**
4
4
  * sumi baseline record | tighten | loosen <key> <value> --reason <原因>
@@ -6,6 +6,8 @@ import { appendHistory, latestRunDir, readBaselines, repoMetrics, writeBaselines
6
6
  * loosen:放宽单项,必须给出原因并记入历史。
7
7
  */
8
8
  const root = process.env.SUMI_ROOT ?? process.cwd();
9
+ const USAGE = '用法:sumi baseline record | tighten | loosen <key> <value> --reason <原因>';
10
+ guardCommandArgs(process.argv.slice(2), { usage: USAGE, options: ['reason'] });
9
11
  const [sub, ...rest] = process.argv.slice(2);
10
12
  function fail(message) {
11
13
  process.stderr.write(`${message}\n`);
@@ -51,6 +53,6 @@ else if (sub === 'loosen') {
51
53
  process.stdout.write(`${key} 放宽为 ${value}\n`);
52
54
  }
53
55
  else {
54
- fail('用法:sumi baseline record | tighten | loosen <key> <value> --reason <原因>');
56
+ fail(USAGE);
55
57
  }
56
58
  //# sourceMappingURL=baseline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/commands/baseline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/commands/baseline.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
- import { isAbsolute, join } from 'node:path';
2
+ import { dirname, isAbsolute, join } from 'node:path';
3
3
  import { definePlugin, result, writeEvidence } from '@sumi/plugin-sdk';
4
4
  import picomatch from 'picomatch';
5
5
  import { findTool, runTool, toRepoPath } from '../lib.js';
@@ -22,6 +22,50 @@ function lineSets(root, path) {
22
22
  }
23
23
  return out;
24
24
  }
25
+ /** vitest 的覆盖率提供者;vitest 从项目根解析它们(`--coverage.provider` 缺省为 v8)。 */
26
+ const PROVIDERS = ['@vitest/coverage-v8', '@vitest/coverage-istanbul'];
27
+ /**
28
+ * 项目中是否装有覆盖率提供者:与 vitest 一样从项目根沿 node_modules 层级向上查找。
29
+ * 不用 require.resolve:它会回退到 NODE_PATH,而 vitest 解析提供者时不看 NODE_PATH。
30
+ */
31
+ function hasCoverageProvider(root) {
32
+ for (let dir = root;; dir = dirname(dir)) {
33
+ if (PROVIDERS.some((name) => existsSync(join(dir, 'node_modules', ...name.split('/'), 'package.json'))))
34
+ return true;
35
+ if (dirname(dir) === dir)
36
+ return false;
37
+ }
38
+ }
39
+ /** 日志末尾的几行非空输出,作为运行失败时的摘要。 */
40
+ function logTail(text, lines = 5, max = 400) {
41
+ const tail = text
42
+ .split(/\r?\n/)
43
+ .map((line) => line.trim())
44
+ .filter(Boolean)
45
+ .slice(-lines)
46
+ .join(' | ');
47
+ return tail.length > max ? `…${tail.slice(-max)}` : tail;
48
+ }
49
+ /**
50
+ * 依赖已安装而没有产出覆盖率报告(测试无法启动、进程被终止或运行异常)时的结论:blocked,附原因、日志摘要与证据路径。
51
+ * 拿不到可信的覆盖率,既不能 skipped 也不能上报指标。产出了报告时返回 null:退出码非零(测试失败、阈值不达标)
52
+ * 是真实失败,由调用方照常判为 fail。
53
+ */
54
+ function runFailure(run, hasReport, evidence) {
55
+ if (hasReport)
56
+ return null;
57
+ const reason = run.status === null
58
+ ? '测试进程未正常结束'
59
+ : run.status !== 0
60
+ ? `测试运行失败(退出码 ${run.status})且未产出覆盖率报告`
61
+ : '测试运行结束但未产出覆盖率报告';
62
+ const tail = logTail(`${run.stdout}\n${run.stderr}`);
63
+ return result({
64
+ status: 'blocked',
65
+ summary: `覆盖率无法测量:${reason}${tail ? `;日志末尾:${tail}` : ''}(完整日志见 ${evidence[0]})`,
66
+ evidence,
67
+ });
68
+ }
25
69
  /**
26
70
  * 覆盖率:全量运行测试并上报行覆盖率指标 coverage,比较交给棘轮。
27
71
  * with.tool 为 c8 时同时计入子进程:测试进程内的代码用 vitest 自带的 v8 覆盖率(有正确的 source map),
@@ -32,6 +76,12 @@ await definePlugin((ctx) => {
32
76
  const vitest = findTool(ctx, 'vitest');
33
77
  if (!vitest)
34
78
  return result({ status: 'skipped', summary: '未找到 vitest,请在项目中安装' });
79
+ if (!hasCoverageProvider(ctx.repoRoot)) {
80
+ return result({
81
+ status: 'skipped',
82
+ summary: '项目中未安装 @vitest/coverage-v8,请在项目中安装(例如 pnpm add -D @vitest/coverage-v8)',
83
+ });
84
+ }
35
85
  const include = list(ctx.config.include);
36
86
  const exclude = list(ctx.config.exclude);
37
87
  const inProcess = join(ctx.evidenceDir, 'coverage');
@@ -47,8 +97,9 @@ await definePlugin((ctx) => {
47
97
  ]);
48
98
  const evidence = [writeEvidence(ctx, 'coverage.log', r.stdout + r.stderr)];
49
99
  const summary = join(inProcess, 'coverage-summary.json');
50
- if (!existsSync(summary))
51
- return result({ status: 'skipped', summary: '未产出覆盖率报告,请安装 @vitest/coverage-v8', evidence });
100
+ const failure = runFailure(r, existsSync(summary), evidence);
101
+ if (failure)
102
+ return failure;
52
103
  const pct = JSON.parse(readFileSync(summary, 'utf8')).total.lines.pct;
53
104
  return result({
54
105
  status: r.status === 0 ? 'pass' : 'fail',
@@ -77,8 +128,9 @@ await definePlugin((ctx) => {
77
128
  ]);
78
129
  const evidence = [writeEvidence(ctx, 'coverage.log', r.stdout + r.stderr + report.stdout + report.stderr)];
79
130
  const a = lineSets(ctx.repoRoot, join(inProcess, 'coverage-final.json'));
80
- if (a.size === 0)
81
- return result({ status: 'skipped', summary: '未产出覆盖率报告,请安装 @vitest/coverage-v8', evidence });
131
+ const failure = runFailure(r, a.size > 0, evidence);
132
+ if (failure)
133
+ return failure;
82
134
  const b = lineSets(ctx.repoRoot, join(sub, 'coverage-final.json'));
83
135
  const inScope = (f) => (include.length ? picomatch(include)(f) : true) && !(exclude.length && picomatch(exclude)(f));
84
136
  let all = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/plugins/coverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/plugins/coverage.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sumi/plugins-core",
3
- "version": "0.6.1",
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.6.1",
16
+ "@sumi/plugin-sdk": "0.7.0",
17
17
  "yaml": "2.9.1",
18
18
  "picomatch": "4.0.7"
19
19
  },
@@ -14,14 +14,14 @@
14
14
 
15
15
  ## 命令与 hook
16
16
 
17
- | 命令 | 用法 | 说明 |
18
- | ---------------------- | --------------------------- | ------------------------------------------------------------------------------------- |
19
- | `sumi gate` | `sumi gate <remote> [url]` | 推送门禁,由 git pre-push hook 调用;从标准输入读取更新列表,`remote` 缺省为 `origin` |
20
- | `sumi approve` | `sumi approve <请求 id>` | 人工确认待确认请求,需要交互式终端 |
21
- | `sumi unlock` | `sumi unlock [--minutes N]` | 由人开启 control 编辑窗口,默认 30 分钟,需要交互式终端 |
22
- | `sumi guard` | 从标准输入读取 hook 输入 | AI 工具前置 hook 的拦截命令;拒绝时退出码为 2,原因写到 stderr |
23
- | `sumi pr-report` | `sumi pr-report <PR 号>` | 把 PR 范围的检查与评审结论发布为 PR 评论,依赖 `gh` |
24
- | `sumi pr-report-check` | 无参数 | 只读核验当前分支开放 PR 的当前 head 是否已有 Sumi 报告,供停止 hook 调用 |
17
+ | 命令 | 用法 | 说明 |
18
+ | ---------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------- |
19
+ | `sumi gate` | `sumi gate <remote> [url]` | 推送门禁,由 git pre-push hook 调用;从标准输入读取更新列表,`remote` 缺省为 `origin` |
20
+ | `sumi approve` | `sumi approve <请求 id>` | 人工确认待确认请求,需要交互式终端 |
21
+ | `sumi unlock` | `sumi unlock [--minutes N]` | 由人开启 control 编辑窗口,默认 30 分钟,需要交互式终端 |
22
+ | `sumi guard` | 从标准输入读取 hook 输入 | AI 工具前置 hook 的拦截命令;拒绝时退出码为 2,原因写到 stderr |
23
+ | `sumi pr-report` | `sumi pr-report <PR 号> [--attach <文件>[#说明]]...` | 把 PR 范围的检查与评审结论发布为 PR 评论,可附加图片或视频,依赖 `gh` |
24
+ | `sumi pr-report-check` | 无参数 | 只读核验当前分支开放 PR 的当前 head 是否已有 Sumi 报告,供停止 hook 调用 |
25
25
 
26
26
  清单中声明的 hook 由 `sumi update` 生成:
27
27
 
@@ -136,6 +136,16 @@ guard 只按工作区当前的项目配置判断受保护路径。相对路径
136
136
  3. 结论为 `pending` 时不发布,给出工作区命令。没有得到结论时也不发布。
137
137
  4. 生成评论:结论、范围、流程与档位、各步骤状态表(不含不适用的步骤)、各步骤的报告段落、error 级问题(最多 30 条)。评论以稳定标记 `<!-- sumi-pr-report -->` 开头,下一行用 `<!-- sumi-pr-report-head:<完整 OID> -->` 绑定当前 PR 头提交。同一 PR 上已有稳定标记的评论时,通过 `gh api` 更新它,否则用 `gh pr comment` 新建。
138
138
 
139
+ ### 附加图片或视频
140
+
141
+ `--attach <文件>[#说明]` 可重复(也可写成 `--attach=<文件>`,位置在 PR 号前后均可),随报告评论上传图片或视频,例如 UI 改动的截图。它依赖 gh ≥ 2.100 的 `gh pr comment --attach`:附件由 gh 上传并追加在评论末尾,报告正文结构不变,评论仍以稳定标记开头。
142
+
143
+ - 校验在运行门禁流程之前完成:每个附件必须是存在的非空普通文件,单次最多 50 个;相对路径按调用者当前目录(取自 shell 的 `PWD`)解析为绝对路径后传给 gh,取不到(`PWD` 缺失、不是目录或不在项目根目录之内)时按项目根目录解析,`#说明` 原样保留。与 gh 的解析一致,整串本身是存在的文件时以整串为路径,否则以最后一个 `#` 之后的部分为说明,因此说明里不能含 `#`。校验失败时退出码为 3,不运行门禁。
144
+ - 编辑已有评论无法上传附件,所以带附件时总是用 `gh pr comment --attach` 新建报告评论;已有报告评论时,新建成功后再用 `gh api -X DELETE` 删除全部旧报告评论(包括此前删除失败的残留)。新建失败时旧报告保持不变;任一删除失败时新报告已发布,命令以退出码 0 结束并在 stderr 警告残留的旧评论 id,需要在 PR 页面手动删除。
145
+ - 残留多条报告评论时,不带 `--attach` 的运行只更新最新一条,其余不动;`pr-report-check` 以绑定当前 head 的那条报告为准,都不绑定时看最新一条。
146
+ - gh 版本过旧、不认识 `--attach` 时退出码为 3,并提示升级到 gh ≥ 2.100。
147
+ - 不带 `--attach` 时行为不变。
148
+
139
149
  找不到 `gh` 或 `gh` 调用失败时退出码为 3,参数不合法时也为 3。
140
150
 
141
151
  ### PR 报告强制收尾
@@ -1,6 +1,8 @@
1
+ import { guardCommandArgs } from '@sumi/plugin-sdk';
1
2
  import { confirmOnTty, readRequest, recordApproval } from '../state.js';
2
3
  /** sumi approve <请求 id>:展示待确认请求的内容与语义变化,在控制终端上输入短码后记录确认。 */
3
4
  const root = process.env.SUMI_ROOT ?? process.cwd();
5
+ guardCommandArgs(process.argv.slice(2), { usage: '用法:sumi approve <请求 id>' });
4
6
  const id = process.argv[2];
5
7
  if (!id) {
6
8
  process.stderr.write('用法:sumi approve <请求 id>\n');
@@ -1 +1 @@
1
- {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/commands/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAExE,4DAA4D;AAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACpD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3B,IAAI,CAAC,EAAE,EAAE,CAAC;IACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACtC,IAAI,CAAC,OAAO,EAAE,CAAC;IACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,CAAC;IACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpG,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/commands/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAExE,4DAA4D;AAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACpD,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAC9E,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3B,IAAI,CAAC,EAAE,EAAE,CAAC;IACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACtC,IAAI,CAAC,OAAO,EAAE,CAAC;IACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,CAAC;IACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpG,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -1,23 +1,26 @@
1
1
  import { mkdtempSync, writeFileSync } from 'node:fs';
2
2
  import { tmpdir } from 'node:os';
3
3
  import { join } from 'node:path';
4
- import { PROJECT_SUMI, spawnCommandSync } from '@sumi/plugin-sdk';
4
+ import { guardCommandArgs, PROJECT_SUMI, spawnCommandSync } from '@sumi/plugin-sdk';
5
5
  import { runGateFlow, workspaceCommand } from '../checkout.js';
6
6
  import { resolvePrBase } from '../pr-base.js';
7
7
  import { PR_REPORT_MARKER, prReportHeadMarker } from '../pr-report-markers.js';
8
+ import { callerDir, ghRunner, parsePrReportArgs, PR_REPORT_USAGE, publishReport, resolveAttachments } from '../pr-report-publish.js';
8
9
  /**
9
10
  * sumi pr-report <PR 号>:以 PR 的完整范围(与目标分支的合并基础..头提交)在头提交的独立检出中
10
11
  * 按门禁配置运行门禁流程,把结论、各步骤状态、findings 与各步骤的报告段落发布为一条 PR 评论;
11
12
  * 同一 PR 再次运行时更新这条评论。评审未完成时不发布,给出工作区命令。依赖已登录的 gh。
13
+ * --attach <文件>[#说明](可重复)随评论上传图片或视频(需要 gh ≥ 2.100);编辑评论无法上传附件,
14
+ * 因此带附件时新建报告评论并删除旧的。
12
15
  */
13
16
  const root = process.env.SUMI_ROOT ?? process.cwd();
14
- const pr = process.argv[2];
15
17
  function fail(message, code = 1) {
16
18
  process.stderr.write(`${message}\n`);
17
19
  process.exit(code);
18
20
  }
21
+ const runGh = ghRunner(root);
19
22
  function gh(args) {
20
- const r = spawnCommandSync('gh', args, { cwd: root, encoding: 'utf8', windowsHide: true });
23
+ const r = runGh(args);
21
24
  if (r.error)
22
25
  fail('未找到 gh:PR 报告通过 GitHub CLI 读写 PR,请安装并登录 gh(gh auth login)', 3);
23
26
  if (r.status !== 0)
@@ -85,8 +88,16 @@ function compose(run, url, base, oid, baseBranch) {
85
88
  lines.push('', `<sub>由 \`sumi pr-report\` 生成;再次运行会更新本评论。PR:${url}</sub>`);
86
89
  return lines.join('\n');
87
90
  }
88
- if (!pr || !/^\d+$/.test(pr))
89
- fail('用法:sumi pr-report <PR 号>', 3);
91
+ // 参数与附件在运行耗时的门禁流程之前校验
92
+ guardCommandArgs(process.argv.slice(2), { usage: PR_REPORT_USAGE, options: ['attach'] }, 3);
93
+ const parsed = parsePrReportArgs(process.argv.slice(2));
94
+ if ('error' in parsed)
95
+ fail(parsed.error, 3);
96
+ const pr = parsed.pr;
97
+ const attachments = resolveAttachments(parsed.attach, callerDir(root));
98
+ if ('error' in attachments)
99
+ fail(attachments.error, 3);
100
+ const attach = attachments.attach;
90
101
  const view = JSON.parse(gh(['pr', 'view', pr, '--json', 'headRefOid,baseRefName,baseRefOid,url']));
91
102
  const head = tryGit(['rev-parse', 'HEAD']);
92
103
  if (head !== view.headRefOid) {
@@ -104,25 +115,18 @@ const run = runGateFlow(root, view.headRefOid, base, (line) => process.stderr.wr
104
115
  // 任一步骤待处理(例如评审未完成)都不发布:其他步骤失败时结论为 fail,不能只看结论
105
116
  const pending = (run.record?.steps ?? []).filter((s) => s.state === 'pending').map((s) => s.id);
106
117
  if (run.conclusion === 'pending' || pending.length) {
107
- fail(`PR 范围内有待处理项${pending.length ? `(${pending.join('、')})` : ''},没有发布报告。请在工作区运行 ${workspaceCommand(run, base)},按简报完成后再运行 ${PROJECT_SUMI} pr-report ${pr}`);
118
+ fail(`PR 范围内有待处理项${pending.length ? `(${pending.join('、')})` : ''},没有发布报告。请在工作区运行 ${workspaceCommand(run, base)},按简报完成后再运行 ${PROJECT_SUMI} pr-report ${pr}${attach.length ? '(带上原 --attach 参数)' : ''}`);
108
119
  }
109
120
  if (!run.conclusion)
110
121
  fail(`没有得到结论,没有发布报告:${run.problem ?? run.brief}`);
111
122
  const body = compose(run, view.url, base, view.headRefOid, view.baseRefName);
112
123
  const file = join(mkdtempSync(join(tmpdir(), 'sumi-pr-report-')), 'body.md');
113
124
  writeFileSync(file, body);
114
- const existing = gh([
115
- 'api',
116
- `repos/{owner}/{repo}/issues/${pr}/comments`,
117
- '--paginate',
118
- '--jq',
119
- `.[] | select(.body | startswith("${PR_REPORT_MARKER}")) | .id`,
120
- ])
121
- .split('\n')
122
- .filter(Boolean)[0];
123
- if (existing)
124
- gh(['api', '-X', 'PATCH', `repos/{owner}/{repo}/issues/comments/${existing}`, '-F', `body=@${file}`]);
125
- else
126
- gh(['pr', 'comment', pr, '--body-file', file]);
127
- process.stdout.write(`已${existing ? '更新' : '发布'} PR #${pr} 的检查报告:结论 ${run.problem ? STATE.blocked : (STATE[run.conclusion] ?? run.conclusion)}\n${view.url}\n`);
125
+ const published = publishReport({ pr, bodyFile: file, attach, gh: runGh });
126
+ if (!published.ok)
127
+ fail(published.message, 3);
128
+ if (published.warning)
129
+ process.stderr.write(`警告:${published.warning}\n`);
130
+ const verb = { created: '发布', updated: '更新', replaced: '重新发布' }[published.action];
131
+ process.stdout.write(`已${verb} PR #${pr} 的检查报告${attach.length ? `(附件 ${attach.length} 个)` : ''}:结论 ${run.problem ? STATE.blocked : (STATE[run.conclusion] ?? run.conclusion)}\n${view.url}\n`);
128
132
  //# sourceMappingURL=pr-report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pr-report.js","sourceRoot":"","sources":["../../src/commands/pr-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-report.js","sourceRoot":"","sources":["../../src/commands/pr-report.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ import { guardCommandArgs } from '@sumi/plugin-sdk';
1
2
  import { confirmOnTty, writeUnlock } from '../state.js';
2
3
  /** sumi unlock [--minutes N]:由人开启一个限时窗口,期间允许 AI 编辑受保护路径(推送前仍需确认)。 */
3
4
  const root = process.env.SUMI_ROOT ?? process.cwd();
5
+ guardCommandArgs(process.argv.slice(2), { usage: '用法:sumi unlock [--minutes N]', options: ['minutes'] });
4
6
  const i = process.argv.indexOf('--minutes');
5
7
  const minutes = i >= 0 ? Number(process.argv[i + 1]) : 30;
6
8
  if (!Number.isFinite(minutes) || minutes <= 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"unlock.js","sourceRoot":"","sources":["../../src/commands/unlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,qEAAqE;AACrE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACpD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,CAAC;IACH,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,MAAM,OAAO,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"unlock.js","sourceRoot":"","sources":["../../src/commands/unlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,qEAAqE;AACrE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACpD,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACzG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,CAAC;IACH,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,MAAM,OAAO,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}