@coralai/sps-cli 0.49.16 → 0.50.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/dist/commands/cardAdd.d.ts.map +1 -1
- package/dist/commands/cardAdd.js +47 -67
- package/dist/commands/cardAdd.js.map +1 -1
- package/dist/commands/cardMarkComplete.js +1 -1
- package/dist/commands/cardMarkComplete.js.map +1 -1
- package/dist/commands/cardMarkStarted.js +1 -1
- package/dist/commands/cardMarkStarted.js.map +1 -1
- package/dist/commands/consoleCommand.js +3 -3
- package/dist/commands/consoleCommand.js.map +1 -1
- package/dist/commands/hookCommand.d.ts +25 -0
- package/dist/commands/hookCommand.d.ts.map +1 -1
- package/dist/commands/hookCommand.js +2 -2
- package/dist/commands/hookCommand.js.map +1 -1
- package/dist/console/index.d.ts +15 -0
- package/dist/console/index.d.ts.map +1 -0
- package/dist/console/index.js +177 -0
- package/dist/console/index.js.map +1 -0
- package/dist/console/lib/lockFile.d.ts +17 -0
- package/dist/console/lib/lockFile.d.ts.map +1 -0
- package/dist/console/lib/lockFile.js +61 -0
- package/dist/console/lib/lockFile.js.map +1 -0
- package/dist/console/lib/portPicker.d.ts +3 -0
- package/dist/console/lib/portPicker.d.ts.map +1 -0
- package/dist/console/lib/portPicker.js +25 -0
- package/dist/console/lib/portPicker.js.map +1 -0
- package/dist/console/lib/resultToJson.d.ts +18 -0
- package/dist/console/lib/resultToJson.d.ts.map +1 -0
- package/dist/console/lib/resultToJson.js +19 -0
- package/dist/console/lib/resultToJson.js.map +1 -0
- package/dist/console/routes/cards.d.ts +26 -0
- package/dist/console/routes/cards.d.ts.map +1 -0
- package/dist/console/routes/cards.js +85 -0
- package/dist/console/routes/cards.js.map +1 -0
- package/dist/console/routes/chat.d.ts +36 -0
- package/dist/console/routes/chat.d.ts.map +1 -0
- package/dist/console/routes/chat.js +458 -0
- package/dist/console/routes/chat.js.map +1 -0
- package/dist/console/routes/logs.d.ts +17 -0
- package/dist/console/routes/logs.d.ts.map +1 -0
- package/dist/console/routes/logs.js +159 -0
- package/dist/console/routes/logs.js.map +1 -0
- package/dist/console/routes/pipeline.d.ts +10 -0
- package/dist/console/routes/pipeline.d.ts.map +1 -0
- package/dist/console/routes/pipeline.js +39 -0
- package/dist/console/routes/pipeline.js.map +1 -0
- package/dist/console/routes/projects.d.ts +15 -0
- package/dist/console/routes/projects.d.ts.map +1 -0
- package/dist/console/routes/projects.js +132 -0
- package/dist/console/routes/projects.js.map +1 -0
- package/dist/console/routes/skills.d.ts +4 -0
- package/dist/console/routes/skills.d.ts.map +1 -0
- package/dist/console/routes/skills.js +91 -0
- package/dist/console/routes/skills.js.map +1 -0
- package/dist/console/routes/system.d.ts +7 -0
- package/dist/console/routes/system.d.ts.map +1 -0
- package/dist/console/routes/system.js +288 -0
- package/dist/console/routes/system.js.map +1 -0
- package/dist/console/routes/workers.d.ts +5 -0
- package/dist/console/routes/workers.d.ts.map +1 -0
- package/dist/console/routes/workers.js +149 -0
- package/dist/console/routes/workers.js.map +1 -0
- package/dist/console/sse/eventBus.d.ts +25 -0
- package/dist/console/sse/eventBus.d.ts.map +1 -0
- package/dist/console/sse/eventBus.js +32 -0
- package/dist/console/sse/eventBus.js.map +1 -0
- package/dist/console/sse/projectStream.d.ts +13 -0
- package/dist/console/sse/projectStream.d.ts.map +1 -0
- package/dist/console/sse/projectStream.js +84 -0
- package/dist/console/sse/projectStream.js.map +1 -0
- package/dist/infra/chokidarWatchers.d.ts +38 -0
- package/dist/infra/chokidarWatchers.d.ts.map +1 -0
- package/dist/infra/chokidarWatchers.js +213 -0
- package/dist/infra/chokidarWatchers.js.map +1 -0
- package/dist/infra/clock.d.ts +35 -0
- package/dist/infra/clock.d.ts.map +1 -0
- package/dist/infra/clock.js +45 -0
- package/dist/infra/clock.js.map +1 -0
- package/dist/infra/filesystem.d.ts +89 -0
- package/dist/infra/filesystem.d.ts.map +1 -0
- package/dist/infra/filesystem.js +247 -0
- package/dist/infra/filesystem.js.map +1 -0
- package/dist/infra/spawn.d.ts +67 -0
- package/dist/infra/spawn.d.ts.map +1 -0
- package/dist/infra/spawn.js +116 -0
- package/dist/infra/spawn.js.map +1 -0
- package/dist/infra/sseBus.d.ts +36 -0
- package/dist/infra/sseBus.d.ts.map +1 -0
- package/dist/infra/sseBus.js +72 -0
- package/dist/infra/sseBus.js.map +1 -0
- package/dist/interfaces/ACPClient.d.ts +1 -1
- package/dist/interfaces/ACPClient.d.ts.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/providers/LocalACPClient.d.ts +1 -1
- package/dist/providers/LocalACPClient.d.ts.map +1 -1
- package/dist/services/CardService.d.ts +86 -0
- package/dist/services/CardService.d.ts.map +1 -0
- package/dist/services/CardService.js +313 -0
- package/dist/services/CardService.js.map +1 -0
- package/dist/services/ChatService.d.ts +62 -0
- package/dist/services/ChatService.d.ts.map +1 -0
- package/dist/services/ChatService.js +157 -0
- package/dist/services/ChatService.js.map +1 -0
- package/dist/services/LogService.d.ts +46 -0
- package/dist/services/LogService.d.ts.map +1 -0
- package/dist/services/LogService.js +185 -0
- package/dist/services/LogService.js.map +1 -0
- package/dist/services/PipelineService.d.ts +71 -0
- package/dist/services/PipelineService.d.ts.map +1 -0
- package/dist/services/PipelineService.js +349 -0
- package/dist/services/PipelineService.js.map +1 -0
- package/dist/services/ProjectService.d.ts +105 -0
- package/dist/services/ProjectService.d.ts.map +1 -0
- package/dist/services/ProjectService.js +346 -0
- package/dist/services/ProjectService.js.map +1 -0
- package/dist/services/SkillService.d.ts +38 -0
- package/dist/services/SkillService.d.ts.map +1 -0
- package/dist/services/SkillService.js +301 -0
- package/dist/services/SkillService.js.map +1 -0
- package/dist/services/WorkerService.d.ts +83 -0
- package/dist/services/WorkerService.d.ts.map +1 -0
- package/dist/services/WorkerService.js +262 -0
- package/dist/services/WorkerService.js.map +1 -0
- package/dist/services/container.d.ts +47 -0
- package/dist/services/container.d.ts.map +1 -0
- package/dist/services/container.js +77 -0
- package/dist/services/container.js.map +1 -0
- package/dist/services/defaults.d.ts +15 -0
- package/dist/services/defaults.d.ts.map +1 -0
- package/dist/services/defaults.js +11 -0
- package/dist/services/defaults.js.map +1 -0
- package/dist/services/executors.d.ts +38 -0
- package/dist/services/executors.d.ts.map +1 -0
- package/dist/services/executors.js +157 -0
- package/dist/services/executors.js.map +1 -0
- package/dist/services/ports.d.ts +17 -0
- package/dist/services/ports.d.ts.map +1 -0
- package/dist/services/ports.js +2 -0
- package/dist/services/ports.js.map +1 -0
- package/dist/shared/domainEvents.d.ts +118 -0
- package/dist/shared/domainEvents.d.ts.map +1 -0
- package/dist/shared/domainEvents.js +40 -0
- package/dist/shared/domainEvents.js.map +1 -0
- package/dist/shared/errors.d.ts +59 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/errors.js +79 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/result.d.ts +51 -0
- package/dist/shared/result.d.ts.map +1 -0
- package/dist/shared/result.js +48 -0
- package/dist/shared/result.js.map +1 -0
- package/dist/shared/runtimePaths.d.ts +78 -0
- package/dist/shared/runtimePaths.d.ts.map +1 -0
- package/dist/shared/runtimePaths.js +179 -0
- package/dist/shared/runtimePaths.js.map +1 -0
- package/dist/shared/runtimeSchemas.d.ts +324 -0
- package/dist/shared/runtimeSchemas.d.ts.map +1 -0
- package/dist/shared/runtimeSchemas.js +124 -0
- package/dist/shared/runtimeSchemas.js.map +1 -0
- package/dist/shared/types.d.ts +12 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/shared/types.js +2 -0
- package/dist/shared/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module shared/runtimeSchemas
|
|
3
|
+
* @description 零散磁盘对象的 zod schema —— 唯一出处
|
|
4
|
+
*
|
|
5
|
+
* @layer shared
|
|
6
|
+
*
|
|
7
|
+
* 解决 v0.49.5 / 15 / 16 踩过的"writer 和 reader 各自硬编码解析器,schema 改了一处漂移"的坑。
|
|
8
|
+
*
|
|
9
|
+
* 所有写入点 `writeXxx.parse(payload)`,所有读取点 `XxxSchema.safeParse(raw)`。
|
|
10
|
+
* 任何一侧加字段,另一侧 TS 类型直接不兼容 —— 编译期拦截漂移。
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
export declare const WorkerMarkerSchema: z.ZodObject<{
|
|
14
|
+
/** 卡片 id(形如 "md-<seq>" 或裸 seq 字符串) */
|
|
15
|
+
cardId: z.ZodString;
|
|
16
|
+
/** 当前阶段名,如 "develop" / "qa" / "review" */
|
|
17
|
+
stage: z.ZodString;
|
|
18
|
+
/** ISO 8601 派发时间 */
|
|
19
|
+
dispatchedAt: z.ZodString;
|
|
20
|
+
/** ACP session ID,spawn 成功后写入 */
|
|
21
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
22
|
+
/** 子进程 PID,spawn 成功后写入 */
|
|
23
|
+
pid: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
cardId: string;
|
|
26
|
+
stage: string;
|
|
27
|
+
dispatchedAt: string;
|
|
28
|
+
sessionId?: string | undefined;
|
|
29
|
+
pid?: number | undefined;
|
|
30
|
+
}, {
|
|
31
|
+
cardId: string;
|
|
32
|
+
stage: string;
|
|
33
|
+
dispatchedAt: string;
|
|
34
|
+
sessionId?: string | undefined;
|
|
35
|
+
pid?: number | undefined;
|
|
36
|
+
}>;
|
|
37
|
+
export type WorkerMarker = z.infer<typeof WorkerMarkerSchema>;
|
|
38
|
+
export declare const CardFrontmatterSchema: z.ZodObject<{
|
|
39
|
+
seq: z.ZodNumber;
|
|
40
|
+
title: z.ZodString;
|
|
41
|
+
labels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
42
|
+
skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
43
|
+
created: z.ZodOptional<z.ZodString>;
|
|
44
|
+
updated: z.ZodOptional<z.ZodString>;
|
|
45
|
+
branch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
46
|
+
claimed_by: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
47
|
+
claimed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
48
|
+
retry_count: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
title: string;
|
|
52
|
+
seq: number;
|
|
53
|
+
labels: string[];
|
|
54
|
+
skills: string[];
|
|
55
|
+
meta?: Record<string, unknown> | undefined;
|
|
56
|
+
created?: string | undefined;
|
|
57
|
+
branch?: string | null | undefined;
|
|
58
|
+
claimed_by?: string | null | undefined;
|
|
59
|
+
claimed_at?: string | null | undefined;
|
|
60
|
+
retry_count?: number | undefined;
|
|
61
|
+
updated?: string | undefined;
|
|
62
|
+
}, {
|
|
63
|
+
title: string;
|
|
64
|
+
seq: number;
|
|
65
|
+
meta?: Record<string, unknown> | undefined;
|
|
66
|
+
created?: string | undefined;
|
|
67
|
+
branch?: string | null | undefined;
|
|
68
|
+
labels?: string[] | undefined;
|
|
69
|
+
skills?: string[] | undefined;
|
|
70
|
+
claimed_by?: string | null | undefined;
|
|
71
|
+
claimed_at?: string | null | undefined;
|
|
72
|
+
retry_count?: number | undefined;
|
|
73
|
+
updated?: string | undefined;
|
|
74
|
+
}>;
|
|
75
|
+
export type CardFrontmatter = z.infer<typeof CardFrontmatterSchema>;
|
|
76
|
+
export declare const ProjectConfSchema: z.ZodObject<{
|
|
77
|
+
PROJECT_NAME: z.ZodString;
|
|
78
|
+
PROJECT_DIR: z.ZodString;
|
|
79
|
+
PM_TOOL: z.ZodDefault<z.ZodEnum<["markdown", "gitlab", "github"]>>;
|
|
80
|
+
AGENT_PROVIDER: z.ZodDefault<z.ZodString>;
|
|
81
|
+
MAX_WORKERS: z.ZodDefault<z.ZodString>;
|
|
82
|
+
MERGE_BRANCH: z.ZodDefault<z.ZodString>;
|
|
83
|
+
GITLAB_PROJECT: z.ZodOptional<z.ZodString>;
|
|
84
|
+
GITLAB_PROJECT_ID: z.ZodOptional<z.ZodString>;
|
|
85
|
+
MATRIX_ROOM_ID: z.ZodOptional<z.ZodString>;
|
|
86
|
+
REPO_DIR: z.ZodOptional<z.ZodString>;
|
|
87
|
+
}, "strip", z.ZodTypeAny, {
|
|
88
|
+
PROJECT_NAME: string;
|
|
89
|
+
PROJECT_DIR: string;
|
|
90
|
+
PM_TOOL: "markdown" | "github" | "gitlab";
|
|
91
|
+
AGENT_PROVIDER: string;
|
|
92
|
+
MAX_WORKERS: string;
|
|
93
|
+
MERGE_BRANCH: string;
|
|
94
|
+
GITLAB_PROJECT?: string | undefined;
|
|
95
|
+
GITLAB_PROJECT_ID?: string | undefined;
|
|
96
|
+
MATRIX_ROOM_ID?: string | undefined;
|
|
97
|
+
REPO_DIR?: string | undefined;
|
|
98
|
+
}, {
|
|
99
|
+
PROJECT_NAME: string;
|
|
100
|
+
PROJECT_DIR: string;
|
|
101
|
+
GITLAB_PROJECT?: string | undefined;
|
|
102
|
+
GITLAB_PROJECT_ID?: string | undefined;
|
|
103
|
+
MATRIX_ROOM_ID?: string | undefined;
|
|
104
|
+
REPO_DIR?: string | undefined;
|
|
105
|
+
PM_TOOL?: "markdown" | "github" | "gitlab" | undefined;
|
|
106
|
+
AGENT_PROVIDER?: string | undefined;
|
|
107
|
+
MAX_WORKERS?: string | undefined;
|
|
108
|
+
MERGE_BRANCH?: string | undefined;
|
|
109
|
+
}>;
|
|
110
|
+
export type ProjectConf = z.infer<typeof ProjectConfSchema>;
|
|
111
|
+
export declare const WorkerSlotStateSchema: z.ZodObject<{
|
|
112
|
+
status: z.ZodEnum<["idle", "active", "merging", "resolving", "releasing"]>;
|
|
113
|
+
seq: z.ZodNullable<z.ZodNumber>;
|
|
114
|
+
branch: z.ZodNullable<z.ZodString>;
|
|
115
|
+
worktree: z.ZodNullable<z.ZodString>;
|
|
116
|
+
claimedAt: z.ZodNullable<z.ZodString>;
|
|
117
|
+
lastHeartbeat: z.ZodNullable<z.ZodString>;
|
|
118
|
+
mode: z.ZodOptional<z.ZodNullable<z.ZodEnum<["print", "acp", "acp-sdk"]>>>;
|
|
119
|
+
agent: z.ZodOptional<z.ZodNullable<z.ZodEnum<["claude"]>>>;
|
|
120
|
+
pid: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
121
|
+
sessionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
122
|
+
remoteStatus: z.ZodOptional<z.ZodNullable<z.ZodEnum<["submitted", "running", "waiting_input", "needs_confirmation", "stalled_submit", "completed", "failed", "cancelled", "lost"]>>>;
|
|
123
|
+
completedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
124
|
+
}, "strip", z.ZodTypeAny, {
|
|
125
|
+
status: "idle" | "active" | "merging" | "resolving" | "releasing";
|
|
126
|
+
seq: number | null;
|
|
127
|
+
branch: string | null;
|
|
128
|
+
worktree: string | null;
|
|
129
|
+
claimedAt: string | null;
|
|
130
|
+
lastHeartbeat: string | null;
|
|
131
|
+
sessionId?: string | null | undefined;
|
|
132
|
+
pid?: number | null | undefined;
|
|
133
|
+
mode?: "acp-sdk" | "print" | "acp" | null | undefined;
|
|
134
|
+
agent?: "claude" | null | undefined;
|
|
135
|
+
remoteStatus?: "needs_confirmation" | "submitted" | "running" | "waiting_input" | "stalled_submit" | "completed" | "failed" | "cancelled" | "lost" | null | undefined;
|
|
136
|
+
completedAt?: string | null | undefined;
|
|
137
|
+
}, {
|
|
138
|
+
status: "idle" | "active" | "merging" | "resolving" | "releasing";
|
|
139
|
+
seq: number | null;
|
|
140
|
+
branch: string | null;
|
|
141
|
+
worktree: string | null;
|
|
142
|
+
claimedAt: string | null;
|
|
143
|
+
lastHeartbeat: string | null;
|
|
144
|
+
sessionId?: string | null | undefined;
|
|
145
|
+
pid?: number | null | undefined;
|
|
146
|
+
mode?: "acp-sdk" | "print" | "acp" | null | undefined;
|
|
147
|
+
agent?: "claude" | null | undefined;
|
|
148
|
+
remoteStatus?: "needs_confirmation" | "submitted" | "running" | "waiting_input" | "stalled_submit" | "completed" | "failed" | "cancelled" | "lost" | null | undefined;
|
|
149
|
+
completedAt?: string | null | undefined;
|
|
150
|
+
}>;
|
|
151
|
+
export declare const StateJsonSchema: z.ZodObject<{
|
|
152
|
+
workers: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
153
|
+
status: z.ZodEnum<["idle", "active", "merging", "resolving", "releasing"]>;
|
|
154
|
+
seq: z.ZodNullable<z.ZodNumber>;
|
|
155
|
+
branch: z.ZodNullable<z.ZodString>;
|
|
156
|
+
worktree: z.ZodNullable<z.ZodString>;
|
|
157
|
+
claimedAt: z.ZodNullable<z.ZodString>;
|
|
158
|
+
lastHeartbeat: z.ZodNullable<z.ZodString>;
|
|
159
|
+
mode: z.ZodOptional<z.ZodNullable<z.ZodEnum<["print", "acp", "acp-sdk"]>>>;
|
|
160
|
+
agent: z.ZodOptional<z.ZodNullable<z.ZodEnum<["claude"]>>>;
|
|
161
|
+
pid: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
162
|
+
sessionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
163
|
+
remoteStatus: z.ZodOptional<z.ZodNullable<z.ZodEnum<["submitted", "running", "waiting_input", "needs_confirmation", "stalled_submit", "completed", "failed", "cancelled", "lost"]>>>;
|
|
164
|
+
completedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
165
|
+
}, "strip", z.ZodTypeAny, {
|
|
166
|
+
status: "idle" | "active" | "merging" | "resolving" | "releasing";
|
|
167
|
+
seq: number | null;
|
|
168
|
+
branch: string | null;
|
|
169
|
+
worktree: string | null;
|
|
170
|
+
claimedAt: string | null;
|
|
171
|
+
lastHeartbeat: string | null;
|
|
172
|
+
sessionId?: string | null | undefined;
|
|
173
|
+
pid?: number | null | undefined;
|
|
174
|
+
mode?: "acp-sdk" | "print" | "acp" | null | undefined;
|
|
175
|
+
agent?: "claude" | null | undefined;
|
|
176
|
+
remoteStatus?: "needs_confirmation" | "submitted" | "running" | "waiting_input" | "stalled_submit" | "completed" | "failed" | "cancelled" | "lost" | null | undefined;
|
|
177
|
+
completedAt?: string | null | undefined;
|
|
178
|
+
}, {
|
|
179
|
+
status: "idle" | "active" | "merging" | "resolving" | "releasing";
|
|
180
|
+
seq: number | null;
|
|
181
|
+
branch: string | null;
|
|
182
|
+
worktree: string | null;
|
|
183
|
+
claimedAt: string | null;
|
|
184
|
+
lastHeartbeat: string | null;
|
|
185
|
+
sessionId?: string | null | undefined;
|
|
186
|
+
pid?: number | null | undefined;
|
|
187
|
+
mode?: "acp-sdk" | "print" | "acp" | null | undefined;
|
|
188
|
+
agent?: "claude" | null | undefined;
|
|
189
|
+
remoteStatus?: "needs_confirmation" | "submitted" | "running" | "waiting_input" | "stalled_submit" | "completed" | "failed" | "cancelled" | "lost" | null | undefined;
|
|
190
|
+
completedAt?: string | null | undefined;
|
|
191
|
+
}>>;
|
|
192
|
+
}, "strip", z.ZodTypeAny, {
|
|
193
|
+
workers: Record<string, {
|
|
194
|
+
status: "idle" | "active" | "merging" | "resolving" | "releasing";
|
|
195
|
+
seq: number | null;
|
|
196
|
+
branch: string | null;
|
|
197
|
+
worktree: string | null;
|
|
198
|
+
claimedAt: string | null;
|
|
199
|
+
lastHeartbeat: string | null;
|
|
200
|
+
sessionId?: string | null | undefined;
|
|
201
|
+
pid?: number | null | undefined;
|
|
202
|
+
mode?: "acp-sdk" | "print" | "acp" | null | undefined;
|
|
203
|
+
agent?: "claude" | null | undefined;
|
|
204
|
+
remoteStatus?: "needs_confirmation" | "submitted" | "running" | "waiting_input" | "stalled_submit" | "completed" | "failed" | "cancelled" | "lost" | null | undefined;
|
|
205
|
+
completedAt?: string | null | undefined;
|
|
206
|
+
}>;
|
|
207
|
+
}, {
|
|
208
|
+
workers: Record<string, {
|
|
209
|
+
status: "idle" | "active" | "merging" | "resolving" | "releasing";
|
|
210
|
+
seq: number | null;
|
|
211
|
+
branch: string | null;
|
|
212
|
+
worktree: string | null;
|
|
213
|
+
claimedAt: string | null;
|
|
214
|
+
lastHeartbeat: string | null;
|
|
215
|
+
sessionId?: string | null | undefined;
|
|
216
|
+
pid?: number | null | undefined;
|
|
217
|
+
mode?: "acp-sdk" | "print" | "acp" | null | undefined;
|
|
218
|
+
agent?: "claude" | null | undefined;
|
|
219
|
+
remoteStatus?: "needs_confirmation" | "submitted" | "running" | "waiting_input" | "stalled_submit" | "completed" | "failed" | "cancelled" | "lost" | null | undefined;
|
|
220
|
+
completedAt?: string | null | undefined;
|
|
221
|
+
}>;
|
|
222
|
+
}>;
|
|
223
|
+
export type WorkerSlotStatePayload = z.infer<typeof WorkerSlotStateSchema>;
|
|
224
|
+
export declare const PipelineYamlSchema: z.ZodObject<{
|
|
225
|
+
mode: z.ZodDefault<z.ZodEnum<["project", "single", "card"]>>;
|
|
226
|
+
states: z.ZodOptional<z.ZodObject<{
|
|
227
|
+
planning: z.ZodOptional<z.ZodString>;
|
|
228
|
+
backlog: z.ZodOptional<z.ZodString>;
|
|
229
|
+
ready: z.ZodOptional<z.ZodString>;
|
|
230
|
+
done: z.ZodOptional<z.ZodString>;
|
|
231
|
+
}, "strip", z.ZodTypeAny, {
|
|
232
|
+
ready?: string | undefined;
|
|
233
|
+
done?: string | undefined;
|
|
234
|
+
planning?: string | undefined;
|
|
235
|
+
backlog?: string | undefined;
|
|
236
|
+
}, {
|
|
237
|
+
ready?: string | undefined;
|
|
238
|
+
done?: string | undefined;
|
|
239
|
+
planning?: string | undefined;
|
|
240
|
+
backlog?: string | undefined;
|
|
241
|
+
}>>;
|
|
242
|
+
stages: z.ZodArray<z.ZodObject<{
|
|
243
|
+
name: z.ZodString;
|
|
244
|
+
trigger_state: z.ZodOptional<z.ZodString>;
|
|
245
|
+
active_state: z.ZodOptional<z.ZodString>;
|
|
246
|
+
on_complete: z.ZodOptional<z.ZodString>;
|
|
247
|
+
on_fail: z.ZodOptional<z.ZodObject<{
|
|
248
|
+
action: z.ZodOptional<z.ZodString>;
|
|
249
|
+
halt: z.ZodOptional<z.ZodBoolean>;
|
|
250
|
+
}, "strip", z.ZodTypeAny, {
|
|
251
|
+
action?: string | undefined;
|
|
252
|
+
halt?: boolean | undefined;
|
|
253
|
+
}, {
|
|
254
|
+
action?: string | undefined;
|
|
255
|
+
halt?: boolean | undefined;
|
|
256
|
+
}>>;
|
|
257
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
258
|
+
cwd: z.ZodOptional<z.ZodString>;
|
|
259
|
+
}, "strip", z.ZodTypeAny, {
|
|
260
|
+
name: string;
|
|
261
|
+
cwd?: string | undefined;
|
|
262
|
+
agent?: string | undefined;
|
|
263
|
+
trigger_state?: string | undefined;
|
|
264
|
+
active_state?: string | undefined;
|
|
265
|
+
on_complete?: string | undefined;
|
|
266
|
+
on_fail?: {
|
|
267
|
+
action?: string | undefined;
|
|
268
|
+
halt?: boolean | undefined;
|
|
269
|
+
} | undefined;
|
|
270
|
+
}, {
|
|
271
|
+
name: string;
|
|
272
|
+
cwd?: string | undefined;
|
|
273
|
+
agent?: string | undefined;
|
|
274
|
+
trigger_state?: string | undefined;
|
|
275
|
+
active_state?: string | undefined;
|
|
276
|
+
on_complete?: string | undefined;
|
|
277
|
+
on_fail?: {
|
|
278
|
+
action?: string | undefined;
|
|
279
|
+
halt?: boolean | undefined;
|
|
280
|
+
} | undefined;
|
|
281
|
+
}>, "many">;
|
|
282
|
+
}, "strip", z.ZodTypeAny, {
|
|
283
|
+
mode: "project" | "card" | "single";
|
|
284
|
+
stages: {
|
|
285
|
+
name: string;
|
|
286
|
+
cwd?: string | undefined;
|
|
287
|
+
agent?: string | undefined;
|
|
288
|
+
trigger_state?: string | undefined;
|
|
289
|
+
active_state?: string | undefined;
|
|
290
|
+
on_complete?: string | undefined;
|
|
291
|
+
on_fail?: {
|
|
292
|
+
action?: string | undefined;
|
|
293
|
+
halt?: boolean | undefined;
|
|
294
|
+
} | undefined;
|
|
295
|
+
}[];
|
|
296
|
+
states?: {
|
|
297
|
+
ready?: string | undefined;
|
|
298
|
+
done?: string | undefined;
|
|
299
|
+
planning?: string | undefined;
|
|
300
|
+
backlog?: string | undefined;
|
|
301
|
+
} | undefined;
|
|
302
|
+
}, {
|
|
303
|
+
stages: {
|
|
304
|
+
name: string;
|
|
305
|
+
cwd?: string | undefined;
|
|
306
|
+
agent?: string | undefined;
|
|
307
|
+
trigger_state?: string | undefined;
|
|
308
|
+
active_state?: string | undefined;
|
|
309
|
+
on_complete?: string | undefined;
|
|
310
|
+
on_fail?: {
|
|
311
|
+
action?: string | undefined;
|
|
312
|
+
halt?: boolean | undefined;
|
|
313
|
+
} | undefined;
|
|
314
|
+
}[];
|
|
315
|
+
mode?: "project" | "card" | "single" | undefined;
|
|
316
|
+
states?: {
|
|
317
|
+
ready?: string | undefined;
|
|
318
|
+
done?: string | undefined;
|
|
319
|
+
planning?: string | undefined;
|
|
320
|
+
backlog?: string | undefined;
|
|
321
|
+
} | undefined;
|
|
322
|
+
}>;
|
|
323
|
+
export type PipelineYaml = z.infer<typeof PipelineYamlSchema>;
|
|
324
|
+
//# sourceMappingURL=runtimeSchemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeSchemas.d.ts","sourceRoot":"","sources":["../../src/shared/runtimeSchemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,kBAAkB;IAC7B,sCAAsC;;IAEtC,0CAA0C;;IAE1C,oBAAoB;;IAEpB,iCAAiC;;IAEjC,0BAA0B;;;;;;;;;;;;;;EAE1B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAK9D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM5D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BhC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG1B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAoB3E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module shared/runtimeSchemas
|
|
3
|
+
* @description 零散磁盘对象的 zod schema —— 唯一出处
|
|
4
|
+
*
|
|
5
|
+
* @layer shared
|
|
6
|
+
*
|
|
7
|
+
* 解决 v0.49.5 / 15 / 16 踩过的"writer 和 reader 各自硬编码解析器,schema 改了一处漂移"的坑。
|
|
8
|
+
*
|
|
9
|
+
* 所有写入点 `writeXxx.parse(payload)`,所有读取点 `XxxSchema.safeParse(raw)`。
|
|
10
|
+
* 任何一侧加字段,另一侧 TS 类型直接不兼容 —— 编译期拦截漂移。
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
// ─── Worker marker file ───────────────────────────────────────────
|
|
14
|
+
// 物理位置:~/.coral/projects/<project>/runtime/worker-<slotName>-current.json
|
|
15
|
+
// slotName 形如 "worker-1",所以最终文件名是 worker-worker-1-current.json(v0.49.16)
|
|
16
|
+
export const WorkerMarkerSchema = z.object({
|
|
17
|
+
/** 卡片 id(形如 "md-<seq>" 或裸 seq 字符串) */
|
|
18
|
+
cardId: z.string().min(1),
|
|
19
|
+
/** 当前阶段名,如 "develop" / "qa" / "review" */
|
|
20
|
+
stage: z.string().min(1),
|
|
21
|
+
/** ISO 8601 派发时间 */
|
|
22
|
+
dispatchedAt: z.string().datetime(),
|
|
23
|
+
/** ACP session ID,spawn 成功后写入 */
|
|
24
|
+
sessionId: z.string().optional(),
|
|
25
|
+
/** 子进程 PID,spawn 成功后写入 */
|
|
26
|
+
pid: z.number().int().positive().optional(),
|
|
27
|
+
});
|
|
28
|
+
// ─── Card frontmatter ─────────────────────────────────────────────
|
|
29
|
+
// 存在 cards/<state>/<seq>-<slug>.md 的 YAML frontmatter 里
|
|
30
|
+
export const CardFrontmatterSchema = z.object({
|
|
31
|
+
seq: z.number().int().nonnegative(),
|
|
32
|
+
title: z.string().min(1),
|
|
33
|
+
labels: z.array(z.string()).default([]),
|
|
34
|
+
skills: z.array(z.string()).default([]),
|
|
35
|
+
created: z.string().optional(),
|
|
36
|
+
updated: z.string().optional(),
|
|
37
|
+
branch: z.string().nullable().optional(),
|
|
38
|
+
claimed_by: z.string().nullable().optional(),
|
|
39
|
+
claimed_at: z.string().nullable().optional(),
|
|
40
|
+
retry_count: z.number().int().nonnegative().optional(),
|
|
41
|
+
meta: z.record(z.unknown()).optional(),
|
|
42
|
+
});
|
|
43
|
+
// ─── project conf (shell-export syntax) ───────────────────────────
|
|
44
|
+
// 物理位置:~/.coral/projects/<project>/conf
|
|
45
|
+
// 解析由 parseConf 完成(shell-export 不是 YAML/JSON),schema 仅校验解析后的字段
|
|
46
|
+
export const ProjectConfSchema = z.object({
|
|
47
|
+
PROJECT_NAME: z.string().min(1),
|
|
48
|
+
PROJECT_DIR: z.string().min(1),
|
|
49
|
+
PM_TOOL: z.enum(['markdown', 'gitlab', 'github']).default('markdown'),
|
|
50
|
+
AGENT_PROVIDER: z.string().default('claude'),
|
|
51
|
+
MAX_WORKERS: z
|
|
52
|
+
.string()
|
|
53
|
+
.regex(/^\d+$/)
|
|
54
|
+
.default('1'),
|
|
55
|
+
MERGE_BRANCH: z.string().default('main'),
|
|
56
|
+
GITLAB_PROJECT: z.string().optional(),
|
|
57
|
+
GITLAB_PROJECT_ID: z.string().optional(),
|
|
58
|
+
MATRIX_ROOM_ID: z.string().optional(),
|
|
59
|
+
REPO_DIR: z.string().optional(), // 老字段,兼容
|
|
60
|
+
});
|
|
61
|
+
// ─── state.json (RuntimeStore 写) ─────────────────────────────────
|
|
62
|
+
// 物理位置:~/.coral/projects/<project>/runtime/state.json
|
|
63
|
+
// schema 只覆盖外部 service 会读的字段,不是 RuntimeStore 完整内部结构
|
|
64
|
+
export const WorkerSlotStateSchema = z.object({
|
|
65
|
+
status: z.enum(['idle', 'active', 'merging', 'resolving', 'releasing']),
|
|
66
|
+
seq: z.number().nullable(),
|
|
67
|
+
branch: z.string().nullable(),
|
|
68
|
+
worktree: z.string().nullable(),
|
|
69
|
+
claimedAt: z.string().nullable(),
|
|
70
|
+
lastHeartbeat: z.string().nullable(),
|
|
71
|
+
mode: z.enum(['print', 'acp', 'acp-sdk']).nullable().optional(),
|
|
72
|
+
agent: z.enum(['claude']).nullable().optional(),
|
|
73
|
+
pid: z.number().nullable().optional(),
|
|
74
|
+
sessionId: z.string().nullable().optional(),
|
|
75
|
+
remoteStatus: z
|
|
76
|
+
.enum([
|
|
77
|
+
'submitted',
|
|
78
|
+
'running',
|
|
79
|
+
'waiting_input',
|
|
80
|
+
'needs_confirmation',
|
|
81
|
+
'stalled_submit',
|
|
82
|
+
'completed',
|
|
83
|
+
'failed',
|
|
84
|
+
'cancelled',
|
|
85
|
+
'lost',
|
|
86
|
+
])
|
|
87
|
+
.nullable()
|
|
88
|
+
.optional(),
|
|
89
|
+
completedAt: z.string().nullable().optional(),
|
|
90
|
+
});
|
|
91
|
+
export const StateJsonSchema = z.object({
|
|
92
|
+
workers: z.record(WorkerSlotStateSchema),
|
|
93
|
+
// ActiveCardState map 等其它字段对 Service 层不可见,用 unknown passthrough
|
|
94
|
+
});
|
|
95
|
+
// ─── project.yaml / pipeline config ───────────────────────────────
|
|
96
|
+
// 物理位置:~/.coral/projects/<project>/pipelines/project.yaml
|
|
97
|
+
const StageSchema = z.object({
|
|
98
|
+
name: z.string().min(1),
|
|
99
|
+
trigger_state: z.string().optional(),
|
|
100
|
+
active_state: z.string().optional(),
|
|
101
|
+
on_complete: z.string().optional(),
|
|
102
|
+
on_fail: z
|
|
103
|
+
.object({
|
|
104
|
+
action: z.string().optional(),
|
|
105
|
+
halt: z.boolean().optional(),
|
|
106
|
+
})
|
|
107
|
+
.optional(),
|
|
108
|
+
agent: z.string().optional(),
|
|
109
|
+
cwd: z.string().optional(),
|
|
110
|
+
});
|
|
111
|
+
export const PipelineYamlSchema = z.object({
|
|
112
|
+
mode: z.enum(['project', 'single', 'card']).default('project'),
|
|
113
|
+
states: z
|
|
114
|
+
.object({
|
|
115
|
+
planning: z.string().optional(),
|
|
116
|
+
backlog: z.string().optional(),
|
|
117
|
+
ready: z.string().optional(),
|
|
118
|
+
done: z.string().optional(),
|
|
119
|
+
})
|
|
120
|
+
.optional(),
|
|
121
|
+
stages: z.array(StageSchema).min(1),
|
|
122
|
+
// 其它字段透传
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=runtimeSchemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeSchemas.js","sourceRoot":"","sources":["../../src/shared/runtimeSchemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module shared/types
|
|
3
|
+
* @description 跨层共享的领域类型 —— Service / Domain / Infra 都能 import
|
|
4
|
+
*
|
|
5
|
+
* @layer shared
|
|
6
|
+
*
|
|
7
|
+
* 迁移策略:Phase 1 以 re-export 方式建立新入口 models/types.ts 保持不动。
|
|
8
|
+
* Phase 3 全量迁移 caller 后再物理迁入本文件并删除 models/types.ts。
|
|
9
|
+
* 这样旧代码不受影响,新代码统一从 shared/types import。
|
|
10
|
+
*/
|
|
11
|
+
export type { ActionRecord, AuxiliaryState, Card, CardState, ChecklistItem, ChecklistStats, CheckResult, CommandResult, MrStatus, RecommendedAction, StepResult, TickResult, WorkerStatus, } from '../models/types.js';
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,YAAY,EACV,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":""}
|