@polpo-ai/core 0.15.122 → 0.15.124
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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loop/code.d.ts +3 -3
- package/dist/loop/code.d.ts.map +1 -1
- package/dist/loop/code.js +4 -4
- package/dist/loop/code.js.map +1 -1
- package/dist/loop/contract.test.js +168 -2
- package/dist/loop/contract.test.js.map +1 -1
- package/dist/loop/normalize.d.ts.map +1 -1
- package/dist/loop/normalize.js +24 -2
- package/dist/loop/normalize.js.map +1 -1
- package/dist/loop/types.d.ts +37 -23
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/types.js.map +1 -1
- package/dist/schemas.d.ts +59 -28
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +84 -16
- package/dist/schemas.js.map +1 -1
- package/package.json +1 -1
package/dist/loop/types.d.ts
CHANGED
|
@@ -89,22 +89,35 @@ export interface LoopTraceEvent {
|
|
|
89
89
|
outcome?: SandboxReleaseOutcome;
|
|
90
90
|
data?: Record<string, unknown>;
|
|
91
91
|
}
|
|
92
|
-
export
|
|
92
|
+
export interface LoopTransition {
|
|
93
93
|
when?: string;
|
|
94
94
|
to: string;
|
|
95
|
-
|
|
95
|
+
/** Human-readable branch label for visualizers and editors. */
|
|
96
|
+
label?: string;
|
|
97
|
+
/** Optional branch explanation kept separate from the executable guard. */
|
|
98
|
+
description?: string;
|
|
99
|
+
}
|
|
100
|
+
export type LoopNext = string | LoopTransition[];
|
|
101
|
+
export interface LoopDisplayMetadata {
|
|
102
|
+
/** Human-readable label for visualizers and editors. */
|
|
103
|
+
label?: string;
|
|
104
|
+
/** Human-readable description for visualizers, docs, and audit UI. */
|
|
105
|
+
description?: string;
|
|
106
|
+
/** Optional logical group id. Groups never affect execution semantics. */
|
|
107
|
+
group?: string;
|
|
108
|
+
}
|
|
109
|
+
export interface LoopGroup {
|
|
110
|
+
label: string;
|
|
111
|
+
description?: string;
|
|
112
|
+
}
|
|
96
113
|
export type LoopToolChoice = "auto" | "none" | "required" | {
|
|
97
114
|
mode: "auto" | "none" | "required";
|
|
98
115
|
/** Optional specific tool to force when mode is required. */
|
|
99
116
|
tool?: string;
|
|
100
117
|
};
|
|
101
|
-
export interface LoopConfig {
|
|
118
|
+
export interface LoopConfig extends LoopDisplayMetadata {
|
|
102
119
|
/** Optional — the loops-map key is the canonical name. */
|
|
103
120
|
name?: string;
|
|
104
|
-
/** Human-readable label for visualizers and editors. */
|
|
105
|
-
label?: string;
|
|
106
|
-
/** Human-readable description for visualizers, docs, and audit UI. */
|
|
107
|
-
description?: string;
|
|
108
121
|
systemPrompt?: string;
|
|
109
122
|
/** Model-visible JSON projected from static values and shared context bindings. */
|
|
110
123
|
input?: unknown;
|
|
@@ -136,10 +149,8 @@ export interface AgentLoopStep extends LoopConfig {
|
|
|
136
149
|
/** Next step id, conditional transitions, or "end". */
|
|
137
150
|
next?: LoopNext;
|
|
138
151
|
}
|
|
139
|
-
export interface HumanLoopStep {
|
|
152
|
+
export interface HumanLoopStep extends LoopDisplayMetadata {
|
|
140
153
|
type: "human";
|
|
141
|
-
label?: string;
|
|
142
|
-
description?: string;
|
|
143
154
|
when?: string;
|
|
144
155
|
output?: {
|
|
145
156
|
schema?: unknown;
|
|
@@ -147,19 +158,15 @@ export interface HumanLoopStep {
|
|
|
147
158
|
notify?: string[];
|
|
148
159
|
next?: LoopNext;
|
|
149
160
|
}
|
|
150
|
-
export interface ParallelLoopStep {
|
|
161
|
+
export interface ParallelLoopStep extends LoopDisplayMetadata {
|
|
151
162
|
type: "parallel";
|
|
152
|
-
label?: string;
|
|
153
|
-
description?: string;
|
|
154
163
|
when?: string;
|
|
155
164
|
branches: string[];
|
|
156
165
|
join?: "all" | "any" | number;
|
|
157
166
|
next?: LoopNext;
|
|
158
167
|
}
|
|
159
|
-
export interface WhileLoopStep {
|
|
168
|
+
export interface WhileLoopStep extends LoopDisplayMetadata {
|
|
160
169
|
type: "while";
|
|
161
|
-
label?: string;
|
|
162
|
-
description?: string;
|
|
163
170
|
when?: string;
|
|
164
171
|
/** Run the body while this expression evaluates true. Mutually optional with `until`. */
|
|
165
172
|
condition?: string;
|
|
@@ -171,10 +178,8 @@ export interface WhileLoopStep {
|
|
|
171
178
|
maxIterations?: number;
|
|
172
179
|
next?: LoopNext;
|
|
173
180
|
}
|
|
174
|
-
export interface ToolLoopStep {
|
|
181
|
+
export interface ToolLoopStep extends LoopDisplayMetadata {
|
|
175
182
|
type: "tool";
|
|
176
|
-
label?: string;
|
|
177
|
-
description?: string;
|
|
178
183
|
when?: string;
|
|
179
184
|
/** Built-in or custom tool name to execute directly, without an LLM turn. */
|
|
180
185
|
tool: string;
|
|
@@ -219,6 +224,8 @@ export interface ProjectLoopConfig {
|
|
|
219
224
|
label?: string;
|
|
220
225
|
description?: string;
|
|
221
226
|
metadata?: Record<string, unknown>;
|
|
227
|
+
/** Logical visual groups keyed by stable author-defined id. */
|
|
228
|
+
groups?: Record<string, LoopGroup>;
|
|
222
229
|
/** Tool subset available to every step in this Project Loop. */
|
|
223
230
|
allowedTools?: string[];
|
|
224
231
|
context?: "shared";
|
|
@@ -231,6 +238,13 @@ export interface ProjectLoopConfig {
|
|
|
231
238
|
}
|
|
232
239
|
export interface SwitchCase {
|
|
233
240
|
when: string;
|
|
241
|
+
label?: string;
|
|
242
|
+
description?: string;
|
|
243
|
+
steps: Step[];
|
|
244
|
+
}
|
|
245
|
+
export interface SwitchDefault {
|
|
246
|
+
label?: string;
|
|
247
|
+
description?: string;
|
|
234
248
|
steps: Step[];
|
|
235
249
|
}
|
|
236
250
|
export interface WhileBlock {
|
|
@@ -249,7 +263,7 @@ export interface WhileBlock {
|
|
|
249
263
|
}
|
|
250
264
|
export type Step = {
|
|
251
265
|
key?: string;
|
|
252
|
-
} & ({
|
|
266
|
+
} & LoopDisplayMetadata & ({
|
|
253
267
|
loop: string;
|
|
254
268
|
when?: string;
|
|
255
269
|
} | {
|
|
@@ -264,9 +278,7 @@ export type Step = {
|
|
|
264
278
|
} | {
|
|
265
279
|
switch: {
|
|
266
280
|
cases: SwitchCase[];
|
|
267
|
-
default?:
|
|
268
|
-
steps: Step[];
|
|
269
|
-
};
|
|
281
|
+
default?: SwitchDefault;
|
|
270
282
|
};
|
|
271
283
|
when?: string;
|
|
272
284
|
} | {
|
|
@@ -283,6 +295,8 @@ export type Step = {
|
|
|
283
295
|
export interface Pipeline {
|
|
284
296
|
mode?: "sequential" | "parallel";
|
|
285
297
|
context?: "shared";
|
|
298
|
+
/** Logical visual groups keyed by stable author-defined id. */
|
|
299
|
+
groups?: Record<string, LoopGroup>;
|
|
286
300
|
steps: Step[];
|
|
287
301
|
}
|
|
288
302
|
export interface AgentLoopConfig {
|
package/dist/loop/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/loop/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/loop/types.ts"],"names":[],"mappings":"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"}
|
package/dist/loop/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/loop/types.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY;IACZ,aAAa;IACb,cAAc;IACd,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,UAAU;CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/loop/types.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY;IACZ,aAAa;IACb,cAAc;IACd,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,UAAU;CACF,CAAC;AAmUX,4DAA4D;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAO,EAAwC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAO,EAAwC,EAAE,CAC1E,MAAM,IAAI,CAAC,CAAC;AACd,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAO,EAA8C,EAAE,CACpF,UAAU,IAAI,CAAC,CAAC;AAClB,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,CAAO,EACkD,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAO,EAA6C,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,CAAO,EACgC,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -149,10 +149,15 @@ export declare const loopToolChoiceSchema: z.ZodUnion<readonly [z.ZodEnum<{
|
|
|
149
149
|
}>;
|
|
150
150
|
tool: z.ZodOptional<z.ZodString>;
|
|
151
151
|
}, z.core.$strip>]>;
|
|
152
|
-
export declare const
|
|
153
|
-
|
|
154
|
-
|
|
152
|
+
export declare const loopGroupSchema: z.ZodObject<{
|
|
153
|
+
label: z.ZodString;
|
|
154
|
+
description: z.ZodOptional<z.ZodString>;
|
|
155
|
+
}, z.core.$strip>;
|
|
156
|
+
export declare const loopGroupsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
157
|
+
label: z.ZodString;
|
|
155
158
|
description: z.ZodOptional<z.ZodString>;
|
|
159
|
+
}, z.core.$strip>>;
|
|
160
|
+
export declare const loopConfigSchema: z.ZodObject<{
|
|
156
161
|
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
157
162
|
input: z.ZodOptional<z.ZodUnknown>;
|
|
158
163
|
inputSchema: z.ZodOptional<z.ZodUnknown>;
|
|
@@ -190,12 +195,13 @@ export declare const loopConfigSchema: z.ZodObject<{
|
|
|
190
195
|
output: z.ZodOptional<z.ZodObject<{
|
|
191
196
|
schema: z.ZodOptional<z.ZodUnknown>;
|
|
192
197
|
}, z.core.$strip>>;
|
|
198
|
+
label: z.ZodOptional<z.ZodString>;
|
|
199
|
+
description: z.ZodOptional<z.ZodString>;
|
|
200
|
+
group: z.ZodOptional<z.ZodString>;
|
|
201
|
+
name: z.ZodOptional<z.ZodString>;
|
|
193
202
|
}, z.core.$strip>;
|
|
194
203
|
export declare const loopNextSchema: z.ZodType<unknown>;
|
|
195
204
|
export declare const loopStepConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
196
|
-
name: z.ZodOptional<z.ZodString>;
|
|
197
|
-
label: z.ZodOptional<z.ZodString>;
|
|
198
|
-
description: z.ZodOptional<z.ZodString>;
|
|
199
205
|
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
200
206
|
input: z.ZodOptional<z.ZodUnknown>;
|
|
201
207
|
inputSchema: z.ZodOptional<z.ZodUnknown>;
|
|
@@ -233,36 +239,43 @@ export declare const loopStepConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
|
|
|
233
239
|
output: z.ZodOptional<z.ZodObject<{
|
|
234
240
|
schema: z.ZodOptional<z.ZodUnknown>;
|
|
235
241
|
}, z.core.$strip>>;
|
|
242
|
+
label: z.ZodOptional<z.ZodString>;
|
|
243
|
+
description: z.ZodOptional<z.ZodString>;
|
|
244
|
+
group: z.ZodOptional<z.ZodString>;
|
|
245
|
+
name: z.ZodOptional<z.ZodString>;
|
|
236
246
|
type: z.ZodLiteral<"agent">;
|
|
237
247
|
when: z.ZodOptional<z.ZodString>;
|
|
238
248
|
next: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
239
249
|
}, z.core.$strip>, z.ZodObject<{
|
|
240
|
-
type: z.ZodLiteral<"human">;
|
|
241
|
-
label: z.ZodOptional<z.ZodString>;
|
|
242
|
-
description: z.ZodOptional<z.ZodString>;
|
|
243
250
|
when: z.ZodOptional<z.ZodString>;
|
|
244
251
|
output: z.ZodOptional<z.ZodObject<{
|
|
245
252
|
schema: z.ZodOptional<z.ZodUnknown>;
|
|
246
253
|
}, z.core.$strip>>;
|
|
247
254
|
notify: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
248
255
|
next: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
249
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
250
|
-
type: z.ZodLiteral<"parallel">;
|
|
251
256
|
label: z.ZodOptional<z.ZodString>;
|
|
252
257
|
description: z.ZodOptional<z.ZodString>;
|
|
258
|
+
group: z.ZodOptional<z.ZodString>;
|
|
259
|
+
type: z.ZodLiteral<"human">;
|
|
260
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
253
261
|
when: z.ZodOptional<z.ZodString>;
|
|
254
262
|
branches: z.ZodArray<z.ZodString>;
|
|
255
263
|
join: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodLiteral<"any">, z.ZodNumber]>>;
|
|
256
264
|
next: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
257
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
258
|
-
type: z.ZodLiteral<"tool">;
|
|
259
265
|
label: z.ZodOptional<z.ZodString>;
|
|
260
266
|
description: z.ZodOptional<z.ZodString>;
|
|
267
|
+
group: z.ZodOptional<z.ZodString>;
|
|
268
|
+
type: z.ZodLiteral<"parallel">;
|
|
269
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
261
270
|
when: z.ZodOptional<z.ZodString>;
|
|
262
271
|
tool: z.ZodString;
|
|
263
272
|
input: z.ZodOptional<z.ZodUnknown>;
|
|
264
273
|
saveAs: z.ZodOptional<z.ZodString>;
|
|
265
274
|
next: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
275
|
+
label: z.ZodOptional<z.ZodString>;
|
|
276
|
+
description: z.ZodOptional<z.ZodString>;
|
|
277
|
+
group: z.ZodOptional<z.ZodString>;
|
|
278
|
+
type: z.ZodLiteral<"tool">;
|
|
266
279
|
}, z.core.$strip>], "type">;
|
|
267
280
|
export declare const loopHookActionSchema: z.ZodObject<{
|
|
268
281
|
tool: z.ZodString;
|
|
@@ -359,6 +372,10 @@ export declare const projectLoopConfigSchema: z.ZodObject<{
|
|
|
359
372
|
label: z.ZodOptional<z.ZodString>;
|
|
360
373
|
description: z.ZodOptional<z.ZodString>;
|
|
361
374
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
375
|
+
groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
376
|
+
label: z.ZodString;
|
|
377
|
+
description: z.ZodOptional<z.ZodString>;
|
|
378
|
+
}, z.core.$strip>>>;
|
|
362
379
|
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
363
380
|
context: z.ZodOptional<z.ZodLiteral<"shared">>;
|
|
364
381
|
hooks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
|
|
@@ -448,9 +465,6 @@ export declare const projectLoopConfigSchema: z.ZodObject<{
|
|
|
448
465
|
}, z.core.$strip>>;
|
|
449
466
|
start: z.ZodString;
|
|
450
467
|
steps: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
451
|
-
name: z.ZodOptional<z.ZodString>;
|
|
452
|
-
label: z.ZodOptional<z.ZodString>;
|
|
453
|
-
description: z.ZodOptional<z.ZodString>;
|
|
454
468
|
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
455
469
|
input: z.ZodOptional<z.ZodUnknown>;
|
|
456
470
|
inputSchema: z.ZodOptional<z.ZodUnknown>;
|
|
@@ -488,46 +502,54 @@ export declare const projectLoopConfigSchema: z.ZodObject<{
|
|
|
488
502
|
output: z.ZodOptional<z.ZodObject<{
|
|
489
503
|
schema: z.ZodOptional<z.ZodUnknown>;
|
|
490
504
|
}, z.core.$strip>>;
|
|
505
|
+
label: z.ZodOptional<z.ZodString>;
|
|
506
|
+
description: z.ZodOptional<z.ZodString>;
|
|
507
|
+
group: z.ZodOptional<z.ZodString>;
|
|
508
|
+
name: z.ZodOptional<z.ZodString>;
|
|
491
509
|
type: z.ZodOptional<z.ZodLiteral<"agent">>;
|
|
492
510
|
when: z.ZodOptional<z.ZodString>;
|
|
493
511
|
next: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
494
512
|
}, z.core.$strip>, z.ZodObject<{
|
|
495
|
-
type: z.ZodLiteral<"human">;
|
|
496
|
-
label: z.ZodOptional<z.ZodString>;
|
|
497
|
-
description: z.ZodOptional<z.ZodString>;
|
|
498
513
|
when: z.ZodOptional<z.ZodString>;
|
|
499
514
|
output: z.ZodOptional<z.ZodObject<{
|
|
500
515
|
schema: z.ZodOptional<z.ZodUnknown>;
|
|
501
516
|
}, z.core.$strip>>;
|
|
502
517
|
notify: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
503
518
|
next: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
504
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
505
|
-
type: z.ZodLiteral<"parallel">;
|
|
506
519
|
label: z.ZodOptional<z.ZodString>;
|
|
507
520
|
description: z.ZodOptional<z.ZodString>;
|
|
521
|
+
group: z.ZodOptional<z.ZodString>;
|
|
522
|
+
type: z.ZodLiteral<"human">;
|
|
523
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
508
524
|
when: z.ZodOptional<z.ZodString>;
|
|
509
525
|
branches: z.ZodArray<z.ZodString>;
|
|
510
526
|
join: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodLiteral<"any">, z.ZodNumber]>>;
|
|
511
527
|
next: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
512
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
513
|
-
type: z.ZodLiteral<"while">;
|
|
514
528
|
label: z.ZodOptional<z.ZodString>;
|
|
515
529
|
description: z.ZodOptional<z.ZodString>;
|
|
530
|
+
group: z.ZodOptional<z.ZodString>;
|
|
531
|
+
type: z.ZodLiteral<"parallel">;
|
|
532
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
516
533
|
when: z.ZodOptional<z.ZodString>;
|
|
517
534
|
condition: z.ZodOptional<z.ZodString>;
|
|
518
535
|
until: z.ZodOptional<z.ZodString>;
|
|
519
536
|
body: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
|
|
520
537
|
maxIterations: z.ZodOptional<z.ZodNumber>;
|
|
521
538
|
next: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
522
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
523
|
-
type: z.ZodLiteral<"tool">;
|
|
524
539
|
label: z.ZodOptional<z.ZodString>;
|
|
525
540
|
description: z.ZodOptional<z.ZodString>;
|
|
541
|
+
group: z.ZodOptional<z.ZodString>;
|
|
542
|
+
type: z.ZodLiteral<"while">;
|
|
543
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
526
544
|
when: z.ZodOptional<z.ZodString>;
|
|
527
545
|
tool: z.ZodString;
|
|
528
546
|
input: z.ZodOptional<z.ZodUnknown>;
|
|
529
547
|
saveAs: z.ZodOptional<z.ZodString>;
|
|
530
548
|
next: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
549
|
+
label: z.ZodOptional<z.ZodString>;
|
|
550
|
+
description: z.ZodOptional<z.ZodString>;
|
|
551
|
+
group: z.ZodOptional<z.ZodString>;
|
|
552
|
+
type: z.ZodLiteral<"tool">;
|
|
531
553
|
}, z.core.$strip>]>>;
|
|
532
554
|
}, z.core.$strip>;
|
|
533
555
|
export declare const loopStepSchema: z.ZodType<unknown>;
|
|
@@ -537,6 +559,10 @@ export declare const pipelineSchema: z.ZodObject<{
|
|
|
537
559
|
sequential: "sequential";
|
|
538
560
|
}>>;
|
|
539
561
|
context: z.ZodOptional<z.ZodLiteral<"shared">>;
|
|
562
|
+
groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
563
|
+
label: z.ZodString;
|
|
564
|
+
description: z.ZodOptional<z.ZodString>;
|
|
565
|
+
}, z.core.$strip>>>;
|
|
540
566
|
steps: z.ZodArray<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
541
567
|
}, z.core.$strip>;
|
|
542
568
|
export declare const agentLoopConfigSchema: z.ZodObject<{
|
|
@@ -553,9 +579,6 @@ export declare const agentLoopConfigSchema: z.ZodObject<{
|
|
|
553
579
|
}, z.core.$strict>]>>;
|
|
554
580
|
runtime: z.ZodOptional<z.ZodString>;
|
|
555
581
|
loops: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
556
|
-
name: z.ZodOptional<z.ZodString>;
|
|
557
|
-
label: z.ZodOptional<z.ZodString>;
|
|
558
|
-
description: z.ZodOptional<z.ZodString>;
|
|
559
582
|
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
560
583
|
input: z.ZodOptional<z.ZodUnknown>;
|
|
561
584
|
inputSchema: z.ZodOptional<z.ZodUnknown>;
|
|
@@ -593,6 +616,10 @@ export declare const agentLoopConfigSchema: z.ZodObject<{
|
|
|
593
616
|
output: z.ZodOptional<z.ZodObject<{
|
|
594
617
|
schema: z.ZodOptional<z.ZodUnknown>;
|
|
595
618
|
}, z.core.$strip>>;
|
|
619
|
+
label: z.ZodOptional<z.ZodString>;
|
|
620
|
+
description: z.ZodOptional<z.ZodString>;
|
|
621
|
+
group: z.ZodOptional<z.ZodString>;
|
|
622
|
+
name: z.ZodOptional<z.ZodString>;
|
|
596
623
|
}, z.core.$strip>>;
|
|
597
624
|
pipeline: z.ZodOptional<z.ZodObject<{
|
|
598
625
|
mode: z.ZodOptional<z.ZodEnum<{
|
|
@@ -600,6 +627,10 @@ export declare const agentLoopConfigSchema: z.ZodObject<{
|
|
|
600
627
|
sequential: "sequential";
|
|
601
628
|
}>>;
|
|
602
629
|
context: z.ZodOptional<z.ZodLiteral<"shared">>;
|
|
630
|
+
groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
631
|
+
label: z.ZodString;
|
|
632
|
+
description: z.ZodOptional<z.ZodString>;
|
|
633
|
+
}, z.core.$strip>>>;
|
|
603
634
|
steps: z.ZodArray<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
604
635
|
}, z.core.$strip>>;
|
|
605
636
|
}, z.core.$strip>;
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAyC,MAAM,YAAY,CAAC;AAyCzF,eAAO,MAAM,qBAAqB;;;;;;;;;2BAKhC,CAAC;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAUrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG;IAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAgBrG;AAID,eAAO,MAAM,uBAAuB;;;;;;iBAMlC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;kBAGnB,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;kBAE7B,CAAC;AAEZ,eAAO,MAAM,iBAAiB;;oBAG5B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;kBAG3B,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;;;;;;;;oBAI/B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;qBAGtC,CAAC;AAIF,eAAO,MAAM,kBAAkB;;;;;;;iBAO7B,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;;;;iBAQnC,CAAC;AAwBH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuEhC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAI1E,eAAO,MAAM,eAAe;;iBAE1B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;mBAM/B,CAAC;AAEH,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAyC,MAAM,YAAY,CAAC;AAyCzF,eAAO,MAAM,qBAAqB;;;;;;;;;2BAKhC,CAAC;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAUrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG;IAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAgBrG;AAID,eAAO,MAAM,uBAAuB;;;;;;iBAMlC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;kBAGnB,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;kBAE7B,CAAC;AAEZ,eAAO,MAAM,iBAAiB;;oBAG5B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;kBAG3B,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;;;;;;;;oBAI/B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;qBAGtC,CAAC;AAIF,eAAO,MAAM,kBAAkB;;;;;;;iBAO7B,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;;;;iBAQnC,CAAC;AAwBH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuEhC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAI1E,eAAO,MAAM,eAAe;;iBAE1B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;mBAM/B,CAAC;AAQH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;kBAA+C,CAAC;AAE7E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuD3B,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAQ5C,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiC/B,CAAC;AAIH,eAAO,MAAM,oBAAoB;;;;;;;;;iBAM/B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;mBAajC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;iBAOlC,CAAC;AAIH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAetC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+GlC,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CA+D3C,CAAC;AAEJ,eAAO,MAAM,cAAc;;;;;;;;;;;iBAKzB,CAAC;AAqDH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgChC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,CASxE"}
|
package/dist/schemas.js
CHANGED
|
@@ -220,10 +220,19 @@ export const loopToolChoiceSchema = z.union([
|
|
|
220
220
|
tool: z.string().min(1).optional(),
|
|
221
221
|
}),
|
|
222
222
|
]);
|
|
223
|
-
|
|
224
|
-
name: z.string().min(1).optional(),
|
|
223
|
+
const loopDisplayMetadataShape = {
|
|
225
224
|
label: z.string().min(1).optional(),
|
|
226
225
|
description: z.string().min(1).optional(),
|
|
226
|
+
group: z.string().min(1).optional(),
|
|
227
|
+
};
|
|
228
|
+
export const loopGroupSchema = z.object({
|
|
229
|
+
label: z.string().min(1),
|
|
230
|
+
description: z.string().min(1).optional(),
|
|
231
|
+
});
|
|
232
|
+
export const loopGroupsSchema = z.record(z.string().min(1), loopGroupSchema);
|
|
233
|
+
export const loopConfigSchema = z.object({
|
|
234
|
+
name: z.string().min(1).optional(),
|
|
235
|
+
...loopDisplayMetadataShape,
|
|
227
236
|
systemPrompt: z.string().optional(),
|
|
228
237
|
input: z.unknown().optional(),
|
|
229
238
|
inputSchema: z.unknown().optional(),
|
|
@@ -284,6 +293,8 @@ export const loopNextSchema = z.union([
|
|
|
284
293
|
z.array(z.object({
|
|
285
294
|
when: z.string().min(1).optional(),
|
|
286
295
|
to: z.string().min(1),
|
|
296
|
+
label: z.string().min(1).optional(),
|
|
297
|
+
description: z.string().min(1).optional(),
|
|
287
298
|
})).min(1),
|
|
288
299
|
]);
|
|
289
300
|
export const loopStepConfigSchema = z.discriminatedUnion("type", [
|
|
@@ -294,8 +305,7 @@ export const loopStepConfigSchema = z.discriminatedUnion("type", [
|
|
|
294
305
|
}),
|
|
295
306
|
z.object({
|
|
296
307
|
type: z.literal("human"),
|
|
297
|
-
|
|
298
|
-
description: z.string().min(1).optional(),
|
|
308
|
+
...loopDisplayMetadataShape,
|
|
299
309
|
when: z.string().min(1).optional(),
|
|
300
310
|
output: z.object({
|
|
301
311
|
schema: z.unknown().optional(),
|
|
@@ -305,8 +315,7 @@ export const loopStepConfigSchema = z.discriminatedUnion("type", [
|
|
|
305
315
|
}),
|
|
306
316
|
z.object({
|
|
307
317
|
type: z.literal("parallel"),
|
|
308
|
-
|
|
309
|
-
description: z.string().min(1).optional(),
|
|
318
|
+
...loopDisplayMetadataShape,
|
|
310
319
|
when: z.string().min(1).optional(),
|
|
311
320
|
branches: z.array(z.string().min(1)).min(1),
|
|
312
321
|
join: z.union([z.literal("all"), z.literal("any"), z.number().int().positive()]).optional(),
|
|
@@ -314,8 +323,7 @@ export const loopStepConfigSchema = z.discriminatedUnion("type", [
|
|
|
314
323
|
}),
|
|
315
324
|
z.object({
|
|
316
325
|
type: z.literal("tool"),
|
|
317
|
-
|
|
318
|
-
description: z.string().min(1).optional(),
|
|
326
|
+
...loopDisplayMetadataShape,
|
|
319
327
|
when: z.string().min(1).optional(),
|
|
320
328
|
tool: z.string().min(1),
|
|
321
329
|
input: z.unknown().optional(),
|
|
@@ -374,6 +382,7 @@ export const projectLoopConfigSchema = z.object({
|
|
|
374
382
|
label: z.string().min(1).optional(),
|
|
375
383
|
description: z.string().optional(),
|
|
376
384
|
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
385
|
+
groups: loopGroupsSchema.optional(),
|
|
377
386
|
allowedTools: z.array(z.string().min(1)).optional(),
|
|
378
387
|
context: z.literal("shared").optional(),
|
|
379
388
|
hooks: projectLoopHooksSchema.optional(),
|
|
@@ -397,8 +406,7 @@ export const projectLoopConfigSchema = z.object({
|
|
|
397
406
|
}),
|
|
398
407
|
z.object({
|
|
399
408
|
type: z.literal("human"),
|
|
400
|
-
|
|
401
|
-
description: z.string().min(1).optional(),
|
|
409
|
+
...loopDisplayMetadataShape,
|
|
402
410
|
when: z.string().min(1).optional(),
|
|
403
411
|
output: z.object({ schema: z.unknown().optional() }).optional(),
|
|
404
412
|
notify: z.array(z.string().min(1)).optional(),
|
|
@@ -406,8 +414,7 @@ export const projectLoopConfigSchema = z.object({
|
|
|
406
414
|
}),
|
|
407
415
|
z.object({
|
|
408
416
|
type: z.literal("parallel"),
|
|
409
|
-
|
|
410
|
-
description: z.string().min(1).optional(),
|
|
417
|
+
...loopDisplayMetadataShape,
|
|
411
418
|
when: z.string().min(1).optional(),
|
|
412
419
|
branches: z.array(z.string().min(1)).min(1),
|
|
413
420
|
join: z.union([z.literal("all"), z.literal("any"), z.number().int().positive()]).optional(),
|
|
@@ -415,8 +422,7 @@ export const projectLoopConfigSchema = z.object({
|
|
|
415
422
|
}),
|
|
416
423
|
z.object({
|
|
417
424
|
type: z.literal("while"),
|
|
418
|
-
|
|
419
|
-
description: z.string().min(1).optional(),
|
|
425
|
+
...loopDisplayMetadataShape,
|
|
420
426
|
when: z.string().min(1).optional(),
|
|
421
427
|
condition: z.string().min(1).optional(),
|
|
422
428
|
until: z.string().min(1).optional(),
|
|
@@ -428,8 +434,7 @@ export const projectLoopConfigSchema = z.object({
|
|
|
428
434
|
}),
|
|
429
435
|
z.object({
|
|
430
436
|
type: z.literal("tool"),
|
|
431
|
-
|
|
432
|
-
description: z.string().min(1).optional(),
|
|
437
|
+
...loopDisplayMetadataShape,
|
|
433
438
|
when: z.string().min(1).optional(),
|
|
434
439
|
tool: z.string().min(1),
|
|
435
440
|
input: z.unknown().optional(),
|
|
@@ -439,6 +444,7 @@ export const projectLoopConfigSchema = z.object({
|
|
|
439
444
|
])),
|
|
440
445
|
}).superRefine((loop, ctx) => {
|
|
441
446
|
const knownSteps = new Set(Object.keys(loop.steps));
|
|
447
|
+
const knownGroups = new Set(Object.keys(loop.groups ?? {}));
|
|
442
448
|
if (!knownSteps.has(loop.start)) {
|
|
443
449
|
ctx.addIssue({ code: z.ZodIssueCode.custom, message: `start references unknown step "${loop.start}"`, path: ["start"] });
|
|
444
450
|
}
|
|
@@ -448,6 +454,13 @@ export const projectLoopConfigSchema = z.object({
|
|
|
448
454
|
}
|
|
449
455
|
};
|
|
450
456
|
for (const [name, step] of Object.entries(loop.steps)) {
|
|
457
|
+
if (step.group && !knownGroups.has(step.group)) {
|
|
458
|
+
ctx.addIssue({
|
|
459
|
+
code: z.ZodIssueCode.custom,
|
|
460
|
+
message: `step references unknown group "${step.group}"`,
|
|
461
|
+
path: ["steps", name, "group"],
|
|
462
|
+
});
|
|
463
|
+
}
|
|
451
464
|
if (step.type === "parallel") {
|
|
452
465
|
step.branches.forEach((branch, i) => checkTarget(branch, ["steps", name, "branches", i]));
|
|
453
466
|
}
|
|
@@ -477,21 +490,29 @@ export const projectLoopConfigSchema = z.object({
|
|
|
477
490
|
});
|
|
478
491
|
export const loopStepSchema = z.lazy(() => z.union([
|
|
479
492
|
z.object({
|
|
493
|
+
key: z.string().min(1).optional(),
|
|
494
|
+
...loopDisplayMetadataShape,
|
|
480
495
|
loop: z.string().min(1),
|
|
481
496
|
when: z.string().min(1).optional(),
|
|
482
497
|
}),
|
|
483
498
|
z.object({
|
|
499
|
+
key: z.string().min(1).optional(),
|
|
500
|
+
...loopDisplayMetadataShape,
|
|
484
501
|
tool: z.string().min(1),
|
|
485
502
|
input: z.unknown().optional(),
|
|
486
503
|
saveAs: z.string().min(1).optional(),
|
|
487
504
|
when: z.string().min(1).optional(),
|
|
488
505
|
}),
|
|
489
506
|
z.object({
|
|
507
|
+
key: z.string().min(1).optional(),
|
|
508
|
+
...loopDisplayMetadataShape,
|
|
490
509
|
parallel: z.array(loopStepSchema).min(1),
|
|
491
510
|
join: z.union([z.literal("all"), z.literal("any"), z.number().int().positive()]).optional(),
|
|
492
511
|
when: z.string().min(1).optional(),
|
|
493
512
|
}),
|
|
494
513
|
z.object({
|
|
514
|
+
key: z.string().min(1).optional(),
|
|
515
|
+
...loopDisplayMetadataShape,
|
|
495
516
|
while: z.object({
|
|
496
517
|
condition: z.string().min(1).optional(),
|
|
497
518
|
until: z.string().min(1).optional(),
|
|
@@ -503,18 +524,26 @@ export const loopStepSchema = z.lazy(() => z.union([
|
|
|
503
524
|
when: z.string().min(1).optional(),
|
|
504
525
|
}),
|
|
505
526
|
z.object({
|
|
527
|
+
key: z.string().min(1).optional(),
|
|
528
|
+
...loopDisplayMetadataShape,
|
|
506
529
|
switch: z.object({
|
|
507
530
|
cases: z.array(z.object({
|
|
508
531
|
when: z.string().min(1),
|
|
532
|
+
label: z.string().min(1).optional(),
|
|
533
|
+
description: z.string().min(1).optional(),
|
|
509
534
|
steps: z.array(loopStepSchema).min(1),
|
|
510
535
|
})).min(1),
|
|
511
536
|
default: z.object({
|
|
537
|
+
label: z.string().min(1).optional(),
|
|
538
|
+
description: z.string().min(1).optional(),
|
|
512
539
|
steps: z.array(loopStepSchema).min(1),
|
|
513
540
|
}).optional(),
|
|
514
541
|
}),
|
|
515
542
|
when: z.string().min(1).optional(),
|
|
516
543
|
}),
|
|
517
544
|
z.object({
|
|
545
|
+
key: z.string().min(1).optional(),
|
|
546
|
+
...loopDisplayMetadataShape,
|
|
518
547
|
human: z.string().min(1),
|
|
519
548
|
output: z.object({
|
|
520
549
|
schema: z.unknown().optional(),
|
|
@@ -526,6 +555,7 @@ export const loopStepSchema = z.lazy(() => z.union([
|
|
|
526
555
|
export const pipelineSchema = z.object({
|
|
527
556
|
mode: z.enum(["sequential", "parallel"]).optional(),
|
|
528
557
|
context: z.literal("shared").optional(),
|
|
558
|
+
groups: loopGroupsSchema.optional(),
|
|
529
559
|
steps: z.array(loopStepSchema).min(1),
|
|
530
560
|
});
|
|
531
561
|
function collectLoopStepRefs(step, refs) {
|
|
@@ -557,6 +587,31 @@ function collectLoopStepRefs(step, refs) {
|
|
|
557
587
|
collectLoopStepRefs(child, refs);
|
|
558
588
|
}
|
|
559
589
|
}
|
|
590
|
+
function collectLoopStepGroupRefs(step, refs) {
|
|
591
|
+
if (!step || typeof step !== "object")
|
|
592
|
+
return;
|
|
593
|
+
const node = step;
|
|
594
|
+
if (typeof node.group === "string")
|
|
595
|
+
refs.push(node.group);
|
|
596
|
+
if (Array.isArray(node.parallel)) {
|
|
597
|
+
for (const child of node.parallel)
|
|
598
|
+
collectLoopStepGroupRefs(child, refs);
|
|
599
|
+
}
|
|
600
|
+
if (node.switch && typeof node.switch === "object") {
|
|
601
|
+
const switchStep = node.switch;
|
|
602
|
+
for (const branch of switchStep.cases ?? []) {
|
|
603
|
+
for (const child of branch.steps ?? [])
|
|
604
|
+
collectLoopStepGroupRefs(child, refs);
|
|
605
|
+
}
|
|
606
|
+
for (const child of switchStep.default?.steps ?? [])
|
|
607
|
+
collectLoopStepGroupRefs(child, refs);
|
|
608
|
+
}
|
|
609
|
+
if (node.while && typeof node.while === "object") {
|
|
610
|
+
const whileStep = node.while;
|
|
611
|
+
for (const child of whileStep.steps ?? [])
|
|
612
|
+
collectLoopStepGroupRefs(child, refs);
|
|
613
|
+
}
|
|
614
|
+
}
|
|
560
615
|
export const agentLoopConfigSchema = z.object({
|
|
561
616
|
name: z.string().min(1).optional(),
|
|
562
617
|
model: modelSelectionSchema.optional(),
|
|
@@ -579,6 +634,19 @@ export const agentLoopConfigSchema = z.object({
|
|
|
579
634
|
});
|
|
580
635
|
}
|
|
581
636
|
}
|
|
637
|
+
const knownGroups = new Set(Object.keys(config.pipeline.groups ?? {}));
|
|
638
|
+
const groupRefs = [];
|
|
639
|
+
for (const step of config.pipeline.steps)
|
|
640
|
+
collectLoopStepGroupRefs(step, groupRefs);
|
|
641
|
+
for (const ref of groupRefs) {
|
|
642
|
+
if (!knownGroups.has(ref)) {
|
|
643
|
+
ctx.addIssue({
|
|
644
|
+
code: z.ZodIssueCode.custom,
|
|
645
|
+
message: `pipeline references unknown group "${ref}"`,
|
|
646
|
+
path: ["pipeline", "groups"],
|
|
647
|
+
});
|
|
648
|
+
}
|
|
649
|
+
}
|
|
582
650
|
});
|
|
583
651
|
/**
|
|
584
652
|
* Parse and validate a mission JSON document strictly.
|