@tutti-os/tutti-ops-cli 0.1.11 → 0.1.12

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.
@@ -22,13 +22,22 @@ const caseFields = {
22
22
  };
23
23
  const caseBody = (revision) => object({ ...caseFields, revision }, ['id', 'title', 'priority', 'steps', 'expectations']);
24
24
  const result = object({ status: { type: 'string', enum: ['NOT_RUN', 'PASSED', 'FAILED', 'BLOCKED', 'SKIPPED'] }, actualResult: s, note: s, issueUrls: strings }, ['status']);
25
+ const syncBaseline = {
26
+ anyOf: [object({
27
+ repos: { type: 'object', additionalProperties: object({
28
+ sha: { type: 'string', pattern: '^\\s*[0-9a-fA-F]{40}\\s*$' }, branch: s,
29
+ }, ['sha']) },
30
+ batch: s, note: s,
31
+ }, ['repos']), { type: 'null' }],
32
+ description: 'Complete repository commit map. Server validates repository names/count and text limits, defaults branch to main, and assigns audit fields. Omitted/null preserves the existing baseline.',
33
+ };
25
34
  export function registerTestManagement(api, workflow) {
26
35
  const register = (command, access, method, path, data, params, extra) => api(`test-management ${command}`, access, method, `${TEST_MANAGEMENT_BASE}${path}`, data, params ?? scope(), { scope: 'brand', permission: `test_management:${access}`, source: 'tutti-admin-server internal/server/test_management_http.go', ...extra });
27
36
  const list = (command, path, params = page()) => register(command, 'read', 'GET', path, undefined, params, { pagination });
28
37
  list('modules list', '/modules');
29
38
  register('modules get', 'read', 'GET', '/modules/{id}', undefined, scope({ id }));
30
- register('modules create', 'write', 'POST', '/modules', object({ id, name: s, description: s, revision: zero }, ['id', 'name']));
31
- register('modules update', 'write', 'PUT', '/modules/{id}', object({ id, name: s, description: s, revision: positive }, ['id', 'name', 'revision']), scope({ id }));
39
+ register('modules create', 'write', 'POST', '/modules', object({ id, name: s, description: s, revision: zero, syncBaseline }, ['id', 'name']));
40
+ register('modules update', 'write', 'PUT', '/modules/{id}', object({ id, name: s, description: s, revision: positive, syncBaseline }, ['id', 'name', 'revision']), scope({ id }));
32
41
  register('modules delete', 'write', 'DELETE', '/modules/{id}', object({ revision: positive }, ['revision']), scope({ id }), { description: 'Delete an empty module at its current revision; archived cases also prevent deletion' });
33
42
  list('cases list', '/cases', page({ moduleId: id, priority, archived: b, search: s }));
34
43
  register('cases create', 'write', 'POST', '/cases', caseBody(zero));
@@ -1 +1 @@
1
- {"version":3,"file":"testManagement.js","sourceRoot":"","sources":["../../src/operations/testManagement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testManagement.js","sourceRoot":"","sources":["../../src/operations/testManagement.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ tutti-ops schema test-management.versions.restore
19
19
  | 命令 | read/write | 协议与边界 |
20
20
  | --- | --- | --- |
21
21
  | `modules list/get` | read | 模块元信息;get 使用 `--id` |
22
- | `modules create/update/delete` | write | 名称和说明;更新、删除携带当前 revision;删除仅允许无用例的模块,包括归档用例 |
22
+ | `modules create/update/delete` | write | 名称、说明及可选 syncBaseline;更新、删除携带当前 revision;删除仅允许无用例的模块,包括归档用例 |
23
23
  | `cases list` | read | 原生 search、priority、archived、moduleId 过滤;默认查未归档用例 |
24
24
  | `cases create/update/import` | write | 完整用例字段;update 携带当前 revision,可调整 moduleId 或 archived;import 使用 `{cases:[...]}` |
25
25
  | `versions list/get` | read | `--module-id`;get 的 `--version` 是正整数路径字符串,返回完整历史快照 |
@@ -62,6 +62,28 @@ tutti-ops test-management versions get --brand-id brand-example \
62
62
 
63
63
  ## 并发、失败与发布
64
64
 
65
+ ### 模块同步基准
66
+
67
+ `modules create/update` 接受可选 `syncBaseline`,`modules list/get` 原样返回该字段。仍使用现有模块 API 和权限,无新增 operation 或别名。依赖 admin-server 的同步基准字段部署,旧服务器可能忽略未知字段;成功写入后须 GET 回读确认,不能只看 HTTP 200。
68
+
69
+ ```json
70
+ {
71
+ "id": "module-example", "name": "账号模块", "description": "当前说明", "revision": 10,
72
+ "syncBaseline": {
73
+ "repos": {"tutti-lab/tutti": {"sha": "073e06fc68c9ed1c0e6500bd3cdf9dc4f10fb3fe", "branch": "main"}},
74
+ "batch": "20261030-1", "note": "用例已写入并回读核对"
75
+ }
76
+ }
77
+ ```
78
+
79
+ 保存为 `module.json` 后,通过 `modules update --brand-id <brand> --id module-example --data @module.json --dry-run` 预校验,确认后加 `--yes` 写入。必须重新 GET 当前名称、说明和 revision;PUT 替换模块元信息,不能用旧快照覆盖其他人的编辑。用例写入也提升模块 revision。
80
+
81
+ `repos` 每次提供完整映射,服务端校验 1–20 个 owner/repo、40 位 SHA,默认 branch=main;batch 最多 128 字、note 最多 500 字。CLI 校验嵌套字段、SHA 类型/格式,仓库名、数量与长度限制由服务端最终校验。`updatedBy/updatedAt` 为服务端审计字段,不作为 CLI 写入输入。省略或 null 保留原基准;不提供清空或历史接口。旧客户端改名仍兼容。
82
+
83
+ 每个模块独立保存基准;不额外创建表,不把基准混入用例导出或模块版本历史。同步到固定 head 前,调用方应完成用例写入与回读核对。部分写入或结果未知时先读取模块,按 revision/目标内容判断,不能自动重放。
84
+
85
+ ### 通用失败语义
86
+
65
87
  列表接口采用原生 page/pageSize(1 起,最多 200)及 items/total,模块、用例、版本、计划、执行和结果历史均支持 page-all。中途失败或页数上限返回 exit 6 和已读数据,不宣称全量;列表多页不是冻结快照,完整模块导出应使用 `+export`。
66
88
 
67
89
  修订冲突 exit 7 后重新读取当前 revision,不自动覆盖。恢复历史时保存相同 requestId;计划创建保存相同客户端 ID。写请求超时或 5xx 的结果可能未知,exit 6,查询业务状态后再决定恢复,不自动重放导入、计划或恢复请求。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tutti-os/tutti-ops-cli",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "Internal CLI for Tutti operations.",
5
5
  "type": "module",
6
6
  "bin": {