@coralai/sps-cli 0.50.6 → 0.50.7

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 (86) hide show
  1. package/dist/console-assets/assets/{index-C95GbuxW.js → index-CGiD8z0L.js} +1 -1
  2. package/dist/console-assets/index.html +1 -1
  3. package/dist/services/PipelineService.d.ts.map +1 -1
  4. package/dist/services/PipelineService.js +22 -0
  5. package/dist/services/PipelineService.js.map +1 -1
  6. package/package.json +1 -1
  7. package/dist/console/sse/eventBus.d.ts +0 -25
  8. package/dist/console/sse/eventBus.d.ts.map +0 -1
  9. package/dist/console/sse/eventBus.js +0 -32
  10. package/dist/console/sse/eventBus.js.map +0 -1
  11. package/dist/console-server/index.d.ts +0 -29
  12. package/dist/console-server/index.d.ts.map +0 -1
  13. package/dist/console-server/index.js +0 -180
  14. package/dist/console-server/index.js.map +0 -1
  15. package/dist/console-server/lib/cardReader.d.ts +0 -27
  16. package/dist/console-server/lib/cardReader.d.ts.map +0 -1
  17. package/dist/console-server/lib/cardReader.js +0 -201
  18. package/dist/console-server/lib/cardReader.js.map +0 -1
  19. package/dist/console-server/lib/lockFile.d.ts +0 -17
  20. package/dist/console-server/lib/lockFile.d.ts.map +0 -1
  21. package/dist/console-server/lib/lockFile.js +0 -61
  22. package/dist/console-server/lib/lockFile.js.map +0 -1
  23. package/dist/console-server/lib/portPicker.d.ts +0 -3
  24. package/dist/console-server/lib/portPicker.d.ts.map +0 -1
  25. package/dist/console-server/lib/portPicker.js +0 -25
  26. package/dist/console-server/lib/portPicker.js.map +0 -1
  27. package/dist/console-server/lib/spawnCli.d.ts +0 -31
  28. package/dist/console-server/lib/spawnCli.d.ts.map +0 -1
  29. package/dist/console-server/lib/spawnCli.js +0 -64
  30. package/dist/console-server/lib/spawnCli.js.map +0 -1
  31. package/dist/console-server/routes/cards.d.ts +0 -7
  32. package/dist/console-server/routes/cards.d.ts.map +0 -1
  33. package/dist/console-server/routes/cards.js +0 -185
  34. package/dist/console-server/routes/cards.js.map +0 -1
  35. package/dist/console-server/routes/chat.d.ts +0 -36
  36. package/dist/console-server/routes/chat.d.ts.map +0 -1
  37. package/dist/console-server/routes/chat.js +0 -458
  38. package/dist/console-server/routes/chat.js.map +0 -1
  39. package/dist/console-server/routes/logs.d.ts +0 -14
  40. package/dist/console-server/routes/logs.d.ts.map +0 -1
  41. package/dist/console-server/routes/logs.js +0 -283
  42. package/dist/console-server/routes/logs.js.map +0 -1
  43. package/dist/console-server/routes/pipeline.d.ts +0 -8
  44. package/dist/console-server/routes/pipeline.d.ts.map +0 -1
  45. package/dist/console-server/routes/pipeline.js +0 -96
  46. package/dist/console-server/routes/pipeline.js.map +0 -1
  47. package/dist/console-server/routes/projects.d.ts +0 -11
  48. package/dist/console-server/routes/projects.d.ts.map +0 -1
  49. package/dist/console-server/routes/projects.js +0 -583
  50. package/dist/console-server/routes/projects.js.map +0 -1
  51. package/dist/console-server/routes/skills.d.ts +0 -7
  52. package/dist/console-server/routes/skills.d.ts.map +0 -1
  53. package/dist/console-server/routes/skills.js +0 -267
  54. package/dist/console-server/routes/skills.js.map +0 -1
  55. package/dist/console-server/routes/system.d.ts +0 -7
  56. package/dist/console-server/routes/system.d.ts.map +0 -1
  57. package/dist/console-server/routes/system.js +0 -288
  58. package/dist/console-server/routes/system.js.map +0 -1
  59. package/dist/console-server/routes/workers.d.ts +0 -18
  60. package/dist/console-server/routes/workers.d.ts.map +0 -1
  61. package/dist/console-server/routes/workers.js +0 -351
  62. package/dist/console-server/routes/workers.js.map +0 -1
  63. package/dist/console-server/sse/eventBus.d.ts +0 -25
  64. package/dist/console-server/sse/eventBus.d.ts.map +0 -1
  65. package/dist/console-server/sse/eventBus.js +0 -32
  66. package/dist/console-server/sse/eventBus.js.map +0 -1
  67. package/dist/console-server/sse/projectStream.d.ts +0 -10
  68. package/dist/console-server/sse/projectStream.d.ts.map +0 -1
  69. package/dist/console-server/sse/projectStream.js +0 -86
  70. package/dist/console-server/sse/projectStream.js.map +0 -1
  71. package/dist/console-server/watchers/cardWatcher.d.ts +0 -17
  72. package/dist/console-server/watchers/cardWatcher.d.ts.map +0 -1
  73. package/dist/console-server/watchers/cardWatcher.js +0 -68
  74. package/dist/console-server/watchers/cardWatcher.js.map +0 -1
  75. package/dist/console-server/watchers/markerWatcher.d.ts +0 -7
  76. package/dist/console-server/watchers/markerWatcher.d.ts.map +0 -1
  77. package/dist/console-server/watchers/markerWatcher.js +0 -63
  78. package/dist/console-server/watchers/markerWatcher.js.map +0 -1
  79. package/dist/console-server/watchers/pipelinePoller.d.ts +0 -2
  80. package/dist/console-server/watchers/pipelinePoller.d.ts.map +0 -1
  81. package/dist/console-server/watchers/pipelinePoller.js +0 -52
  82. package/dist/console-server/watchers/pipelinePoller.js.map +0 -1
  83. package/dist/models/types.d.ts +0 -103
  84. package/dist/models/types.d.ts.map +0 -1
  85. package/dist/models/types.js +0 -17
  86. package/dist/models/types.js.map +0 -1
@@ -1,7 +0,0 @@
1
- /**
2
- * @module console-server/watchers/markerWatcher
3
- * @description 监听 runtime/worker-*-current.json,推 worker.updated 事件
4
- */
5
- import { type FSWatcher } from 'chokidar';
6
- export declare function startMarkerWatcher(coralRoot: string): FSWatcher;
7
- //# sourceMappingURL=markerWatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markerWatcher.d.ts","sourceRoot":"","sources":["../../../src/console-server/watchers/markerWatcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAoCpD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAqB/D"}
@@ -1,63 +0,0 @@
1
- /**
2
- * @module console-server/watchers/markerWatcher
3
- * @description 监听 runtime/worker-*-current.json,推 worker.updated 事件
4
- */
5
- import chokidar from 'chokidar';
6
- import { existsSync, readFileSync } from 'node:fs';
7
- import { basename } from 'node:path';
8
- import { eventBus } from '../sse/eventBus.js';
9
- function extractProjectAndSlot(path) {
10
- // v0.49.16:marker 文件真实格式 worker-worker-N-current.json(worker-manager 传 slot="worker-N"),
11
- // 兼容单前缀老格式。
12
- const m = path.match(/projects\/([^/]+)\/runtime\/worker-(?:worker-)?(\d+)-current\.json$/);
13
- if (!m)
14
- return null;
15
- const slot = Number.parseInt(m[2] ?? '', 10);
16
- if (!Number.isFinite(slot))
17
- return null;
18
- return { project: m[1] ?? '', slot };
19
- }
20
- function publishMarker(event, path) {
21
- const info = extractProjectAndSlot(path);
22
- if (!info)
23
- return;
24
- let marker = null;
25
- if (event !== 'worker.deleted' && existsSync(path)) {
26
- try {
27
- marker = JSON.parse(readFileSync(path, 'utf-8'));
28
- }
29
- catch {
30
- // 写入中,下次再推
31
- return;
32
- }
33
- }
34
- eventBus.publish('worker.updated', {
35
- project: info.project,
36
- slot: info.slot,
37
- marker,
38
- markerFile: basename(path),
39
- deleted: event === 'worker.deleted',
40
- });
41
- }
42
- export function startMarkerWatcher(coralRoot) {
43
- // v0.49.8:chokidar v4+ 没 glob,改 watch 根目录 + 事件过滤(同 cardWatcher)
44
- const root = `${coralRoot}/projects`;
45
- const watcher = chokidar.watch(root, {
46
- persistent: true,
47
- ignoreInitial: true,
48
- awaitWriteFinish: { stabilityThreshold: 80, pollInterval: 40 },
49
- depth: 3, // projects/<name>/runtime/worker-N-current.json
50
- ignored: (path) => /\/(node_modules|\.git|\.DS_Store)(\/|$)/.test(path),
51
- });
52
- const handle = (event, path) => {
53
- if (!/worker-(?:worker-)?\d+-current\.json$/.test(path))
54
- return;
55
- publishMarker(event, path);
56
- };
57
- watcher
58
- .on('add', (path) => handle('worker.added', path))
59
- .on('change', (path) => handle('worker.updated', path))
60
- .on('unlink', (path) => handle('worker.deleted', path));
61
- return watcher;
62
- }
63
- //# sourceMappingURL=markerWatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markerWatcher.js","sourceRoot":"","sources":["../../../src/console-server/watchers/markerWatcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,QAA4B,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,SAAS,qBAAqB,CAAC,IAAY;IACzC,yFAAyF;IACzF,YAAY;IACZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;IAC5F,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,IAAY;IAChD,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,MAAM,GAAY,IAAI,CAAC;IAC3B,IAAI,KAAK,KAAK,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;YACX,OAAO;QACT,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM;QACN,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC1B,OAAO,EAAE,KAAK,KAAK,gBAAgB;KACpC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,gEAAgE;IAChE,MAAM,IAAI,GAAG,GAAG,SAAS,WAAW,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;QACnC,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QAC9D,KAAK,EAAE,CAAC,EAAE,gDAAgD;QAC1D,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC;KAChF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,IAAY,EAAQ,EAAE;QACnD,IAAI,CAAC,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAChE,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO;SACJ,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;SACjD,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;SACtD,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function startPipelinePoller(coralRoot: string, intervalMs?: number): () => void;
2
- //# sourceMappingURL=pipelinePoller.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipelinePoller.d.ts","sourceRoot":"","sources":["../../../src/console-server/watchers/pipelinePoller.ts"],"names":[],"mappings":"AA+BA,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,SAAO,GAAG,MAAM,IAAI,CAwBpF"}
@@ -1,52 +0,0 @@
1
- /**
2
- * @module console-server/watchers/pipelinePoller
3
- * @description 轮询每个项目的 supervisor.pid,状态变化推 pipeline.status
4
- * 用 2s 间隔;chokidar 对 pid 变化不敏感,所以用 setInterval
5
- */
6
- import { existsSync, readdirSync, readFileSync } from 'node:fs';
7
- import { resolve } from 'node:path';
8
- import { eventBus } from '../sse/eventBus.js';
9
- function pipelineState(projectDir) {
10
- const pidFile = resolve(projectDir, 'runtime', 'supervisor.pid');
11
- if (!existsSync(pidFile))
12
- return { pid: null, status: 'idle' };
13
- try {
14
- const pid = Number.parseInt(readFileSync(pidFile, 'utf-8').trim(), 10);
15
- if (!Number.isFinite(pid) || pid <= 0)
16
- return { pid: null, status: 'idle' };
17
- try {
18
- process.kill(pid, 0);
19
- return { pid, status: 'running' };
20
- }
21
- catch {
22
- return { pid: null, status: 'idle' };
23
- }
24
- }
25
- catch {
26
- return { pid: null, status: 'idle' };
27
- }
28
- }
29
- export function startPipelinePoller(coralRoot, intervalMs = 2000) {
30
- const projectsDir = resolve(coralRoot, 'projects');
31
- const previous = new Map();
32
- const tick = () => {
33
- if (!existsSync(projectsDir))
34
- return;
35
- const projects = readdirSync(projectsDir, { withFileTypes: true })
36
- .filter((e) => e.isDirectory())
37
- .map((e) => e.name);
38
- for (const name of projects) {
39
- const state = pipelineState(resolve(projectsDir, name));
40
- const prev = previous.get(name);
41
- if (!prev || prev.status !== state.status || prev.pid !== state.pid) {
42
- eventBus.publish('pipeline.status', { project: name, ...state });
43
- previous.set(name, state);
44
- }
45
- }
46
- };
47
- const id = setInterval(tick, intervalMs);
48
- // 启动时跑一次,让 UI 得到初始值
49
- tick();
50
- return () => clearInterval(id);
51
- }
52
- //# sourceMappingURL=pipelinePoller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipelinePoller.js","sourceRoot":"","sources":["../../../src/console-server/watchers/pipelinePoller.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAO9C,SAAS,aAAa,CAAC,UAAkB;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5E,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,UAAU,GAAG,IAAI;IACtE,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE9C,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO;QACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;gBACpE,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;gBACjE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzC,oBAAoB;IACpB,IAAI,EAAE,CAAC;IAEP,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC"}
@@ -1,103 +0,0 @@
1
- /**
2
- * @module types
3
- * @description 核心数据类型定义,包括 Card、Worker 状态、MR 状态及命令结果等
4
- *
5
- * @author eddy
6
- * @organization wykj
7
- * @ownership wykj/eddy
8
- *
9
- * @created 2026-03-19
10
- * @updated 2026-04-02
11
- *
12
- * @role model
13
- * @layer model
14
- * @boundedContext shared-types
15
- */
16
- /** Unified card representation across PM backends */
17
- export interface ChecklistItem {
18
- text: string;
19
- done: boolean;
20
- }
21
- export interface ChecklistStats {
22
- total: number;
23
- done: number;
24
- percent: number;
25
- items: ChecklistItem[];
26
- }
27
- export interface Card {
28
- id: string;
29
- seq: string;
30
- /** Card title — user-visible task name. v0.42.0 renamed from `name`. */
31
- title: string;
32
- desc: string;
33
- state: CardState;
34
- labels: string[];
35
- /** Business metadata: skills required for this task (v0.42.0+). */
36
- skills?: string[];
37
- /** Runtime-parsed checklist progress from the "## 检查清单" markdown section. */
38
- checklist?: ChecklistStats;
39
- meta: Record<string, unknown>;
40
- /** Retry count for current task — incremented on failure, reset on success or manual reset */
41
- retryCount?: number;
42
- }
43
- /** Card state — defaults are Planning/Backlog/Todo/Inprogress/QA/Done but configurable via pipeline YAML */
44
- export type CardState = string;
45
- export type AuxiliaryState = 'BLOCKED' | 'NEEDS-FIX' | 'WAITING-CONFIRMATION' | 'CONFLICT' | 'STALE-RUNTIME';
46
- /** Worker detection result */
47
- export type WorkerStatus = 'ALIVE' | 'COMPLETED' | 'NEEDS_INPUT' | 'AUTO_CONFIRM' | 'BLOCKED' | 'DEAD' | 'DEAD_EXCEEDED'
48
- /** Process exited (code 0) but no artifacts found (no commits/MR). Worker gave up or hit token limit. */
49
- | 'EXITED_INCOMPLETE';
50
- /** MR status from repo backend */
51
- export interface MrStatus {
52
- exists: boolean;
53
- state: 'opened' | 'merged' | 'closed' | 'not_found';
54
- ciStatus: 'success' | 'failed' | 'running' | 'pending' | 'created' | 'unknown';
55
- mergeStatus: 'can_be_merged' | 'cannot_be_merged' | 'checking' | 'unknown';
56
- url: string | null;
57
- iid: number | null;
58
- }
59
- /** Result from a tick step or command */
60
- export interface CommandResult {
61
- project: string;
62
- component: string;
63
- status: 'ok' | 'fail' | 'degraded' | 'skipped';
64
- exitCode: number;
65
- actions: ActionRecord[];
66
- recommendedActions: RecommendedAction[];
67
- details: Record<string, unknown>;
68
- }
69
- export interface ActionRecord {
70
- action: string;
71
- entity: string;
72
- result: 'ok' | 'fail' | 'skip';
73
- message?: string;
74
- }
75
- /** Tick aggregated result */
76
- export interface TickResult extends CommandResult {
77
- steps: StepResult[];
78
- }
79
- export interface StepResult {
80
- step: string;
81
- status: 'ok' | 'fail' | 'degraded' | 'skipped';
82
- exitCode: number;
83
- error?: string;
84
- note?: string;
85
- actions?: ActionRecord[];
86
- checks?: CheckResult[];
87
- }
88
- /** recommendedActions protocol (03 §8.4) */
89
- export interface RecommendedAction {
90
- action: string;
91
- reason: string;
92
- severity: 'info' | 'warning' | 'critical';
93
- autoExecutable: boolean;
94
- requiresConfirmation: boolean;
95
- safeToRetry: boolean;
96
- }
97
- /** Doctor check result */
98
- export interface CheckResult {
99
- name: string;
100
- status: 'pass' | 'fail' | 'warn' | 'skip';
101
- message: string;
102
- }
103
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * @module types
3
- * @description 核心数据类型定义,包括 Card、Worker 状态、MR 状态及命令结果等
4
- *
5
- * @author eddy
6
- * @organization wykj
7
- * @ownership wykj/eddy
8
- *
9
- * @created 2026-03-19
10
- * @updated 2026-04-02
11
- *
12
- * @role model
13
- * @layer model
14
- * @boundedContext shared-types
15
- */
16
- export {};
17
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}