@bendyline/gezel 0.1.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.
@@ -0,0 +1,4270 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * ─ Craftbook document ────────────────────────────────────────────────
5
+ *
6
+ * The single self-contained artifact a model reads/writes when authoring
7
+ * or editing a craftbook: metadata + step blueprints + inline scripts in
8
+ * ONE document. Two encodings carry the same logical shape — a JSON text
9
+ * (this schema parsed directly) and a markdown text (frontmatter + prose
10
+ * + fenced blocks; see `markdown/craftbook-md.ts`). The format-agnostic
11
+ * parse/serialize entry points live in `craftbook-doc.ts` at the core
12
+ * root (they need the deliverable-expansion helpers, which sit outside
13
+ * the schemas layer).
14
+ */
15
+ declare const CraftbookDocSchema: z.ZodObject<{
16
+ id: z.ZodOptional<z.ZodString>;
17
+ name: z.ZodString;
18
+ description: z.ZodOptional<z.ZodString>;
19
+ basedOn: z.ZodOptional<z.ZodObject<{
20
+ name: z.ZodString;
21
+ url: z.ZodString;
22
+ }, z.core.$strip>>;
23
+ plan: z.ZodOptional<z.ZodString>;
24
+ entryStepId: z.ZodOptional<z.ZodString>;
25
+ triggers: z.ZodOptional<z.ZodArray<z.ZodString>>;
26
+ command: z.ZodOptional<z.ZodString>;
27
+ defaultAssignee: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
28
+ kind: z.ZodLiteral<"gezel">;
29
+ gezelId: z.ZodString;
30
+ }, z.core.$strip>, z.ZodObject<{
31
+ kind: z.ZodLiteral<"user">;
32
+ }, z.core.$strip>], "kind">>;
33
+ requirements: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
34
+ kind: z.ZodLiteral<"github">;
35
+ }, z.core.$strip>, z.ZodObject<{
36
+ kind: z.ZodLiteral<"non-main-branch">;
37
+ }, z.core.$strip>], "kind">>>;
38
+ runModes: z.ZodOptional<z.ZodObject<{
39
+ scheduled: z.ZodOptional<z.ZodEnum<{
40
+ supported: "supported";
41
+ recommended: "recommended";
42
+ }>>;
43
+ nightShift: z.ZodOptional<z.ZodEnum<{
44
+ supported: "supported";
45
+ recommended: "recommended";
46
+ }>>;
47
+ }, z.core.$strip>>;
48
+ toolsets: z.ZodOptional<z.ZodArray<z.ZodObject<{
49
+ toolsetId: z.ZodString;
50
+ sourceId: z.ZodOptional<z.ZodString>;
51
+ minVersion: z.ZodOptional<z.ZodString>;
52
+ optional: z.ZodOptional<z.ZodBoolean>;
53
+ autoAllow: z.ZodOptional<z.ZodBoolean>;
54
+ reason: z.ZodOptional<z.ZodString>;
55
+ }, z.core.$strip>>>;
56
+ connectors: z.ZodOptional<z.ZodArray<z.ZodObject<{
57
+ typeId: z.ZodString;
58
+ sourceId: z.ZodOptional<z.ZodString>;
59
+ optional: z.ZodOptional<z.ZodBoolean>;
60
+ reason: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>>>;
62
+ paramSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
63
+ hooks: z.ZodOptional<z.ZodArray<z.ZodObject<{
64
+ phase: z.ZodEnum<{
65
+ PreToolUse: "PreToolUse";
66
+ PostToolUse: "PostToolUse";
67
+ }>;
68
+ matcher: z.ZodDefault<z.ZodString>;
69
+ script: z.ZodOptional<z.ZodObject<{
70
+ name: z.ZodString;
71
+ scope: z.ZodOptional<z.ZodEnum<{
72
+ user: "user";
73
+ project: "project";
74
+ craftbook: "craftbook";
75
+ standard: "standard";
76
+ }>>;
77
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
78
+ autoAdvanceOnSuccess: z.ZodOptional<z.ZodBoolean>;
79
+ autoAdvanceWhen: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
80
+ op: z.ZodLiteral<"always">;
81
+ }, z.core.$strip>, z.ZodObject<{
82
+ op: z.ZodLiteral<"never">;
83
+ }, z.core.$strip>, z.ZodObject<{
84
+ op: z.ZodLiteral<"ok">;
85
+ }, z.core.$strip>, z.ZodObject<{
86
+ op: z.ZodLiteral<"equals">;
87
+ field: z.ZodString;
88
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
89
+ }, z.core.$strip>, z.ZodObject<{
90
+ op: z.ZodLiteral<"exists">;
91
+ field: z.ZodString;
92
+ negate: z.ZodOptional<z.ZodBoolean>;
93
+ }, z.core.$strip>, z.ZodObject<{
94
+ op: z.ZodLiteral<"gt">;
95
+ field: z.ZodString;
96
+ value: z.ZodNumber;
97
+ }, z.core.$strip>], "op">>;
98
+ }, z.core.$strip>>;
99
+ decision: z.ZodOptional<z.ZodEnum<{
100
+ allow: "allow";
101
+ deny: "deny";
102
+ ask: "ask";
103
+ }>>;
104
+ label: z.ZodOptional<z.ZodString>;
105
+ }, z.core.$strip>>>;
106
+ steps: z.ZodArray<z.ZodObject<{
107
+ id: z.ZodOptional<z.ZodString>;
108
+ name: z.ZodString;
109
+ description: z.ZodOptional<z.ZodString>;
110
+ prompt: z.ZodOptional<z.ZodString>;
111
+ suggestedGezelId: z.ZodOptional<z.ZodString>;
112
+ suggestedRole: z.ZodOptional<z.ZodString>;
113
+ capabilityFloor: z.ZodOptional<z.ZodEnum<{
114
+ tiny: "tiny";
115
+ small: "small";
116
+ medium: "medium";
117
+ large: "large";
118
+ cloud: "cloud";
119
+ }>>;
120
+ assignee: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
121
+ kind: z.ZodLiteral<"gezel">;
122
+ gezelId: z.ZodString;
123
+ }, z.core.$strip>, z.ZodObject<{
124
+ kind: z.ZodLiteral<"user">;
125
+ }, z.core.$strip>], "kind">>;
126
+ onEnter: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
127
+ name: z.ZodString;
128
+ scope: z.ZodOptional<z.ZodEnum<{
129
+ user: "user";
130
+ project: "project";
131
+ craftbook: "craftbook";
132
+ standard: "standard";
133
+ }>>;
134
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
135
+ autoAdvanceOnSuccess: z.ZodOptional<z.ZodBoolean>;
136
+ autoAdvanceWhen: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
137
+ op: z.ZodLiteral<"always">;
138
+ }, z.core.$strip>, z.ZodObject<{
139
+ op: z.ZodLiteral<"never">;
140
+ }, z.core.$strip>, z.ZodObject<{
141
+ op: z.ZodLiteral<"ok">;
142
+ }, z.core.$strip>, z.ZodObject<{
143
+ op: z.ZodLiteral<"equals">;
144
+ field: z.ZodString;
145
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
146
+ }, z.core.$strip>, z.ZodObject<{
147
+ op: z.ZodLiteral<"exists">;
148
+ field: z.ZodString;
149
+ negate: z.ZodOptional<z.ZodBoolean>;
150
+ }, z.core.$strip>, z.ZodObject<{
151
+ op: z.ZodLiteral<"gt">;
152
+ field: z.ZodString;
153
+ value: z.ZodNumber;
154
+ }, z.core.$strip>], "op">>;
155
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
156
+ name: z.ZodString;
157
+ scope: z.ZodOptional<z.ZodEnum<{
158
+ user: "user";
159
+ project: "project";
160
+ craftbook: "craftbook";
161
+ standard: "standard";
162
+ }>>;
163
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
164
+ autoAdvanceOnSuccess: z.ZodOptional<z.ZodBoolean>;
165
+ autoAdvanceWhen: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
166
+ op: z.ZodLiteral<"always">;
167
+ }, z.core.$strip>, z.ZodObject<{
168
+ op: z.ZodLiteral<"never">;
169
+ }, z.core.$strip>, z.ZodObject<{
170
+ op: z.ZodLiteral<"ok">;
171
+ }, z.core.$strip>, z.ZodObject<{
172
+ op: z.ZodLiteral<"equals">;
173
+ field: z.ZodString;
174
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
175
+ }, z.core.$strip>, z.ZodObject<{
176
+ op: z.ZodLiteral<"exists">;
177
+ field: z.ZodString;
178
+ negate: z.ZodOptional<z.ZodBoolean>;
179
+ }, z.core.$strip>, z.ZodObject<{
180
+ op: z.ZodLiteral<"gt">;
181
+ field: z.ZodString;
182
+ value: z.ZodNumber;
183
+ }, z.core.$strip>], "op">>;
184
+ }, z.core.$strip>>]>>;
185
+ onExit: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
186
+ name: z.ZodString;
187
+ scope: z.ZodOptional<z.ZodEnum<{
188
+ user: "user";
189
+ project: "project";
190
+ craftbook: "craftbook";
191
+ standard: "standard";
192
+ }>>;
193
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
194
+ autoAdvanceOnSuccess: z.ZodOptional<z.ZodBoolean>;
195
+ autoAdvanceWhen: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
196
+ op: z.ZodLiteral<"always">;
197
+ }, z.core.$strip>, z.ZodObject<{
198
+ op: z.ZodLiteral<"never">;
199
+ }, z.core.$strip>, z.ZodObject<{
200
+ op: z.ZodLiteral<"ok">;
201
+ }, z.core.$strip>, z.ZodObject<{
202
+ op: z.ZodLiteral<"equals">;
203
+ field: z.ZodString;
204
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
205
+ }, z.core.$strip>, z.ZodObject<{
206
+ op: z.ZodLiteral<"exists">;
207
+ field: z.ZodString;
208
+ negate: z.ZodOptional<z.ZodBoolean>;
209
+ }, z.core.$strip>, z.ZodObject<{
210
+ op: z.ZodLiteral<"gt">;
211
+ field: z.ZodString;
212
+ value: z.ZodNumber;
213
+ }, z.core.$strip>], "op">>;
214
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
215
+ name: z.ZodString;
216
+ scope: z.ZodOptional<z.ZodEnum<{
217
+ user: "user";
218
+ project: "project";
219
+ craftbook: "craftbook";
220
+ standard: "standard";
221
+ }>>;
222
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
223
+ autoAdvanceOnSuccess: z.ZodOptional<z.ZodBoolean>;
224
+ autoAdvanceWhen: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
225
+ op: z.ZodLiteral<"always">;
226
+ }, z.core.$strip>, z.ZodObject<{
227
+ op: z.ZodLiteral<"never">;
228
+ }, z.core.$strip>, z.ZodObject<{
229
+ op: z.ZodLiteral<"ok">;
230
+ }, z.core.$strip>, z.ZodObject<{
231
+ op: z.ZodLiteral<"equals">;
232
+ field: z.ZodString;
233
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
234
+ }, z.core.$strip>, z.ZodObject<{
235
+ op: z.ZodLiteral<"exists">;
236
+ field: z.ZodString;
237
+ negate: z.ZodOptional<z.ZodBoolean>;
238
+ }, z.core.$strip>, z.ZodObject<{
239
+ op: z.ZodLiteral<"gt">;
240
+ field: z.ZodString;
241
+ value: z.ZodNumber;
242
+ }, z.core.$strip>], "op">>;
243
+ }, z.core.$strip>>]>>;
244
+ advanceWhen: z.ZodOptional<z.ZodObject<{
245
+ file: z.ZodString;
246
+ minBytes: z.ZodOptional<z.ZodNumber>;
247
+ sniff: z.ZodOptional<z.ZodEnum<{
248
+ "html-complete": "html-complete";
249
+ "html-game": "html-game";
250
+ nonempty: "nonempty";
251
+ "json-valid": "json-valid";
252
+ "data-table": "data-table";
253
+ }>>;
254
+ requireChange: z.ZodOptional<z.ZodBoolean>;
255
+ artifact: z.ZodOptional<z.ZodBoolean>;
256
+ goto: z.ZodOptional<z.ZodString>;
257
+ }, z.core.$strip>>;
258
+ gate: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
259
+ at: z.ZodEnum<{
260
+ completion: "completion";
261
+ activation: "activation";
262
+ }>;
263
+ checks: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
264
+ kind: z.ZodLiteral<"minBytes">;
265
+ file: z.ZodString;
266
+ bytes: z.ZodNumber;
267
+ artifact: z.ZodOptional<z.ZodBoolean>;
268
+ }, z.core.$strip>, z.ZodObject<{
269
+ kind: z.ZodLiteral<"totalMinBytes">;
270
+ files: z.ZodArray<z.ZodString>;
271
+ bytes: z.ZodNumber;
272
+ }, z.core.$strip>, z.ZodObject<{
273
+ kind: z.ZodLiteral<"fileCount">;
274
+ ext: z.ZodArray<z.ZodString>;
275
+ min: z.ZodNumber;
276
+ dir: z.ZodOptional<z.ZodString>;
277
+ verifyImageBytes: z.ZodOptional<z.ZodBoolean>;
278
+ }, z.core.$strip>, z.ZodObject<{
279
+ kind: z.ZodLiteral<"cssMinBytes">;
280
+ bytes: z.ZodNumber;
281
+ file: z.ZodOptional<z.ZodString>;
282
+ }, z.core.$strip>, z.ZodObject<{
283
+ kind: z.ZodLiteral<"sniff">;
284
+ file: z.ZodString;
285
+ sniff: z.ZodEnum<{
286
+ "html-complete": "html-complete";
287
+ "html-game": "html-game";
288
+ nonempty: "nonempty";
289
+ "json-valid": "json-valid";
290
+ "data-table": "data-table";
291
+ }>;
292
+ artifact: z.ZodOptional<z.ZodBoolean>;
293
+ }, z.core.$strip>, z.ZodObject<{
294
+ kind: z.ZodLiteral<"jsonPathEquals">;
295
+ file: z.ZodString;
296
+ path: z.ZodString;
297
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
298
+ label: z.ZodOptional<z.ZodString>;
299
+ }, z.core.$strip>, z.ZodObject<{
300
+ kind: z.ZodLiteral<"csvShape">;
301
+ file: z.ZodString;
302
+ requiredColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
303
+ exactColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
304
+ minRows: z.ZodOptional<z.ZodNumber>;
305
+ consistentColumns: z.ZodOptional<z.ZodBoolean>;
306
+ allowedValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
307
+ }, z.core.$strip>, z.ZodObject<{
308
+ kind: z.ZodLiteral<"contains">;
309
+ file: z.ZodString;
310
+ pattern: z.ZodString;
311
+ flags: z.ZodOptional<z.ZodString>;
312
+ label: z.ZodOptional<z.ZodString>;
313
+ artifact: z.ZodOptional<z.ZodBoolean>;
314
+ }, z.core.$strip>, z.ZodObject<{
315
+ kind: z.ZodLiteral<"notContains">;
316
+ file: z.ZodString;
317
+ pattern: z.ZodString;
318
+ flags: z.ZodOptional<z.ZodString>;
319
+ label: z.ZodOptional<z.ZodString>;
320
+ }, z.core.$strip>, z.ZodObject<{
321
+ kind: z.ZodLiteral<"unsupportedClaims">;
322
+ file: z.ZodString;
323
+ sourceFiles: z.ZodArray<z.ZodString>;
324
+ patterns: z.ZodArray<z.ZodObject<{
325
+ pattern: z.ZodString;
326
+ label: z.ZodOptional<z.ZodString>;
327
+ }, z.core.$strip>>;
328
+ flags: z.ZodOptional<z.ZodString>;
329
+ }, z.core.$strip>, z.ZodObject<{
330
+ kind: z.ZodLiteral<"jsParses">;
331
+ file: z.ZodOptional<z.ZodString>;
332
+ }, z.core.$strip>, z.ZodObject<{
333
+ kind: z.ZodLiteral<"htmlLint">;
334
+ file: z.ZodString;
335
+ }, z.core.$strip>, z.ZodObject<{
336
+ kind: z.ZodLiteral<"esmImports">;
337
+ file: z.ZodString;
338
+ }, z.core.$strip>, z.ZodObject<{
339
+ kind: z.ZodLiteral<"sourceParses">;
340
+ file: z.ZodString;
341
+ }, z.core.$strip>, z.ZodObject<{
342
+ kind: z.ZodLiteral<"tableShape">;
343
+ file: z.ZodString;
344
+ requiredColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
345
+ minRows: z.ZodOptional<z.ZodNumber>;
346
+ artifact: z.ZodOptional<z.ZodBoolean>;
347
+ }, z.core.$strip>, z.ZodObject<{
348
+ kind: z.ZodLiteral<"recordSchema">;
349
+ file: z.ZodString;
350
+ fields: z.ZodArray<z.ZodObject<{
351
+ name: z.ZodString;
352
+ type: z.ZodOptional<z.ZodString>;
353
+ required: z.ZodOptional<z.ZodBoolean>;
354
+ }, z.core.$strip>>;
355
+ minRows: z.ZodOptional<z.ZodNumber>;
356
+ uniqueBy: z.ZodOptional<z.ZodString>;
357
+ format: z.ZodOptional<z.ZodEnum<{
358
+ json: "json";
359
+ csv: "csv";
360
+ auto: "auto";
361
+ }>>;
362
+ artifact: z.ZodOptional<z.ZodBoolean>;
363
+ }, z.core.$strip>, z.ZodObject<{
364
+ kind: z.ZodLiteral<"nodeRuns">;
365
+ file: z.ZodString;
366
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
367
+ }, z.core.$strip>, z.ZodObject<{
368
+ kind: z.ZodLiteral<"citationsResolve">;
369
+ file: z.ZodString;
370
+ pattern: z.ZodOptional<z.ZodString>;
371
+ flags: z.ZodOptional<z.ZodString>;
372
+ minCitations: z.ZodOptional<z.ZodNumber>;
373
+ corpus: z.ZodOptional<z.ZodArray<z.ZodString>>;
374
+ artifact: z.ZodOptional<z.ZodBoolean>;
375
+ }, z.core.$strip>, z.ZodObject<{
376
+ kind: z.ZodLiteral<"researchEvidence">;
377
+ sourcePath: z.ZodOptional<z.ZodString>;
378
+ tools: z.ZodArray<z.ZodString>;
379
+ minSuccessful: z.ZodOptional<z.ZodNumber>;
380
+ }, z.core.$strip>, z.ZodObject<{
381
+ kind: z.ZodLiteral<"markdownHeadingsMatch">;
382
+ file: z.ZodString;
383
+ outlineFile: z.ZodString;
384
+ }, z.core.$strip>, z.ZodObject<{
385
+ kind: z.ZodLiteral<"valueGrounding">;
386
+ file: z.ZodString;
387
+ facts: z.ZodArray<z.ZodObject<{
388
+ id: z.ZodString;
389
+ label: z.ZodOptional<z.ZodString>;
390
+ required: z.ZodArray<z.ZodString>;
391
+ forbidden: z.ZodOptional<z.ZodArray<z.ZodString>>;
392
+ }, z.core.$strip>>;
393
+ normalizeDigits: z.ZodOptional<z.ZodBoolean>;
394
+ artifact: z.ZodOptional<z.ZodBoolean>;
395
+ }, z.core.$strip>, z.ZodObject<{
396
+ kind: z.ZodLiteral<"valuesSubsetOf">;
397
+ file: z.ZodString;
398
+ sourceFiles: z.ZodArray<z.ZodString>;
399
+ pattern: z.ZodString;
400
+ flags: z.ZodOptional<z.ZodString>;
401
+ minMatches: z.ZodOptional<z.ZodNumber>;
402
+ artifact: z.ZodOptional<z.ZodBoolean>;
403
+ }, z.core.$strip>, z.ZodObject<{
404
+ kind: z.ZodLiteral<"judge">;
405
+ file: z.ZodString;
406
+ rubric: z.ZodString;
407
+ sourceFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
408
+ requireEvidence: z.ZodOptional<z.ZodBoolean>;
409
+ advisory: z.ZodOptional<z.ZodBoolean>;
410
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
411
+ label: z.ZodOptional<z.ZodString>;
412
+ artifact: z.ZodOptional<z.ZodBoolean>;
413
+ }, z.core.$strip>, z.ZodObject<{
414
+ kind: z.ZodLiteral<"planStructure">;
415
+ file: z.ZodString;
416
+ minRows: z.ZodOptional<z.ZodNumber>;
417
+ ownerRoster: z.ZodOptional<z.ZodArray<z.ZodString>>;
418
+ requireEarlierOnly: z.ZodOptional<z.ZodBoolean>;
419
+ doneWhenMinChars: z.ZodOptional<z.ZodNumber>;
420
+ artifact: z.ZodOptional<z.ZodBoolean>;
421
+ }, z.core.$strip>], "kind">>>;
422
+ scripts: z.ZodOptional<z.ZodArray<z.ZodObject<{
423
+ name: z.ZodString;
424
+ scope: z.ZodOptional<z.ZodEnum<{
425
+ user: "user";
426
+ project: "project";
427
+ craftbook: "craftbook";
428
+ standard: "standard";
429
+ }>>;
430
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
431
+ }, z.core.$strip>>>;
432
+ onReject: z.ZodOptional<z.ZodString>;
433
+ onApprove: z.ZodOptional<z.ZodString>;
434
+ maxAttempts: z.ZodOptional<z.ZodNumber>;
435
+ reviewer: z.ZodOptional<z.ZodString>;
436
+ }, z.core.$strip>, z.ZodObject<{
437
+ checks: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
438
+ kind: z.ZodLiteral<"minBytes">;
439
+ file: z.ZodString;
440
+ bytes: z.ZodNumber;
441
+ artifact: z.ZodOptional<z.ZodBoolean>;
442
+ }, z.core.$strip>, z.ZodObject<{
443
+ kind: z.ZodLiteral<"totalMinBytes">;
444
+ files: z.ZodArray<z.ZodString>;
445
+ bytes: z.ZodNumber;
446
+ }, z.core.$strip>, z.ZodObject<{
447
+ kind: z.ZodLiteral<"fileCount">;
448
+ ext: z.ZodArray<z.ZodString>;
449
+ min: z.ZodNumber;
450
+ dir: z.ZodOptional<z.ZodString>;
451
+ verifyImageBytes: z.ZodOptional<z.ZodBoolean>;
452
+ }, z.core.$strip>, z.ZodObject<{
453
+ kind: z.ZodLiteral<"cssMinBytes">;
454
+ bytes: z.ZodNumber;
455
+ file: z.ZodOptional<z.ZodString>;
456
+ }, z.core.$strip>, z.ZodObject<{
457
+ kind: z.ZodLiteral<"sniff">;
458
+ file: z.ZodString;
459
+ sniff: z.ZodEnum<{
460
+ "html-complete": "html-complete";
461
+ "html-game": "html-game";
462
+ nonempty: "nonempty";
463
+ "json-valid": "json-valid";
464
+ "data-table": "data-table";
465
+ }>;
466
+ artifact: z.ZodOptional<z.ZodBoolean>;
467
+ }, z.core.$strip>, z.ZodObject<{
468
+ kind: z.ZodLiteral<"jsonPathEquals">;
469
+ file: z.ZodString;
470
+ path: z.ZodString;
471
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
472
+ label: z.ZodOptional<z.ZodString>;
473
+ }, z.core.$strip>, z.ZodObject<{
474
+ kind: z.ZodLiteral<"csvShape">;
475
+ file: z.ZodString;
476
+ requiredColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
477
+ exactColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
478
+ minRows: z.ZodOptional<z.ZodNumber>;
479
+ consistentColumns: z.ZodOptional<z.ZodBoolean>;
480
+ allowedValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
481
+ }, z.core.$strip>, z.ZodObject<{
482
+ kind: z.ZodLiteral<"contains">;
483
+ file: z.ZodString;
484
+ pattern: z.ZodString;
485
+ flags: z.ZodOptional<z.ZodString>;
486
+ label: z.ZodOptional<z.ZodString>;
487
+ artifact: z.ZodOptional<z.ZodBoolean>;
488
+ }, z.core.$strip>, z.ZodObject<{
489
+ kind: z.ZodLiteral<"notContains">;
490
+ file: z.ZodString;
491
+ pattern: z.ZodString;
492
+ flags: z.ZodOptional<z.ZodString>;
493
+ label: z.ZodOptional<z.ZodString>;
494
+ }, z.core.$strip>, z.ZodObject<{
495
+ kind: z.ZodLiteral<"unsupportedClaims">;
496
+ file: z.ZodString;
497
+ sourceFiles: z.ZodArray<z.ZodString>;
498
+ patterns: z.ZodArray<z.ZodObject<{
499
+ pattern: z.ZodString;
500
+ label: z.ZodOptional<z.ZodString>;
501
+ }, z.core.$strip>>;
502
+ flags: z.ZodOptional<z.ZodString>;
503
+ }, z.core.$strip>, z.ZodObject<{
504
+ kind: z.ZodLiteral<"jsParses">;
505
+ file: z.ZodOptional<z.ZodString>;
506
+ }, z.core.$strip>, z.ZodObject<{
507
+ kind: z.ZodLiteral<"htmlLint">;
508
+ file: z.ZodString;
509
+ }, z.core.$strip>, z.ZodObject<{
510
+ kind: z.ZodLiteral<"esmImports">;
511
+ file: z.ZodString;
512
+ }, z.core.$strip>, z.ZodObject<{
513
+ kind: z.ZodLiteral<"sourceParses">;
514
+ file: z.ZodString;
515
+ }, z.core.$strip>, z.ZodObject<{
516
+ kind: z.ZodLiteral<"tableShape">;
517
+ file: z.ZodString;
518
+ requiredColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
519
+ minRows: z.ZodOptional<z.ZodNumber>;
520
+ artifact: z.ZodOptional<z.ZodBoolean>;
521
+ }, z.core.$strip>, z.ZodObject<{
522
+ kind: z.ZodLiteral<"recordSchema">;
523
+ file: z.ZodString;
524
+ fields: z.ZodArray<z.ZodObject<{
525
+ name: z.ZodString;
526
+ type: z.ZodOptional<z.ZodString>;
527
+ required: z.ZodOptional<z.ZodBoolean>;
528
+ }, z.core.$strip>>;
529
+ minRows: z.ZodOptional<z.ZodNumber>;
530
+ uniqueBy: z.ZodOptional<z.ZodString>;
531
+ format: z.ZodOptional<z.ZodEnum<{
532
+ json: "json";
533
+ csv: "csv";
534
+ auto: "auto";
535
+ }>>;
536
+ artifact: z.ZodOptional<z.ZodBoolean>;
537
+ }, z.core.$strip>, z.ZodObject<{
538
+ kind: z.ZodLiteral<"nodeRuns">;
539
+ file: z.ZodString;
540
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
541
+ }, z.core.$strip>, z.ZodObject<{
542
+ kind: z.ZodLiteral<"citationsResolve">;
543
+ file: z.ZodString;
544
+ pattern: z.ZodOptional<z.ZodString>;
545
+ flags: z.ZodOptional<z.ZodString>;
546
+ minCitations: z.ZodOptional<z.ZodNumber>;
547
+ corpus: z.ZodOptional<z.ZodArray<z.ZodString>>;
548
+ artifact: z.ZodOptional<z.ZodBoolean>;
549
+ }, z.core.$strip>, z.ZodObject<{
550
+ kind: z.ZodLiteral<"researchEvidence">;
551
+ sourcePath: z.ZodOptional<z.ZodString>;
552
+ tools: z.ZodArray<z.ZodString>;
553
+ minSuccessful: z.ZodOptional<z.ZodNumber>;
554
+ }, z.core.$strip>, z.ZodObject<{
555
+ kind: z.ZodLiteral<"markdownHeadingsMatch">;
556
+ file: z.ZodString;
557
+ outlineFile: z.ZodString;
558
+ }, z.core.$strip>, z.ZodObject<{
559
+ kind: z.ZodLiteral<"valueGrounding">;
560
+ file: z.ZodString;
561
+ facts: z.ZodArray<z.ZodObject<{
562
+ id: z.ZodString;
563
+ label: z.ZodOptional<z.ZodString>;
564
+ required: z.ZodArray<z.ZodString>;
565
+ forbidden: z.ZodOptional<z.ZodArray<z.ZodString>>;
566
+ }, z.core.$strip>>;
567
+ normalizeDigits: z.ZodOptional<z.ZodBoolean>;
568
+ artifact: z.ZodOptional<z.ZodBoolean>;
569
+ }, z.core.$strip>, z.ZodObject<{
570
+ kind: z.ZodLiteral<"valuesSubsetOf">;
571
+ file: z.ZodString;
572
+ sourceFiles: z.ZodArray<z.ZodString>;
573
+ pattern: z.ZodString;
574
+ flags: z.ZodOptional<z.ZodString>;
575
+ minMatches: z.ZodOptional<z.ZodNumber>;
576
+ artifact: z.ZodOptional<z.ZodBoolean>;
577
+ }, z.core.$strip>, z.ZodObject<{
578
+ kind: z.ZodLiteral<"judge">;
579
+ file: z.ZodString;
580
+ rubric: z.ZodString;
581
+ sourceFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
582
+ requireEvidence: z.ZodOptional<z.ZodBoolean>;
583
+ advisory: z.ZodOptional<z.ZodBoolean>;
584
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
585
+ label: z.ZodOptional<z.ZodString>;
586
+ artifact: z.ZodOptional<z.ZodBoolean>;
587
+ }, z.core.$strip>, z.ZodObject<{
588
+ kind: z.ZodLiteral<"planStructure">;
589
+ file: z.ZodString;
590
+ minRows: z.ZodOptional<z.ZodNumber>;
591
+ ownerRoster: z.ZodOptional<z.ZodArray<z.ZodString>>;
592
+ requireEarlierOnly: z.ZodOptional<z.ZodBoolean>;
593
+ doneWhenMinChars: z.ZodOptional<z.ZodNumber>;
594
+ artifact: z.ZodOptional<z.ZodBoolean>;
595
+ }, z.core.$strip>], "kind">>;
596
+ onFail: z.ZodOptional<z.ZodString>;
597
+ onPass: z.ZodOptional<z.ZodString>;
598
+ maxAttempts: z.ZodOptional<z.ZodNumber>;
599
+ reviewer: z.ZodOptional<z.ZodString>;
600
+ }, z.core.$strip>]>>;
601
+ deliverable: z.ZodOptional<z.ZodObject<{
602
+ path: z.ZodString;
603
+ kind: z.ZodOptional<z.ZodEnum<{
604
+ json: "json";
605
+ "html-game": "html-game";
606
+ "html-multiscreen-game": "html-multiscreen-game";
607
+ "html-page": "html-page";
608
+ "html-marketing-site": "html-marketing-site";
609
+ "markdown-doc": "markdown-doc";
610
+ "markdown-report": "markdown-report";
611
+ "markdown-notes": "markdown-notes";
612
+ "yaml-spec": "yaml-spec";
613
+ "code-module": "code-module";
614
+ "code-with-tests": "code-with-tests";
615
+ "security-report": "security-report";
616
+ "image-set": "image-set";
617
+ "audio-file": "audio-file";
618
+ "slide-deck": "slide-deck";
619
+ "data-file": "data-file";
620
+ "generic-file": "generic-file";
621
+ }>>;
622
+ minBytes: z.ZodOptional<z.ZodNumber>;
623
+ maxAttempts: z.ZodOptional<z.ZodNumber>;
624
+ artifact: z.ZodOptional<z.ZodBoolean>;
625
+ requireChange: z.ZodOptional<z.ZodBoolean>;
626
+ execute: z.ZodOptional<z.ZodBoolean>;
627
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
628
+ minRows: z.ZodOptional<z.ZodNumber>;
629
+ }, z.core.$strip>>;
630
+ next: z.ZodOptional<z.ZodString>;
631
+ branches: z.ZodOptional<z.ZodArray<z.ZodObject<{
632
+ when: z.ZodDiscriminatedUnion<[z.ZodObject<{
633
+ op: z.ZodLiteral<"always">;
634
+ }, z.core.$strip>, z.ZodObject<{
635
+ op: z.ZodLiteral<"never">;
636
+ }, z.core.$strip>, z.ZodObject<{
637
+ op: z.ZodLiteral<"ok">;
638
+ }, z.core.$strip>, z.ZodObject<{
639
+ op: z.ZodLiteral<"equals">;
640
+ field: z.ZodString;
641
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
642
+ }, z.core.$strip>, z.ZodObject<{
643
+ op: z.ZodLiteral<"exists">;
644
+ field: z.ZodString;
645
+ negate: z.ZodOptional<z.ZodBoolean>;
646
+ }, z.core.$strip>, z.ZodObject<{
647
+ op: z.ZodLiteral<"gt">;
648
+ field: z.ZodString;
649
+ value: z.ZodNumber;
650
+ }, z.core.$strip>], "op">;
651
+ goto: z.ZodString;
652
+ }, z.core.$strip>>>;
653
+ terminal: z.ZodOptional<z.ZodBoolean>;
654
+ spawnFanout: z.ZodOptional<z.ZodBoolean>;
655
+ }, z.core.$strip>>;
656
+ spawn: z.ZodOptional<z.ZodObject<{
657
+ overFile: z.ZodString;
658
+ itemsPath: z.ZodOptional<z.ZodString>;
659
+ entryStepId: z.ZodOptional<z.ZodString>;
660
+ steps: z.ZodArray<z.ZodObject<{
661
+ id: z.ZodString;
662
+ name: z.ZodString;
663
+ description: z.ZodOptional<z.ZodString>;
664
+ prompt: z.ZodOptional<z.ZodString>;
665
+ suggestedGezelId: z.ZodOptional<z.ZodString>;
666
+ suggestedRole: z.ZodOptional<z.ZodString>;
667
+ capabilityFloor: z.ZodOptional<z.ZodEnum<{
668
+ tiny: "tiny";
669
+ small: "small";
670
+ medium: "medium";
671
+ large: "large";
672
+ cloud: "cloud";
673
+ }>>;
674
+ assignee: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
675
+ kind: z.ZodLiteral<"gezel">;
676
+ gezelId: z.ZodString;
677
+ }, z.core.$strip>, z.ZodObject<{
678
+ kind: z.ZodLiteral<"user">;
679
+ }, z.core.$strip>], "kind">>;
680
+ onEnter: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
681
+ name: z.ZodString;
682
+ scope: z.ZodOptional<z.ZodEnum<{
683
+ user: "user";
684
+ project: "project";
685
+ craftbook: "craftbook";
686
+ standard: "standard";
687
+ }>>;
688
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
689
+ autoAdvanceOnSuccess: z.ZodOptional<z.ZodBoolean>;
690
+ autoAdvanceWhen: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
691
+ op: z.ZodLiteral<"always">;
692
+ }, z.core.$strip>, z.ZodObject<{
693
+ op: z.ZodLiteral<"never">;
694
+ }, z.core.$strip>, z.ZodObject<{
695
+ op: z.ZodLiteral<"ok">;
696
+ }, z.core.$strip>, z.ZodObject<{
697
+ op: z.ZodLiteral<"equals">;
698
+ field: z.ZodString;
699
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
700
+ }, z.core.$strip>, z.ZodObject<{
701
+ op: z.ZodLiteral<"exists">;
702
+ field: z.ZodString;
703
+ negate: z.ZodOptional<z.ZodBoolean>;
704
+ }, z.core.$strip>, z.ZodObject<{
705
+ op: z.ZodLiteral<"gt">;
706
+ field: z.ZodString;
707
+ value: z.ZodNumber;
708
+ }, z.core.$strip>], "op">>;
709
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
710
+ name: z.ZodString;
711
+ scope: z.ZodOptional<z.ZodEnum<{
712
+ user: "user";
713
+ project: "project";
714
+ craftbook: "craftbook";
715
+ standard: "standard";
716
+ }>>;
717
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
718
+ autoAdvanceOnSuccess: z.ZodOptional<z.ZodBoolean>;
719
+ autoAdvanceWhen: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
720
+ op: z.ZodLiteral<"always">;
721
+ }, z.core.$strip>, z.ZodObject<{
722
+ op: z.ZodLiteral<"never">;
723
+ }, z.core.$strip>, z.ZodObject<{
724
+ op: z.ZodLiteral<"ok">;
725
+ }, z.core.$strip>, z.ZodObject<{
726
+ op: z.ZodLiteral<"equals">;
727
+ field: z.ZodString;
728
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
729
+ }, z.core.$strip>, z.ZodObject<{
730
+ op: z.ZodLiteral<"exists">;
731
+ field: z.ZodString;
732
+ negate: z.ZodOptional<z.ZodBoolean>;
733
+ }, z.core.$strip>, z.ZodObject<{
734
+ op: z.ZodLiteral<"gt">;
735
+ field: z.ZodString;
736
+ value: z.ZodNumber;
737
+ }, z.core.$strip>], "op">>;
738
+ }, z.core.$strip>>]>>;
739
+ onExit: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
740
+ name: z.ZodString;
741
+ scope: z.ZodOptional<z.ZodEnum<{
742
+ user: "user";
743
+ project: "project";
744
+ craftbook: "craftbook";
745
+ standard: "standard";
746
+ }>>;
747
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
748
+ autoAdvanceOnSuccess: z.ZodOptional<z.ZodBoolean>;
749
+ autoAdvanceWhen: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
750
+ op: z.ZodLiteral<"always">;
751
+ }, z.core.$strip>, z.ZodObject<{
752
+ op: z.ZodLiteral<"never">;
753
+ }, z.core.$strip>, z.ZodObject<{
754
+ op: z.ZodLiteral<"ok">;
755
+ }, z.core.$strip>, z.ZodObject<{
756
+ op: z.ZodLiteral<"equals">;
757
+ field: z.ZodString;
758
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
759
+ }, z.core.$strip>, z.ZodObject<{
760
+ op: z.ZodLiteral<"exists">;
761
+ field: z.ZodString;
762
+ negate: z.ZodOptional<z.ZodBoolean>;
763
+ }, z.core.$strip>, z.ZodObject<{
764
+ op: z.ZodLiteral<"gt">;
765
+ field: z.ZodString;
766
+ value: z.ZodNumber;
767
+ }, z.core.$strip>], "op">>;
768
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
769
+ name: z.ZodString;
770
+ scope: z.ZodOptional<z.ZodEnum<{
771
+ user: "user";
772
+ project: "project";
773
+ craftbook: "craftbook";
774
+ standard: "standard";
775
+ }>>;
776
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
777
+ autoAdvanceOnSuccess: z.ZodOptional<z.ZodBoolean>;
778
+ autoAdvanceWhen: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
779
+ op: z.ZodLiteral<"always">;
780
+ }, z.core.$strip>, z.ZodObject<{
781
+ op: z.ZodLiteral<"never">;
782
+ }, z.core.$strip>, z.ZodObject<{
783
+ op: z.ZodLiteral<"ok">;
784
+ }, z.core.$strip>, z.ZodObject<{
785
+ op: z.ZodLiteral<"equals">;
786
+ field: z.ZodString;
787
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
788
+ }, z.core.$strip>, z.ZodObject<{
789
+ op: z.ZodLiteral<"exists">;
790
+ field: z.ZodString;
791
+ negate: z.ZodOptional<z.ZodBoolean>;
792
+ }, z.core.$strip>, z.ZodObject<{
793
+ op: z.ZodLiteral<"gt">;
794
+ field: z.ZodString;
795
+ value: z.ZodNumber;
796
+ }, z.core.$strip>], "op">>;
797
+ }, z.core.$strip>>]>>;
798
+ advanceWhen: z.ZodOptional<z.ZodObject<{
799
+ file: z.ZodString;
800
+ minBytes: z.ZodOptional<z.ZodNumber>;
801
+ sniff: z.ZodOptional<z.ZodEnum<{
802
+ "html-complete": "html-complete";
803
+ "html-game": "html-game";
804
+ nonempty: "nonempty";
805
+ "json-valid": "json-valid";
806
+ "data-table": "data-table";
807
+ }>>;
808
+ requireChange: z.ZodOptional<z.ZodBoolean>;
809
+ artifact: z.ZodOptional<z.ZodBoolean>;
810
+ goto: z.ZodOptional<z.ZodString>;
811
+ }, z.core.$strip>>;
812
+ gate: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
813
+ at: z.ZodEnum<{
814
+ completion: "completion";
815
+ activation: "activation";
816
+ }>;
817
+ checks: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
818
+ kind: z.ZodLiteral<"minBytes">;
819
+ file: z.ZodString;
820
+ bytes: z.ZodNumber;
821
+ artifact: z.ZodOptional<z.ZodBoolean>;
822
+ }, z.core.$strip>, z.ZodObject<{
823
+ kind: z.ZodLiteral<"totalMinBytes">;
824
+ files: z.ZodArray<z.ZodString>;
825
+ bytes: z.ZodNumber;
826
+ }, z.core.$strip>, z.ZodObject<{
827
+ kind: z.ZodLiteral<"fileCount">;
828
+ ext: z.ZodArray<z.ZodString>;
829
+ min: z.ZodNumber;
830
+ dir: z.ZodOptional<z.ZodString>;
831
+ verifyImageBytes: z.ZodOptional<z.ZodBoolean>;
832
+ }, z.core.$strip>, z.ZodObject<{
833
+ kind: z.ZodLiteral<"cssMinBytes">;
834
+ bytes: z.ZodNumber;
835
+ file: z.ZodOptional<z.ZodString>;
836
+ }, z.core.$strip>, z.ZodObject<{
837
+ kind: z.ZodLiteral<"sniff">;
838
+ file: z.ZodString;
839
+ sniff: z.ZodEnum<{
840
+ "html-complete": "html-complete";
841
+ "html-game": "html-game";
842
+ nonempty: "nonempty";
843
+ "json-valid": "json-valid";
844
+ "data-table": "data-table";
845
+ }>;
846
+ artifact: z.ZodOptional<z.ZodBoolean>;
847
+ }, z.core.$strip>, z.ZodObject<{
848
+ kind: z.ZodLiteral<"jsonPathEquals">;
849
+ file: z.ZodString;
850
+ path: z.ZodString;
851
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
852
+ label: z.ZodOptional<z.ZodString>;
853
+ }, z.core.$strip>, z.ZodObject<{
854
+ kind: z.ZodLiteral<"csvShape">;
855
+ file: z.ZodString;
856
+ requiredColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
857
+ exactColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
858
+ minRows: z.ZodOptional<z.ZodNumber>;
859
+ consistentColumns: z.ZodOptional<z.ZodBoolean>;
860
+ allowedValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
861
+ }, z.core.$strip>, z.ZodObject<{
862
+ kind: z.ZodLiteral<"contains">;
863
+ file: z.ZodString;
864
+ pattern: z.ZodString;
865
+ flags: z.ZodOptional<z.ZodString>;
866
+ label: z.ZodOptional<z.ZodString>;
867
+ artifact: z.ZodOptional<z.ZodBoolean>;
868
+ }, z.core.$strip>, z.ZodObject<{
869
+ kind: z.ZodLiteral<"notContains">;
870
+ file: z.ZodString;
871
+ pattern: z.ZodString;
872
+ flags: z.ZodOptional<z.ZodString>;
873
+ label: z.ZodOptional<z.ZodString>;
874
+ }, z.core.$strip>, z.ZodObject<{
875
+ kind: z.ZodLiteral<"unsupportedClaims">;
876
+ file: z.ZodString;
877
+ sourceFiles: z.ZodArray<z.ZodString>;
878
+ patterns: z.ZodArray<z.ZodObject<{
879
+ pattern: z.ZodString;
880
+ label: z.ZodOptional<z.ZodString>;
881
+ }, z.core.$strip>>;
882
+ flags: z.ZodOptional<z.ZodString>;
883
+ }, z.core.$strip>, z.ZodObject<{
884
+ kind: z.ZodLiteral<"jsParses">;
885
+ file: z.ZodOptional<z.ZodString>;
886
+ }, z.core.$strip>, z.ZodObject<{
887
+ kind: z.ZodLiteral<"htmlLint">;
888
+ file: z.ZodString;
889
+ }, z.core.$strip>, z.ZodObject<{
890
+ kind: z.ZodLiteral<"esmImports">;
891
+ file: z.ZodString;
892
+ }, z.core.$strip>, z.ZodObject<{
893
+ kind: z.ZodLiteral<"sourceParses">;
894
+ file: z.ZodString;
895
+ }, z.core.$strip>, z.ZodObject<{
896
+ kind: z.ZodLiteral<"tableShape">;
897
+ file: z.ZodString;
898
+ requiredColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
899
+ minRows: z.ZodOptional<z.ZodNumber>;
900
+ artifact: z.ZodOptional<z.ZodBoolean>;
901
+ }, z.core.$strip>, z.ZodObject<{
902
+ kind: z.ZodLiteral<"recordSchema">;
903
+ file: z.ZodString;
904
+ fields: z.ZodArray<z.ZodObject<{
905
+ name: z.ZodString;
906
+ type: z.ZodOptional<z.ZodString>;
907
+ required: z.ZodOptional<z.ZodBoolean>;
908
+ }, z.core.$strip>>;
909
+ minRows: z.ZodOptional<z.ZodNumber>;
910
+ uniqueBy: z.ZodOptional<z.ZodString>;
911
+ format: z.ZodOptional<z.ZodEnum<{
912
+ json: "json";
913
+ csv: "csv";
914
+ auto: "auto";
915
+ }>>;
916
+ artifact: z.ZodOptional<z.ZodBoolean>;
917
+ }, z.core.$strip>, z.ZodObject<{
918
+ kind: z.ZodLiteral<"nodeRuns">;
919
+ file: z.ZodString;
920
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
921
+ }, z.core.$strip>, z.ZodObject<{
922
+ kind: z.ZodLiteral<"citationsResolve">;
923
+ file: z.ZodString;
924
+ pattern: z.ZodOptional<z.ZodString>;
925
+ flags: z.ZodOptional<z.ZodString>;
926
+ minCitations: z.ZodOptional<z.ZodNumber>;
927
+ corpus: z.ZodOptional<z.ZodArray<z.ZodString>>;
928
+ artifact: z.ZodOptional<z.ZodBoolean>;
929
+ }, z.core.$strip>, z.ZodObject<{
930
+ kind: z.ZodLiteral<"researchEvidence">;
931
+ sourcePath: z.ZodOptional<z.ZodString>;
932
+ tools: z.ZodArray<z.ZodString>;
933
+ minSuccessful: z.ZodOptional<z.ZodNumber>;
934
+ }, z.core.$strip>, z.ZodObject<{
935
+ kind: z.ZodLiteral<"markdownHeadingsMatch">;
936
+ file: z.ZodString;
937
+ outlineFile: z.ZodString;
938
+ }, z.core.$strip>, z.ZodObject<{
939
+ kind: z.ZodLiteral<"valueGrounding">;
940
+ file: z.ZodString;
941
+ facts: z.ZodArray<z.ZodObject<{
942
+ id: z.ZodString;
943
+ label: z.ZodOptional<z.ZodString>;
944
+ required: z.ZodArray<z.ZodString>;
945
+ forbidden: z.ZodOptional<z.ZodArray<z.ZodString>>;
946
+ }, z.core.$strip>>;
947
+ normalizeDigits: z.ZodOptional<z.ZodBoolean>;
948
+ artifact: z.ZodOptional<z.ZodBoolean>;
949
+ }, z.core.$strip>, z.ZodObject<{
950
+ kind: z.ZodLiteral<"valuesSubsetOf">;
951
+ file: z.ZodString;
952
+ sourceFiles: z.ZodArray<z.ZodString>;
953
+ pattern: z.ZodString;
954
+ flags: z.ZodOptional<z.ZodString>;
955
+ minMatches: z.ZodOptional<z.ZodNumber>;
956
+ artifact: z.ZodOptional<z.ZodBoolean>;
957
+ }, z.core.$strip>, z.ZodObject<{
958
+ kind: z.ZodLiteral<"judge">;
959
+ file: z.ZodString;
960
+ rubric: z.ZodString;
961
+ sourceFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
962
+ requireEvidence: z.ZodOptional<z.ZodBoolean>;
963
+ advisory: z.ZodOptional<z.ZodBoolean>;
964
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
965
+ label: z.ZodOptional<z.ZodString>;
966
+ artifact: z.ZodOptional<z.ZodBoolean>;
967
+ }, z.core.$strip>, z.ZodObject<{
968
+ kind: z.ZodLiteral<"planStructure">;
969
+ file: z.ZodString;
970
+ minRows: z.ZodOptional<z.ZodNumber>;
971
+ ownerRoster: z.ZodOptional<z.ZodArray<z.ZodString>>;
972
+ requireEarlierOnly: z.ZodOptional<z.ZodBoolean>;
973
+ doneWhenMinChars: z.ZodOptional<z.ZodNumber>;
974
+ artifact: z.ZodOptional<z.ZodBoolean>;
975
+ }, z.core.$strip>], "kind">>>;
976
+ scripts: z.ZodOptional<z.ZodArray<z.ZodObject<{
977
+ name: z.ZodString;
978
+ scope: z.ZodOptional<z.ZodEnum<{
979
+ user: "user";
980
+ project: "project";
981
+ craftbook: "craftbook";
982
+ standard: "standard";
983
+ }>>;
984
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
985
+ }, z.core.$strip>>>;
986
+ onReject: z.ZodOptional<z.ZodString>;
987
+ onApprove: z.ZodOptional<z.ZodString>;
988
+ maxAttempts: z.ZodOptional<z.ZodNumber>;
989
+ reviewer: z.ZodOptional<z.ZodString>;
990
+ }, z.core.$strip>, z.ZodObject<{
991
+ checks: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
992
+ kind: z.ZodLiteral<"minBytes">;
993
+ file: z.ZodString;
994
+ bytes: z.ZodNumber;
995
+ artifact: z.ZodOptional<z.ZodBoolean>;
996
+ }, z.core.$strip>, z.ZodObject<{
997
+ kind: z.ZodLiteral<"totalMinBytes">;
998
+ files: z.ZodArray<z.ZodString>;
999
+ bytes: z.ZodNumber;
1000
+ }, z.core.$strip>, z.ZodObject<{
1001
+ kind: z.ZodLiteral<"fileCount">;
1002
+ ext: z.ZodArray<z.ZodString>;
1003
+ min: z.ZodNumber;
1004
+ dir: z.ZodOptional<z.ZodString>;
1005
+ verifyImageBytes: z.ZodOptional<z.ZodBoolean>;
1006
+ }, z.core.$strip>, z.ZodObject<{
1007
+ kind: z.ZodLiteral<"cssMinBytes">;
1008
+ bytes: z.ZodNumber;
1009
+ file: z.ZodOptional<z.ZodString>;
1010
+ }, z.core.$strip>, z.ZodObject<{
1011
+ kind: z.ZodLiteral<"sniff">;
1012
+ file: z.ZodString;
1013
+ sniff: z.ZodEnum<{
1014
+ "html-complete": "html-complete";
1015
+ "html-game": "html-game";
1016
+ nonempty: "nonempty";
1017
+ "json-valid": "json-valid";
1018
+ "data-table": "data-table";
1019
+ }>;
1020
+ artifact: z.ZodOptional<z.ZodBoolean>;
1021
+ }, z.core.$strip>, z.ZodObject<{
1022
+ kind: z.ZodLiteral<"jsonPathEquals">;
1023
+ file: z.ZodString;
1024
+ path: z.ZodString;
1025
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
1026
+ label: z.ZodOptional<z.ZodString>;
1027
+ }, z.core.$strip>, z.ZodObject<{
1028
+ kind: z.ZodLiteral<"csvShape">;
1029
+ file: z.ZodString;
1030
+ requiredColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
1031
+ exactColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
1032
+ minRows: z.ZodOptional<z.ZodNumber>;
1033
+ consistentColumns: z.ZodOptional<z.ZodBoolean>;
1034
+ allowedValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
1035
+ }, z.core.$strip>, z.ZodObject<{
1036
+ kind: z.ZodLiteral<"contains">;
1037
+ file: z.ZodString;
1038
+ pattern: z.ZodString;
1039
+ flags: z.ZodOptional<z.ZodString>;
1040
+ label: z.ZodOptional<z.ZodString>;
1041
+ artifact: z.ZodOptional<z.ZodBoolean>;
1042
+ }, z.core.$strip>, z.ZodObject<{
1043
+ kind: z.ZodLiteral<"notContains">;
1044
+ file: z.ZodString;
1045
+ pattern: z.ZodString;
1046
+ flags: z.ZodOptional<z.ZodString>;
1047
+ label: z.ZodOptional<z.ZodString>;
1048
+ }, z.core.$strip>, z.ZodObject<{
1049
+ kind: z.ZodLiteral<"unsupportedClaims">;
1050
+ file: z.ZodString;
1051
+ sourceFiles: z.ZodArray<z.ZodString>;
1052
+ patterns: z.ZodArray<z.ZodObject<{
1053
+ pattern: z.ZodString;
1054
+ label: z.ZodOptional<z.ZodString>;
1055
+ }, z.core.$strip>>;
1056
+ flags: z.ZodOptional<z.ZodString>;
1057
+ }, z.core.$strip>, z.ZodObject<{
1058
+ kind: z.ZodLiteral<"jsParses">;
1059
+ file: z.ZodOptional<z.ZodString>;
1060
+ }, z.core.$strip>, z.ZodObject<{
1061
+ kind: z.ZodLiteral<"htmlLint">;
1062
+ file: z.ZodString;
1063
+ }, z.core.$strip>, z.ZodObject<{
1064
+ kind: z.ZodLiteral<"esmImports">;
1065
+ file: z.ZodString;
1066
+ }, z.core.$strip>, z.ZodObject<{
1067
+ kind: z.ZodLiteral<"sourceParses">;
1068
+ file: z.ZodString;
1069
+ }, z.core.$strip>, z.ZodObject<{
1070
+ kind: z.ZodLiteral<"tableShape">;
1071
+ file: z.ZodString;
1072
+ requiredColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
1073
+ minRows: z.ZodOptional<z.ZodNumber>;
1074
+ artifact: z.ZodOptional<z.ZodBoolean>;
1075
+ }, z.core.$strip>, z.ZodObject<{
1076
+ kind: z.ZodLiteral<"recordSchema">;
1077
+ file: z.ZodString;
1078
+ fields: z.ZodArray<z.ZodObject<{
1079
+ name: z.ZodString;
1080
+ type: z.ZodOptional<z.ZodString>;
1081
+ required: z.ZodOptional<z.ZodBoolean>;
1082
+ }, z.core.$strip>>;
1083
+ minRows: z.ZodOptional<z.ZodNumber>;
1084
+ uniqueBy: z.ZodOptional<z.ZodString>;
1085
+ format: z.ZodOptional<z.ZodEnum<{
1086
+ json: "json";
1087
+ csv: "csv";
1088
+ auto: "auto";
1089
+ }>>;
1090
+ artifact: z.ZodOptional<z.ZodBoolean>;
1091
+ }, z.core.$strip>, z.ZodObject<{
1092
+ kind: z.ZodLiteral<"nodeRuns">;
1093
+ file: z.ZodString;
1094
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
1095
+ }, z.core.$strip>, z.ZodObject<{
1096
+ kind: z.ZodLiteral<"citationsResolve">;
1097
+ file: z.ZodString;
1098
+ pattern: z.ZodOptional<z.ZodString>;
1099
+ flags: z.ZodOptional<z.ZodString>;
1100
+ minCitations: z.ZodOptional<z.ZodNumber>;
1101
+ corpus: z.ZodOptional<z.ZodArray<z.ZodString>>;
1102
+ artifact: z.ZodOptional<z.ZodBoolean>;
1103
+ }, z.core.$strip>, z.ZodObject<{
1104
+ kind: z.ZodLiteral<"researchEvidence">;
1105
+ sourcePath: z.ZodOptional<z.ZodString>;
1106
+ tools: z.ZodArray<z.ZodString>;
1107
+ minSuccessful: z.ZodOptional<z.ZodNumber>;
1108
+ }, z.core.$strip>, z.ZodObject<{
1109
+ kind: z.ZodLiteral<"markdownHeadingsMatch">;
1110
+ file: z.ZodString;
1111
+ outlineFile: z.ZodString;
1112
+ }, z.core.$strip>, z.ZodObject<{
1113
+ kind: z.ZodLiteral<"valueGrounding">;
1114
+ file: z.ZodString;
1115
+ facts: z.ZodArray<z.ZodObject<{
1116
+ id: z.ZodString;
1117
+ label: z.ZodOptional<z.ZodString>;
1118
+ required: z.ZodArray<z.ZodString>;
1119
+ forbidden: z.ZodOptional<z.ZodArray<z.ZodString>>;
1120
+ }, z.core.$strip>>;
1121
+ normalizeDigits: z.ZodOptional<z.ZodBoolean>;
1122
+ artifact: z.ZodOptional<z.ZodBoolean>;
1123
+ }, z.core.$strip>, z.ZodObject<{
1124
+ kind: z.ZodLiteral<"valuesSubsetOf">;
1125
+ file: z.ZodString;
1126
+ sourceFiles: z.ZodArray<z.ZodString>;
1127
+ pattern: z.ZodString;
1128
+ flags: z.ZodOptional<z.ZodString>;
1129
+ minMatches: z.ZodOptional<z.ZodNumber>;
1130
+ artifact: z.ZodOptional<z.ZodBoolean>;
1131
+ }, z.core.$strip>, z.ZodObject<{
1132
+ kind: z.ZodLiteral<"judge">;
1133
+ file: z.ZodString;
1134
+ rubric: z.ZodString;
1135
+ sourceFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
1136
+ requireEvidence: z.ZodOptional<z.ZodBoolean>;
1137
+ advisory: z.ZodOptional<z.ZodBoolean>;
1138
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
1139
+ label: z.ZodOptional<z.ZodString>;
1140
+ artifact: z.ZodOptional<z.ZodBoolean>;
1141
+ }, z.core.$strip>, z.ZodObject<{
1142
+ kind: z.ZodLiteral<"planStructure">;
1143
+ file: z.ZodString;
1144
+ minRows: z.ZodOptional<z.ZodNumber>;
1145
+ ownerRoster: z.ZodOptional<z.ZodArray<z.ZodString>>;
1146
+ requireEarlierOnly: z.ZodOptional<z.ZodBoolean>;
1147
+ doneWhenMinChars: z.ZodOptional<z.ZodNumber>;
1148
+ artifact: z.ZodOptional<z.ZodBoolean>;
1149
+ }, z.core.$strip>], "kind">>;
1150
+ onFail: z.ZodOptional<z.ZodString>;
1151
+ onPass: z.ZodOptional<z.ZodString>;
1152
+ maxAttempts: z.ZodOptional<z.ZodNumber>;
1153
+ reviewer: z.ZodOptional<z.ZodString>;
1154
+ }, z.core.$strip>]>>;
1155
+ next: z.ZodOptional<z.ZodString>;
1156
+ branches: z.ZodOptional<z.ZodArray<z.ZodObject<{
1157
+ when: z.ZodDiscriminatedUnion<[z.ZodObject<{
1158
+ op: z.ZodLiteral<"always">;
1159
+ }, z.core.$strip>, z.ZodObject<{
1160
+ op: z.ZodLiteral<"never">;
1161
+ }, z.core.$strip>, z.ZodObject<{
1162
+ op: z.ZodLiteral<"ok">;
1163
+ }, z.core.$strip>, z.ZodObject<{
1164
+ op: z.ZodLiteral<"equals">;
1165
+ field: z.ZodString;
1166
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
1167
+ }, z.core.$strip>, z.ZodObject<{
1168
+ op: z.ZodLiteral<"exists">;
1169
+ field: z.ZodString;
1170
+ negate: z.ZodOptional<z.ZodBoolean>;
1171
+ }, z.core.$strip>, z.ZodObject<{
1172
+ op: z.ZodLiteral<"gt">;
1173
+ field: z.ZodString;
1174
+ value: z.ZodNumber;
1175
+ }, z.core.$strip>], "op">;
1176
+ goto: z.ZodString;
1177
+ }, z.core.$strip>>>;
1178
+ terminal: z.ZodOptional<z.ZodBoolean>;
1179
+ spawnFanout: z.ZodOptional<z.ZodBoolean>;
1180
+ }, z.core.$strip>>;
1181
+ }, z.core.$strip>>;
1182
+ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1183
+ version: z.ZodOptional<z.ZodString>;
1184
+ releasedAt: z.ZodOptional<z.ZodString>;
1185
+ minGezelVersion: z.ZodOptional<z.ZodString>;
1186
+ }, z.core.$strip>;
1187
+ type CraftbookDoc = z.infer<typeof CraftbookDocSchema>;
1188
+ type CraftbookDocFormat = 'json' | 'markdown';
1189
+ /**
1190
+ * One repair-grade problem with a craftbook document. The formatted list
1191
+ * IS the retry prompt for the authoring model, so every error must say
1192
+ * WHERE (resolved to a step id, not a bare array index), WHAT is wrong,
1193
+ * and — whenever we can compute it — the concrete FIX.
1194
+ */
1195
+ interface CraftbookDocError {
1196
+ /** e.g. `document`, `frontmatter`, `steps[2] (id "review") → gate.at`, `scripts.checkFoo` */
1197
+ where: string;
1198
+ message: string;
1199
+ /** Imperative, concrete: what to change. */
1200
+ fix?: string;
1201
+ }
1202
+ /**
1203
+ * Render errors as the numbered list handed back to the authoring model.
1204
+ * One error per line, `Fix:` inline, capped so a catastrophically broken
1205
+ * document doesn't drown the retry in noise.
1206
+ */
1207
+ declare function formatCraftbookDocErrors(errors: CraftbookDocError[]): string;
1208
+ /** Levenshtein distance — for nearest-match suggestions on bad enum values / step ids. */
1209
+ declare function editDistance(a: string, b: string): number;
1210
+ /** The closest candidate within an edit-distance budget, or undefined. */
1211
+ declare function nearestMatch(input: string, candidates: string[]): string | undefined;
1212
+ /**
1213
+ * Map Zod issues from a failed `CraftbookDocSchema` parse into
1214
+ * repair-grade errors: `steps[i]` paths are resolved to the step's
1215
+ * id/name so the model can find the step in its own document, and enum
1216
+ * failures spell out every legal value plus the nearest match.
1217
+ */
1218
+ declare function zodIssuesToDocErrors(issues: z.ZodIssue[], raw: unknown): CraftbookDocError[];
1219
+ /** Cheap format detection: a document whose first non-blank char is `{` is JSON. */
1220
+ declare function sniffCraftbookDocFormat(text: string): CraftbookDocFormat;
1221
+ /**
1222
+ * The install's advertised craftbook-document format, from the
1223
+ * `GEZEL_CRAFTBOOK_DOC_FORMAT` env value (`json` | `md`/`markdown`).
1224
+ * This is the whole A/B lever for the format eval: it picks the default
1225
+ * codec `craftbook_write`/`craftbook_read` speak and the format the tool
1226
+ * descriptions advertise. Default: json.
1227
+ */
1228
+ declare function craftbookDocFormatFromEnv(value: string | undefined): CraftbookDocFormat;
1229
+
1230
+ /**
1231
+ * Agent frontmatter lives at the top of `agent.md`. It describes the agent's
1232
+ * identity and model configuration. Everything is optional except the name —
1233
+ * Gezel fills in reasonable defaults elsewhere.
1234
+ */
1235
+ declare const ProviderNameSchema: z.ZodEnum<{
1236
+ "llama-cpp": "llama-cpp";
1237
+ mlx: "mlx";
1238
+ copilot: "copilot";
1239
+ openai: "openai";
1240
+ anthropic: "anthropic";
1241
+ "anthropic-cli": "anthropic-cli";
1242
+ "codex-cli": "codex-cli";
1243
+ ollama: "ollama";
1244
+ ds4: "ds4";
1245
+ remote: "remote";
1246
+ }>;
1247
+ type ProviderName = z.infer<typeof ProviderNameSchema>;
1248
+ /**
1249
+ * Gezel gender — drives pronouns used when another gezel or the UI refers to
1250
+ * this one. It is deliberately not shown to the gezel itself. Three buckets
1251
+ * only; the picker assigns one at creation time from the gendered first-name
1252
+ * pools (with a ~4% non-binary conversion regardless of name).
1253
+ */
1254
+ declare const GezelGenderSchema: z.ZodEnum<{
1255
+ male: "male";
1256
+ female: "female";
1257
+ "non-binary": "non-binary";
1258
+ }>;
1259
+ type GezelGender = z.infer<typeof GezelGenderSchema>;
1260
+ /**
1261
+ * Providers that run the model on the user's machine rather than a
1262
+ * remote API. They share a family of behaviors that cloud providers
1263
+ * don't: we build the outgoing prompt from our locally-held message
1264
+ * history (no server-side compaction to rely on), we budget longer
1265
+ * turn timeouts for legitimately-slow big models, we throttle
1266
+ * memory-extraction so it doesn't dogpile the single-slot queue, and
1267
+ * we re-seed `priorMessages` on resume because there's no provider
1268
+ * session ID to hand back.
1269
+ *
1270
+ * Prefer this helper over hand-rolled disjunctions like
1271
+ * `p === 'ollama' || p === 'llama-cpp'` — adding a new local engine
1272
+ * should mean editing this list, not hunting down every site.
1273
+ */
1274
+ declare const LOCAL_PROVIDER_NAMES: readonly ProviderName[];
1275
+ declare function isLocalProvider(name: ProviderName): boolean;
1276
+ /**
1277
+ * Fixed-function gezels skip the LLM entirely. When a chat message
1278
+ * comes in, the user text is forwarded straight to the named MCP tool
1279
+ * (`tool`) under the argument key `promptKey` (default `prompt`),
1280
+ * merged with `defaults` (everything else the tool needs — width,
1281
+ * height, model, etc.). The tool's text + image output becomes the
1282
+ * assistant message. There is no system prompt; `about.md` is not
1283
+ * written for these gezels and the LLM-config fields (`provider`,
1284
+ * `model`, `reasoningEffort`, etc.) are silently ignored.
1285
+ *
1286
+ * Presence of this object is the mode switch — no separate enum.
1287
+ * Templates declare it once; the user can edit `defaults` from the
1288
+ * gezel-edit dialog. The infrastructure is intentionally generic:
1289
+ * future templates can wire to any pass-through-shaped MCP tool
1290
+ * (`web_search`, `fetch_url`, …) by changing `tool` + `promptKey`.
1291
+ */
1292
+ declare const FixedFunctionConfigSchema: z.ZodObject<{
1293
+ tool: z.ZodString;
1294
+ promptKey: z.ZodDefault<z.ZodString>;
1295
+ defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1296
+ }, z.core.$strip>;
1297
+ type FixedFunctionConfig = z.infer<typeof FixedFunctionConfigSchema>;
1298
+ /**
1299
+ * One standing behavior trait. Adopted via the growth system's level-up
1300
+ * flow (`source: 'levelup'`) or hand-authored in the frontmatter
1301
+ * (`source: 'manual'` / absent).
1302
+ */
1303
+ declare const GezelTraitSchema: z.ZodObject<{
1304
+ id: z.ZodString;
1305
+ text: z.ZodString;
1306
+ adoptedAt: z.ZodString;
1307
+ source: z.ZodOptional<z.ZodEnum<{
1308
+ manual: "manual";
1309
+ levelup: "levelup";
1310
+ }>>;
1311
+ }, z.core.$strip>;
1312
+ type GezelTrait = z.infer<typeof GezelTraitSchema>;
1313
+ declare const GezelFrontmatterSchema: z.ZodObject<{
1314
+ id: z.ZodOptional<z.ZodString>;
1315
+ name: z.ZodString;
1316
+ description: z.ZodOptional<z.ZodString>;
1317
+ role: z.ZodOptional<z.ZodString>;
1318
+ roleBasedName: z.ZodOptional<z.ZodString>;
1319
+ gender: z.ZodOptional<z.ZodEnum<{
1320
+ male: "male";
1321
+ female: "female";
1322
+ "non-binary": "non-binary";
1323
+ }>>;
1324
+ model: z.ZodOptional<z.ZodString>;
1325
+ provider: z.ZodOptional<z.ZodEnum<{
1326
+ "llama-cpp": "llama-cpp";
1327
+ mlx: "mlx";
1328
+ copilot: "copilot";
1329
+ openai: "openai";
1330
+ anthropic: "anthropic";
1331
+ "anthropic-cli": "anthropic-cli";
1332
+ "codex-cli": "codex-cli";
1333
+ ollama: "ollama";
1334
+ ds4: "ds4";
1335
+ remote: "remote";
1336
+ }>>;
1337
+ reasoningEffort: z.ZodOptional<z.ZodString>;
1338
+ tuning: z.ZodOptional<z.ZodObject<{
1339
+ sampling: z.ZodOptional<z.ZodObject<{
1340
+ temperature: z.ZodOptional<z.ZodNumber>;
1341
+ topP: z.ZodOptional<z.ZodNumber>;
1342
+ topK: z.ZodOptional<z.ZodNumber>;
1343
+ minP: z.ZodOptional<z.ZodNumber>;
1344
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1345
+ seed: z.ZodOptional<z.ZodNumber>;
1346
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
1347
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
1348
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
1349
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
1350
+ dry: z.ZodOptional<z.ZodObject<{
1351
+ multiplier: z.ZodNumber;
1352
+ base: z.ZodOptional<z.ZodNumber>;
1353
+ allowedLength: z.ZodOptional<z.ZodNumber>;
1354
+ }, z.core.$strip>>;
1355
+ xtc: z.ZodOptional<z.ZodObject<{
1356
+ probability: z.ZodNumber;
1357
+ threshold: z.ZodNumber;
1358
+ }, z.core.$strip>>;
1359
+ }, z.core.$strip>>;
1360
+ samplingWhenThinking: z.ZodOptional<z.ZodObject<{
1361
+ temperature: z.ZodOptional<z.ZodNumber>;
1362
+ topP: z.ZodOptional<z.ZodNumber>;
1363
+ topK: z.ZodOptional<z.ZodNumber>;
1364
+ minP: z.ZodOptional<z.ZodNumber>;
1365
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1366
+ seed: z.ZodOptional<z.ZodNumber>;
1367
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
1368
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
1369
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
1370
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
1371
+ dry: z.ZodOptional<z.ZodObject<{
1372
+ multiplier: z.ZodNumber;
1373
+ base: z.ZodOptional<z.ZodNumber>;
1374
+ allowedLength: z.ZodOptional<z.ZodNumber>;
1375
+ }, z.core.$strip>>;
1376
+ xtc: z.ZodOptional<z.ZodObject<{
1377
+ probability: z.ZodNumber;
1378
+ threshold: z.ZodNumber;
1379
+ }, z.core.$strip>>;
1380
+ }, z.core.$strip>>;
1381
+ reasoning: z.ZodOptional<z.ZodObject<{
1382
+ effort: z.ZodOptional<z.ZodEnum<{
1383
+ medium: "medium";
1384
+ low: "low";
1385
+ high: "high";
1386
+ }>>;
1387
+ thinkingBudget: z.ZodOptional<z.ZodNumber>;
1388
+ enableThinking: z.ZodOptional<z.ZodBoolean>;
1389
+ templateKwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1390
+ }, z.core.$strip>>;
1391
+ output: z.ZodOptional<z.ZodObject<{
1392
+ responseFormat: z.ZodOptional<z.ZodEnum<{
1393
+ text: "text";
1394
+ json_object: "json_object";
1395
+ }>>;
1396
+ jsonSchema: z.ZodOptional<z.ZodUnknown>;
1397
+ grammar: z.ZodOptional<z.ZodString>;
1398
+ }, z.core.$strip>>;
1399
+ toolChoice: z.ZodOptional<z.ZodEnum<{
1400
+ required: "required";
1401
+ auto: "auto";
1402
+ none: "none";
1403
+ }>>;
1404
+ promptTags: z.ZodOptional<z.ZodObject<{
1405
+ enableThinkingTag: z.ZodOptional<z.ZodString>;
1406
+ disableThinkingTag: z.ZodOptional<z.ZodString>;
1407
+ }, z.core.$strip>>;
1408
+ engine: z.ZodOptional<z.ZodObject<{
1409
+ llamaCpp: z.ZodOptional<z.ZodObject<{
1410
+ nGpuLayers: z.ZodOptional<z.ZodNumber>;
1411
+ cpuMoe: z.ZodOptional<z.ZodBoolean>;
1412
+ nCpuMoe: z.ZodOptional<z.ZodNumber>;
1413
+ cacheReuse: z.ZodOptional<z.ZodNumber>;
1414
+ swaFull: z.ZodOptional<z.ZodBoolean>;
1415
+ flashAttn: z.ZodOptional<z.ZodEnum<{
1416
+ auto: "auto";
1417
+ on: "on";
1418
+ off: "off";
1419
+ }>>;
1420
+ ubatchSize: z.ZodOptional<z.ZodNumber>;
1421
+ contextSize: z.ZodOptional<z.ZodNumber>;
1422
+ chatTemplate: z.ZodOptional<z.ZodString>;
1423
+ threads: z.ZodOptional<z.ZodNumber>;
1424
+ batchSize: z.ZodOptional<z.ZodNumber>;
1425
+ spec: z.ZodOptional<z.ZodObject<{
1426
+ type: z.ZodOptional<z.ZodEnum<{
1427
+ none: "none";
1428
+ "draft-mtp": "draft-mtp";
1429
+ "draft-eagle3": "draft-eagle3";
1430
+ "draft-dflash": "draft-dflash";
1431
+ "draft-simple": "draft-simple";
1432
+ "ngram-mod": "ngram-mod";
1433
+ "ngram-simple": "ngram-simple";
1434
+ "ngram-map-k": "ngram-map-k";
1435
+ "ngram-map-k4v": "ngram-map-k4v";
1436
+ "ngram-cache": "ngram-cache";
1437
+ }>>;
1438
+ mtp: z.ZodOptional<z.ZodBoolean>;
1439
+ draftModelId: z.ZodOptional<z.ZodString>;
1440
+ nMax: z.ZodOptional<z.ZodNumber>;
1441
+ }, z.core.$strip>>;
1442
+ }, z.core.$strip>>;
1443
+ }, z.core.$strip>>;
1444
+ profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1445
+ sampling: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1446
+ temperature: z.ZodOptional<z.ZodNumber>;
1447
+ topP: z.ZodOptional<z.ZodNumber>;
1448
+ topK: z.ZodOptional<z.ZodNumber>;
1449
+ minP: z.ZodOptional<z.ZodNumber>;
1450
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1451
+ seed: z.ZodOptional<z.ZodNumber>;
1452
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
1453
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
1454
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
1455
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
1456
+ dry: z.ZodOptional<z.ZodObject<{
1457
+ multiplier: z.ZodNumber;
1458
+ base: z.ZodOptional<z.ZodNumber>;
1459
+ allowedLength: z.ZodOptional<z.ZodNumber>;
1460
+ }, z.core.$strip>>;
1461
+ xtc: z.ZodOptional<z.ZodObject<{
1462
+ probability: z.ZodNumber;
1463
+ threshold: z.ZodNumber;
1464
+ }, z.core.$strip>>;
1465
+ }, z.core.$strip>>>;
1466
+ samplingWhenThinking: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1467
+ temperature: z.ZodOptional<z.ZodNumber>;
1468
+ topP: z.ZodOptional<z.ZodNumber>;
1469
+ topK: z.ZodOptional<z.ZodNumber>;
1470
+ minP: z.ZodOptional<z.ZodNumber>;
1471
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1472
+ seed: z.ZodOptional<z.ZodNumber>;
1473
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
1474
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
1475
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
1476
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
1477
+ dry: z.ZodOptional<z.ZodObject<{
1478
+ multiplier: z.ZodNumber;
1479
+ base: z.ZodOptional<z.ZodNumber>;
1480
+ allowedLength: z.ZodOptional<z.ZodNumber>;
1481
+ }, z.core.$strip>>;
1482
+ xtc: z.ZodOptional<z.ZodObject<{
1483
+ probability: z.ZodNumber;
1484
+ threshold: z.ZodNumber;
1485
+ }, z.core.$strip>>;
1486
+ }, z.core.$strip>>>;
1487
+ reasoning: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1488
+ effort: z.ZodOptional<z.ZodEnum<{
1489
+ medium: "medium";
1490
+ low: "low";
1491
+ high: "high";
1492
+ }>>;
1493
+ thinkingBudget: z.ZodOptional<z.ZodNumber>;
1494
+ enableThinking: z.ZodOptional<z.ZodBoolean>;
1495
+ templateKwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1496
+ }, z.core.$strip>>>;
1497
+ output: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1498
+ responseFormat: z.ZodOptional<z.ZodEnum<{
1499
+ text: "text";
1500
+ json_object: "json_object";
1501
+ }>>;
1502
+ jsonSchema: z.ZodOptional<z.ZodUnknown>;
1503
+ grammar: z.ZodOptional<z.ZodString>;
1504
+ }, z.core.$strip>>>;
1505
+ toolChoice: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1506
+ required: "required";
1507
+ auto: "auto";
1508
+ none: "none";
1509
+ }>>>;
1510
+ promptTags: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1511
+ enableThinkingTag: z.ZodOptional<z.ZodString>;
1512
+ disableThinkingTag: z.ZodOptional<z.ZodString>;
1513
+ }, z.core.$strip>>>;
1514
+ }, z.core.$strip>>>;
1515
+ }, z.core.$strip>>;
1516
+ tuningProfile: z.ZodOptional<z.ZodString>;
1517
+ suggestedTuningProfile: z.ZodOptional<z.ZodString>;
1518
+ tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
1519
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1520
+ fixedFunction: z.ZodOptional<z.ZodObject<{
1521
+ tool: z.ZodString;
1522
+ promptKey: z.ZodDefault<z.ZodString>;
1523
+ defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1524
+ }, z.core.$strip>>;
1525
+ numCtx: z.ZodOptional<z.ZodNumber>;
1526
+ autoRecall: z.ZodOptional<z.ZodBoolean>;
1527
+ font: z.ZodOptional<z.ZodString>;
1528
+ voice: z.ZodOptional<z.ZodString>;
1529
+ templateId: z.ZodOptional<z.ZodString>;
1530
+ templateVersion: z.ZodOptional<z.ZodString>;
1531
+ sandboxCopilot: z.ZodOptional<z.ZodBoolean>;
1532
+ claudePermissionMode: z.ZodOptional<z.ZodEnum<{
1533
+ default: "default";
1534
+ plan: "plan";
1535
+ acceptEdits: "acceptEdits";
1536
+ bypassPermissions: "bypassPermissions";
1537
+ }>>;
1538
+ codexPermissionMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1539
+ plan: "plan";
1540
+ edit: "edit";
1541
+ reviewed: "reviewed";
1542
+ full: "full";
1543
+ }>, z.ZodEnum<{
1544
+ default: "default";
1545
+ acceptEdits: "acceptEdits";
1546
+ bypassPermissions: "bypassPermissions";
1547
+ }>]>>;
1548
+ iconOverride: z.ZodOptional<z.ZodBoolean>;
1549
+ traits: z.ZodOptional<z.ZodArray<z.ZodObject<{
1550
+ id: z.ZodString;
1551
+ text: z.ZodString;
1552
+ adoptedAt: z.ZodString;
1553
+ source: z.ZodOptional<z.ZodEnum<{
1554
+ manual: "manual";
1555
+ levelup: "levelup";
1556
+ }>>;
1557
+ }, z.core.$strip>>>;
1558
+ recognition: z.ZodOptional<z.ZodEnum<{
1559
+ always: "always";
1560
+ auto: "auto";
1561
+ off: "off";
1562
+ }>>;
1563
+ }, z.core.$strip>;
1564
+ type GezelFrontmatter = z.infer<typeof GezelFrontmatterSchema>;
1565
+ /**
1566
+ * A section of an agent.md, extracted by heading. Sections can carry a template
1567
+ * annotation (e.g. `## System {[instruction]}`) that tells Gezel how to
1568
+ * interpret them.
1569
+ */
1570
+ declare const GezelSectionSchema: z.ZodObject<{
1571
+ heading: z.ZodString;
1572
+ template: z.ZodOptional<z.ZodString>;
1573
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1574
+ body: z.ZodString;
1575
+ }, z.core.$strip>;
1576
+ type GezelSection = z.infer<typeof GezelSectionSchema>;
1577
+ declare const ParsedGezelSchema: z.ZodObject<{
1578
+ frontmatter: z.ZodObject<{
1579
+ id: z.ZodOptional<z.ZodString>;
1580
+ name: z.ZodString;
1581
+ description: z.ZodOptional<z.ZodString>;
1582
+ role: z.ZodOptional<z.ZodString>;
1583
+ roleBasedName: z.ZodOptional<z.ZodString>;
1584
+ gender: z.ZodOptional<z.ZodEnum<{
1585
+ male: "male";
1586
+ female: "female";
1587
+ "non-binary": "non-binary";
1588
+ }>>;
1589
+ model: z.ZodOptional<z.ZodString>;
1590
+ provider: z.ZodOptional<z.ZodEnum<{
1591
+ "llama-cpp": "llama-cpp";
1592
+ mlx: "mlx";
1593
+ copilot: "copilot";
1594
+ openai: "openai";
1595
+ anthropic: "anthropic";
1596
+ "anthropic-cli": "anthropic-cli";
1597
+ "codex-cli": "codex-cli";
1598
+ ollama: "ollama";
1599
+ ds4: "ds4";
1600
+ remote: "remote";
1601
+ }>>;
1602
+ reasoningEffort: z.ZodOptional<z.ZodString>;
1603
+ tuning: z.ZodOptional<z.ZodObject<{
1604
+ sampling: z.ZodOptional<z.ZodObject<{
1605
+ temperature: z.ZodOptional<z.ZodNumber>;
1606
+ topP: z.ZodOptional<z.ZodNumber>;
1607
+ topK: z.ZodOptional<z.ZodNumber>;
1608
+ minP: z.ZodOptional<z.ZodNumber>;
1609
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1610
+ seed: z.ZodOptional<z.ZodNumber>;
1611
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
1612
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
1613
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
1614
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
1615
+ dry: z.ZodOptional<z.ZodObject<{
1616
+ multiplier: z.ZodNumber;
1617
+ base: z.ZodOptional<z.ZodNumber>;
1618
+ allowedLength: z.ZodOptional<z.ZodNumber>;
1619
+ }, z.core.$strip>>;
1620
+ xtc: z.ZodOptional<z.ZodObject<{
1621
+ probability: z.ZodNumber;
1622
+ threshold: z.ZodNumber;
1623
+ }, z.core.$strip>>;
1624
+ }, z.core.$strip>>;
1625
+ samplingWhenThinking: z.ZodOptional<z.ZodObject<{
1626
+ temperature: z.ZodOptional<z.ZodNumber>;
1627
+ topP: z.ZodOptional<z.ZodNumber>;
1628
+ topK: z.ZodOptional<z.ZodNumber>;
1629
+ minP: z.ZodOptional<z.ZodNumber>;
1630
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1631
+ seed: z.ZodOptional<z.ZodNumber>;
1632
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
1633
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
1634
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
1635
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
1636
+ dry: z.ZodOptional<z.ZodObject<{
1637
+ multiplier: z.ZodNumber;
1638
+ base: z.ZodOptional<z.ZodNumber>;
1639
+ allowedLength: z.ZodOptional<z.ZodNumber>;
1640
+ }, z.core.$strip>>;
1641
+ xtc: z.ZodOptional<z.ZodObject<{
1642
+ probability: z.ZodNumber;
1643
+ threshold: z.ZodNumber;
1644
+ }, z.core.$strip>>;
1645
+ }, z.core.$strip>>;
1646
+ reasoning: z.ZodOptional<z.ZodObject<{
1647
+ effort: z.ZodOptional<z.ZodEnum<{
1648
+ medium: "medium";
1649
+ low: "low";
1650
+ high: "high";
1651
+ }>>;
1652
+ thinkingBudget: z.ZodOptional<z.ZodNumber>;
1653
+ enableThinking: z.ZodOptional<z.ZodBoolean>;
1654
+ templateKwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1655
+ }, z.core.$strip>>;
1656
+ output: z.ZodOptional<z.ZodObject<{
1657
+ responseFormat: z.ZodOptional<z.ZodEnum<{
1658
+ text: "text";
1659
+ json_object: "json_object";
1660
+ }>>;
1661
+ jsonSchema: z.ZodOptional<z.ZodUnknown>;
1662
+ grammar: z.ZodOptional<z.ZodString>;
1663
+ }, z.core.$strip>>;
1664
+ toolChoice: z.ZodOptional<z.ZodEnum<{
1665
+ required: "required";
1666
+ auto: "auto";
1667
+ none: "none";
1668
+ }>>;
1669
+ promptTags: z.ZodOptional<z.ZodObject<{
1670
+ enableThinkingTag: z.ZodOptional<z.ZodString>;
1671
+ disableThinkingTag: z.ZodOptional<z.ZodString>;
1672
+ }, z.core.$strip>>;
1673
+ engine: z.ZodOptional<z.ZodObject<{
1674
+ llamaCpp: z.ZodOptional<z.ZodObject<{
1675
+ nGpuLayers: z.ZodOptional<z.ZodNumber>;
1676
+ cpuMoe: z.ZodOptional<z.ZodBoolean>;
1677
+ nCpuMoe: z.ZodOptional<z.ZodNumber>;
1678
+ cacheReuse: z.ZodOptional<z.ZodNumber>;
1679
+ swaFull: z.ZodOptional<z.ZodBoolean>;
1680
+ flashAttn: z.ZodOptional<z.ZodEnum<{
1681
+ auto: "auto";
1682
+ on: "on";
1683
+ off: "off";
1684
+ }>>;
1685
+ ubatchSize: z.ZodOptional<z.ZodNumber>;
1686
+ contextSize: z.ZodOptional<z.ZodNumber>;
1687
+ chatTemplate: z.ZodOptional<z.ZodString>;
1688
+ threads: z.ZodOptional<z.ZodNumber>;
1689
+ batchSize: z.ZodOptional<z.ZodNumber>;
1690
+ spec: z.ZodOptional<z.ZodObject<{
1691
+ type: z.ZodOptional<z.ZodEnum<{
1692
+ none: "none";
1693
+ "draft-mtp": "draft-mtp";
1694
+ "draft-eagle3": "draft-eagle3";
1695
+ "draft-dflash": "draft-dflash";
1696
+ "draft-simple": "draft-simple";
1697
+ "ngram-mod": "ngram-mod";
1698
+ "ngram-simple": "ngram-simple";
1699
+ "ngram-map-k": "ngram-map-k";
1700
+ "ngram-map-k4v": "ngram-map-k4v";
1701
+ "ngram-cache": "ngram-cache";
1702
+ }>>;
1703
+ mtp: z.ZodOptional<z.ZodBoolean>;
1704
+ draftModelId: z.ZodOptional<z.ZodString>;
1705
+ nMax: z.ZodOptional<z.ZodNumber>;
1706
+ }, z.core.$strip>>;
1707
+ }, z.core.$strip>>;
1708
+ }, z.core.$strip>>;
1709
+ profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1710
+ sampling: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1711
+ temperature: z.ZodOptional<z.ZodNumber>;
1712
+ topP: z.ZodOptional<z.ZodNumber>;
1713
+ topK: z.ZodOptional<z.ZodNumber>;
1714
+ minP: z.ZodOptional<z.ZodNumber>;
1715
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1716
+ seed: z.ZodOptional<z.ZodNumber>;
1717
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
1718
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
1719
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
1720
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
1721
+ dry: z.ZodOptional<z.ZodObject<{
1722
+ multiplier: z.ZodNumber;
1723
+ base: z.ZodOptional<z.ZodNumber>;
1724
+ allowedLength: z.ZodOptional<z.ZodNumber>;
1725
+ }, z.core.$strip>>;
1726
+ xtc: z.ZodOptional<z.ZodObject<{
1727
+ probability: z.ZodNumber;
1728
+ threshold: z.ZodNumber;
1729
+ }, z.core.$strip>>;
1730
+ }, z.core.$strip>>>;
1731
+ samplingWhenThinking: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1732
+ temperature: z.ZodOptional<z.ZodNumber>;
1733
+ topP: z.ZodOptional<z.ZodNumber>;
1734
+ topK: z.ZodOptional<z.ZodNumber>;
1735
+ minP: z.ZodOptional<z.ZodNumber>;
1736
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1737
+ seed: z.ZodOptional<z.ZodNumber>;
1738
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
1739
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
1740
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
1741
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
1742
+ dry: z.ZodOptional<z.ZodObject<{
1743
+ multiplier: z.ZodNumber;
1744
+ base: z.ZodOptional<z.ZodNumber>;
1745
+ allowedLength: z.ZodOptional<z.ZodNumber>;
1746
+ }, z.core.$strip>>;
1747
+ xtc: z.ZodOptional<z.ZodObject<{
1748
+ probability: z.ZodNumber;
1749
+ threshold: z.ZodNumber;
1750
+ }, z.core.$strip>>;
1751
+ }, z.core.$strip>>>;
1752
+ reasoning: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1753
+ effort: z.ZodOptional<z.ZodEnum<{
1754
+ medium: "medium";
1755
+ low: "low";
1756
+ high: "high";
1757
+ }>>;
1758
+ thinkingBudget: z.ZodOptional<z.ZodNumber>;
1759
+ enableThinking: z.ZodOptional<z.ZodBoolean>;
1760
+ templateKwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1761
+ }, z.core.$strip>>>;
1762
+ output: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1763
+ responseFormat: z.ZodOptional<z.ZodEnum<{
1764
+ text: "text";
1765
+ json_object: "json_object";
1766
+ }>>;
1767
+ jsonSchema: z.ZodOptional<z.ZodUnknown>;
1768
+ grammar: z.ZodOptional<z.ZodString>;
1769
+ }, z.core.$strip>>>;
1770
+ toolChoice: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1771
+ required: "required";
1772
+ auto: "auto";
1773
+ none: "none";
1774
+ }>>>;
1775
+ promptTags: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1776
+ enableThinkingTag: z.ZodOptional<z.ZodString>;
1777
+ disableThinkingTag: z.ZodOptional<z.ZodString>;
1778
+ }, z.core.$strip>>>;
1779
+ }, z.core.$strip>>>;
1780
+ }, z.core.$strip>>;
1781
+ tuningProfile: z.ZodOptional<z.ZodString>;
1782
+ suggestedTuningProfile: z.ZodOptional<z.ZodString>;
1783
+ tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
1784
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1785
+ fixedFunction: z.ZodOptional<z.ZodObject<{
1786
+ tool: z.ZodString;
1787
+ promptKey: z.ZodDefault<z.ZodString>;
1788
+ defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1789
+ }, z.core.$strip>>;
1790
+ numCtx: z.ZodOptional<z.ZodNumber>;
1791
+ autoRecall: z.ZodOptional<z.ZodBoolean>;
1792
+ font: z.ZodOptional<z.ZodString>;
1793
+ voice: z.ZodOptional<z.ZodString>;
1794
+ templateId: z.ZodOptional<z.ZodString>;
1795
+ templateVersion: z.ZodOptional<z.ZodString>;
1796
+ sandboxCopilot: z.ZodOptional<z.ZodBoolean>;
1797
+ claudePermissionMode: z.ZodOptional<z.ZodEnum<{
1798
+ default: "default";
1799
+ plan: "plan";
1800
+ acceptEdits: "acceptEdits";
1801
+ bypassPermissions: "bypassPermissions";
1802
+ }>>;
1803
+ codexPermissionMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1804
+ plan: "plan";
1805
+ edit: "edit";
1806
+ reviewed: "reviewed";
1807
+ full: "full";
1808
+ }>, z.ZodEnum<{
1809
+ default: "default";
1810
+ acceptEdits: "acceptEdits";
1811
+ bypassPermissions: "bypassPermissions";
1812
+ }>]>>;
1813
+ iconOverride: z.ZodOptional<z.ZodBoolean>;
1814
+ traits: z.ZodOptional<z.ZodArray<z.ZodObject<{
1815
+ id: z.ZodString;
1816
+ text: z.ZodString;
1817
+ adoptedAt: z.ZodString;
1818
+ source: z.ZodOptional<z.ZodEnum<{
1819
+ manual: "manual";
1820
+ levelup: "levelup";
1821
+ }>>;
1822
+ }, z.core.$strip>>>;
1823
+ recognition: z.ZodOptional<z.ZodEnum<{
1824
+ always: "always";
1825
+ auto: "auto";
1826
+ off: "off";
1827
+ }>>;
1828
+ }, z.core.$strip>;
1829
+ sections: z.ZodArray<z.ZodObject<{
1830
+ heading: z.ZodString;
1831
+ template: z.ZodOptional<z.ZodString>;
1832
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1833
+ body: z.ZodString;
1834
+ }, z.core.$strip>>;
1835
+ source: z.ZodString;
1836
+ }, z.core.$strip>;
1837
+ type ParsedGezel = z.infer<typeof ParsedGezelSchema>;
1838
+ declare const GezelSummarySchema: z.ZodObject<{
1839
+ id: z.ZodString;
1840
+ name: z.ZodString;
1841
+ description: z.ZodOptional<z.ZodString>;
1842
+ role: z.ZodOptional<z.ZodString>;
1843
+ roleBasedName: z.ZodOptional<z.ZodString>;
1844
+ gender: z.ZodOptional<z.ZodEnum<{
1845
+ male: "male";
1846
+ female: "female";
1847
+ "non-binary": "non-binary";
1848
+ }>>;
1849
+ model: z.ZodOptional<z.ZodString>;
1850
+ provider: z.ZodOptional<z.ZodEnum<{
1851
+ "llama-cpp": "llama-cpp";
1852
+ mlx: "mlx";
1853
+ copilot: "copilot";
1854
+ openai: "openai";
1855
+ anthropic: "anthropic";
1856
+ "anthropic-cli": "anthropic-cli";
1857
+ "codex-cli": "codex-cli";
1858
+ ollama: "ollama";
1859
+ ds4: "ds4";
1860
+ remote: "remote";
1861
+ }>>;
1862
+ reasoningEffort: z.ZodOptional<z.ZodString>;
1863
+ tuningProfile: z.ZodOptional<z.ZodString>;
1864
+ suggestedTuningProfile: z.ZodOptional<z.ZodString>;
1865
+ numCtx: z.ZodOptional<z.ZodNumber>;
1866
+ autoRecall: z.ZodOptional<z.ZodBoolean>;
1867
+ font: z.ZodOptional<z.ZodString>;
1868
+ voice: z.ZodOptional<z.ZodString>;
1869
+ templateId: z.ZodOptional<z.ZodString>;
1870
+ templateVersion: z.ZodOptional<z.ZodString>;
1871
+ sandboxCopilot: z.ZodOptional<z.ZodBoolean>;
1872
+ claudePermissionMode: z.ZodOptional<z.ZodEnum<{
1873
+ default: "default";
1874
+ plan: "plan";
1875
+ acceptEdits: "acceptEdits";
1876
+ bypassPermissions: "bypassPermissions";
1877
+ }>>;
1878
+ codexPermissionMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1879
+ plan: "plan";
1880
+ edit: "edit";
1881
+ reviewed: "reviewed";
1882
+ full: "full";
1883
+ }>, z.ZodEnum<{
1884
+ default: "default";
1885
+ acceptEdits: "acceptEdits";
1886
+ bypassPermissions: "bypassPermissions";
1887
+ }>]>>;
1888
+ fixedFunction: z.ZodOptional<z.ZodObject<{
1889
+ tool: z.ZodString;
1890
+ promptKey: z.ZodDefault<z.ZodString>;
1891
+ defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1892
+ }, z.core.$strip>>;
1893
+ icon: z.ZodOptional<z.ZodString>;
1894
+ poppetje: z.ZodOptional<z.ZodPreprocess<z.ZodObject<{
1895
+ key: z.ZodString;
1896
+ name: z.ZodString;
1897
+ bodyShape: z.ZodEnum<{
1898
+ [x: string]: string;
1899
+ }>;
1900
+ figureScale: z.ZodEnum<{
1901
+ [x: string]: string;
1902
+ }>;
1903
+ skin: z.ZodString;
1904
+ skin2: z.ZodString;
1905
+ hair: z.ZodString;
1906
+ hairShape: z.ZodEnum<{
1907
+ halo: "halo";
1908
+ short: "short";
1909
+ long: "long";
1910
+ bun: "bun";
1911
+ braids: "braids";
1912
+ shaved: "shaved";
1913
+ bald: "bald";
1914
+ }>;
1915
+ hat: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1916
+ cap: "cap";
1917
+ beanie: "beanie";
1918
+ kerchief: "kerchief";
1919
+ straw: "straw";
1920
+ newsboy: "newsboy";
1921
+ hood: "hood";
1922
+ }>>>>;
1923
+ dress: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1924
+ scarf: "scarf";
1925
+ apron: "apron";
1926
+ collar: "collar";
1927
+ turtleneck: "turtleneck";
1928
+ }>>>>;
1929
+ accessory: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1930
+ glasses: "glasses";
1931
+ sunglasses: "sunglasses";
1932
+ cateye: "cateye";
1933
+ readers: "readers";
1934
+ monocle: "monocle";
1935
+ eyepatch: "eyepatch";
1936
+ earrings: "earrings";
1937
+ "earring-left": "earring-left";
1938
+ "earring-right": "earring-right";
1939
+ flower: "flower";
1940
+ hairclip: "hairclip";
1941
+ headband: "headband";
1942
+ bowtie: "bowtie";
1943
+ necklace: "necklace";
1944
+ brooch: "brooch";
1945
+ facemask: "facemask";
1946
+ goggles: "goggles";
1947
+ "safety-glasses": "safety-glasses";
1948
+ "pince-nez": "pince-nez";
1949
+ headphones: "headphones";
1950
+ "hearing-aid": "hearing-aid";
1951
+ "nose-ring": "nose-ring";
1952
+ "hoop-earrings": "hoop-earrings";
1953
+ "drop-earrings": "drop-earrings";
1954
+ "pearl-earrings": "pearl-earrings";
1955
+ bandage: "bandage";
1956
+ feather: "feather";
1957
+ pencil: "pencil";
1958
+ ribbon: "ribbon";
1959
+ necktie: "necktie";
1960
+ cravat: "cravat";
1961
+ "bolo-tie": "bolo-tie";
1962
+ lanyard: "lanyard";
1963
+ medal: "medal";
1964
+ "pocket-square": "pocket-square";
1965
+ "tool-pendant": "tool-pendant";
1966
+ }>>>>;
1967
+ facialHair: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1968
+ beard: "beard";
1969
+ mustache: "mustache";
1970
+ }>>>>;
1971
+ mark: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1972
+ freckles: "freckles";
1973
+ mole: "mole";
1974
+ }>>>>;
1975
+ expression: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
1976
+ smile: "smile";
1977
+ wider: "wider";
1978
+ neutral: "neutral";
1979
+ wink: "wink";
1980
+ sleepy: "sleepy";
1981
+ }>>>;
1982
+ shirt: z.ZodString;
1983
+ shirtAccent: z.ZodString;
1984
+ shirtPattern: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
1985
+ plain: "plain";
1986
+ buttons: "buttons";
1987
+ stripes: "stripes";
1988
+ sash: "sash";
1989
+ yoke: "yoke";
1990
+ twotone: "twotone";
1991
+ }>>>;
1992
+ }, z.core.$strip>>>;
1993
+ iconOverride: z.ZodOptional<z.ZodBoolean>;
1994
+ recognition: z.ZodOptional<z.ZodEnum<{
1995
+ always: "always";
1996
+ auto: "auto";
1997
+ off: "off";
1998
+ }>>;
1999
+ scope: z.ZodOptional<z.ZodEnum<{
2000
+ project: "project";
2001
+ global: "global";
2002
+ }>>;
2003
+ storageScope: z.ZodOptional<z.ZodEnum<{
2004
+ user: "user";
2005
+ "machine-shared": "machine-shared";
2006
+ }>>;
2007
+ traits: z.ZodOptional<z.ZodArray<z.ZodObject<{
2008
+ id: z.ZodString;
2009
+ text: z.ZodString;
2010
+ adoptedAt: z.ZodString;
2011
+ source: z.ZodOptional<z.ZodEnum<{
2012
+ manual: "manual";
2013
+ levelup: "levelup";
2014
+ }>>;
2015
+ }, z.core.$strip>>>;
2016
+ growth: z.ZodOptional<z.ZodObject<{
2017
+ level: z.ZodNumber;
2018
+ pending: z.ZodOptional<z.ZodBoolean>;
2019
+ }, z.core.$strip>>;
2020
+ updatedAt: z.ZodString;
2021
+ }, z.core.$strip>;
2022
+ type GezelSummary = z.infer<typeof GezelSummarySchema>;
2023
+ declare const GezelDetailSchema: z.ZodObject<{
2024
+ id: z.ZodString;
2025
+ name: z.ZodString;
2026
+ description: z.ZodOptional<z.ZodString>;
2027
+ role: z.ZodOptional<z.ZodString>;
2028
+ roleBasedName: z.ZodOptional<z.ZodString>;
2029
+ gender: z.ZodOptional<z.ZodEnum<{
2030
+ male: "male";
2031
+ female: "female";
2032
+ "non-binary": "non-binary";
2033
+ }>>;
2034
+ model: z.ZodOptional<z.ZodString>;
2035
+ provider: z.ZodOptional<z.ZodEnum<{
2036
+ "llama-cpp": "llama-cpp";
2037
+ mlx: "mlx";
2038
+ copilot: "copilot";
2039
+ openai: "openai";
2040
+ anthropic: "anthropic";
2041
+ "anthropic-cli": "anthropic-cli";
2042
+ "codex-cli": "codex-cli";
2043
+ ollama: "ollama";
2044
+ ds4: "ds4";
2045
+ remote: "remote";
2046
+ }>>;
2047
+ reasoningEffort: z.ZodOptional<z.ZodString>;
2048
+ tuningProfile: z.ZodOptional<z.ZodString>;
2049
+ suggestedTuningProfile: z.ZodOptional<z.ZodString>;
2050
+ numCtx: z.ZodOptional<z.ZodNumber>;
2051
+ autoRecall: z.ZodOptional<z.ZodBoolean>;
2052
+ font: z.ZodOptional<z.ZodString>;
2053
+ voice: z.ZodOptional<z.ZodString>;
2054
+ templateId: z.ZodOptional<z.ZodString>;
2055
+ templateVersion: z.ZodOptional<z.ZodString>;
2056
+ sandboxCopilot: z.ZodOptional<z.ZodBoolean>;
2057
+ claudePermissionMode: z.ZodOptional<z.ZodEnum<{
2058
+ default: "default";
2059
+ plan: "plan";
2060
+ acceptEdits: "acceptEdits";
2061
+ bypassPermissions: "bypassPermissions";
2062
+ }>>;
2063
+ codexPermissionMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2064
+ plan: "plan";
2065
+ edit: "edit";
2066
+ reviewed: "reviewed";
2067
+ full: "full";
2068
+ }>, z.ZodEnum<{
2069
+ default: "default";
2070
+ acceptEdits: "acceptEdits";
2071
+ bypassPermissions: "bypassPermissions";
2072
+ }>]>>;
2073
+ fixedFunction: z.ZodOptional<z.ZodObject<{
2074
+ tool: z.ZodString;
2075
+ promptKey: z.ZodDefault<z.ZodString>;
2076
+ defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2077
+ }, z.core.$strip>>;
2078
+ icon: z.ZodOptional<z.ZodString>;
2079
+ poppetje: z.ZodOptional<z.ZodPreprocess<z.ZodObject<{
2080
+ key: z.ZodString;
2081
+ name: z.ZodString;
2082
+ bodyShape: z.ZodEnum<{
2083
+ [x: string]: string;
2084
+ }>;
2085
+ figureScale: z.ZodEnum<{
2086
+ [x: string]: string;
2087
+ }>;
2088
+ skin: z.ZodString;
2089
+ skin2: z.ZodString;
2090
+ hair: z.ZodString;
2091
+ hairShape: z.ZodEnum<{
2092
+ halo: "halo";
2093
+ short: "short";
2094
+ long: "long";
2095
+ bun: "bun";
2096
+ braids: "braids";
2097
+ shaved: "shaved";
2098
+ bald: "bald";
2099
+ }>;
2100
+ hat: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
2101
+ cap: "cap";
2102
+ beanie: "beanie";
2103
+ kerchief: "kerchief";
2104
+ straw: "straw";
2105
+ newsboy: "newsboy";
2106
+ hood: "hood";
2107
+ }>>>>;
2108
+ dress: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
2109
+ scarf: "scarf";
2110
+ apron: "apron";
2111
+ collar: "collar";
2112
+ turtleneck: "turtleneck";
2113
+ }>>>>;
2114
+ accessory: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
2115
+ glasses: "glasses";
2116
+ sunglasses: "sunglasses";
2117
+ cateye: "cateye";
2118
+ readers: "readers";
2119
+ monocle: "monocle";
2120
+ eyepatch: "eyepatch";
2121
+ earrings: "earrings";
2122
+ "earring-left": "earring-left";
2123
+ "earring-right": "earring-right";
2124
+ flower: "flower";
2125
+ hairclip: "hairclip";
2126
+ headband: "headband";
2127
+ bowtie: "bowtie";
2128
+ necklace: "necklace";
2129
+ brooch: "brooch";
2130
+ facemask: "facemask";
2131
+ goggles: "goggles";
2132
+ "safety-glasses": "safety-glasses";
2133
+ "pince-nez": "pince-nez";
2134
+ headphones: "headphones";
2135
+ "hearing-aid": "hearing-aid";
2136
+ "nose-ring": "nose-ring";
2137
+ "hoop-earrings": "hoop-earrings";
2138
+ "drop-earrings": "drop-earrings";
2139
+ "pearl-earrings": "pearl-earrings";
2140
+ bandage: "bandage";
2141
+ feather: "feather";
2142
+ pencil: "pencil";
2143
+ ribbon: "ribbon";
2144
+ necktie: "necktie";
2145
+ cravat: "cravat";
2146
+ "bolo-tie": "bolo-tie";
2147
+ lanyard: "lanyard";
2148
+ medal: "medal";
2149
+ "pocket-square": "pocket-square";
2150
+ "tool-pendant": "tool-pendant";
2151
+ }>>>>;
2152
+ facialHair: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
2153
+ beard: "beard";
2154
+ mustache: "mustache";
2155
+ }>>>>;
2156
+ mark: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
2157
+ freckles: "freckles";
2158
+ mole: "mole";
2159
+ }>>>>;
2160
+ expression: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
2161
+ smile: "smile";
2162
+ wider: "wider";
2163
+ neutral: "neutral";
2164
+ wink: "wink";
2165
+ sleepy: "sleepy";
2166
+ }>>>;
2167
+ shirt: z.ZodString;
2168
+ shirtAccent: z.ZodString;
2169
+ shirtPattern: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
2170
+ plain: "plain";
2171
+ buttons: "buttons";
2172
+ stripes: "stripes";
2173
+ sash: "sash";
2174
+ yoke: "yoke";
2175
+ twotone: "twotone";
2176
+ }>>>;
2177
+ }, z.core.$strip>>>;
2178
+ iconOverride: z.ZodOptional<z.ZodBoolean>;
2179
+ recognition: z.ZodOptional<z.ZodEnum<{
2180
+ always: "always";
2181
+ auto: "auto";
2182
+ off: "off";
2183
+ }>>;
2184
+ scope: z.ZodOptional<z.ZodEnum<{
2185
+ project: "project";
2186
+ global: "global";
2187
+ }>>;
2188
+ storageScope: z.ZodOptional<z.ZodEnum<{
2189
+ user: "user";
2190
+ "machine-shared": "machine-shared";
2191
+ }>>;
2192
+ traits: z.ZodOptional<z.ZodArray<z.ZodObject<{
2193
+ id: z.ZodString;
2194
+ text: z.ZodString;
2195
+ adoptedAt: z.ZodString;
2196
+ source: z.ZodOptional<z.ZodEnum<{
2197
+ manual: "manual";
2198
+ levelup: "levelup";
2199
+ }>>;
2200
+ }, z.core.$strip>>>;
2201
+ growth: z.ZodOptional<z.ZodObject<{
2202
+ level: z.ZodNumber;
2203
+ pending: z.ZodOptional<z.ZodBoolean>;
2204
+ }, z.core.$strip>>;
2205
+ updatedAt: z.ZodString;
2206
+ parsed: z.ZodObject<{
2207
+ frontmatter: z.ZodObject<{
2208
+ id: z.ZodOptional<z.ZodString>;
2209
+ name: z.ZodString;
2210
+ description: z.ZodOptional<z.ZodString>;
2211
+ role: z.ZodOptional<z.ZodString>;
2212
+ roleBasedName: z.ZodOptional<z.ZodString>;
2213
+ gender: z.ZodOptional<z.ZodEnum<{
2214
+ male: "male";
2215
+ female: "female";
2216
+ "non-binary": "non-binary";
2217
+ }>>;
2218
+ model: z.ZodOptional<z.ZodString>;
2219
+ provider: z.ZodOptional<z.ZodEnum<{
2220
+ "llama-cpp": "llama-cpp";
2221
+ mlx: "mlx";
2222
+ copilot: "copilot";
2223
+ openai: "openai";
2224
+ anthropic: "anthropic";
2225
+ "anthropic-cli": "anthropic-cli";
2226
+ "codex-cli": "codex-cli";
2227
+ ollama: "ollama";
2228
+ ds4: "ds4";
2229
+ remote: "remote";
2230
+ }>>;
2231
+ reasoningEffort: z.ZodOptional<z.ZodString>;
2232
+ tuning: z.ZodOptional<z.ZodObject<{
2233
+ sampling: z.ZodOptional<z.ZodObject<{
2234
+ temperature: z.ZodOptional<z.ZodNumber>;
2235
+ topP: z.ZodOptional<z.ZodNumber>;
2236
+ topK: z.ZodOptional<z.ZodNumber>;
2237
+ minP: z.ZodOptional<z.ZodNumber>;
2238
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2239
+ seed: z.ZodOptional<z.ZodNumber>;
2240
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
2241
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
2242
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
2243
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
2244
+ dry: z.ZodOptional<z.ZodObject<{
2245
+ multiplier: z.ZodNumber;
2246
+ base: z.ZodOptional<z.ZodNumber>;
2247
+ allowedLength: z.ZodOptional<z.ZodNumber>;
2248
+ }, z.core.$strip>>;
2249
+ xtc: z.ZodOptional<z.ZodObject<{
2250
+ probability: z.ZodNumber;
2251
+ threshold: z.ZodNumber;
2252
+ }, z.core.$strip>>;
2253
+ }, z.core.$strip>>;
2254
+ samplingWhenThinking: z.ZodOptional<z.ZodObject<{
2255
+ temperature: z.ZodOptional<z.ZodNumber>;
2256
+ topP: z.ZodOptional<z.ZodNumber>;
2257
+ topK: z.ZodOptional<z.ZodNumber>;
2258
+ minP: z.ZodOptional<z.ZodNumber>;
2259
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2260
+ seed: z.ZodOptional<z.ZodNumber>;
2261
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
2262
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
2263
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
2264
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
2265
+ dry: z.ZodOptional<z.ZodObject<{
2266
+ multiplier: z.ZodNumber;
2267
+ base: z.ZodOptional<z.ZodNumber>;
2268
+ allowedLength: z.ZodOptional<z.ZodNumber>;
2269
+ }, z.core.$strip>>;
2270
+ xtc: z.ZodOptional<z.ZodObject<{
2271
+ probability: z.ZodNumber;
2272
+ threshold: z.ZodNumber;
2273
+ }, z.core.$strip>>;
2274
+ }, z.core.$strip>>;
2275
+ reasoning: z.ZodOptional<z.ZodObject<{
2276
+ effort: z.ZodOptional<z.ZodEnum<{
2277
+ medium: "medium";
2278
+ low: "low";
2279
+ high: "high";
2280
+ }>>;
2281
+ thinkingBudget: z.ZodOptional<z.ZodNumber>;
2282
+ enableThinking: z.ZodOptional<z.ZodBoolean>;
2283
+ templateKwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
2284
+ }, z.core.$strip>>;
2285
+ output: z.ZodOptional<z.ZodObject<{
2286
+ responseFormat: z.ZodOptional<z.ZodEnum<{
2287
+ text: "text";
2288
+ json_object: "json_object";
2289
+ }>>;
2290
+ jsonSchema: z.ZodOptional<z.ZodUnknown>;
2291
+ grammar: z.ZodOptional<z.ZodString>;
2292
+ }, z.core.$strip>>;
2293
+ toolChoice: z.ZodOptional<z.ZodEnum<{
2294
+ required: "required";
2295
+ auto: "auto";
2296
+ none: "none";
2297
+ }>>;
2298
+ promptTags: z.ZodOptional<z.ZodObject<{
2299
+ enableThinkingTag: z.ZodOptional<z.ZodString>;
2300
+ disableThinkingTag: z.ZodOptional<z.ZodString>;
2301
+ }, z.core.$strip>>;
2302
+ engine: z.ZodOptional<z.ZodObject<{
2303
+ llamaCpp: z.ZodOptional<z.ZodObject<{
2304
+ nGpuLayers: z.ZodOptional<z.ZodNumber>;
2305
+ cpuMoe: z.ZodOptional<z.ZodBoolean>;
2306
+ nCpuMoe: z.ZodOptional<z.ZodNumber>;
2307
+ cacheReuse: z.ZodOptional<z.ZodNumber>;
2308
+ swaFull: z.ZodOptional<z.ZodBoolean>;
2309
+ flashAttn: z.ZodOptional<z.ZodEnum<{
2310
+ auto: "auto";
2311
+ on: "on";
2312
+ off: "off";
2313
+ }>>;
2314
+ ubatchSize: z.ZodOptional<z.ZodNumber>;
2315
+ contextSize: z.ZodOptional<z.ZodNumber>;
2316
+ chatTemplate: z.ZodOptional<z.ZodString>;
2317
+ threads: z.ZodOptional<z.ZodNumber>;
2318
+ batchSize: z.ZodOptional<z.ZodNumber>;
2319
+ spec: z.ZodOptional<z.ZodObject<{
2320
+ type: z.ZodOptional<z.ZodEnum<{
2321
+ none: "none";
2322
+ "draft-mtp": "draft-mtp";
2323
+ "draft-eagle3": "draft-eagle3";
2324
+ "draft-dflash": "draft-dflash";
2325
+ "draft-simple": "draft-simple";
2326
+ "ngram-mod": "ngram-mod";
2327
+ "ngram-simple": "ngram-simple";
2328
+ "ngram-map-k": "ngram-map-k";
2329
+ "ngram-map-k4v": "ngram-map-k4v";
2330
+ "ngram-cache": "ngram-cache";
2331
+ }>>;
2332
+ mtp: z.ZodOptional<z.ZodBoolean>;
2333
+ draftModelId: z.ZodOptional<z.ZodString>;
2334
+ nMax: z.ZodOptional<z.ZodNumber>;
2335
+ }, z.core.$strip>>;
2336
+ }, z.core.$strip>>;
2337
+ }, z.core.$strip>>;
2338
+ profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2339
+ sampling: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2340
+ temperature: z.ZodOptional<z.ZodNumber>;
2341
+ topP: z.ZodOptional<z.ZodNumber>;
2342
+ topK: z.ZodOptional<z.ZodNumber>;
2343
+ minP: z.ZodOptional<z.ZodNumber>;
2344
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2345
+ seed: z.ZodOptional<z.ZodNumber>;
2346
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
2347
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
2348
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
2349
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
2350
+ dry: z.ZodOptional<z.ZodObject<{
2351
+ multiplier: z.ZodNumber;
2352
+ base: z.ZodOptional<z.ZodNumber>;
2353
+ allowedLength: z.ZodOptional<z.ZodNumber>;
2354
+ }, z.core.$strip>>;
2355
+ xtc: z.ZodOptional<z.ZodObject<{
2356
+ probability: z.ZodNumber;
2357
+ threshold: z.ZodNumber;
2358
+ }, z.core.$strip>>;
2359
+ }, z.core.$strip>>>;
2360
+ samplingWhenThinking: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2361
+ temperature: z.ZodOptional<z.ZodNumber>;
2362
+ topP: z.ZodOptional<z.ZodNumber>;
2363
+ topK: z.ZodOptional<z.ZodNumber>;
2364
+ minP: z.ZodOptional<z.ZodNumber>;
2365
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2366
+ seed: z.ZodOptional<z.ZodNumber>;
2367
+ repetitionPenalty: z.ZodOptional<z.ZodNumber>;
2368
+ repetitionContext: z.ZodOptional<z.ZodNumber>;
2369
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
2370
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
2371
+ dry: z.ZodOptional<z.ZodObject<{
2372
+ multiplier: z.ZodNumber;
2373
+ base: z.ZodOptional<z.ZodNumber>;
2374
+ allowedLength: z.ZodOptional<z.ZodNumber>;
2375
+ }, z.core.$strip>>;
2376
+ xtc: z.ZodOptional<z.ZodObject<{
2377
+ probability: z.ZodNumber;
2378
+ threshold: z.ZodNumber;
2379
+ }, z.core.$strip>>;
2380
+ }, z.core.$strip>>>;
2381
+ reasoning: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2382
+ effort: z.ZodOptional<z.ZodEnum<{
2383
+ medium: "medium";
2384
+ low: "low";
2385
+ high: "high";
2386
+ }>>;
2387
+ thinkingBudget: z.ZodOptional<z.ZodNumber>;
2388
+ enableThinking: z.ZodOptional<z.ZodBoolean>;
2389
+ templateKwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
2390
+ }, z.core.$strip>>>;
2391
+ output: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2392
+ responseFormat: z.ZodOptional<z.ZodEnum<{
2393
+ text: "text";
2394
+ json_object: "json_object";
2395
+ }>>;
2396
+ jsonSchema: z.ZodOptional<z.ZodUnknown>;
2397
+ grammar: z.ZodOptional<z.ZodString>;
2398
+ }, z.core.$strip>>>;
2399
+ toolChoice: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
2400
+ required: "required";
2401
+ auto: "auto";
2402
+ none: "none";
2403
+ }>>>;
2404
+ promptTags: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2405
+ enableThinkingTag: z.ZodOptional<z.ZodString>;
2406
+ disableThinkingTag: z.ZodOptional<z.ZodString>;
2407
+ }, z.core.$strip>>>;
2408
+ }, z.core.$strip>>>;
2409
+ }, z.core.$strip>>;
2410
+ tuningProfile: z.ZodOptional<z.ZodString>;
2411
+ suggestedTuningProfile: z.ZodOptional<z.ZodString>;
2412
+ tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
2413
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2414
+ fixedFunction: z.ZodOptional<z.ZodObject<{
2415
+ tool: z.ZodString;
2416
+ promptKey: z.ZodDefault<z.ZodString>;
2417
+ defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2418
+ }, z.core.$strip>>;
2419
+ numCtx: z.ZodOptional<z.ZodNumber>;
2420
+ autoRecall: z.ZodOptional<z.ZodBoolean>;
2421
+ font: z.ZodOptional<z.ZodString>;
2422
+ voice: z.ZodOptional<z.ZodString>;
2423
+ templateId: z.ZodOptional<z.ZodString>;
2424
+ templateVersion: z.ZodOptional<z.ZodString>;
2425
+ sandboxCopilot: z.ZodOptional<z.ZodBoolean>;
2426
+ claudePermissionMode: z.ZodOptional<z.ZodEnum<{
2427
+ default: "default";
2428
+ plan: "plan";
2429
+ acceptEdits: "acceptEdits";
2430
+ bypassPermissions: "bypassPermissions";
2431
+ }>>;
2432
+ codexPermissionMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2433
+ plan: "plan";
2434
+ edit: "edit";
2435
+ reviewed: "reviewed";
2436
+ full: "full";
2437
+ }>, z.ZodEnum<{
2438
+ default: "default";
2439
+ acceptEdits: "acceptEdits";
2440
+ bypassPermissions: "bypassPermissions";
2441
+ }>]>>;
2442
+ iconOverride: z.ZodOptional<z.ZodBoolean>;
2443
+ traits: z.ZodOptional<z.ZodArray<z.ZodObject<{
2444
+ id: z.ZodString;
2445
+ text: z.ZodString;
2446
+ adoptedAt: z.ZodString;
2447
+ source: z.ZodOptional<z.ZodEnum<{
2448
+ manual: "manual";
2449
+ levelup: "levelup";
2450
+ }>>;
2451
+ }, z.core.$strip>>>;
2452
+ recognition: z.ZodOptional<z.ZodEnum<{
2453
+ always: "always";
2454
+ auto: "auto";
2455
+ off: "off";
2456
+ }>>;
2457
+ }, z.core.$strip>;
2458
+ sections: z.ZodArray<z.ZodObject<{
2459
+ heading: z.ZodString;
2460
+ template: z.ZodOptional<z.ZodString>;
2461
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2462
+ body: z.ZodString;
2463
+ }, z.core.$strip>>;
2464
+ source: z.ZodString;
2465
+ }, z.core.$strip>;
2466
+ about: z.ZodString;
2467
+ toolsMd: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2468
+ }, z.core.$strip>;
2469
+ type GezelDetail = z.infer<typeof GezelDetailSchema>;
2470
+ /**
2471
+ * One MCP tool invocation captured during an assistant turn. Persisted on
2472
+ * the `ChatMessage` so the UI can still show "here's the tools/thinking
2473
+ * that produced this reply" after the stream has closed and the record
2474
+ * has been reloaded from disk.
2475
+ *
2476
+ * `argsSummary` is a short human-readable preview of the non-bulky
2477
+ * arguments (e.g. `gezel: "Maya"`, `path: "tests/x.spec.ts"`). Bulky
2478
+ * fields like `content` are omitted; values are truncated.
2479
+ */
2480
+ /**
2481
+ * Image content blocks returned by an MCP tool result (most commonly
2482
+ * `browser_snapshot` / `browser_take_screenshot` from `@playwright/mcp`).
2483
+ * The provider's image persister writes the bytes into the project's
2484
+ * artifacts/ tree under a per-session subfolder and stores the resulting
2485
+ * relative path here. The UI fetches the bytes via the standard
2486
+ * `/api/projects/:id/artifacts/read?path=…&raw=1` endpoint.
2487
+ */
2488
+ declare const ToolCallImageSchema: z.ZodObject<{
2489
+ path: z.ZodString;
2490
+ mimeType: z.ZodString;
2491
+ }, z.core.$strip>;
2492
+ type ToolCallImage = z.infer<typeof ToolCallImageSchema>;
2493
+ /**
2494
+ * Audio attachment surfaced alongside a tool call. Created by
2495
+ * `synthesize_speech` (TTS narration) and `transcribe_audio`'s caller
2496
+ * when they want the source audio rendered in the chat row.
2497
+ *
2498
+ * The bridge's audio persister writes the WAV bytes into the project's
2499
+ * artifacts/ tree (per-session subfolder, parallel to ToolCallImage)
2500
+ * and stores the resulting relative path here. The UI fetches the
2501
+ * bytes via the standard artifact-blob endpoint and renders an
2502
+ * `<audio>` widget.
2503
+ */
2504
+ declare const ToolCallAudioSchema: z.ZodObject<{
2505
+ path: z.ZodString;
2506
+ mimeType: z.ZodString;
2507
+ durationSeconds: z.ZodOptional<z.ZodNumber>;
2508
+ voice: z.ZodOptional<z.ZodString>;
2509
+ }, z.core.$strip>;
2510
+ type ToolCallAudio = z.infer<typeof ToolCallAudioSchema>;
2511
+ /**
2512
+ * Video attachment surfaced alongside a tool call. Created by
2513
+ * `generate_video` (the local diffusers engine). Unlike images/audio the
2514
+ * bytes are NOT base64-embedded in the tool result — a multi-MB mp4 in
2515
+ * the transcript would be ruinous — so the tool reports the already-
2516
+ * written artifact PATH via MCP `structuredContent`, and the UI streams
2517
+ * it from the standard artifact-blob endpoint into a `<video>` player.
2518
+ */
2519
+ declare const ToolCallVideoSchema: z.ZodObject<{
2520
+ path: z.ZodString;
2521
+ mimeType: z.ZodString;
2522
+ posterPath: z.ZodOptional<z.ZodString>;
2523
+ }, z.core.$strip>;
2524
+ type ToolCallVideo = z.infer<typeof ToolCallVideoSchema>;
2525
+ declare const ChatMessageToolCallSchema: z.ZodObject<{
2526
+ name: z.ZodString;
2527
+ durationMs: z.ZodNumber;
2528
+ success: z.ZodBoolean;
2529
+ errorMessage: z.ZodOptional<z.ZodString>;
2530
+ path: z.ZodOptional<z.ZodString>;
2531
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
2532
+ argsSummary: z.ZodOptional<z.ZodString>;
2533
+ argsFull: z.ZodOptional<z.ZodString>;
2534
+ resultText: z.ZodOptional<z.ZodString>;
2535
+ resultTruncated: z.ZodOptional<z.ZodBoolean>;
2536
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
2537
+ path: z.ZodString;
2538
+ mimeType: z.ZodString;
2539
+ }, z.core.$strip>>>;
2540
+ audios: z.ZodOptional<z.ZodArray<z.ZodObject<{
2541
+ path: z.ZodString;
2542
+ mimeType: z.ZodString;
2543
+ durationSeconds: z.ZodOptional<z.ZodNumber>;
2544
+ voice: z.ZodOptional<z.ZodString>;
2545
+ }, z.core.$strip>>>;
2546
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
2547
+ path: z.ZodString;
2548
+ mimeType: z.ZodString;
2549
+ posterPath: z.ZodOptional<z.ZodString>;
2550
+ }, z.core.$strip>>>;
2551
+ diff: z.ZodOptional<z.ZodString>;
2552
+ addedLines: z.ZodOptional<z.ZodNumber>;
2553
+ removedLines: z.ZodOptional<z.ZodNumber>;
2554
+ }, z.core.$strip>;
2555
+ type ChatMessageToolCall = z.infer<typeof ChatMessageToolCallSchema>;
2556
+ /**
2557
+ * A single turn in an agent chat. Stored in memory while a chat session is
2558
+ * active; dropped when the session ends or the daemon restarts.
2559
+ *
2560
+ * `from` is set when a message was injected by another gezel via
2561
+ * `messageGezel` — the role stays `'user'` so provider schemas work
2562
+ * unchanged, but the UI uses this metadata to render the bubble as an
2563
+ * inter-gezel handoff rather than a human composer turn.
2564
+ */
2565
+ declare const ChatMessageSchema: z.ZodObject<{
2566
+ role: z.ZodEnum<{
2567
+ user: "user";
2568
+ assistant: "assistant";
2569
+ }>;
2570
+ content: z.ZodString;
2571
+ at: z.ZodString;
2572
+ from: z.ZodOptional<z.ZodObject<{
2573
+ gezelId: z.ZodString;
2574
+ gezelName: z.ZodString;
2575
+ }, z.core.$strip>>;
2576
+ referencedArtifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
2577
+ referencedTasks: z.ZodOptional<z.ZodArray<z.ZodString>>;
2578
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
2579
+ name: z.ZodString;
2580
+ durationMs: z.ZodNumber;
2581
+ success: z.ZodBoolean;
2582
+ errorMessage: z.ZodOptional<z.ZodString>;
2583
+ path: z.ZodOptional<z.ZodString>;
2584
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
2585
+ argsSummary: z.ZodOptional<z.ZodString>;
2586
+ argsFull: z.ZodOptional<z.ZodString>;
2587
+ resultText: z.ZodOptional<z.ZodString>;
2588
+ resultTruncated: z.ZodOptional<z.ZodBoolean>;
2589
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
2590
+ path: z.ZodString;
2591
+ mimeType: z.ZodString;
2592
+ }, z.core.$strip>>>;
2593
+ audios: z.ZodOptional<z.ZodArray<z.ZodObject<{
2594
+ path: z.ZodString;
2595
+ mimeType: z.ZodString;
2596
+ durationSeconds: z.ZodOptional<z.ZodNumber>;
2597
+ voice: z.ZodOptional<z.ZodString>;
2598
+ }, z.core.$strip>>>;
2599
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
2600
+ path: z.ZodString;
2601
+ mimeType: z.ZodString;
2602
+ posterPath: z.ZodOptional<z.ZodString>;
2603
+ }, z.core.$strip>>>;
2604
+ diff: z.ZodOptional<z.ZodString>;
2605
+ addedLines: z.ZodOptional<z.ZodNumber>;
2606
+ removedLines: z.ZodOptional<z.ZodNumber>;
2607
+ }, z.core.$strip>>>;
2608
+ intents: z.ZodOptional<z.ZodArray<z.ZodObject<{
2609
+ label: z.ZodString;
2610
+ afterChars: z.ZodNumber;
2611
+ }, z.core.$strip>>>;
2612
+ pendingQuestionId: z.ZodOptional<z.ZodString>;
2613
+ synthetic: z.ZodOptional<z.ZodEnum<{
2614
+ "compaction-summary": "compaction-summary";
2615
+ "context-loop-halt": "context-loop-halt";
2616
+ "turn-aborted": "turn-aborted";
2617
+ "growth-announcement": "growth-announcement";
2618
+ "keurmeester-notice": "keurmeester-notice";
2619
+ }>>;
2620
+ hidden: z.ZodOptional<z.ZodBoolean>;
2621
+ nudge: z.ZodOptional<z.ZodBoolean>;
2622
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
2623
+ reasoning: z.ZodOptional<z.ZodString>;
2624
+ reasoningDurationMs: z.ZodOptional<z.ZodNumber>;
2625
+ attemptedToolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
2626
+ body: z.ZodString;
2627
+ reason: z.ZodOptional<z.ZodString>;
2628
+ }, z.core.$strip>>>;
2629
+ recognizedImages: z.ZodOptional<z.ZodArray<z.ZodObject<{
2630
+ ref: z.ZodString;
2631
+ sha256: z.ZodString;
2632
+ digest: z.ZodString;
2633
+ modelId: z.ZodString;
2634
+ modes: z.ZodArray<z.ZodEnum<{
2635
+ describe: "describe";
2636
+ ocr: "ocr";
2637
+ ui: "ui";
2638
+ extract: "extract";
2639
+ }>>;
2640
+ status: z.ZodEnum<{
2641
+ ok: "ok";
2642
+ partial: "partial";
2643
+ failed: "failed";
2644
+ "static-only": "static-only";
2645
+ }>;
2646
+ at: z.ZodString;
2647
+ }, z.core.$strip>>>;
2648
+ }, z.core.$strip>;
2649
+ type ChatMessage = z.infer<typeof ChatMessageSchema>;
2650
+ /**
2651
+ * Machine-readable classification of a failed turn, carried beside the
2652
+ * human-readable `error` string on the chat event and persisted alongside
2653
+ * `ChatSession.lastTurnError`.
2654
+ *
2655
+ * Without this every field a structured error class carries — the incident
2656
+ * id, the engine, the crash class, the launch configuration that produced
2657
+ * it — is flattened into `Error.message` at the wire boundary and has to be
2658
+ * scraped back out of prose. The bug-report dialog reads this instead.
2659
+ *
2660
+ * Additive and fully optional: existing consumers read only `error`,
2661
+ * sessions written before this field simply lack it, and an older daemon
2662
+ * reading a newer session strips the key (Zod objects strip unknown
2663
+ * properties) rather than failing to parse.
2664
+ *
2665
+ * `code` is an open string, not an enum, so a daemon that learns a new
2666
+ * failure class cannot break a UI built against an older core. Known
2667
+ * values: `native-engine-crash`, `turn-aborted`, `capacity-denied` — plus
2668
+ * any Node errno, which arrives for free because Node system errors already
2669
+ * carry a string `.code`.
2670
+ */
2671
+ declare const ChatTurnErrorDetailSchema: z.ZodObject<{
2672
+ code: z.ZodOptional<z.ZodString>;
2673
+ engine: z.ZodOptional<z.ZodString>;
2674
+ incidentId: z.ZodOptional<z.ZodString>;
2675
+ panicKind: z.ZodOptional<z.ZodString>;
2676
+ exitCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2677
+ signal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2678
+ diagnostics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
2679
+ }, z.core.$strip>;
2680
+ type ChatTurnErrorDetail = z.infer<typeof ChatTurnErrorDetailSchema>;
2681
+ /**
2682
+ * Server-sent events on the chat stream — same pattern as TaskEvent.
2683
+ * `delta` messages land while the model is still streaming; `complete`
2684
+ * marks the final assistant message; `done` closes the stream.
2685
+ */
2686
+ declare const ChatEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2687
+ type: z.ZodLiteral<"delta">;
2688
+ content: z.ZodString;
2689
+ }, z.core.$strip>, z.ZodObject<{
2690
+ type: z.ZodLiteral<"reasoning_delta">;
2691
+ content: z.ZodString;
2692
+ }, z.core.$strip>, z.ZodObject<{
2693
+ type: z.ZodLiteral<"complete">;
2694
+ message: z.ZodObject<{
2695
+ role: z.ZodEnum<{
2696
+ user: "user";
2697
+ assistant: "assistant";
2698
+ }>;
2699
+ content: z.ZodString;
2700
+ at: z.ZodString;
2701
+ from: z.ZodOptional<z.ZodObject<{
2702
+ gezelId: z.ZodString;
2703
+ gezelName: z.ZodString;
2704
+ }, z.core.$strip>>;
2705
+ referencedArtifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
2706
+ referencedTasks: z.ZodOptional<z.ZodArray<z.ZodString>>;
2707
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
2708
+ name: z.ZodString;
2709
+ durationMs: z.ZodNumber;
2710
+ success: z.ZodBoolean;
2711
+ errorMessage: z.ZodOptional<z.ZodString>;
2712
+ path: z.ZodOptional<z.ZodString>;
2713
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
2714
+ argsSummary: z.ZodOptional<z.ZodString>;
2715
+ argsFull: z.ZodOptional<z.ZodString>;
2716
+ resultText: z.ZodOptional<z.ZodString>;
2717
+ resultTruncated: z.ZodOptional<z.ZodBoolean>;
2718
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
2719
+ path: z.ZodString;
2720
+ mimeType: z.ZodString;
2721
+ }, z.core.$strip>>>;
2722
+ audios: z.ZodOptional<z.ZodArray<z.ZodObject<{
2723
+ path: z.ZodString;
2724
+ mimeType: z.ZodString;
2725
+ durationSeconds: z.ZodOptional<z.ZodNumber>;
2726
+ voice: z.ZodOptional<z.ZodString>;
2727
+ }, z.core.$strip>>>;
2728
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
2729
+ path: z.ZodString;
2730
+ mimeType: z.ZodString;
2731
+ posterPath: z.ZodOptional<z.ZodString>;
2732
+ }, z.core.$strip>>>;
2733
+ diff: z.ZodOptional<z.ZodString>;
2734
+ addedLines: z.ZodOptional<z.ZodNumber>;
2735
+ removedLines: z.ZodOptional<z.ZodNumber>;
2736
+ }, z.core.$strip>>>;
2737
+ intents: z.ZodOptional<z.ZodArray<z.ZodObject<{
2738
+ label: z.ZodString;
2739
+ afterChars: z.ZodNumber;
2740
+ }, z.core.$strip>>>;
2741
+ pendingQuestionId: z.ZodOptional<z.ZodString>;
2742
+ synthetic: z.ZodOptional<z.ZodEnum<{
2743
+ "compaction-summary": "compaction-summary";
2744
+ "context-loop-halt": "context-loop-halt";
2745
+ "turn-aborted": "turn-aborted";
2746
+ "growth-announcement": "growth-announcement";
2747
+ "keurmeester-notice": "keurmeester-notice";
2748
+ }>>;
2749
+ hidden: z.ZodOptional<z.ZodBoolean>;
2750
+ nudge: z.ZodOptional<z.ZodBoolean>;
2751
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
2752
+ reasoning: z.ZodOptional<z.ZodString>;
2753
+ reasoningDurationMs: z.ZodOptional<z.ZodNumber>;
2754
+ attemptedToolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
2755
+ body: z.ZodString;
2756
+ reason: z.ZodOptional<z.ZodString>;
2757
+ }, z.core.$strip>>>;
2758
+ recognizedImages: z.ZodOptional<z.ZodArray<z.ZodObject<{
2759
+ ref: z.ZodString;
2760
+ sha256: z.ZodString;
2761
+ digest: z.ZodString;
2762
+ modelId: z.ZodString;
2763
+ modes: z.ZodArray<z.ZodEnum<{
2764
+ describe: "describe";
2765
+ ocr: "ocr";
2766
+ ui: "ui";
2767
+ extract: "extract";
2768
+ }>>;
2769
+ status: z.ZodEnum<{
2770
+ ok: "ok";
2771
+ partial: "partial";
2772
+ failed: "failed";
2773
+ "static-only": "static-only";
2774
+ }>;
2775
+ at: z.ZodString;
2776
+ }, z.core.$strip>>>;
2777
+ }, z.core.$strip>;
2778
+ }, z.core.$strip>, z.ZodObject<{
2779
+ type: z.ZodLiteral<"user_message">;
2780
+ message: z.ZodObject<{
2781
+ role: z.ZodEnum<{
2782
+ user: "user";
2783
+ assistant: "assistant";
2784
+ }>;
2785
+ content: z.ZodString;
2786
+ at: z.ZodString;
2787
+ from: z.ZodOptional<z.ZodObject<{
2788
+ gezelId: z.ZodString;
2789
+ gezelName: z.ZodString;
2790
+ }, z.core.$strip>>;
2791
+ referencedArtifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
2792
+ referencedTasks: z.ZodOptional<z.ZodArray<z.ZodString>>;
2793
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
2794
+ name: z.ZodString;
2795
+ durationMs: z.ZodNumber;
2796
+ success: z.ZodBoolean;
2797
+ errorMessage: z.ZodOptional<z.ZodString>;
2798
+ path: z.ZodOptional<z.ZodString>;
2799
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
2800
+ argsSummary: z.ZodOptional<z.ZodString>;
2801
+ argsFull: z.ZodOptional<z.ZodString>;
2802
+ resultText: z.ZodOptional<z.ZodString>;
2803
+ resultTruncated: z.ZodOptional<z.ZodBoolean>;
2804
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
2805
+ path: z.ZodString;
2806
+ mimeType: z.ZodString;
2807
+ }, z.core.$strip>>>;
2808
+ audios: z.ZodOptional<z.ZodArray<z.ZodObject<{
2809
+ path: z.ZodString;
2810
+ mimeType: z.ZodString;
2811
+ durationSeconds: z.ZodOptional<z.ZodNumber>;
2812
+ voice: z.ZodOptional<z.ZodString>;
2813
+ }, z.core.$strip>>>;
2814
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
2815
+ path: z.ZodString;
2816
+ mimeType: z.ZodString;
2817
+ posterPath: z.ZodOptional<z.ZodString>;
2818
+ }, z.core.$strip>>>;
2819
+ diff: z.ZodOptional<z.ZodString>;
2820
+ addedLines: z.ZodOptional<z.ZodNumber>;
2821
+ removedLines: z.ZodOptional<z.ZodNumber>;
2822
+ }, z.core.$strip>>>;
2823
+ intents: z.ZodOptional<z.ZodArray<z.ZodObject<{
2824
+ label: z.ZodString;
2825
+ afterChars: z.ZodNumber;
2826
+ }, z.core.$strip>>>;
2827
+ pendingQuestionId: z.ZodOptional<z.ZodString>;
2828
+ synthetic: z.ZodOptional<z.ZodEnum<{
2829
+ "compaction-summary": "compaction-summary";
2830
+ "context-loop-halt": "context-loop-halt";
2831
+ "turn-aborted": "turn-aborted";
2832
+ "growth-announcement": "growth-announcement";
2833
+ "keurmeester-notice": "keurmeester-notice";
2834
+ }>>;
2835
+ hidden: z.ZodOptional<z.ZodBoolean>;
2836
+ nudge: z.ZodOptional<z.ZodBoolean>;
2837
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
2838
+ reasoning: z.ZodOptional<z.ZodString>;
2839
+ reasoningDurationMs: z.ZodOptional<z.ZodNumber>;
2840
+ attemptedToolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
2841
+ body: z.ZodString;
2842
+ reason: z.ZodOptional<z.ZodString>;
2843
+ }, z.core.$strip>>>;
2844
+ recognizedImages: z.ZodOptional<z.ZodArray<z.ZodObject<{
2845
+ ref: z.ZodString;
2846
+ sha256: z.ZodString;
2847
+ digest: z.ZodString;
2848
+ modelId: z.ZodString;
2849
+ modes: z.ZodArray<z.ZodEnum<{
2850
+ describe: "describe";
2851
+ ocr: "ocr";
2852
+ ui: "ui";
2853
+ extract: "extract";
2854
+ }>>;
2855
+ status: z.ZodEnum<{
2856
+ ok: "ok";
2857
+ partial: "partial";
2858
+ failed: "failed";
2859
+ "static-only": "static-only";
2860
+ }>;
2861
+ at: z.ZodString;
2862
+ }, z.core.$strip>>>;
2863
+ }, z.core.$strip>;
2864
+ }, z.core.$strip>, z.ZodObject<{
2865
+ type: z.ZodLiteral<"tool">;
2866
+ name: z.ZodString;
2867
+ durationMs: z.ZodNumber;
2868
+ success: z.ZodBoolean;
2869
+ errorMessage: z.ZodOptional<z.ZodString>;
2870
+ path: z.ZodOptional<z.ZodString>;
2871
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
2872
+ argsSummary: z.ZodOptional<z.ZodString>;
2873
+ argsFull: z.ZodOptional<z.ZodString>;
2874
+ resultText: z.ZodOptional<z.ZodString>;
2875
+ resultTruncated: z.ZodOptional<z.ZodBoolean>;
2876
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
2877
+ path: z.ZodString;
2878
+ mimeType: z.ZodString;
2879
+ }, z.core.$strip>>>;
2880
+ audios: z.ZodOptional<z.ZodArray<z.ZodObject<{
2881
+ path: z.ZodString;
2882
+ mimeType: z.ZodString;
2883
+ durationSeconds: z.ZodOptional<z.ZodNumber>;
2884
+ voice: z.ZodOptional<z.ZodString>;
2885
+ }, z.core.$strip>>>;
2886
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
2887
+ path: z.ZodString;
2888
+ mimeType: z.ZodString;
2889
+ posterPath: z.ZodOptional<z.ZodString>;
2890
+ }, z.core.$strip>>>;
2891
+ diff: z.ZodOptional<z.ZodString>;
2892
+ addedLines: z.ZodOptional<z.ZodNumber>;
2893
+ removedLines: z.ZodOptional<z.ZodNumber>;
2894
+ }, z.core.$strip>, z.ZodObject<{
2895
+ type: z.ZodLiteral<"error">;
2896
+ error: z.ZodString;
2897
+ errorDetail: z.ZodOptional<z.ZodObject<{
2898
+ code: z.ZodOptional<z.ZodString>;
2899
+ engine: z.ZodOptional<z.ZodString>;
2900
+ incidentId: z.ZodOptional<z.ZodString>;
2901
+ panicKind: z.ZodOptional<z.ZodString>;
2902
+ exitCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2903
+ signal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2904
+ diagnostics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
2905
+ }, z.core.$strip>>;
2906
+ }, z.core.$strip>, z.ZodObject<{
2907
+ type: z.ZodLiteral<"cancelled">;
2908
+ }, z.core.$strip>, z.ZodObject<{
2909
+ type: z.ZodLiteral<"done">;
2910
+ }, z.core.$strip>, z.ZodObject<{
2911
+ type: z.ZodLiteral<"queued">;
2912
+ aheadOf: z.ZodNumber;
2913
+ }, z.core.$strip>, z.ZodObject<{
2914
+ type: z.ZodLiteral<"wire_pulse">;
2915
+ }, z.core.$strip>, z.ZodObject<{
2916
+ type: z.ZodLiteral<"tool_args_delta">;
2917
+ name: z.ZodString;
2918
+ content: z.ZodString;
2919
+ }, z.core.$strip>, z.ZodObject<{
2920
+ type: z.ZodLiteral<"heartbeat">;
2921
+ label: z.ZodOptional<z.ZodString>;
2922
+ }, z.core.$strip>, z.ZodObject<{
2923
+ type: z.ZodLiteral<"warning">;
2924
+ message: z.ZodString;
2925
+ action: z.ZodOptional<z.ZodObject<{
2926
+ kind: z.ZodLiteral<"settings">;
2927
+ section: z.ZodEnum<{
2928
+ llamaCpp: "llamaCpp";
2929
+ mlx: "mlx";
2930
+ ds4: "ds4";
2931
+ }>;
2932
+ }, z.core.$strip>>;
2933
+ }, z.core.$strip>, z.ZodObject<{
2934
+ type: z.ZodLiteral<"intent">;
2935
+ label: z.ZodString;
2936
+ }, z.core.$strip>, z.ZodObject<{
2937
+ type: z.ZodLiteral<"queue_enqueued">;
2938
+ queueId: z.ZodString;
2939
+ preview: z.ZodString;
2940
+ enqueuedAt: z.ZodString;
2941
+ nudge: z.ZodOptional<z.ZodBoolean>;
2942
+ }, z.core.$strip>, z.ZodObject<{
2943
+ type: z.ZodLiteral<"queue_removed">;
2944
+ queueId: z.ZodString;
2945
+ reason: z.ZodEnum<{
2946
+ started: "started";
2947
+ canceled: "canceled";
2948
+ rejected: "rejected";
2949
+ }>;
2950
+ }, z.core.$strip>, z.ZodObject<{
2951
+ type: z.ZodLiteral<"context_warning">;
2952
+ estimatedTokens: z.ZodNumber;
2953
+ numCtx: z.ZodNumber;
2954
+ model: z.ZodString;
2955
+ }, z.core.$strip>, z.ZodObject<{
2956
+ type: z.ZodLiteral<"context_compacted">;
2957
+ removedCount: z.ZodNumber;
2958
+ model: z.ZodString;
2959
+ }, z.core.$strip>, z.ZodObject<{
2960
+ type: z.ZodLiteral<"context_loop">;
2961
+ compactionsThisSend: z.ZodNumber;
2962
+ reason: z.ZodString;
2963
+ }, z.core.$strip>, z.ZodObject<{
2964
+ type: z.ZodLiteral<"keurmeester_intervention">;
2965
+ caseId: z.ZodString;
2966
+ gezelId: z.ZodString;
2967
+ gezelName: z.ZodString;
2968
+ action: z.ZodString;
2969
+ summary: z.ZodString;
2970
+ }, z.core.$strip>, z.ZodObject<{
2971
+ type: z.ZodLiteral<"recall_applied">;
2972
+ hitCount: z.ZodNumber;
2973
+ query: z.ZodString;
2974
+ }, z.core.$strip>, z.ZodObject<{
2975
+ type: z.ZodLiteral<"question_asked">;
2976
+ question: z.ZodObject<{
2977
+ id: z.ZodString;
2978
+ projectId: z.ZodString;
2979
+ gezelId: z.ZodString;
2980
+ sessionId: z.ZodString;
2981
+ prompt: z.ZodString;
2982
+ choices: z.ZodOptional<z.ZodArray<z.ZodString>>;
2983
+ allowWriteIn: z.ZodOptional<z.ZodBoolean>;
2984
+ multiSelect: z.ZodOptional<z.ZodBoolean>;
2985
+ taskRef: z.ZodOptional<z.ZodString>;
2986
+ documentPath: z.ZodOptional<z.ZodString>;
2987
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2988
+ kind: z.ZodLiteral<"npm-install-approval">;
2989
+ packages: z.ZodArray<z.ZodObject<{
2990
+ package: z.ZodString;
2991
+ version: z.ZodString;
2992
+ }, z.core.$strip>>;
2993
+ }, z.core.$strip>, z.ZodObject<{
2994
+ kind: z.ZodLiteral<"command-approval">;
2995
+ scope: z.ZodEnum<{
2996
+ script: "script";
2997
+ npx: "npx";
2998
+ }>;
2999
+ name: z.ZodString;
3000
+ body: z.ZodOptional<z.ZodString>;
3001
+ args: z.ZodOptional<z.ZodArray<z.ZodString>>;
3002
+ }, z.core.$strip>, z.ZodObject<{
3003
+ kind: z.ZodLiteral<"tool-permission">;
3004
+ toolName: z.ZodString;
3005
+ toolInput: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3006
+ }, z.core.$strip>, z.ZodObject<{
3007
+ kind: z.ZodLiteral<"toolset-install-approval">;
3008
+ toolsetId: z.ZodString;
3009
+ sourceId: z.ZodString;
3010
+ version: z.ZodString;
3011
+ targetProjectId: z.ZodString;
3012
+ craftbookId: z.ZodString;
3013
+ }, z.core.$strip>, z.ZodObject<{
3014
+ kind: z.ZodLiteral<"image-generation-approval">;
3015
+ provider: z.ZodString;
3016
+ model: z.ZodString;
3017
+ promptPreview: z.ZodString;
3018
+ estimatedSize: z.ZodOptional<z.ZodString>;
3019
+ }, z.core.$strip>, z.ZodObject<{
3020
+ kind: z.ZodLiteral<"video-generation-approval">;
3021
+ provider: z.ZodString;
3022
+ model: z.ZodString;
3023
+ promptPreview: z.ZodString;
3024
+ estimatedSize: z.ZodOptional<z.ZodString>;
3025
+ }, z.core.$strip>, z.ZodObject<{
3026
+ kind: z.ZodLiteral<"schedule-approval">;
3027
+ typeId: z.ZodString;
3028
+ craftbookId: z.ZodString;
3029
+ runMode: z.ZodOptional<z.ZodEnum<{
3030
+ scheduled: "scheduled";
3031
+ "night-shift": "night-shift";
3032
+ }>>;
3033
+ cron: z.ZodString;
3034
+ overlap: z.ZodOptional<z.ZodEnum<{
3035
+ skip: "skip";
3036
+ queue: "queue";
3037
+ concurrent: "concurrent";
3038
+ }>>;
3039
+ }, z.core.$strip>, z.ZodObject<{
3040
+ kind: z.ZodLiteral<"night-shift-review">;
3041
+ windowKey: z.ZodString;
3042
+ tasksCompleted: z.ZodNumber;
3043
+ reports: z.ZodArray<z.ZodObject<{
3044
+ projectId: z.ZodString;
3045
+ path: z.ZodString;
3046
+ title: z.ZodOptional<z.ZodString>;
3047
+ actionCount: z.ZodNumber;
3048
+ }, z.core.$strip>>;
3049
+ }, z.core.$strip>, z.ZodObject<{
3050
+ kind: z.ZodLiteral<"task-paused">;
3051
+ taskRef: z.ZodString;
3052
+ stepId: z.ZodOptional<z.ZodString>;
3053
+ reason: z.ZodEnum<{
3054
+ gate_exhausted: "gate_exhausted";
3055
+ gate_plateau: "gate_plateau";
3056
+ gate_unsatisfiable: "gate_unsatisfiable";
3057
+ gate_infrastructure: "gate_infrastructure";
3058
+ step_stalled: "step_stalled";
3059
+ budget_exhausted: "budget_exhausted";
3060
+ }>;
3061
+ }, z.core.$strip>], "kind">>;
3062
+ createdAt: z.ZodString;
3063
+ answer: z.ZodOptional<z.ZodObject<{
3064
+ selectedChoices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3065
+ writeIn: z.ZodOptional<z.ZodString>;
3066
+ declined: z.ZodOptional<z.ZodBoolean>;
3067
+ silentSkip: z.ZodOptional<z.ZodBoolean>;
3068
+ npmInstallDecisions: z.ZodOptional<z.ZodArray<z.ZodObject<{
3069
+ package: z.ZodString;
3070
+ version: z.ZodString;
3071
+ decision: z.ZodEnum<{
3072
+ always: "always";
3073
+ install: "install";
3074
+ decline: "decline";
3075
+ }>;
3076
+ }, z.core.$strip>>>;
3077
+ at: z.ZodString;
3078
+ }, z.core.$strip>>;
3079
+ }, z.core.$strip>;
3080
+ }, z.core.$strip>, z.ZodObject<{
3081
+ type: z.ZodLiteral<"question_answered">;
3082
+ question: z.ZodObject<{
3083
+ id: z.ZodString;
3084
+ projectId: z.ZodString;
3085
+ gezelId: z.ZodString;
3086
+ sessionId: z.ZodString;
3087
+ prompt: z.ZodString;
3088
+ choices: z.ZodOptional<z.ZodArray<z.ZodString>>;
3089
+ allowWriteIn: z.ZodOptional<z.ZodBoolean>;
3090
+ multiSelect: z.ZodOptional<z.ZodBoolean>;
3091
+ taskRef: z.ZodOptional<z.ZodString>;
3092
+ documentPath: z.ZodOptional<z.ZodString>;
3093
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
3094
+ kind: z.ZodLiteral<"npm-install-approval">;
3095
+ packages: z.ZodArray<z.ZodObject<{
3096
+ package: z.ZodString;
3097
+ version: z.ZodString;
3098
+ }, z.core.$strip>>;
3099
+ }, z.core.$strip>, z.ZodObject<{
3100
+ kind: z.ZodLiteral<"command-approval">;
3101
+ scope: z.ZodEnum<{
3102
+ script: "script";
3103
+ npx: "npx";
3104
+ }>;
3105
+ name: z.ZodString;
3106
+ body: z.ZodOptional<z.ZodString>;
3107
+ args: z.ZodOptional<z.ZodArray<z.ZodString>>;
3108
+ }, z.core.$strip>, z.ZodObject<{
3109
+ kind: z.ZodLiteral<"tool-permission">;
3110
+ toolName: z.ZodString;
3111
+ toolInput: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3112
+ }, z.core.$strip>, z.ZodObject<{
3113
+ kind: z.ZodLiteral<"toolset-install-approval">;
3114
+ toolsetId: z.ZodString;
3115
+ sourceId: z.ZodString;
3116
+ version: z.ZodString;
3117
+ targetProjectId: z.ZodString;
3118
+ craftbookId: z.ZodString;
3119
+ }, z.core.$strip>, z.ZodObject<{
3120
+ kind: z.ZodLiteral<"image-generation-approval">;
3121
+ provider: z.ZodString;
3122
+ model: z.ZodString;
3123
+ promptPreview: z.ZodString;
3124
+ estimatedSize: z.ZodOptional<z.ZodString>;
3125
+ }, z.core.$strip>, z.ZodObject<{
3126
+ kind: z.ZodLiteral<"video-generation-approval">;
3127
+ provider: z.ZodString;
3128
+ model: z.ZodString;
3129
+ promptPreview: z.ZodString;
3130
+ estimatedSize: z.ZodOptional<z.ZodString>;
3131
+ }, z.core.$strip>, z.ZodObject<{
3132
+ kind: z.ZodLiteral<"schedule-approval">;
3133
+ typeId: z.ZodString;
3134
+ craftbookId: z.ZodString;
3135
+ runMode: z.ZodOptional<z.ZodEnum<{
3136
+ scheduled: "scheduled";
3137
+ "night-shift": "night-shift";
3138
+ }>>;
3139
+ cron: z.ZodString;
3140
+ overlap: z.ZodOptional<z.ZodEnum<{
3141
+ skip: "skip";
3142
+ queue: "queue";
3143
+ concurrent: "concurrent";
3144
+ }>>;
3145
+ }, z.core.$strip>, z.ZodObject<{
3146
+ kind: z.ZodLiteral<"night-shift-review">;
3147
+ windowKey: z.ZodString;
3148
+ tasksCompleted: z.ZodNumber;
3149
+ reports: z.ZodArray<z.ZodObject<{
3150
+ projectId: z.ZodString;
3151
+ path: z.ZodString;
3152
+ title: z.ZodOptional<z.ZodString>;
3153
+ actionCount: z.ZodNumber;
3154
+ }, z.core.$strip>>;
3155
+ }, z.core.$strip>, z.ZodObject<{
3156
+ kind: z.ZodLiteral<"task-paused">;
3157
+ taskRef: z.ZodString;
3158
+ stepId: z.ZodOptional<z.ZodString>;
3159
+ reason: z.ZodEnum<{
3160
+ gate_exhausted: "gate_exhausted";
3161
+ gate_plateau: "gate_plateau";
3162
+ gate_unsatisfiable: "gate_unsatisfiable";
3163
+ gate_infrastructure: "gate_infrastructure";
3164
+ step_stalled: "step_stalled";
3165
+ budget_exhausted: "budget_exhausted";
3166
+ }>;
3167
+ }, z.core.$strip>], "kind">>;
3168
+ createdAt: z.ZodString;
3169
+ answer: z.ZodOptional<z.ZodObject<{
3170
+ selectedChoices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3171
+ writeIn: z.ZodOptional<z.ZodString>;
3172
+ declined: z.ZodOptional<z.ZodBoolean>;
3173
+ silentSkip: z.ZodOptional<z.ZodBoolean>;
3174
+ npmInstallDecisions: z.ZodOptional<z.ZodArray<z.ZodObject<{
3175
+ package: z.ZodString;
3176
+ version: z.ZodString;
3177
+ decision: z.ZodEnum<{
3178
+ always: "always";
3179
+ install: "install";
3180
+ decline: "decline";
3181
+ }>;
3182
+ }, z.core.$strip>>>;
3183
+ at: z.ZodString;
3184
+ }, z.core.$strip>>;
3185
+ }, z.core.$strip>;
3186
+ }, z.core.$strip>, z.ZodObject<{
3187
+ type: z.ZodLiteral<"task_event">;
3188
+ eventId: z.ZodString;
3189
+ kind: z.ZodString;
3190
+ summary: z.ZodString;
3191
+ at: z.ZodString;
3192
+ taskRef: z.ZodOptional<z.ZodString>;
3193
+ }, z.core.$strip>, z.ZodObject<{
3194
+ type: z.ZodLiteral<"growth_level_up">;
3195
+ gezelId: z.ZodString;
3196
+ gezelName: z.ZodString;
3197
+ toLevel: z.ZodNumber;
3198
+ }, z.core.$strip>, z.ZodObject<{
3199
+ type: z.ZodLiteral<"engine_phase">;
3200
+ provider: z.ZodEnum<{
3201
+ "llama-cpp": "llama-cpp";
3202
+ mlx: "mlx";
3203
+ ds4: "ds4";
3204
+ }>;
3205
+ phase: z.ZodEnum<{
3206
+ starting: "starting";
3207
+ loading_model: "loading_model";
3208
+ prefill: "prefill";
3209
+ generating: "generating";
3210
+ ready: "ready";
3211
+ }>;
3212
+ detail: z.ZodOptional<z.ZodString>;
3213
+ progress: z.ZodOptional<z.ZodNumber>;
3214
+ ttftMs: z.ZodOptional<z.ZodNumber>;
3215
+ }, z.core.$strip>, z.ZodObject<{
3216
+ type: z.ZodLiteral<"turn_stats">;
3217
+ provider: z.ZodEnum<{
3218
+ "llama-cpp": "llama-cpp";
3219
+ mlx: "mlx";
3220
+ ollama: "ollama";
3221
+ ds4: "ds4";
3222
+ }>;
3223
+ promptTokens: z.ZodNumber;
3224
+ completionTokens: z.ZodNumber;
3225
+ durationMs: z.ZodNumber;
3226
+ tokensPerSec: z.ZodOptional<z.ZodNumber>;
3227
+ }, z.core.$strip>, z.ZodObject<{
3228
+ type: z.ZodLiteral<"engine_stats">;
3229
+ provider: z.ZodEnum<{
3230
+ "llama-cpp": "llama-cpp";
3231
+ mlx: "mlx";
3232
+ ds4: "ds4";
3233
+ }>;
3234
+ ramAllocBytes: z.ZodNumber;
3235
+ }, z.core.$strip>, z.ZodObject<{
3236
+ type: z.ZodLiteral<"gpu_swap">;
3237
+ state: z.ZodEnum<{
3238
+ progress: "progress";
3239
+ started: "started";
3240
+ ended: "ended";
3241
+ }>;
3242
+ task: z.ZodEnum<{
3243
+ image_generation: "image_generation";
3244
+ video_generation: "video_generation";
3245
+ image_recognition: "image_recognition";
3246
+ }>;
3247
+ detail: z.ZodOptional<z.ZodString>;
3248
+ prompt: z.ZodOptional<z.ZodString>;
3249
+ progress: z.ZodOptional<z.ZodNumber>;
3250
+ step: z.ZodOptional<z.ZodNumber>;
3251
+ totalSteps: z.ZodOptional<z.ZodNumber>;
3252
+ secondsPerStep: z.ZodOptional<z.ZodNumber>;
3253
+ }, z.core.$strip>, z.ZodObject<{
3254
+ type: z.ZodLiteral<"awaiting_gezel">;
3255
+ state: z.ZodEnum<{
3256
+ started: "started";
3257
+ ended: "ended";
3258
+ }>;
3259
+ targetGezelName: z.ZodString;
3260
+ }, z.core.$strip>, z.ZodObject<{
3261
+ type: z.ZodLiteral<"project_created">;
3262
+ projectId: z.ZodString;
3263
+ name: z.ZodString;
3264
+ }, z.core.$strip>, z.ZodObject<{
3265
+ type: z.ZodLiteral<"project_deleted">;
3266
+ projectId: z.ZodString;
3267
+ name: z.ZodString;
3268
+ }, z.core.$strip>, z.ZodObject<{
3269
+ type: z.ZodLiteral<"gezel_created">;
3270
+ gezelId: z.ZodString;
3271
+ name: z.ZodString;
3272
+ }, z.core.$strip>, z.ZodObject<{
3273
+ type: z.ZodLiteral<"night_shift">;
3274
+ active: z.ZodBoolean;
3275
+ source: z.ZodNullable<z.ZodEnum<{
3276
+ manual: "manual";
3277
+ scheduled: "scheduled";
3278
+ }>>;
3279
+ }, z.core.$strip>, z.ZodObject<{
3280
+ type: z.ZodLiteral<"meester_status">;
3281
+ state: z.ZodEnum<{
3282
+ failed: "failed";
3283
+ started: "started";
3284
+ ended: "ended";
3285
+ }>;
3286
+ generatedAt: z.ZodOptional<z.ZodString>;
3287
+ }, z.core.$strip>, z.ZodObject<{
3288
+ type: z.ZodLiteral<"index_progress">;
3289
+ phase: z.ZodEnum<{
3290
+ digest: "digest";
3291
+ scan: "scan";
3292
+ enrich: "enrich";
3293
+ review: "review";
3294
+ }>;
3295
+ state: z.ZodEnum<{
3296
+ progress: "progress";
3297
+ started: "started";
3298
+ ended: "ended";
3299
+ }>;
3300
+ projectId: z.ZodOptional<z.ZodString>;
3301
+ detail: z.ZodOptional<z.ZodString>;
3302
+ pending: z.ZodOptional<z.ZodNumber>;
3303
+ gezelId: z.ZodOptional<z.ZodString>;
3304
+ gezelName: z.ZodOptional<z.ZodString>;
3305
+ }, z.core.$strip>], "type">;
3306
+ type ChatEvent = z.infer<typeof ChatEventSchema>;
3307
+ /**
3308
+ * Project-scoped + global SSE streams emit envelopes so listeners can
3309
+ * disambiguate which session/gezel/project produced the event. The bare
3310
+ * per-session stream (`/events/chat?session=`) keeps emitting `ChatEvent`
3311
+ * for back-compat — only the multiplexed streams use this shape.
3312
+ */
3313
+ declare const ChatEventEnvelopeSchema: z.ZodObject<{
3314
+ sessionId: z.ZodString;
3315
+ gezelId: z.ZodString;
3316
+ projectId: z.ZodString;
3317
+ event: z.ZodDiscriminatedUnion<[z.ZodObject<{
3318
+ type: z.ZodLiteral<"delta">;
3319
+ content: z.ZodString;
3320
+ }, z.core.$strip>, z.ZodObject<{
3321
+ type: z.ZodLiteral<"reasoning_delta">;
3322
+ content: z.ZodString;
3323
+ }, z.core.$strip>, z.ZodObject<{
3324
+ type: z.ZodLiteral<"complete">;
3325
+ message: z.ZodObject<{
3326
+ role: z.ZodEnum<{
3327
+ user: "user";
3328
+ assistant: "assistant";
3329
+ }>;
3330
+ content: z.ZodString;
3331
+ at: z.ZodString;
3332
+ from: z.ZodOptional<z.ZodObject<{
3333
+ gezelId: z.ZodString;
3334
+ gezelName: z.ZodString;
3335
+ }, z.core.$strip>>;
3336
+ referencedArtifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
3337
+ referencedTasks: z.ZodOptional<z.ZodArray<z.ZodString>>;
3338
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
3339
+ name: z.ZodString;
3340
+ durationMs: z.ZodNumber;
3341
+ success: z.ZodBoolean;
3342
+ errorMessage: z.ZodOptional<z.ZodString>;
3343
+ path: z.ZodOptional<z.ZodString>;
3344
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
3345
+ argsSummary: z.ZodOptional<z.ZodString>;
3346
+ argsFull: z.ZodOptional<z.ZodString>;
3347
+ resultText: z.ZodOptional<z.ZodString>;
3348
+ resultTruncated: z.ZodOptional<z.ZodBoolean>;
3349
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
3350
+ path: z.ZodString;
3351
+ mimeType: z.ZodString;
3352
+ }, z.core.$strip>>>;
3353
+ audios: z.ZodOptional<z.ZodArray<z.ZodObject<{
3354
+ path: z.ZodString;
3355
+ mimeType: z.ZodString;
3356
+ durationSeconds: z.ZodOptional<z.ZodNumber>;
3357
+ voice: z.ZodOptional<z.ZodString>;
3358
+ }, z.core.$strip>>>;
3359
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
3360
+ path: z.ZodString;
3361
+ mimeType: z.ZodString;
3362
+ posterPath: z.ZodOptional<z.ZodString>;
3363
+ }, z.core.$strip>>>;
3364
+ diff: z.ZodOptional<z.ZodString>;
3365
+ addedLines: z.ZodOptional<z.ZodNumber>;
3366
+ removedLines: z.ZodOptional<z.ZodNumber>;
3367
+ }, z.core.$strip>>>;
3368
+ intents: z.ZodOptional<z.ZodArray<z.ZodObject<{
3369
+ label: z.ZodString;
3370
+ afterChars: z.ZodNumber;
3371
+ }, z.core.$strip>>>;
3372
+ pendingQuestionId: z.ZodOptional<z.ZodString>;
3373
+ synthetic: z.ZodOptional<z.ZodEnum<{
3374
+ "compaction-summary": "compaction-summary";
3375
+ "context-loop-halt": "context-loop-halt";
3376
+ "turn-aborted": "turn-aborted";
3377
+ "growth-announcement": "growth-announcement";
3378
+ "keurmeester-notice": "keurmeester-notice";
3379
+ }>>;
3380
+ hidden: z.ZodOptional<z.ZodBoolean>;
3381
+ nudge: z.ZodOptional<z.ZodBoolean>;
3382
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
3383
+ reasoning: z.ZodOptional<z.ZodString>;
3384
+ reasoningDurationMs: z.ZodOptional<z.ZodNumber>;
3385
+ attemptedToolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
3386
+ body: z.ZodString;
3387
+ reason: z.ZodOptional<z.ZodString>;
3388
+ }, z.core.$strip>>>;
3389
+ recognizedImages: z.ZodOptional<z.ZodArray<z.ZodObject<{
3390
+ ref: z.ZodString;
3391
+ sha256: z.ZodString;
3392
+ digest: z.ZodString;
3393
+ modelId: z.ZodString;
3394
+ modes: z.ZodArray<z.ZodEnum<{
3395
+ describe: "describe";
3396
+ ocr: "ocr";
3397
+ ui: "ui";
3398
+ extract: "extract";
3399
+ }>>;
3400
+ status: z.ZodEnum<{
3401
+ ok: "ok";
3402
+ partial: "partial";
3403
+ failed: "failed";
3404
+ "static-only": "static-only";
3405
+ }>;
3406
+ at: z.ZodString;
3407
+ }, z.core.$strip>>>;
3408
+ }, z.core.$strip>;
3409
+ }, z.core.$strip>, z.ZodObject<{
3410
+ type: z.ZodLiteral<"user_message">;
3411
+ message: z.ZodObject<{
3412
+ role: z.ZodEnum<{
3413
+ user: "user";
3414
+ assistant: "assistant";
3415
+ }>;
3416
+ content: z.ZodString;
3417
+ at: z.ZodString;
3418
+ from: z.ZodOptional<z.ZodObject<{
3419
+ gezelId: z.ZodString;
3420
+ gezelName: z.ZodString;
3421
+ }, z.core.$strip>>;
3422
+ referencedArtifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
3423
+ referencedTasks: z.ZodOptional<z.ZodArray<z.ZodString>>;
3424
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
3425
+ name: z.ZodString;
3426
+ durationMs: z.ZodNumber;
3427
+ success: z.ZodBoolean;
3428
+ errorMessage: z.ZodOptional<z.ZodString>;
3429
+ path: z.ZodOptional<z.ZodString>;
3430
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
3431
+ argsSummary: z.ZodOptional<z.ZodString>;
3432
+ argsFull: z.ZodOptional<z.ZodString>;
3433
+ resultText: z.ZodOptional<z.ZodString>;
3434
+ resultTruncated: z.ZodOptional<z.ZodBoolean>;
3435
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
3436
+ path: z.ZodString;
3437
+ mimeType: z.ZodString;
3438
+ }, z.core.$strip>>>;
3439
+ audios: z.ZodOptional<z.ZodArray<z.ZodObject<{
3440
+ path: z.ZodString;
3441
+ mimeType: z.ZodString;
3442
+ durationSeconds: z.ZodOptional<z.ZodNumber>;
3443
+ voice: z.ZodOptional<z.ZodString>;
3444
+ }, z.core.$strip>>>;
3445
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
3446
+ path: z.ZodString;
3447
+ mimeType: z.ZodString;
3448
+ posterPath: z.ZodOptional<z.ZodString>;
3449
+ }, z.core.$strip>>>;
3450
+ diff: z.ZodOptional<z.ZodString>;
3451
+ addedLines: z.ZodOptional<z.ZodNumber>;
3452
+ removedLines: z.ZodOptional<z.ZodNumber>;
3453
+ }, z.core.$strip>>>;
3454
+ intents: z.ZodOptional<z.ZodArray<z.ZodObject<{
3455
+ label: z.ZodString;
3456
+ afterChars: z.ZodNumber;
3457
+ }, z.core.$strip>>>;
3458
+ pendingQuestionId: z.ZodOptional<z.ZodString>;
3459
+ synthetic: z.ZodOptional<z.ZodEnum<{
3460
+ "compaction-summary": "compaction-summary";
3461
+ "context-loop-halt": "context-loop-halt";
3462
+ "turn-aborted": "turn-aborted";
3463
+ "growth-announcement": "growth-announcement";
3464
+ "keurmeester-notice": "keurmeester-notice";
3465
+ }>>;
3466
+ hidden: z.ZodOptional<z.ZodBoolean>;
3467
+ nudge: z.ZodOptional<z.ZodBoolean>;
3468
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
3469
+ reasoning: z.ZodOptional<z.ZodString>;
3470
+ reasoningDurationMs: z.ZodOptional<z.ZodNumber>;
3471
+ attemptedToolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
3472
+ body: z.ZodString;
3473
+ reason: z.ZodOptional<z.ZodString>;
3474
+ }, z.core.$strip>>>;
3475
+ recognizedImages: z.ZodOptional<z.ZodArray<z.ZodObject<{
3476
+ ref: z.ZodString;
3477
+ sha256: z.ZodString;
3478
+ digest: z.ZodString;
3479
+ modelId: z.ZodString;
3480
+ modes: z.ZodArray<z.ZodEnum<{
3481
+ describe: "describe";
3482
+ ocr: "ocr";
3483
+ ui: "ui";
3484
+ extract: "extract";
3485
+ }>>;
3486
+ status: z.ZodEnum<{
3487
+ ok: "ok";
3488
+ partial: "partial";
3489
+ failed: "failed";
3490
+ "static-only": "static-only";
3491
+ }>;
3492
+ at: z.ZodString;
3493
+ }, z.core.$strip>>>;
3494
+ }, z.core.$strip>;
3495
+ }, z.core.$strip>, z.ZodObject<{
3496
+ type: z.ZodLiteral<"tool">;
3497
+ name: z.ZodString;
3498
+ durationMs: z.ZodNumber;
3499
+ success: z.ZodBoolean;
3500
+ errorMessage: z.ZodOptional<z.ZodString>;
3501
+ path: z.ZodOptional<z.ZodString>;
3502
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
3503
+ argsSummary: z.ZodOptional<z.ZodString>;
3504
+ argsFull: z.ZodOptional<z.ZodString>;
3505
+ resultText: z.ZodOptional<z.ZodString>;
3506
+ resultTruncated: z.ZodOptional<z.ZodBoolean>;
3507
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
3508
+ path: z.ZodString;
3509
+ mimeType: z.ZodString;
3510
+ }, z.core.$strip>>>;
3511
+ audios: z.ZodOptional<z.ZodArray<z.ZodObject<{
3512
+ path: z.ZodString;
3513
+ mimeType: z.ZodString;
3514
+ durationSeconds: z.ZodOptional<z.ZodNumber>;
3515
+ voice: z.ZodOptional<z.ZodString>;
3516
+ }, z.core.$strip>>>;
3517
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
3518
+ path: z.ZodString;
3519
+ mimeType: z.ZodString;
3520
+ posterPath: z.ZodOptional<z.ZodString>;
3521
+ }, z.core.$strip>>>;
3522
+ diff: z.ZodOptional<z.ZodString>;
3523
+ addedLines: z.ZodOptional<z.ZodNumber>;
3524
+ removedLines: z.ZodOptional<z.ZodNumber>;
3525
+ }, z.core.$strip>, z.ZodObject<{
3526
+ type: z.ZodLiteral<"error">;
3527
+ error: z.ZodString;
3528
+ errorDetail: z.ZodOptional<z.ZodObject<{
3529
+ code: z.ZodOptional<z.ZodString>;
3530
+ engine: z.ZodOptional<z.ZodString>;
3531
+ incidentId: z.ZodOptional<z.ZodString>;
3532
+ panicKind: z.ZodOptional<z.ZodString>;
3533
+ exitCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3534
+ signal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3535
+ diagnostics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
3536
+ }, z.core.$strip>>;
3537
+ }, z.core.$strip>, z.ZodObject<{
3538
+ type: z.ZodLiteral<"cancelled">;
3539
+ }, z.core.$strip>, z.ZodObject<{
3540
+ type: z.ZodLiteral<"done">;
3541
+ }, z.core.$strip>, z.ZodObject<{
3542
+ type: z.ZodLiteral<"queued">;
3543
+ aheadOf: z.ZodNumber;
3544
+ }, z.core.$strip>, z.ZodObject<{
3545
+ type: z.ZodLiteral<"wire_pulse">;
3546
+ }, z.core.$strip>, z.ZodObject<{
3547
+ type: z.ZodLiteral<"tool_args_delta">;
3548
+ name: z.ZodString;
3549
+ content: z.ZodString;
3550
+ }, z.core.$strip>, z.ZodObject<{
3551
+ type: z.ZodLiteral<"heartbeat">;
3552
+ label: z.ZodOptional<z.ZodString>;
3553
+ }, z.core.$strip>, z.ZodObject<{
3554
+ type: z.ZodLiteral<"warning">;
3555
+ message: z.ZodString;
3556
+ action: z.ZodOptional<z.ZodObject<{
3557
+ kind: z.ZodLiteral<"settings">;
3558
+ section: z.ZodEnum<{
3559
+ llamaCpp: "llamaCpp";
3560
+ mlx: "mlx";
3561
+ ds4: "ds4";
3562
+ }>;
3563
+ }, z.core.$strip>>;
3564
+ }, z.core.$strip>, z.ZodObject<{
3565
+ type: z.ZodLiteral<"intent">;
3566
+ label: z.ZodString;
3567
+ }, z.core.$strip>, z.ZodObject<{
3568
+ type: z.ZodLiteral<"queue_enqueued">;
3569
+ queueId: z.ZodString;
3570
+ preview: z.ZodString;
3571
+ enqueuedAt: z.ZodString;
3572
+ nudge: z.ZodOptional<z.ZodBoolean>;
3573
+ }, z.core.$strip>, z.ZodObject<{
3574
+ type: z.ZodLiteral<"queue_removed">;
3575
+ queueId: z.ZodString;
3576
+ reason: z.ZodEnum<{
3577
+ started: "started";
3578
+ canceled: "canceled";
3579
+ rejected: "rejected";
3580
+ }>;
3581
+ }, z.core.$strip>, z.ZodObject<{
3582
+ type: z.ZodLiteral<"context_warning">;
3583
+ estimatedTokens: z.ZodNumber;
3584
+ numCtx: z.ZodNumber;
3585
+ model: z.ZodString;
3586
+ }, z.core.$strip>, z.ZodObject<{
3587
+ type: z.ZodLiteral<"context_compacted">;
3588
+ removedCount: z.ZodNumber;
3589
+ model: z.ZodString;
3590
+ }, z.core.$strip>, z.ZodObject<{
3591
+ type: z.ZodLiteral<"context_loop">;
3592
+ compactionsThisSend: z.ZodNumber;
3593
+ reason: z.ZodString;
3594
+ }, z.core.$strip>, z.ZodObject<{
3595
+ type: z.ZodLiteral<"keurmeester_intervention">;
3596
+ caseId: z.ZodString;
3597
+ gezelId: z.ZodString;
3598
+ gezelName: z.ZodString;
3599
+ action: z.ZodString;
3600
+ summary: z.ZodString;
3601
+ }, z.core.$strip>, z.ZodObject<{
3602
+ type: z.ZodLiteral<"recall_applied">;
3603
+ hitCount: z.ZodNumber;
3604
+ query: z.ZodString;
3605
+ }, z.core.$strip>, z.ZodObject<{
3606
+ type: z.ZodLiteral<"question_asked">;
3607
+ question: z.ZodObject<{
3608
+ id: z.ZodString;
3609
+ projectId: z.ZodString;
3610
+ gezelId: z.ZodString;
3611
+ sessionId: z.ZodString;
3612
+ prompt: z.ZodString;
3613
+ choices: z.ZodOptional<z.ZodArray<z.ZodString>>;
3614
+ allowWriteIn: z.ZodOptional<z.ZodBoolean>;
3615
+ multiSelect: z.ZodOptional<z.ZodBoolean>;
3616
+ taskRef: z.ZodOptional<z.ZodString>;
3617
+ documentPath: z.ZodOptional<z.ZodString>;
3618
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
3619
+ kind: z.ZodLiteral<"npm-install-approval">;
3620
+ packages: z.ZodArray<z.ZodObject<{
3621
+ package: z.ZodString;
3622
+ version: z.ZodString;
3623
+ }, z.core.$strip>>;
3624
+ }, z.core.$strip>, z.ZodObject<{
3625
+ kind: z.ZodLiteral<"command-approval">;
3626
+ scope: z.ZodEnum<{
3627
+ script: "script";
3628
+ npx: "npx";
3629
+ }>;
3630
+ name: z.ZodString;
3631
+ body: z.ZodOptional<z.ZodString>;
3632
+ args: z.ZodOptional<z.ZodArray<z.ZodString>>;
3633
+ }, z.core.$strip>, z.ZodObject<{
3634
+ kind: z.ZodLiteral<"tool-permission">;
3635
+ toolName: z.ZodString;
3636
+ toolInput: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3637
+ }, z.core.$strip>, z.ZodObject<{
3638
+ kind: z.ZodLiteral<"toolset-install-approval">;
3639
+ toolsetId: z.ZodString;
3640
+ sourceId: z.ZodString;
3641
+ version: z.ZodString;
3642
+ targetProjectId: z.ZodString;
3643
+ craftbookId: z.ZodString;
3644
+ }, z.core.$strip>, z.ZodObject<{
3645
+ kind: z.ZodLiteral<"image-generation-approval">;
3646
+ provider: z.ZodString;
3647
+ model: z.ZodString;
3648
+ promptPreview: z.ZodString;
3649
+ estimatedSize: z.ZodOptional<z.ZodString>;
3650
+ }, z.core.$strip>, z.ZodObject<{
3651
+ kind: z.ZodLiteral<"video-generation-approval">;
3652
+ provider: z.ZodString;
3653
+ model: z.ZodString;
3654
+ promptPreview: z.ZodString;
3655
+ estimatedSize: z.ZodOptional<z.ZodString>;
3656
+ }, z.core.$strip>, z.ZodObject<{
3657
+ kind: z.ZodLiteral<"schedule-approval">;
3658
+ typeId: z.ZodString;
3659
+ craftbookId: z.ZodString;
3660
+ runMode: z.ZodOptional<z.ZodEnum<{
3661
+ scheduled: "scheduled";
3662
+ "night-shift": "night-shift";
3663
+ }>>;
3664
+ cron: z.ZodString;
3665
+ overlap: z.ZodOptional<z.ZodEnum<{
3666
+ skip: "skip";
3667
+ queue: "queue";
3668
+ concurrent: "concurrent";
3669
+ }>>;
3670
+ }, z.core.$strip>, z.ZodObject<{
3671
+ kind: z.ZodLiteral<"night-shift-review">;
3672
+ windowKey: z.ZodString;
3673
+ tasksCompleted: z.ZodNumber;
3674
+ reports: z.ZodArray<z.ZodObject<{
3675
+ projectId: z.ZodString;
3676
+ path: z.ZodString;
3677
+ title: z.ZodOptional<z.ZodString>;
3678
+ actionCount: z.ZodNumber;
3679
+ }, z.core.$strip>>;
3680
+ }, z.core.$strip>, z.ZodObject<{
3681
+ kind: z.ZodLiteral<"task-paused">;
3682
+ taskRef: z.ZodString;
3683
+ stepId: z.ZodOptional<z.ZodString>;
3684
+ reason: z.ZodEnum<{
3685
+ gate_exhausted: "gate_exhausted";
3686
+ gate_plateau: "gate_plateau";
3687
+ gate_unsatisfiable: "gate_unsatisfiable";
3688
+ gate_infrastructure: "gate_infrastructure";
3689
+ step_stalled: "step_stalled";
3690
+ budget_exhausted: "budget_exhausted";
3691
+ }>;
3692
+ }, z.core.$strip>], "kind">>;
3693
+ createdAt: z.ZodString;
3694
+ answer: z.ZodOptional<z.ZodObject<{
3695
+ selectedChoices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3696
+ writeIn: z.ZodOptional<z.ZodString>;
3697
+ declined: z.ZodOptional<z.ZodBoolean>;
3698
+ silentSkip: z.ZodOptional<z.ZodBoolean>;
3699
+ npmInstallDecisions: z.ZodOptional<z.ZodArray<z.ZodObject<{
3700
+ package: z.ZodString;
3701
+ version: z.ZodString;
3702
+ decision: z.ZodEnum<{
3703
+ always: "always";
3704
+ install: "install";
3705
+ decline: "decline";
3706
+ }>;
3707
+ }, z.core.$strip>>>;
3708
+ at: z.ZodString;
3709
+ }, z.core.$strip>>;
3710
+ }, z.core.$strip>;
3711
+ }, z.core.$strip>, z.ZodObject<{
3712
+ type: z.ZodLiteral<"question_answered">;
3713
+ question: z.ZodObject<{
3714
+ id: z.ZodString;
3715
+ projectId: z.ZodString;
3716
+ gezelId: z.ZodString;
3717
+ sessionId: z.ZodString;
3718
+ prompt: z.ZodString;
3719
+ choices: z.ZodOptional<z.ZodArray<z.ZodString>>;
3720
+ allowWriteIn: z.ZodOptional<z.ZodBoolean>;
3721
+ multiSelect: z.ZodOptional<z.ZodBoolean>;
3722
+ taskRef: z.ZodOptional<z.ZodString>;
3723
+ documentPath: z.ZodOptional<z.ZodString>;
3724
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
3725
+ kind: z.ZodLiteral<"npm-install-approval">;
3726
+ packages: z.ZodArray<z.ZodObject<{
3727
+ package: z.ZodString;
3728
+ version: z.ZodString;
3729
+ }, z.core.$strip>>;
3730
+ }, z.core.$strip>, z.ZodObject<{
3731
+ kind: z.ZodLiteral<"command-approval">;
3732
+ scope: z.ZodEnum<{
3733
+ script: "script";
3734
+ npx: "npx";
3735
+ }>;
3736
+ name: z.ZodString;
3737
+ body: z.ZodOptional<z.ZodString>;
3738
+ args: z.ZodOptional<z.ZodArray<z.ZodString>>;
3739
+ }, z.core.$strip>, z.ZodObject<{
3740
+ kind: z.ZodLiteral<"tool-permission">;
3741
+ toolName: z.ZodString;
3742
+ toolInput: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3743
+ }, z.core.$strip>, z.ZodObject<{
3744
+ kind: z.ZodLiteral<"toolset-install-approval">;
3745
+ toolsetId: z.ZodString;
3746
+ sourceId: z.ZodString;
3747
+ version: z.ZodString;
3748
+ targetProjectId: z.ZodString;
3749
+ craftbookId: z.ZodString;
3750
+ }, z.core.$strip>, z.ZodObject<{
3751
+ kind: z.ZodLiteral<"image-generation-approval">;
3752
+ provider: z.ZodString;
3753
+ model: z.ZodString;
3754
+ promptPreview: z.ZodString;
3755
+ estimatedSize: z.ZodOptional<z.ZodString>;
3756
+ }, z.core.$strip>, z.ZodObject<{
3757
+ kind: z.ZodLiteral<"video-generation-approval">;
3758
+ provider: z.ZodString;
3759
+ model: z.ZodString;
3760
+ promptPreview: z.ZodString;
3761
+ estimatedSize: z.ZodOptional<z.ZodString>;
3762
+ }, z.core.$strip>, z.ZodObject<{
3763
+ kind: z.ZodLiteral<"schedule-approval">;
3764
+ typeId: z.ZodString;
3765
+ craftbookId: z.ZodString;
3766
+ runMode: z.ZodOptional<z.ZodEnum<{
3767
+ scheduled: "scheduled";
3768
+ "night-shift": "night-shift";
3769
+ }>>;
3770
+ cron: z.ZodString;
3771
+ overlap: z.ZodOptional<z.ZodEnum<{
3772
+ skip: "skip";
3773
+ queue: "queue";
3774
+ concurrent: "concurrent";
3775
+ }>>;
3776
+ }, z.core.$strip>, z.ZodObject<{
3777
+ kind: z.ZodLiteral<"night-shift-review">;
3778
+ windowKey: z.ZodString;
3779
+ tasksCompleted: z.ZodNumber;
3780
+ reports: z.ZodArray<z.ZodObject<{
3781
+ projectId: z.ZodString;
3782
+ path: z.ZodString;
3783
+ title: z.ZodOptional<z.ZodString>;
3784
+ actionCount: z.ZodNumber;
3785
+ }, z.core.$strip>>;
3786
+ }, z.core.$strip>, z.ZodObject<{
3787
+ kind: z.ZodLiteral<"task-paused">;
3788
+ taskRef: z.ZodString;
3789
+ stepId: z.ZodOptional<z.ZodString>;
3790
+ reason: z.ZodEnum<{
3791
+ gate_exhausted: "gate_exhausted";
3792
+ gate_plateau: "gate_plateau";
3793
+ gate_unsatisfiable: "gate_unsatisfiable";
3794
+ gate_infrastructure: "gate_infrastructure";
3795
+ step_stalled: "step_stalled";
3796
+ budget_exhausted: "budget_exhausted";
3797
+ }>;
3798
+ }, z.core.$strip>], "kind">>;
3799
+ createdAt: z.ZodString;
3800
+ answer: z.ZodOptional<z.ZodObject<{
3801
+ selectedChoices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
3802
+ writeIn: z.ZodOptional<z.ZodString>;
3803
+ declined: z.ZodOptional<z.ZodBoolean>;
3804
+ silentSkip: z.ZodOptional<z.ZodBoolean>;
3805
+ npmInstallDecisions: z.ZodOptional<z.ZodArray<z.ZodObject<{
3806
+ package: z.ZodString;
3807
+ version: z.ZodString;
3808
+ decision: z.ZodEnum<{
3809
+ always: "always";
3810
+ install: "install";
3811
+ decline: "decline";
3812
+ }>;
3813
+ }, z.core.$strip>>>;
3814
+ at: z.ZodString;
3815
+ }, z.core.$strip>>;
3816
+ }, z.core.$strip>;
3817
+ }, z.core.$strip>, z.ZodObject<{
3818
+ type: z.ZodLiteral<"task_event">;
3819
+ eventId: z.ZodString;
3820
+ kind: z.ZodString;
3821
+ summary: z.ZodString;
3822
+ at: z.ZodString;
3823
+ taskRef: z.ZodOptional<z.ZodString>;
3824
+ }, z.core.$strip>, z.ZodObject<{
3825
+ type: z.ZodLiteral<"growth_level_up">;
3826
+ gezelId: z.ZodString;
3827
+ gezelName: z.ZodString;
3828
+ toLevel: z.ZodNumber;
3829
+ }, z.core.$strip>, z.ZodObject<{
3830
+ type: z.ZodLiteral<"engine_phase">;
3831
+ provider: z.ZodEnum<{
3832
+ "llama-cpp": "llama-cpp";
3833
+ mlx: "mlx";
3834
+ ds4: "ds4";
3835
+ }>;
3836
+ phase: z.ZodEnum<{
3837
+ starting: "starting";
3838
+ loading_model: "loading_model";
3839
+ prefill: "prefill";
3840
+ generating: "generating";
3841
+ ready: "ready";
3842
+ }>;
3843
+ detail: z.ZodOptional<z.ZodString>;
3844
+ progress: z.ZodOptional<z.ZodNumber>;
3845
+ ttftMs: z.ZodOptional<z.ZodNumber>;
3846
+ }, z.core.$strip>, z.ZodObject<{
3847
+ type: z.ZodLiteral<"turn_stats">;
3848
+ provider: z.ZodEnum<{
3849
+ "llama-cpp": "llama-cpp";
3850
+ mlx: "mlx";
3851
+ ollama: "ollama";
3852
+ ds4: "ds4";
3853
+ }>;
3854
+ promptTokens: z.ZodNumber;
3855
+ completionTokens: z.ZodNumber;
3856
+ durationMs: z.ZodNumber;
3857
+ tokensPerSec: z.ZodOptional<z.ZodNumber>;
3858
+ }, z.core.$strip>, z.ZodObject<{
3859
+ type: z.ZodLiteral<"engine_stats">;
3860
+ provider: z.ZodEnum<{
3861
+ "llama-cpp": "llama-cpp";
3862
+ mlx: "mlx";
3863
+ ds4: "ds4";
3864
+ }>;
3865
+ ramAllocBytes: z.ZodNumber;
3866
+ }, z.core.$strip>, z.ZodObject<{
3867
+ type: z.ZodLiteral<"gpu_swap">;
3868
+ state: z.ZodEnum<{
3869
+ progress: "progress";
3870
+ started: "started";
3871
+ ended: "ended";
3872
+ }>;
3873
+ task: z.ZodEnum<{
3874
+ image_generation: "image_generation";
3875
+ video_generation: "video_generation";
3876
+ image_recognition: "image_recognition";
3877
+ }>;
3878
+ detail: z.ZodOptional<z.ZodString>;
3879
+ prompt: z.ZodOptional<z.ZodString>;
3880
+ progress: z.ZodOptional<z.ZodNumber>;
3881
+ step: z.ZodOptional<z.ZodNumber>;
3882
+ totalSteps: z.ZodOptional<z.ZodNumber>;
3883
+ secondsPerStep: z.ZodOptional<z.ZodNumber>;
3884
+ }, z.core.$strip>, z.ZodObject<{
3885
+ type: z.ZodLiteral<"awaiting_gezel">;
3886
+ state: z.ZodEnum<{
3887
+ started: "started";
3888
+ ended: "ended";
3889
+ }>;
3890
+ targetGezelName: z.ZodString;
3891
+ }, z.core.$strip>, z.ZodObject<{
3892
+ type: z.ZodLiteral<"project_created">;
3893
+ projectId: z.ZodString;
3894
+ name: z.ZodString;
3895
+ }, z.core.$strip>, z.ZodObject<{
3896
+ type: z.ZodLiteral<"project_deleted">;
3897
+ projectId: z.ZodString;
3898
+ name: z.ZodString;
3899
+ }, z.core.$strip>, z.ZodObject<{
3900
+ type: z.ZodLiteral<"gezel_created">;
3901
+ gezelId: z.ZodString;
3902
+ name: z.ZodString;
3903
+ }, z.core.$strip>, z.ZodObject<{
3904
+ type: z.ZodLiteral<"night_shift">;
3905
+ active: z.ZodBoolean;
3906
+ source: z.ZodNullable<z.ZodEnum<{
3907
+ manual: "manual";
3908
+ scheduled: "scheduled";
3909
+ }>>;
3910
+ }, z.core.$strip>, z.ZodObject<{
3911
+ type: z.ZodLiteral<"meester_status">;
3912
+ state: z.ZodEnum<{
3913
+ failed: "failed";
3914
+ started: "started";
3915
+ ended: "ended";
3916
+ }>;
3917
+ generatedAt: z.ZodOptional<z.ZodString>;
3918
+ }, z.core.$strip>, z.ZodObject<{
3919
+ type: z.ZodLiteral<"index_progress">;
3920
+ phase: z.ZodEnum<{
3921
+ digest: "digest";
3922
+ scan: "scan";
3923
+ enrich: "enrich";
3924
+ review: "review";
3925
+ }>;
3926
+ state: z.ZodEnum<{
3927
+ progress: "progress";
3928
+ started: "started";
3929
+ ended: "ended";
3930
+ }>;
3931
+ projectId: z.ZodOptional<z.ZodString>;
3932
+ detail: z.ZodOptional<z.ZodString>;
3933
+ pending: z.ZodOptional<z.ZodNumber>;
3934
+ gezelId: z.ZodOptional<z.ZodString>;
3935
+ gezelName: z.ZodOptional<z.ZodString>;
3936
+ }, z.core.$strip>], "type">;
3937
+ }, z.core.$strip>;
3938
+ type ChatEventEnvelope = z.infer<typeof ChatEventEnvelopeSchema>;
3939
+
3940
+ /**
3941
+ * Report actions — structured "follow-up action requests" embedded in
3942
+ * markdown report artifacts (night-shift reviews, audits, digests) as
3943
+ * ```gezel-action fenced YAML blocks. The report stays a readable
3944
+ * document everywhere; surfaces that understand the fence render each
3945
+ * block as a fireable card instead.
3946
+ *
3947
+ * Three kinds in v1:
3948
+ * - `fire-craftbook`: run an existing craftbook with params
3949
+ * - `create-task`: delegate a bespoke one-off task ("fix this bug")
3950
+ * - `apply-edits`: apply a reviewed pack of file diffs, each diff a
3951
+ * SIDECAR artifact (`.diff` file) referenced by
3952
+ * path — never inlined in the YAML (triple-nested
3953
+ * escaping is a small-model failure mode)
3954
+ *
3955
+ * The fence-body parser lives in `markdown/report-actions.ts` (tolerant,
3956
+ * never throws); this file is the wire/lifecycle vocabulary. Everything
3957
+ * here is model-authored and therefore untrusted: nothing fires without
3958
+ * an authenticated user action, and execution surfaces re-validate.
3959
+ */
3960
+ declare const ReportActionKindSchema: z.ZodEnum<{
3961
+ "fire-craftbook": "fire-craftbook";
3962
+ "create-task": "create-task";
3963
+ "apply-edits": "apply-edits";
3964
+ }>;
3965
+ type ReportActionKind = z.infer<typeof ReportActionKindSchema>;
3966
+ declare const FireCraftbookActionSchema: z.ZodObject<{
3967
+ craftbookId: z.ZodString;
3968
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3969
+ id: z.ZodOptional<z.ZodString>;
3970
+ title: z.ZodString;
3971
+ reason: z.ZodOptional<z.ZodString>;
3972
+ projectId: z.ZodOptional<z.ZodString>;
3973
+ kind: z.ZodLiteral<"fire-craftbook">;
3974
+ }, z.core.$strip>;
3975
+ type FireCraftbookAction = z.infer<typeof FireCraftbookActionSchema>;
3976
+ declare const CreateTaskActionSchema: z.ZodObject<{
3977
+ prompt: z.ZodString;
3978
+ role: z.ZodOptional<z.ZodString>;
3979
+ id: z.ZodOptional<z.ZodString>;
3980
+ title: z.ZodString;
3981
+ reason: z.ZodOptional<z.ZodString>;
3982
+ projectId: z.ZodOptional<z.ZodString>;
3983
+ kind: z.ZodLiteral<"create-task">;
3984
+ }, z.core.$strip>;
3985
+ type CreateTaskAction = z.infer<typeof CreateTaskActionSchema>;
3986
+ declare const ApplyEditsActionSchema: z.ZodObject<{
3987
+ edits: z.ZodArray<z.ZodObject<{
3988
+ path: z.ZodString;
3989
+ diffArtifact: z.ZodString;
3990
+ }, z.core.$strip>>;
3991
+ id: z.ZodOptional<z.ZodString>;
3992
+ title: z.ZodString;
3993
+ reason: z.ZodOptional<z.ZodString>;
3994
+ projectId: z.ZodOptional<z.ZodString>;
3995
+ kind: z.ZodLiteral<"apply-edits">;
3996
+ }, z.core.$strip>;
3997
+ type ApplyEditsAction = z.infer<typeof ApplyEditsActionSchema>;
3998
+ declare const ReportActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3999
+ craftbookId: z.ZodString;
4000
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4001
+ id: z.ZodOptional<z.ZodString>;
4002
+ title: z.ZodString;
4003
+ reason: z.ZodOptional<z.ZodString>;
4004
+ projectId: z.ZodOptional<z.ZodString>;
4005
+ kind: z.ZodLiteral<"fire-craftbook">;
4006
+ }, z.core.$strip>, z.ZodObject<{
4007
+ prompt: z.ZodString;
4008
+ role: z.ZodOptional<z.ZodString>;
4009
+ id: z.ZodOptional<z.ZodString>;
4010
+ title: z.ZodString;
4011
+ reason: z.ZodOptional<z.ZodString>;
4012
+ projectId: z.ZodOptional<z.ZodString>;
4013
+ kind: z.ZodLiteral<"create-task">;
4014
+ }, z.core.$strip>, z.ZodObject<{
4015
+ edits: z.ZodArray<z.ZodObject<{
4016
+ path: z.ZodString;
4017
+ diffArtifact: z.ZodString;
4018
+ }, z.core.$strip>>;
4019
+ id: z.ZodOptional<z.ZodString>;
4020
+ title: z.ZodString;
4021
+ reason: z.ZodOptional<z.ZodString>;
4022
+ projectId: z.ZodOptional<z.ZodString>;
4023
+ kind: z.ZodLiteral<"apply-edits">;
4024
+ }, z.core.$strip>], "kind">;
4025
+ type ReportAction = z.infer<typeof ReportActionSchema>;
4026
+ /** A parsed action with its identity resolved (author slug or content hash). */
4027
+ type ParsedReportAction = ReportAction & {
4028
+ id: string;
4029
+ /** FNV-1a hash of the trimmed fence body — detects regeneration drift. */
4030
+ contentHash: string;
4031
+ };
4032
+ declare const ReportActionStateSchema: z.ZodEnum<{
4033
+ failed: "failed";
4034
+ suggested: "suggested";
4035
+ applied: "applied";
4036
+ fired: "fired";
4037
+ dismissed: "dismissed";
4038
+ }>;
4039
+ type ReportActionState = z.infer<typeof ReportActionStateSchema>;
4040
+ /**
4041
+ * Durable per-project record for one action the user interacted with.
4042
+ * Virtual until first interaction: a regenerated report costs nothing.
4043
+ * Stored in `projects/{id}/report-actions.json` by the service's
4044
+ * ReportActionManager.
4045
+ */
4046
+ declare const ReportActionRecordSchema: z.ZodObject<{
4047
+ actionId: z.ZodString;
4048
+ reportPath: z.ZodString;
4049
+ kind: z.ZodEnum<{
4050
+ "fire-craftbook": "fire-craftbook";
4051
+ "create-task": "create-task";
4052
+ "apply-edits": "apply-edits";
4053
+ }>;
4054
+ contentHash: z.ZodString;
4055
+ firstSeenAt: z.ZodString;
4056
+ state: z.ZodEnum<{
4057
+ failed: "failed";
4058
+ suggested: "suggested";
4059
+ applied: "applied";
4060
+ fired: "fired";
4061
+ dismissed: "dismissed";
4062
+ }>;
4063
+ taskRef: z.ZodOptional<z.ZodString>;
4064
+ firedAt: z.ZodOptional<z.ZodString>;
4065
+ settledAt: z.ZodOptional<z.ZodString>;
4066
+ outcome: z.ZodOptional<z.ZodEnum<{
4067
+ complete: "complete";
4068
+ canceled: "canceled";
4069
+ }>>;
4070
+ results: z.ZodOptional<z.ZodArray<z.ZodObject<{
4071
+ path: z.ZodString;
4072
+ ok: z.ZodBoolean;
4073
+ error: z.ZodOptional<z.ZodString>;
4074
+ }, z.core.$strip>>>;
4075
+ }, z.core.$strip>;
4076
+ type ReportActionRecord = z.infer<typeof ReportActionRecordSchema>;
4077
+ declare const ReportActionParseIssueSchema: z.ZodObject<{
4078
+ index: z.ZodNumber;
4079
+ message: z.ZodString;
4080
+ raw: z.ZodString;
4081
+ }, z.core.$strip>;
4082
+ type ReportActionParseIssue = z.infer<typeof ReportActionParseIssueSchema>;
4083
+ declare const ReportActionViewSchema: z.ZodObject<{
4084
+ action: z.ZodDiscriminatedUnion<[z.ZodObject<{
4085
+ craftbookId: z.ZodString;
4086
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4087
+ id: z.ZodOptional<z.ZodString>;
4088
+ title: z.ZodString;
4089
+ reason: z.ZodOptional<z.ZodString>;
4090
+ projectId: z.ZodOptional<z.ZodString>;
4091
+ kind: z.ZodLiteral<"fire-craftbook">;
4092
+ }, z.core.$strip>, z.ZodObject<{
4093
+ prompt: z.ZodString;
4094
+ role: z.ZodOptional<z.ZodString>;
4095
+ id: z.ZodOptional<z.ZodString>;
4096
+ title: z.ZodString;
4097
+ reason: z.ZodOptional<z.ZodString>;
4098
+ projectId: z.ZodOptional<z.ZodString>;
4099
+ kind: z.ZodLiteral<"create-task">;
4100
+ }, z.core.$strip>, z.ZodObject<{
4101
+ edits: z.ZodArray<z.ZodObject<{
4102
+ path: z.ZodString;
4103
+ diffArtifact: z.ZodString;
4104
+ }, z.core.$strip>>;
4105
+ id: z.ZodOptional<z.ZodString>;
4106
+ title: z.ZodString;
4107
+ reason: z.ZodOptional<z.ZodString>;
4108
+ projectId: z.ZodOptional<z.ZodString>;
4109
+ kind: z.ZodLiteral<"apply-edits">;
4110
+ }, z.core.$strip>], "kind">;
4111
+ id: z.ZodString;
4112
+ contentHash: z.ZodString;
4113
+ state: z.ZodEnum<{
4114
+ failed: "failed";
4115
+ suggested: "suggested";
4116
+ applied: "applied";
4117
+ fired: "fired";
4118
+ dismissed: "dismissed";
4119
+ }>;
4120
+ taskRef: z.ZodOptional<z.ZodString>;
4121
+ firedAt: z.ZodOptional<z.ZodString>;
4122
+ settledAt: z.ZodOptional<z.ZodString>;
4123
+ outcome: z.ZodOptional<z.ZodEnum<{
4124
+ complete: "complete";
4125
+ canceled: "canceled";
4126
+ }>>;
4127
+ results: z.ZodOptional<z.ZodArray<z.ZodObject<{
4128
+ path: z.ZodString;
4129
+ ok: z.ZodBoolean;
4130
+ error: z.ZodOptional<z.ZodString>;
4131
+ }, z.core.$strip>>>;
4132
+ contentChanged: z.ZodOptional<z.ZodBoolean>;
4133
+ }, z.core.$strip>;
4134
+ type ReportActionView = z.infer<typeof ReportActionViewSchema>;
4135
+ declare const ReportActionsResponseSchema: z.ZodObject<{
4136
+ actions: z.ZodArray<z.ZodObject<{
4137
+ action: z.ZodDiscriminatedUnion<[z.ZodObject<{
4138
+ craftbookId: z.ZodString;
4139
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4140
+ id: z.ZodOptional<z.ZodString>;
4141
+ title: z.ZodString;
4142
+ reason: z.ZodOptional<z.ZodString>;
4143
+ projectId: z.ZodOptional<z.ZodString>;
4144
+ kind: z.ZodLiteral<"fire-craftbook">;
4145
+ }, z.core.$strip>, z.ZodObject<{
4146
+ prompt: z.ZodString;
4147
+ role: z.ZodOptional<z.ZodString>;
4148
+ id: z.ZodOptional<z.ZodString>;
4149
+ title: z.ZodString;
4150
+ reason: z.ZodOptional<z.ZodString>;
4151
+ projectId: z.ZodOptional<z.ZodString>;
4152
+ kind: z.ZodLiteral<"create-task">;
4153
+ }, z.core.$strip>, z.ZodObject<{
4154
+ edits: z.ZodArray<z.ZodObject<{
4155
+ path: z.ZodString;
4156
+ diffArtifact: z.ZodString;
4157
+ }, z.core.$strip>>;
4158
+ id: z.ZodOptional<z.ZodString>;
4159
+ title: z.ZodString;
4160
+ reason: z.ZodOptional<z.ZodString>;
4161
+ projectId: z.ZodOptional<z.ZodString>;
4162
+ kind: z.ZodLiteral<"apply-edits">;
4163
+ }, z.core.$strip>], "kind">;
4164
+ id: z.ZodString;
4165
+ contentHash: z.ZodString;
4166
+ state: z.ZodEnum<{
4167
+ failed: "failed";
4168
+ suggested: "suggested";
4169
+ applied: "applied";
4170
+ fired: "fired";
4171
+ dismissed: "dismissed";
4172
+ }>;
4173
+ taskRef: z.ZodOptional<z.ZodString>;
4174
+ firedAt: z.ZodOptional<z.ZodString>;
4175
+ settledAt: z.ZodOptional<z.ZodString>;
4176
+ outcome: z.ZodOptional<z.ZodEnum<{
4177
+ complete: "complete";
4178
+ canceled: "canceled";
4179
+ }>>;
4180
+ results: z.ZodOptional<z.ZodArray<z.ZodObject<{
4181
+ path: z.ZodString;
4182
+ ok: z.ZodBoolean;
4183
+ error: z.ZodOptional<z.ZodString>;
4184
+ }, z.core.$strip>>>;
4185
+ contentChanged: z.ZodOptional<z.ZodBoolean>;
4186
+ }, z.core.$strip>>;
4187
+ issues: z.ZodArray<z.ZodObject<{
4188
+ index: z.ZodNumber;
4189
+ message: z.ZodString;
4190
+ raw: z.ZodString;
4191
+ }, z.core.$strip>>;
4192
+ stale: z.ZodArray<z.ZodObject<{
4193
+ actionId: z.ZodString;
4194
+ reportPath: z.ZodString;
4195
+ kind: z.ZodEnum<{
4196
+ "fire-craftbook": "fire-craftbook";
4197
+ "create-task": "create-task";
4198
+ "apply-edits": "apply-edits";
4199
+ }>;
4200
+ contentHash: z.ZodString;
4201
+ firstSeenAt: z.ZodString;
4202
+ state: z.ZodEnum<{
4203
+ failed: "failed";
4204
+ suggested: "suggested";
4205
+ applied: "applied";
4206
+ fired: "fired";
4207
+ dismissed: "dismissed";
4208
+ }>;
4209
+ taskRef: z.ZodOptional<z.ZodString>;
4210
+ firedAt: z.ZodOptional<z.ZodString>;
4211
+ settledAt: z.ZodOptional<z.ZodString>;
4212
+ outcome: z.ZodOptional<z.ZodEnum<{
4213
+ complete: "complete";
4214
+ canceled: "canceled";
4215
+ }>>;
4216
+ results: z.ZodOptional<z.ZodArray<z.ZodObject<{
4217
+ path: z.ZodString;
4218
+ ok: z.ZodBoolean;
4219
+ error: z.ZodOptional<z.ZodString>;
4220
+ }, z.core.$strip>>>;
4221
+ }, z.core.$strip>>;
4222
+ }, z.core.$strip>;
4223
+ type ReportActionsResponse = z.infer<typeof ReportActionsResponseSchema>;
4224
+ declare const FireReportActionRequestSchema: z.ZodObject<{
4225
+ path: z.ZodString;
4226
+ actionId: z.ZodString;
4227
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4228
+ }, z.core.$strip>;
4229
+ type FireReportActionRequest = z.infer<typeof FireReportActionRequestSchema>;
4230
+ declare const FireReportActionResponseSchema: z.ZodObject<{
4231
+ record: z.ZodObject<{
4232
+ actionId: z.ZodString;
4233
+ reportPath: z.ZodString;
4234
+ kind: z.ZodEnum<{
4235
+ "fire-craftbook": "fire-craftbook";
4236
+ "create-task": "create-task";
4237
+ "apply-edits": "apply-edits";
4238
+ }>;
4239
+ contentHash: z.ZodString;
4240
+ firstSeenAt: z.ZodString;
4241
+ state: z.ZodEnum<{
4242
+ failed: "failed";
4243
+ suggested: "suggested";
4244
+ applied: "applied";
4245
+ fired: "fired";
4246
+ dismissed: "dismissed";
4247
+ }>;
4248
+ taskRef: z.ZodOptional<z.ZodString>;
4249
+ firedAt: z.ZodOptional<z.ZodString>;
4250
+ settledAt: z.ZodOptional<z.ZodString>;
4251
+ outcome: z.ZodOptional<z.ZodEnum<{
4252
+ complete: "complete";
4253
+ canceled: "canceled";
4254
+ }>>;
4255
+ results: z.ZodOptional<z.ZodArray<z.ZodObject<{
4256
+ path: z.ZodString;
4257
+ ok: z.ZodBoolean;
4258
+ error: z.ZodOptional<z.ZodString>;
4259
+ }, z.core.$strip>>>;
4260
+ }, z.core.$strip>;
4261
+ taskRef: z.ZodOptional<z.ZodString>;
4262
+ }, z.core.$strip>;
4263
+ type FireReportActionResponse = z.infer<typeof FireReportActionResponseSchema>;
4264
+ declare const DismissReportActionRequestSchema: z.ZodObject<{
4265
+ path: z.ZodString;
4266
+ actionId: z.ZodString;
4267
+ }, z.core.$strip>;
4268
+ type DismissReportActionRequest = z.infer<typeof DismissReportActionRequestSchema>;
4269
+
4270
+ export { ReportActionSchema as $, type ApplyEditsAction as A, type GezelFrontmatter as B, type CraftbookDocError as C, type DismissReportActionRequest as D, GezelFrontmatterSchema as E, type FireCraftbookAction as F, type GezelGender as G, GezelGenderSchema as H, type GezelSection as I, GezelSectionSchema as J, type GezelSummary as K, GezelSummarySchema as L, type GezelTrait as M, GezelTraitSchema as N, LOCAL_PROVIDER_NAMES as O, type ParsedGezel as P, ParsedGezelSchema as Q, type ParsedReportAction as R, type ProviderName as S, ProviderNameSchema as T, type ReportAction as U, type ReportActionKind as V, ReportActionKindSchema as W, type ReportActionParseIssue as X, ReportActionParseIssueSchema as Y, type ReportActionRecord as Z, ReportActionRecordSchema as _, type CraftbookDoc as a, type ReportActionState as a0, ReportActionStateSchema as a1, type ReportActionView as a2, ReportActionViewSchema as a3, type ReportActionsResponse as a4, ReportActionsResponseSchema as a5, type ToolCallAudio as a6, ToolCallAudioSchema as a7, type ToolCallImage as a8, ToolCallImageSchema as a9, type ToolCallVideo as aa, ToolCallVideoSchema as ab, craftbookDocFormatFromEnv as ac, editDistance as ad, formatCraftbookDocErrors as ae, isLocalProvider as af, nearestMatch as ag, sniffCraftbookDocFormat as ah, zodIssuesToDocErrors as ai, type CraftbookDocFormat as b, ApplyEditsActionSchema as c, type ChatEvent as d, type ChatEventEnvelope as e, ChatEventEnvelopeSchema as f, ChatEventSchema as g, type ChatMessage as h, ChatMessageSchema as i, type ChatMessageToolCall as j, ChatMessageToolCallSchema as k, type ChatTurnErrorDetail as l, ChatTurnErrorDetailSchema as m, CraftbookDocSchema as n, type CreateTaskAction as o, CreateTaskActionSchema as p, DismissReportActionRequestSchema as q, FireCraftbookActionSchema as r, type FireReportActionRequest as s, FireReportActionRequestSchema as t, type FireReportActionResponse as u, FireReportActionResponseSchema as v, type FixedFunctionConfig as w, FixedFunctionConfigSchema as x, type GezelDetail as y, GezelDetailSchema as z };