@agent-plan/core 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,2826 @@
1
+ import { z } from "zod";
2
+ export declare const TimestampSchema: z.ZodString;
3
+ export declare const SlugSchema: z.ZodString;
4
+ export declare const CodebaseFileSchema: z.ZodObject<{
5
+ path: z.ZodString;
6
+ kind: z.ZodDefault<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ path: string;
9
+ kind: string;
10
+ }, {
11
+ path: string;
12
+ kind?: string | undefined;
13
+ }>;
14
+ export declare const AmbientFactsSchema: z.ZodObject<{
15
+ nodeVersion: z.ZodDefault<z.ZodString>;
16
+ packageManager: z.ZodDefault<z.ZodString>;
17
+ lockfile: z.ZodDefault<z.ZodString>;
18
+ scripts: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ nodeVersion: string;
21
+ packageManager: string;
22
+ lockfile: string;
23
+ scripts: Record<string, string>;
24
+ }, {
25
+ nodeVersion?: string | undefined;
26
+ packageManager?: string | undefined;
27
+ lockfile?: string | undefined;
28
+ scripts?: Record<string, string> | undefined;
29
+ }>;
30
+ export declare const CodebaseProfileSchema: z.ZodObject<{
31
+ scannedAt: z.ZodString;
32
+ rootPath: z.ZodDefault<z.ZodString>;
33
+ rootFiles: z.ZodDefault<z.ZodArray<z.ZodObject<{
34
+ path: z.ZodString;
35
+ kind: z.ZodDefault<z.ZodString>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ path: string;
38
+ kind: string;
39
+ }, {
40
+ path: string;
41
+ kind?: string | undefined;
42
+ }>, "many">>;
43
+ directories: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
44
+ packageJson: z.ZodDefault<z.ZodNullable<z.ZodObject<{
45
+ name: z.ZodOptional<z.ZodString>;
46
+ packageManager: z.ZodOptional<z.ZodString>;
47
+ scripts: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
48
+ dependencies: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
49
+ devDependencies: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ scripts: Record<string, string>;
52
+ dependencies: Record<string, string>;
53
+ devDependencies: Record<string, string>;
54
+ packageManager?: string | undefined;
55
+ name?: string | undefined;
56
+ }, {
57
+ packageManager?: string | undefined;
58
+ scripts?: Record<string, string> | undefined;
59
+ name?: string | undefined;
60
+ dependencies?: Record<string, string> | undefined;
61
+ devDependencies?: Record<string, string> | undefined;
62
+ }>>>;
63
+ agentsMd: z.ZodDefault<z.ZodString>;
64
+ readme: z.ZodDefault<z.ZodString>;
65
+ tree: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
66
+ ambient: z.ZodDefault<z.ZodObject<{
67
+ nodeVersion: z.ZodDefault<z.ZodString>;
68
+ packageManager: z.ZodDefault<z.ZodString>;
69
+ lockfile: z.ZodDefault<z.ZodString>;
70
+ scripts: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
71
+ }, "strip", z.ZodTypeAny, {
72
+ nodeVersion: string;
73
+ packageManager: string;
74
+ lockfile: string;
75
+ scripts: Record<string, string>;
76
+ }, {
77
+ nodeVersion?: string | undefined;
78
+ packageManager?: string | undefined;
79
+ lockfile?: string | undefined;
80
+ scripts?: Record<string, string> | undefined;
81
+ }>>;
82
+ }, "strip", z.ZodTypeAny, {
83
+ scannedAt: string;
84
+ rootPath: string;
85
+ rootFiles: {
86
+ path: string;
87
+ kind: string;
88
+ }[];
89
+ directories: string[];
90
+ packageJson: {
91
+ scripts: Record<string, string>;
92
+ dependencies: Record<string, string>;
93
+ devDependencies: Record<string, string>;
94
+ packageManager?: string | undefined;
95
+ name?: string | undefined;
96
+ } | null;
97
+ agentsMd: string;
98
+ readme: string;
99
+ tree: string[];
100
+ ambient: {
101
+ nodeVersion: string;
102
+ packageManager: string;
103
+ lockfile: string;
104
+ scripts: Record<string, string>;
105
+ };
106
+ }, {
107
+ scannedAt: string;
108
+ rootPath?: string | undefined;
109
+ rootFiles?: {
110
+ path: string;
111
+ kind?: string | undefined;
112
+ }[] | undefined;
113
+ directories?: string[] | undefined;
114
+ packageJson?: {
115
+ packageManager?: string | undefined;
116
+ scripts?: Record<string, string> | undefined;
117
+ name?: string | undefined;
118
+ dependencies?: Record<string, string> | undefined;
119
+ devDependencies?: Record<string, string> | undefined;
120
+ } | null | undefined;
121
+ agentsMd?: string | undefined;
122
+ readme?: string | undefined;
123
+ tree?: string[] | undefined;
124
+ ambient?: {
125
+ nodeVersion?: string | undefined;
126
+ packageManager?: string | undefined;
127
+ lockfile?: string | undefined;
128
+ scripts?: Record<string, string> | undefined;
129
+ } | undefined;
130
+ }>;
131
+ export declare const ResumeFocusSchema: z.ZodObject<{
132
+ updatedAt: z.ZodString;
133
+ currentPhaseId: z.ZodDefault<z.ZodString>;
134
+ inProgressTaskIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
135
+ nextSteps: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
136
+ blockers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
137
+ notes: z.ZodDefault<z.ZodString>;
138
+ lastSessionSummary: z.ZodDefault<z.ZodString>;
139
+ guardBypassUntil: z.ZodDefault<z.ZodString>;
140
+ }, "strip", z.ZodTypeAny, {
141
+ updatedAt: string;
142
+ currentPhaseId: string;
143
+ inProgressTaskIds: string[];
144
+ nextSteps: string[];
145
+ blockers: string[];
146
+ notes: string;
147
+ lastSessionSummary: string;
148
+ guardBypassUntil: string;
149
+ }, {
150
+ updatedAt: string;
151
+ currentPhaseId?: string | undefined;
152
+ inProgressTaskIds?: string[] | undefined;
153
+ nextSteps?: string[] | undefined;
154
+ blockers?: string[] | undefined;
155
+ notes?: string | undefined;
156
+ lastSessionSummary?: string | undefined;
157
+ guardBypassUntil?: string | undefined;
158
+ }>;
159
+ export declare const ActivityEntrySchema: z.ZodObject<{
160
+ id: z.ZodString;
161
+ at: z.ZodString;
162
+ type: z.ZodString;
163
+ ref: z.ZodDefault<z.ZodString>;
164
+ summary: z.ZodDefault<z.ZodString>;
165
+ }, "strip", z.ZodTypeAny, {
166
+ type: string;
167
+ at: string;
168
+ id: string;
169
+ ref: string;
170
+ summary: string;
171
+ }, {
172
+ type: string;
173
+ at: string;
174
+ id: string;
175
+ ref?: string | undefined;
176
+ summary?: string | undefined;
177
+ }>;
178
+ export declare const ActivityLogSchema: z.ZodObject<{
179
+ entries: z.ZodDefault<z.ZodArray<z.ZodObject<{
180
+ id: z.ZodString;
181
+ at: z.ZodString;
182
+ type: z.ZodString;
183
+ ref: z.ZodDefault<z.ZodString>;
184
+ summary: z.ZodDefault<z.ZodString>;
185
+ }, "strip", z.ZodTypeAny, {
186
+ type: string;
187
+ at: string;
188
+ id: string;
189
+ ref: string;
190
+ summary: string;
191
+ }, {
192
+ type: string;
193
+ at: string;
194
+ id: string;
195
+ ref?: string | undefined;
196
+ summary?: string | undefined;
197
+ }>, "many">>;
198
+ }, "strip", z.ZodTypeAny, {
199
+ entries: {
200
+ type: string;
201
+ at: string;
202
+ id: string;
203
+ ref: string;
204
+ summary: string;
205
+ }[];
206
+ }, {
207
+ entries?: {
208
+ type: string;
209
+ at: string;
210
+ id: string;
211
+ ref?: string | undefined;
212
+ summary?: string | undefined;
213
+ }[] | undefined;
214
+ }>;
215
+ export declare const ManifestSchema: z.ZodObject<{
216
+ schemaVersion: z.ZodLiteral<1>;
217
+ projectId: z.ZodString;
218
+ projectName: z.ZodString;
219
+ createdAt: z.ZodString;
220
+ updatedAt: z.ZodString;
221
+ }, "strip", z.ZodTypeAny, {
222
+ updatedAt: string;
223
+ schemaVersion: 1;
224
+ projectId: string;
225
+ projectName: string;
226
+ createdAt: string;
227
+ }, {
228
+ updatedAt: string;
229
+ schemaVersion: 1;
230
+ projectId: string;
231
+ projectName: string;
232
+ createdAt: string;
233
+ }>;
234
+ export declare const WorkflowRulesSchema: z.ZodObject<{
235
+ beforePhaseStart: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
236
+ beforeTaskStart: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
237
+ afterPhaseComplete: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
238
+ }, "strip", z.ZodTypeAny, {
239
+ beforePhaseStart: string[];
240
+ beforeTaskStart: string[];
241
+ afterPhaseComplete: string[];
242
+ }, {
243
+ beforePhaseStart?: string[] | undefined;
244
+ beforeTaskStart?: string[] | undefined;
245
+ afterPhaseComplete?: string[] | undefined;
246
+ }>;
247
+ export declare const AcceptedDecisionSchema: z.ZodObject<{
248
+ id: z.ZodString;
249
+ title: z.ZodString;
250
+ decision: z.ZodDefault<z.ZodString>;
251
+ rationale: z.ZodDefault<z.ZodString>;
252
+ implementationNotes: z.ZodDefault<z.ZodString>;
253
+ acceptedAt: z.ZodString;
254
+ }, "strip", z.ZodTypeAny, {
255
+ id: string;
256
+ title: string;
257
+ decision: string;
258
+ rationale: string;
259
+ implementationNotes: string;
260
+ acceptedAt: string;
261
+ }, {
262
+ id: string;
263
+ title: string;
264
+ acceptedAt: string;
265
+ decision?: string | undefined;
266
+ rationale?: string | undefined;
267
+ implementationNotes?: string | undefined;
268
+ }>;
269
+ export declare const ProjectSchema: z.ZodObject<{
270
+ name: z.ZodString;
271
+ goal: z.ZodDefault<z.ZodString>;
272
+ description: z.ZodDefault<z.ZodString>;
273
+ webPort: z.ZodDefault<z.ZodNumber>;
274
+ scope: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
275
+ outOfScope: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
276
+ decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
277
+ globalRules: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
278
+ technologies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
279
+ tools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
280
+ contentLanguage: z.ZodDefault<z.ZodString>;
281
+ chatLanguage: z.ZodDefault<z.ZodString>;
282
+ plannerAutoEnable: z.ZodDefault<z.ZodBoolean>;
283
+ plannerNeverAsk: z.ZodDefault<z.ZodBoolean>;
284
+ plannerAutoStartWeb: z.ZodDefault<z.ZodBoolean>;
285
+ plannerNeverStartWeb: z.ZodDefault<z.ZodBoolean>;
286
+ workflowRules: z.ZodObject<{
287
+ beforePhaseStart: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
288
+ beforeTaskStart: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
289
+ afterPhaseComplete: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
290
+ }, "strip", z.ZodTypeAny, {
291
+ beforePhaseStart: string[];
292
+ beforeTaskStart: string[];
293
+ afterPhaseComplete: string[];
294
+ }, {
295
+ beforePhaseStart?: string[] | undefined;
296
+ beforeTaskStart?: string[] | undefined;
297
+ afterPhaseComplete?: string[] | undefined;
298
+ }>;
299
+ acceptedDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
300
+ id: z.ZodString;
301
+ title: z.ZodString;
302
+ decision: z.ZodDefault<z.ZodString>;
303
+ rationale: z.ZodDefault<z.ZodString>;
304
+ implementationNotes: z.ZodDefault<z.ZodString>;
305
+ acceptedAt: z.ZodString;
306
+ }, "strip", z.ZodTypeAny, {
307
+ id: string;
308
+ title: string;
309
+ decision: string;
310
+ rationale: string;
311
+ implementationNotes: string;
312
+ acceptedAt: string;
313
+ }, {
314
+ id: string;
315
+ title: string;
316
+ acceptedAt: string;
317
+ decision?: string | undefined;
318
+ rationale?: string | undefined;
319
+ implementationNotes?: string | undefined;
320
+ }>, "many">>;
321
+ }, "strip", z.ZodTypeAny, {
322
+ name: string;
323
+ goal: string;
324
+ description: string;
325
+ webPort: number;
326
+ scope: string[];
327
+ outOfScope: string[];
328
+ decisions: string[];
329
+ globalRules: string[];
330
+ technologies: string[];
331
+ tools: string[];
332
+ contentLanguage: string;
333
+ chatLanguage: string;
334
+ plannerAutoEnable: boolean;
335
+ plannerNeverAsk: boolean;
336
+ plannerAutoStartWeb: boolean;
337
+ plannerNeverStartWeb: boolean;
338
+ workflowRules: {
339
+ beforePhaseStart: string[];
340
+ beforeTaskStart: string[];
341
+ afterPhaseComplete: string[];
342
+ };
343
+ acceptedDecisions: {
344
+ id: string;
345
+ title: string;
346
+ decision: string;
347
+ rationale: string;
348
+ implementationNotes: string;
349
+ acceptedAt: string;
350
+ }[];
351
+ }, {
352
+ name: string;
353
+ workflowRules: {
354
+ beforePhaseStart?: string[] | undefined;
355
+ beforeTaskStart?: string[] | undefined;
356
+ afterPhaseComplete?: string[] | undefined;
357
+ };
358
+ goal?: string | undefined;
359
+ description?: string | undefined;
360
+ webPort?: number | undefined;
361
+ scope?: string[] | undefined;
362
+ outOfScope?: string[] | undefined;
363
+ decisions?: string[] | undefined;
364
+ globalRules?: string[] | undefined;
365
+ technologies?: string[] | undefined;
366
+ tools?: string[] | undefined;
367
+ contentLanguage?: string | undefined;
368
+ chatLanguage?: string | undefined;
369
+ plannerAutoEnable?: boolean | undefined;
370
+ plannerNeverAsk?: boolean | undefined;
371
+ plannerAutoStartWeb?: boolean | undefined;
372
+ plannerNeverStartWeb?: boolean | undefined;
373
+ acceptedDecisions?: {
374
+ id: string;
375
+ title: string;
376
+ acceptedAt: string;
377
+ decision?: string | undefined;
378
+ rationale?: string | undefined;
379
+ implementationNotes?: string | undefined;
380
+ }[] | undefined;
381
+ }>;
382
+ export declare const SubtaskStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
383
+ export declare const TaskStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
384
+ export declare const PhaseStatusSchema: z.ZodEnum<["draft", "discovery", "planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
385
+ export declare const RequirementStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
386
+ export declare const FeatureStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
387
+ export declare const SubtaskSchema: z.ZodObject<{
388
+ id: z.ZodString;
389
+ title: z.ZodString;
390
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
391
+ description: z.ZodDefault<z.ZodString>;
392
+ createdAt: z.ZodString;
393
+ updatedAt: z.ZodString;
394
+ }, "strip", z.ZodTypeAny, {
395
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
396
+ updatedAt: string;
397
+ id: string;
398
+ createdAt: string;
399
+ title: string;
400
+ description: string;
401
+ }, {
402
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
403
+ updatedAt: string;
404
+ id: string;
405
+ createdAt: string;
406
+ title: string;
407
+ description?: string | undefined;
408
+ }>;
409
+ export declare const ChecklistItemSchema: z.ZodObject<{
410
+ id: z.ZodString;
411
+ title: z.ZodString;
412
+ checked: z.ZodDefault<z.ZodBoolean>;
413
+ }, "strip", z.ZodTypeAny, {
414
+ id: string;
415
+ title: string;
416
+ checked: boolean;
417
+ }, {
418
+ id: string;
419
+ title: string;
420
+ checked?: boolean | undefined;
421
+ }>;
422
+ /** Status transitions that require a motivation note from the agent. */
423
+ export declare const STATUS_LOG_MOTIVATION_REQUIRED: Set<string>;
424
+ /**
425
+ * Returns true when a status transition requires a written motivation.
426
+ * - → DONE never requires motivation.
427
+ * - → BLOCKED / CANCELED / DEFERRED / REJECTED / WAITING always require it.
428
+ * - → PLANNED from a non-PLANNED status requires it.
429
+ */
430
+ export declare function needsMotivation(fromStatus: string, toStatus: string): boolean;
431
+ export declare const StatusLogEntrySchema: z.ZodObject<{
432
+ id: z.ZodString;
433
+ date: z.ZodString;
434
+ fromStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
435
+ toStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
436
+ title: z.ZodString;
437
+ description: z.ZodDefault<z.ZodString>;
438
+ }, "strip", z.ZodTypeAny, {
439
+ id: string;
440
+ date: string;
441
+ title: string;
442
+ description: string;
443
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
444
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
445
+ }, {
446
+ id: string;
447
+ date: string;
448
+ title: string;
449
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
450
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
451
+ description?: string | undefined;
452
+ }>;
453
+ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
454
+ id: z.ZodString;
455
+ phaseId: z.ZodString;
456
+ number: z.ZodDefault<z.ZodNumber>;
457
+ shortName: z.ZodString;
458
+ title: z.ZodString;
459
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
460
+ description: z.ZodDefault<z.ZodString>;
461
+ notes: z.ZodDefault<z.ZodString>;
462
+ statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
463
+ id: z.ZodString;
464
+ date: z.ZodString;
465
+ fromStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
466
+ toStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
467
+ title: z.ZodString;
468
+ description: z.ZodDefault<z.ZodString>;
469
+ }, "strip", z.ZodTypeAny, {
470
+ id: string;
471
+ date: string;
472
+ title: string;
473
+ description: string;
474
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
475
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
476
+ }, {
477
+ id: string;
478
+ date: string;
479
+ title: string;
480
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
481
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
482
+ description?: string | undefined;
483
+ }>, "many">>;
484
+ decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
485
+ acceptedDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
486
+ id: z.ZodString;
487
+ title: z.ZodString;
488
+ decision: z.ZodDefault<z.ZodString>;
489
+ rationale: z.ZodDefault<z.ZodString>;
490
+ implementationNotes: z.ZodDefault<z.ZodString>;
491
+ acceptedAt: z.ZodString;
492
+ }, "strip", z.ZodTypeAny, {
493
+ id: string;
494
+ title: string;
495
+ decision: string;
496
+ rationale: string;
497
+ implementationNotes: string;
498
+ acceptedAt: string;
499
+ }, {
500
+ id: string;
501
+ title: string;
502
+ acceptedAt: string;
503
+ decision?: string | undefined;
504
+ rationale?: string | undefined;
505
+ implementationNotes?: string | undefined;
506
+ }>, "many">>;
507
+ checklist: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
508
+ id: z.ZodString;
509
+ title: z.ZodString;
510
+ checked: z.ZodDefault<z.ZodBoolean>;
511
+ }, "strip", z.ZodTypeAny, {
512
+ id: string;
513
+ title: string;
514
+ checked: boolean;
515
+ }, {
516
+ id: string;
517
+ title: string;
518
+ checked?: boolean | undefined;
519
+ }>]>, "many">>;
520
+ subtasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
521
+ id: z.ZodString;
522
+ title: z.ZodString;
523
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
524
+ description: z.ZodDefault<z.ZodString>;
525
+ createdAt: z.ZodString;
526
+ updatedAt: z.ZodString;
527
+ }, "strip", z.ZodTypeAny, {
528
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
529
+ updatedAt: string;
530
+ id: string;
531
+ createdAt: string;
532
+ title: string;
533
+ description: string;
534
+ }, {
535
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
536
+ updatedAt: string;
537
+ id: string;
538
+ createdAt: string;
539
+ title: string;
540
+ description?: string | undefined;
541
+ }>, "many">>;
542
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
543
+ startedAt: z.ZodDefault<z.ZodString>;
544
+ completedAt: z.ZodDefault<z.ZodString>;
545
+ createdAt: z.ZodString;
546
+ updatedAt: z.ZodString;
547
+ }, "strip", z.ZodTypeAny, {
548
+ number: number;
549
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
550
+ updatedAt: string;
551
+ notes: string;
552
+ id: string;
553
+ createdAt: string;
554
+ title: string;
555
+ description: string;
556
+ decisions: string[];
557
+ acceptedDecisions: {
558
+ id: string;
559
+ title: string;
560
+ decision: string;
561
+ rationale: string;
562
+ implementationNotes: string;
563
+ acceptedAt: string;
564
+ }[];
565
+ phaseId: string;
566
+ shortName: string;
567
+ statusLog: {
568
+ id: string;
569
+ date: string;
570
+ title: string;
571
+ description: string;
572
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
573
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
574
+ }[];
575
+ checklist: (string | {
576
+ id: string;
577
+ title: string;
578
+ checked: boolean;
579
+ })[];
580
+ subtasks: {
581
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
582
+ updatedAt: string;
583
+ id: string;
584
+ createdAt: string;
585
+ title: string;
586
+ description: string;
587
+ }[];
588
+ dependsOn: string[];
589
+ startedAt: string;
590
+ completedAt: string;
591
+ }, {
592
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
593
+ updatedAt: string;
594
+ id: string;
595
+ createdAt: string;
596
+ title: string;
597
+ phaseId: string;
598
+ shortName: string;
599
+ number?: number | undefined;
600
+ notes?: string | undefined;
601
+ description?: string | undefined;
602
+ decisions?: string[] | undefined;
603
+ acceptedDecisions?: {
604
+ id: string;
605
+ title: string;
606
+ acceptedAt: string;
607
+ decision?: string | undefined;
608
+ rationale?: string | undefined;
609
+ implementationNotes?: string | undefined;
610
+ }[] | undefined;
611
+ statusLog?: {
612
+ id: string;
613
+ date: string;
614
+ title: string;
615
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
616
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
617
+ description?: string | undefined;
618
+ }[] | undefined;
619
+ checklist?: (string | {
620
+ id: string;
621
+ title: string;
622
+ checked?: boolean | undefined;
623
+ })[] | undefined;
624
+ subtasks?: {
625
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
626
+ updatedAt: string;
627
+ id: string;
628
+ createdAt: string;
629
+ title: string;
630
+ description?: string | undefined;
631
+ }[] | undefined;
632
+ dependsOn?: string[] | undefined;
633
+ startedAt?: string | undefined;
634
+ completedAt?: string | undefined;
635
+ }>, {
636
+ checklist: {
637
+ id: string;
638
+ title: string;
639
+ checked: boolean;
640
+ }[];
641
+ number: number;
642
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
643
+ updatedAt: string;
644
+ notes: string;
645
+ id: string;
646
+ createdAt: string;
647
+ title: string;
648
+ description: string;
649
+ decisions: string[];
650
+ acceptedDecisions: {
651
+ id: string;
652
+ title: string;
653
+ decision: string;
654
+ rationale: string;
655
+ implementationNotes: string;
656
+ acceptedAt: string;
657
+ }[];
658
+ phaseId: string;
659
+ shortName: string;
660
+ statusLog: {
661
+ id: string;
662
+ date: string;
663
+ title: string;
664
+ description: string;
665
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
666
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
667
+ }[];
668
+ subtasks: {
669
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
670
+ updatedAt: string;
671
+ id: string;
672
+ createdAt: string;
673
+ title: string;
674
+ description: string;
675
+ }[];
676
+ dependsOn: string[];
677
+ startedAt: string;
678
+ completedAt: string;
679
+ }, {
680
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
681
+ updatedAt: string;
682
+ id: string;
683
+ createdAt: string;
684
+ title: string;
685
+ phaseId: string;
686
+ shortName: string;
687
+ number?: number | undefined;
688
+ notes?: string | undefined;
689
+ description?: string | undefined;
690
+ decisions?: string[] | undefined;
691
+ acceptedDecisions?: {
692
+ id: string;
693
+ title: string;
694
+ acceptedAt: string;
695
+ decision?: string | undefined;
696
+ rationale?: string | undefined;
697
+ implementationNotes?: string | undefined;
698
+ }[] | undefined;
699
+ statusLog?: {
700
+ id: string;
701
+ date: string;
702
+ title: string;
703
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
704
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
705
+ description?: string | undefined;
706
+ }[] | undefined;
707
+ checklist?: (string | {
708
+ id: string;
709
+ title: string;
710
+ checked?: boolean | undefined;
711
+ })[] | undefined;
712
+ subtasks?: {
713
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
714
+ updatedAt: string;
715
+ id: string;
716
+ createdAt: string;
717
+ title: string;
718
+ description?: string | undefined;
719
+ }[] | undefined;
720
+ dependsOn?: string[] | undefined;
721
+ startedAt?: string | undefined;
722
+ completedAt?: string | undefined;
723
+ }>;
724
+ export declare const PhaseSchema: z.ZodObject<{
725
+ id: z.ZodString;
726
+ featureId: z.ZodOptional<z.ZodString>;
727
+ number: z.ZodNumber;
728
+ slug: z.ZodString;
729
+ title: z.ZodString;
730
+ status: z.ZodEnum<["draft", "discovery", "planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
731
+ discussedAt: z.ZodDefault<z.ZodString>;
732
+ contextReady: z.ZodDefault<z.ZodBoolean>;
733
+ contextReadyReason: z.ZodDefault<z.ZodString>;
734
+ summary: z.ZodDefault<z.ZodString>;
735
+ description: z.ZodDefault<z.ZodString>;
736
+ notes: z.ZodDefault<z.ZodString>;
737
+ goals: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
738
+ nonGoals: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
739
+ dependencies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
740
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
741
+ risks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
742
+ openQuestions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
743
+ decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
744
+ acceptedDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
745
+ id: z.ZodString;
746
+ title: z.ZodString;
747
+ decision: z.ZodDefault<z.ZodString>;
748
+ rationale: z.ZodDefault<z.ZodString>;
749
+ implementationNotes: z.ZodDefault<z.ZodString>;
750
+ acceptedAt: z.ZodString;
751
+ }, "strip", z.ZodTypeAny, {
752
+ id: string;
753
+ title: string;
754
+ decision: string;
755
+ rationale: string;
756
+ implementationNotes: string;
757
+ acceptedAt: string;
758
+ }, {
759
+ id: string;
760
+ title: string;
761
+ acceptedAt: string;
762
+ decision?: string | undefined;
763
+ rationale?: string | undefined;
764
+ implementationNotes?: string | undefined;
765
+ }>, "many">>;
766
+ completionCriteria: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
767
+ taskIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
768
+ tasks: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
769
+ id: z.ZodString;
770
+ phaseId: z.ZodString;
771
+ number: z.ZodDefault<z.ZodNumber>;
772
+ shortName: z.ZodString;
773
+ title: z.ZodString;
774
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
775
+ description: z.ZodDefault<z.ZodString>;
776
+ notes: z.ZodDefault<z.ZodString>;
777
+ statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
778
+ id: z.ZodString;
779
+ date: z.ZodString;
780
+ fromStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
781
+ toStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
782
+ title: z.ZodString;
783
+ description: z.ZodDefault<z.ZodString>;
784
+ }, "strip", z.ZodTypeAny, {
785
+ id: string;
786
+ date: string;
787
+ title: string;
788
+ description: string;
789
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
790
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
791
+ }, {
792
+ id: string;
793
+ date: string;
794
+ title: string;
795
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
796
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
797
+ description?: string | undefined;
798
+ }>, "many">>;
799
+ decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
800
+ acceptedDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
801
+ id: z.ZodString;
802
+ title: z.ZodString;
803
+ decision: z.ZodDefault<z.ZodString>;
804
+ rationale: z.ZodDefault<z.ZodString>;
805
+ implementationNotes: z.ZodDefault<z.ZodString>;
806
+ acceptedAt: z.ZodString;
807
+ }, "strip", z.ZodTypeAny, {
808
+ id: string;
809
+ title: string;
810
+ decision: string;
811
+ rationale: string;
812
+ implementationNotes: string;
813
+ acceptedAt: string;
814
+ }, {
815
+ id: string;
816
+ title: string;
817
+ acceptedAt: string;
818
+ decision?: string | undefined;
819
+ rationale?: string | undefined;
820
+ implementationNotes?: string | undefined;
821
+ }>, "many">>;
822
+ checklist: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
823
+ id: z.ZodString;
824
+ title: z.ZodString;
825
+ checked: z.ZodDefault<z.ZodBoolean>;
826
+ }, "strip", z.ZodTypeAny, {
827
+ id: string;
828
+ title: string;
829
+ checked: boolean;
830
+ }, {
831
+ id: string;
832
+ title: string;
833
+ checked?: boolean | undefined;
834
+ }>]>, "many">>;
835
+ subtasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
836
+ id: z.ZodString;
837
+ title: z.ZodString;
838
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
839
+ description: z.ZodDefault<z.ZodString>;
840
+ createdAt: z.ZodString;
841
+ updatedAt: z.ZodString;
842
+ }, "strip", z.ZodTypeAny, {
843
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
844
+ updatedAt: string;
845
+ id: string;
846
+ createdAt: string;
847
+ title: string;
848
+ description: string;
849
+ }, {
850
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
851
+ updatedAt: string;
852
+ id: string;
853
+ createdAt: string;
854
+ title: string;
855
+ description?: string | undefined;
856
+ }>, "many">>;
857
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
858
+ startedAt: z.ZodDefault<z.ZodString>;
859
+ completedAt: z.ZodDefault<z.ZodString>;
860
+ createdAt: z.ZodString;
861
+ updatedAt: z.ZodString;
862
+ }, "strip", z.ZodTypeAny, {
863
+ number: number;
864
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
865
+ updatedAt: string;
866
+ notes: string;
867
+ id: string;
868
+ createdAt: string;
869
+ title: string;
870
+ description: string;
871
+ decisions: string[];
872
+ acceptedDecisions: {
873
+ id: string;
874
+ title: string;
875
+ decision: string;
876
+ rationale: string;
877
+ implementationNotes: string;
878
+ acceptedAt: string;
879
+ }[];
880
+ phaseId: string;
881
+ shortName: string;
882
+ statusLog: {
883
+ id: string;
884
+ date: string;
885
+ title: string;
886
+ description: string;
887
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
888
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
889
+ }[];
890
+ checklist: (string | {
891
+ id: string;
892
+ title: string;
893
+ checked: boolean;
894
+ })[];
895
+ subtasks: {
896
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
897
+ updatedAt: string;
898
+ id: string;
899
+ createdAt: string;
900
+ title: string;
901
+ description: string;
902
+ }[];
903
+ dependsOn: string[];
904
+ startedAt: string;
905
+ completedAt: string;
906
+ }, {
907
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
908
+ updatedAt: string;
909
+ id: string;
910
+ createdAt: string;
911
+ title: string;
912
+ phaseId: string;
913
+ shortName: string;
914
+ number?: number | undefined;
915
+ notes?: string | undefined;
916
+ description?: string | undefined;
917
+ decisions?: string[] | undefined;
918
+ acceptedDecisions?: {
919
+ id: string;
920
+ title: string;
921
+ acceptedAt: string;
922
+ decision?: string | undefined;
923
+ rationale?: string | undefined;
924
+ implementationNotes?: string | undefined;
925
+ }[] | undefined;
926
+ statusLog?: {
927
+ id: string;
928
+ date: string;
929
+ title: string;
930
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
931
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
932
+ description?: string | undefined;
933
+ }[] | undefined;
934
+ checklist?: (string | {
935
+ id: string;
936
+ title: string;
937
+ checked?: boolean | undefined;
938
+ })[] | undefined;
939
+ subtasks?: {
940
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
941
+ updatedAt: string;
942
+ id: string;
943
+ createdAt: string;
944
+ title: string;
945
+ description?: string | undefined;
946
+ }[] | undefined;
947
+ dependsOn?: string[] | undefined;
948
+ startedAt?: string | undefined;
949
+ completedAt?: string | undefined;
950
+ }>, {
951
+ checklist: {
952
+ id: string;
953
+ title: string;
954
+ checked: boolean;
955
+ }[];
956
+ number: number;
957
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
958
+ updatedAt: string;
959
+ notes: string;
960
+ id: string;
961
+ createdAt: string;
962
+ title: string;
963
+ description: string;
964
+ decisions: string[];
965
+ acceptedDecisions: {
966
+ id: string;
967
+ title: string;
968
+ decision: string;
969
+ rationale: string;
970
+ implementationNotes: string;
971
+ acceptedAt: string;
972
+ }[];
973
+ phaseId: string;
974
+ shortName: string;
975
+ statusLog: {
976
+ id: string;
977
+ date: string;
978
+ title: string;
979
+ description: string;
980
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
981
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
982
+ }[];
983
+ subtasks: {
984
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
985
+ updatedAt: string;
986
+ id: string;
987
+ createdAt: string;
988
+ title: string;
989
+ description: string;
990
+ }[];
991
+ dependsOn: string[];
992
+ startedAt: string;
993
+ completedAt: string;
994
+ }, {
995
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
996
+ updatedAt: string;
997
+ id: string;
998
+ createdAt: string;
999
+ title: string;
1000
+ phaseId: string;
1001
+ shortName: string;
1002
+ number?: number | undefined;
1003
+ notes?: string | undefined;
1004
+ description?: string | undefined;
1005
+ decisions?: string[] | undefined;
1006
+ acceptedDecisions?: {
1007
+ id: string;
1008
+ title: string;
1009
+ acceptedAt: string;
1010
+ decision?: string | undefined;
1011
+ rationale?: string | undefined;
1012
+ implementationNotes?: string | undefined;
1013
+ }[] | undefined;
1014
+ statusLog?: {
1015
+ id: string;
1016
+ date: string;
1017
+ title: string;
1018
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1019
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1020
+ description?: string | undefined;
1021
+ }[] | undefined;
1022
+ checklist?: (string | {
1023
+ id: string;
1024
+ title: string;
1025
+ checked?: boolean | undefined;
1026
+ })[] | undefined;
1027
+ subtasks?: {
1028
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1029
+ updatedAt: string;
1030
+ id: string;
1031
+ createdAt: string;
1032
+ title: string;
1033
+ description?: string | undefined;
1034
+ }[] | undefined;
1035
+ dependsOn?: string[] | undefined;
1036
+ startedAt?: string | undefined;
1037
+ completedAt?: string | undefined;
1038
+ }>, "many">>;
1039
+ createdAt: z.ZodString;
1040
+ updatedAt: z.ZodString;
1041
+ }, "strip", z.ZodTypeAny, {
1042
+ number: number;
1043
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
1044
+ dependencies: string[];
1045
+ updatedAt: string;
1046
+ notes: string;
1047
+ id: string;
1048
+ summary: string;
1049
+ createdAt: string;
1050
+ title: string;
1051
+ description: string;
1052
+ decisions: string[];
1053
+ acceptedDecisions: {
1054
+ id: string;
1055
+ title: string;
1056
+ decision: string;
1057
+ rationale: string;
1058
+ implementationNotes: string;
1059
+ acceptedAt: string;
1060
+ }[];
1061
+ dependsOn: string[];
1062
+ slug: string;
1063
+ discussedAt: string;
1064
+ contextReady: boolean;
1065
+ contextReadyReason: string;
1066
+ goals: string[];
1067
+ nonGoals: string[];
1068
+ risks: string[];
1069
+ openQuestions: string[];
1070
+ completionCriteria: string[];
1071
+ taskIds: string[];
1072
+ tasks: {
1073
+ checklist: {
1074
+ id: string;
1075
+ title: string;
1076
+ checked: boolean;
1077
+ }[];
1078
+ number: number;
1079
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1080
+ updatedAt: string;
1081
+ notes: string;
1082
+ id: string;
1083
+ createdAt: string;
1084
+ title: string;
1085
+ description: string;
1086
+ decisions: string[];
1087
+ acceptedDecisions: {
1088
+ id: string;
1089
+ title: string;
1090
+ decision: string;
1091
+ rationale: string;
1092
+ implementationNotes: string;
1093
+ acceptedAt: string;
1094
+ }[];
1095
+ phaseId: string;
1096
+ shortName: string;
1097
+ statusLog: {
1098
+ id: string;
1099
+ date: string;
1100
+ title: string;
1101
+ description: string;
1102
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1103
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1104
+ }[];
1105
+ subtasks: {
1106
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1107
+ updatedAt: string;
1108
+ id: string;
1109
+ createdAt: string;
1110
+ title: string;
1111
+ description: string;
1112
+ }[];
1113
+ dependsOn: string[];
1114
+ startedAt: string;
1115
+ completedAt: string;
1116
+ }[];
1117
+ featureId?: string | undefined;
1118
+ }, {
1119
+ number: number;
1120
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
1121
+ updatedAt: string;
1122
+ id: string;
1123
+ createdAt: string;
1124
+ title: string;
1125
+ slug: string;
1126
+ dependencies?: string[] | undefined;
1127
+ notes?: string | undefined;
1128
+ summary?: string | undefined;
1129
+ description?: string | undefined;
1130
+ decisions?: string[] | undefined;
1131
+ acceptedDecisions?: {
1132
+ id: string;
1133
+ title: string;
1134
+ acceptedAt: string;
1135
+ decision?: string | undefined;
1136
+ rationale?: string | undefined;
1137
+ implementationNotes?: string | undefined;
1138
+ }[] | undefined;
1139
+ dependsOn?: string[] | undefined;
1140
+ featureId?: string | undefined;
1141
+ discussedAt?: string | undefined;
1142
+ contextReady?: boolean | undefined;
1143
+ contextReadyReason?: string | undefined;
1144
+ goals?: string[] | undefined;
1145
+ nonGoals?: string[] | undefined;
1146
+ risks?: string[] | undefined;
1147
+ openQuestions?: string[] | undefined;
1148
+ completionCriteria?: string[] | undefined;
1149
+ taskIds?: string[] | undefined;
1150
+ tasks?: {
1151
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1152
+ updatedAt: string;
1153
+ id: string;
1154
+ createdAt: string;
1155
+ title: string;
1156
+ phaseId: string;
1157
+ shortName: string;
1158
+ number?: number | undefined;
1159
+ notes?: string | undefined;
1160
+ description?: string | undefined;
1161
+ decisions?: string[] | undefined;
1162
+ acceptedDecisions?: {
1163
+ id: string;
1164
+ title: string;
1165
+ acceptedAt: string;
1166
+ decision?: string | undefined;
1167
+ rationale?: string | undefined;
1168
+ implementationNotes?: string | undefined;
1169
+ }[] | undefined;
1170
+ statusLog?: {
1171
+ id: string;
1172
+ date: string;
1173
+ title: string;
1174
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1175
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1176
+ description?: string | undefined;
1177
+ }[] | undefined;
1178
+ checklist?: (string | {
1179
+ id: string;
1180
+ title: string;
1181
+ checked?: boolean | undefined;
1182
+ })[] | undefined;
1183
+ subtasks?: {
1184
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1185
+ updatedAt: string;
1186
+ id: string;
1187
+ createdAt: string;
1188
+ title: string;
1189
+ description?: string | undefined;
1190
+ }[] | undefined;
1191
+ dependsOn?: string[] | undefined;
1192
+ startedAt?: string | undefined;
1193
+ completedAt?: string | undefined;
1194
+ }[] | undefined;
1195
+ }>;
1196
+ export declare const FeatureSchema: z.ZodObject<{
1197
+ id: z.ZodString;
1198
+ number: z.ZodDefault<z.ZodNumber>;
1199
+ name: z.ZodString;
1200
+ description: z.ZodDefault<z.ZodString>;
1201
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
1202
+ discussedAt: z.ZodDefault<z.ZodString>;
1203
+ contextReady: z.ZodDefault<z.ZodBoolean>;
1204
+ contextReadyReason: z.ZodDefault<z.ZodString>;
1205
+ startDate: z.ZodDefault<z.ZodString>;
1206
+ endDate: z.ZodDefault<z.ZodString>;
1207
+ workDone: z.ZodDefault<z.ZodString>;
1208
+ workRemaining: z.ZodDefault<z.ZodString>;
1209
+ acceptedDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
1210
+ id: z.ZodString;
1211
+ title: z.ZodString;
1212
+ decision: z.ZodDefault<z.ZodString>;
1213
+ rationale: z.ZodDefault<z.ZodString>;
1214
+ implementationNotes: z.ZodDefault<z.ZodString>;
1215
+ acceptedAt: z.ZodString;
1216
+ }, "strip", z.ZodTypeAny, {
1217
+ id: string;
1218
+ title: string;
1219
+ decision: string;
1220
+ rationale: string;
1221
+ implementationNotes: string;
1222
+ acceptedAt: string;
1223
+ }, {
1224
+ id: string;
1225
+ title: string;
1226
+ acceptedAt: string;
1227
+ decision?: string | undefined;
1228
+ rationale?: string | undefined;
1229
+ implementationNotes?: string | undefined;
1230
+ }>, "many">>;
1231
+ phaseIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1232
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1233
+ createdAt: z.ZodString;
1234
+ updatedAt: z.ZodString;
1235
+ }, "strip", z.ZodTypeAny, {
1236
+ number: number;
1237
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1238
+ name: string;
1239
+ updatedAt: string;
1240
+ id: string;
1241
+ createdAt: string;
1242
+ description: string;
1243
+ acceptedDecisions: {
1244
+ id: string;
1245
+ title: string;
1246
+ decision: string;
1247
+ rationale: string;
1248
+ implementationNotes: string;
1249
+ acceptedAt: string;
1250
+ }[];
1251
+ dependsOn: string[];
1252
+ discussedAt: string;
1253
+ contextReady: boolean;
1254
+ contextReadyReason: string;
1255
+ startDate: string;
1256
+ endDate: string;
1257
+ workDone: string;
1258
+ workRemaining: string;
1259
+ phaseIds: string[];
1260
+ }, {
1261
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1262
+ name: string;
1263
+ updatedAt: string;
1264
+ id: string;
1265
+ createdAt: string;
1266
+ number?: number | undefined;
1267
+ description?: string | undefined;
1268
+ acceptedDecisions?: {
1269
+ id: string;
1270
+ title: string;
1271
+ acceptedAt: string;
1272
+ decision?: string | undefined;
1273
+ rationale?: string | undefined;
1274
+ implementationNotes?: string | undefined;
1275
+ }[] | undefined;
1276
+ dependsOn?: string[] | undefined;
1277
+ discussedAt?: string | undefined;
1278
+ contextReady?: boolean | undefined;
1279
+ contextReadyReason?: string | undefined;
1280
+ startDate?: string | undefined;
1281
+ endDate?: string | undefined;
1282
+ workDone?: string | undefined;
1283
+ workRemaining?: string | undefined;
1284
+ phaseIds?: string[] | undefined;
1285
+ }>;
1286
+ export declare const FeaturesDocumentSchema: z.ZodObject<{
1287
+ features: z.ZodArray<z.ZodObject<{
1288
+ id: z.ZodString;
1289
+ number: z.ZodDefault<z.ZodNumber>;
1290
+ name: z.ZodString;
1291
+ description: z.ZodDefault<z.ZodString>;
1292
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
1293
+ discussedAt: z.ZodDefault<z.ZodString>;
1294
+ contextReady: z.ZodDefault<z.ZodBoolean>;
1295
+ contextReadyReason: z.ZodDefault<z.ZodString>;
1296
+ startDate: z.ZodDefault<z.ZodString>;
1297
+ endDate: z.ZodDefault<z.ZodString>;
1298
+ workDone: z.ZodDefault<z.ZodString>;
1299
+ workRemaining: z.ZodDefault<z.ZodString>;
1300
+ acceptedDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
1301
+ id: z.ZodString;
1302
+ title: z.ZodString;
1303
+ decision: z.ZodDefault<z.ZodString>;
1304
+ rationale: z.ZodDefault<z.ZodString>;
1305
+ implementationNotes: z.ZodDefault<z.ZodString>;
1306
+ acceptedAt: z.ZodString;
1307
+ }, "strip", z.ZodTypeAny, {
1308
+ id: string;
1309
+ title: string;
1310
+ decision: string;
1311
+ rationale: string;
1312
+ implementationNotes: string;
1313
+ acceptedAt: string;
1314
+ }, {
1315
+ id: string;
1316
+ title: string;
1317
+ acceptedAt: string;
1318
+ decision?: string | undefined;
1319
+ rationale?: string | undefined;
1320
+ implementationNotes?: string | undefined;
1321
+ }>, "many">>;
1322
+ phaseIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1323
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1324
+ createdAt: z.ZodString;
1325
+ updatedAt: z.ZodString;
1326
+ }, "strip", z.ZodTypeAny, {
1327
+ number: number;
1328
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1329
+ name: string;
1330
+ updatedAt: string;
1331
+ id: string;
1332
+ createdAt: string;
1333
+ description: string;
1334
+ acceptedDecisions: {
1335
+ id: string;
1336
+ title: string;
1337
+ decision: string;
1338
+ rationale: string;
1339
+ implementationNotes: string;
1340
+ acceptedAt: string;
1341
+ }[];
1342
+ dependsOn: string[];
1343
+ discussedAt: string;
1344
+ contextReady: boolean;
1345
+ contextReadyReason: string;
1346
+ startDate: string;
1347
+ endDate: string;
1348
+ workDone: string;
1349
+ workRemaining: string;
1350
+ phaseIds: string[];
1351
+ }, {
1352
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1353
+ name: string;
1354
+ updatedAt: string;
1355
+ id: string;
1356
+ createdAt: string;
1357
+ number?: number | undefined;
1358
+ description?: string | undefined;
1359
+ acceptedDecisions?: {
1360
+ id: string;
1361
+ title: string;
1362
+ acceptedAt: string;
1363
+ decision?: string | undefined;
1364
+ rationale?: string | undefined;
1365
+ implementationNotes?: string | undefined;
1366
+ }[] | undefined;
1367
+ dependsOn?: string[] | undefined;
1368
+ discussedAt?: string | undefined;
1369
+ contextReady?: boolean | undefined;
1370
+ contextReadyReason?: string | undefined;
1371
+ startDate?: string | undefined;
1372
+ endDate?: string | undefined;
1373
+ workDone?: string | undefined;
1374
+ workRemaining?: string | undefined;
1375
+ phaseIds?: string[] | undefined;
1376
+ }>, "many">;
1377
+ }, "strip", z.ZodTypeAny, {
1378
+ features: {
1379
+ number: number;
1380
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1381
+ name: string;
1382
+ updatedAt: string;
1383
+ id: string;
1384
+ createdAt: string;
1385
+ description: string;
1386
+ acceptedDecisions: {
1387
+ id: string;
1388
+ title: string;
1389
+ decision: string;
1390
+ rationale: string;
1391
+ implementationNotes: string;
1392
+ acceptedAt: string;
1393
+ }[];
1394
+ dependsOn: string[];
1395
+ discussedAt: string;
1396
+ contextReady: boolean;
1397
+ contextReadyReason: string;
1398
+ startDate: string;
1399
+ endDate: string;
1400
+ workDone: string;
1401
+ workRemaining: string;
1402
+ phaseIds: string[];
1403
+ }[];
1404
+ }, {
1405
+ features: {
1406
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1407
+ name: string;
1408
+ updatedAt: string;
1409
+ id: string;
1410
+ createdAt: string;
1411
+ number?: number | undefined;
1412
+ description?: string | undefined;
1413
+ acceptedDecisions?: {
1414
+ id: string;
1415
+ title: string;
1416
+ acceptedAt: string;
1417
+ decision?: string | undefined;
1418
+ rationale?: string | undefined;
1419
+ implementationNotes?: string | undefined;
1420
+ }[] | undefined;
1421
+ dependsOn?: string[] | undefined;
1422
+ discussedAt?: string | undefined;
1423
+ contextReady?: boolean | undefined;
1424
+ contextReadyReason?: string | undefined;
1425
+ startDate?: string | undefined;
1426
+ endDate?: string | undefined;
1427
+ workDone?: string | undefined;
1428
+ workRemaining?: string | undefined;
1429
+ phaseIds?: string[] | undefined;
1430
+ }[];
1431
+ }>;
1432
+ export declare const MacroTaskSchema: z.ZodObject<{
1433
+ id: z.ZodString;
1434
+ title: z.ZodString;
1435
+ description: z.ZodDefault<z.ZodString>;
1436
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
1437
+ createdAt: z.ZodString;
1438
+ updatedAt: z.ZodString;
1439
+ }, "strip", z.ZodTypeAny, {
1440
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1441
+ updatedAt: string;
1442
+ id: string;
1443
+ createdAt: string;
1444
+ title: string;
1445
+ description: string;
1446
+ }, {
1447
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1448
+ updatedAt: string;
1449
+ id: string;
1450
+ createdAt: string;
1451
+ title: string;
1452
+ description?: string | undefined;
1453
+ }>;
1454
+ export declare const RequirementSchema: z.ZodObject<{
1455
+ id: z.ZodString;
1456
+ title: z.ZodString;
1457
+ description: z.ZodDefault<z.ZodString>;
1458
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
1459
+ macroTasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
1460
+ id: z.ZodString;
1461
+ title: z.ZodString;
1462
+ description: z.ZodDefault<z.ZodString>;
1463
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
1464
+ createdAt: z.ZodString;
1465
+ updatedAt: z.ZodString;
1466
+ }, "strip", z.ZodTypeAny, {
1467
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1468
+ updatedAt: string;
1469
+ id: string;
1470
+ createdAt: string;
1471
+ title: string;
1472
+ description: string;
1473
+ }, {
1474
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1475
+ updatedAt: string;
1476
+ id: string;
1477
+ createdAt: string;
1478
+ title: string;
1479
+ description?: string | undefined;
1480
+ }>, "many">>;
1481
+ linkedPhaseIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1482
+ createdAt: z.ZodString;
1483
+ updatedAt: z.ZodString;
1484
+ }, "strip", z.ZodTypeAny, {
1485
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1486
+ updatedAt: string;
1487
+ id: string;
1488
+ createdAt: string;
1489
+ title: string;
1490
+ description: string;
1491
+ macroTasks: {
1492
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1493
+ updatedAt: string;
1494
+ id: string;
1495
+ createdAt: string;
1496
+ title: string;
1497
+ description: string;
1498
+ }[];
1499
+ linkedPhaseIds: string[];
1500
+ }, {
1501
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1502
+ updatedAt: string;
1503
+ id: string;
1504
+ createdAt: string;
1505
+ title: string;
1506
+ description?: string | undefined;
1507
+ macroTasks?: {
1508
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1509
+ updatedAt: string;
1510
+ id: string;
1511
+ createdAt: string;
1512
+ title: string;
1513
+ description?: string | undefined;
1514
+ }[] | undefined;
1515
+ linkedPhaseIds?: string[] | undefined;
1516
+ }>;
1517
+ export declare const RequirementsDocumentSchema: z.ZodObject<{
1518
+ requirements: z.ZodArray<z.ZodObject<{
1519
+ id: z.ZodString;
1520
+ title: z.ZodString;
1521
+ description: z.ZodDefault<z.ZodString>;
1522
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
1523
+ macroTasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
1524
+ id: z.ZodString;
1525
+ title: z.ZodString;
1526
+ description: z.ZodDefault<z.ZodString>;
1527
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
1528
+ createdAt: z.ZodString;
1529
+ updatedAt: z.ZodString;
1530
+ }, "strip", z.ZodTypeAny, {
1531
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1532
+ updatedAt: string;
1533
+ id: string;
1534
+ createdAt: string;
1535
+ title: string;
1536
+ description: string;
1537
+ }, {
1538
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1539
+ updatedAt: string;
1540
+ id: string;
1541
+ createdAt: string;
1542
+ title: string;
1543
+ description?: string | undefined;
1544
+ }>, "many">>;
1545
+ linkedPhaseIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1546
+ createdAt: z.ZodString;
1547
+ updatedAt: z.ZodString;
1548
+ }, "strip", z.ZodTypeAny, {
1549
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1550
+ updatedAt: string;
1551
+ id: string;
1552
+ createdAt: string;
1553
+ title: string;
1554
+ description: string;
1555
+ macroTasks: {
1556
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1557
+ updatedAt: string;
1558
+ id: string;
1559
+ createdAt: string;
1560
+ title: string;
1561
+ description: string;
1562
+ }[];
1563
+ linkedPhaseIds: string[];
1564
+ }, {
1565
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1566
+ updatedAt: string;
1567
+ id: string;
1568
+ createdAt: string;
1569
+ title: string;
1570
+ description?: string | undefined;
1571
+ macroTasks?: {
1572
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1573
+ updatedAt: string;
1574
+ id: string;
1575
+ createdAt: string;
1576
+ title: string;
1577
+ description?: string | undefined;
1578
+ }[] | undefined;
1579
+ linkedPhaseIds?: string[] | undefined;
1580
+ }>, "many">;
1581
+ }, "strip", z.ZodTypeAny, {
1582
+ requirements: {
1583
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1584
+ updatedAt: string;
1585
+ id: string;
1586
+ createdAt: string;
1587
+ title: string;
1588
+ description: string;
1589
+ macroTasks: {
1590
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1591
+ updatedAt: string;
1592
+ id: string;
1593
+ createdAt: string;
1594
+ title: string;
1595
+ description: string;
1596
+ }[];
1597
+ linkedPhaseIds: string[];
1598
+ }[];
1599
+ }, {
1600
+ requirements: {
1601
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1602
+ updatedAt: string;
1603
+ id: string;
1604
+ createdAt: string;
1605
+ title: string;
1606
+ description?: string | undefined;
1607
+ macroTasks?: {
1608
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1609
+ updatedAt: string;
1610
+ id: string;
1611
+ createdAt: string;
1612
+ title: string;
1613
+ description?: string | undefined;
1614
+ }[] | undefined;
1615
+ linkedPhaseIds?: string[] | undefined;
1616
+ }[];
1617
+ }>;
1618
+ export declare const PlanWorkspaceSchema: z.ZodObject<{
1619
+ manifest: z.ZodObject<{
1620
+ schemaVersion: z.ZodLiteral<1>;
1621
+ projectId: z.ZodString;
1622
+ projectName: z.ZodString;
1623
+ createdAt: z.ZodString;
1624
+ updatedAt: z.ZodString;
1625
+ }, "strip", z.ZodTypeAny, {
1626
+ updatedAt: string;
1627
+ schemaVersion: 1;
1628
+ projectId: string;
1629
+ projectName: string;
1630
+ createdAt: string;
1631
+ }, {
1632
+ updatedAt: string;
1633
+ schemaVersion: 1;
1634
+ projectId: string;
1635
+ projectName: string;
1636
+ createdAt: string;
1637
+ }>;
1638
+ project: z.ZodObject<{
1639
+ name: z.ZodString;
1640
+ goal: z.ZodDefault<z.ZodString>;
1641
+ description: z.ZodDefault<z.ZodString>;
1642
+ webPort: z.ZodDefault<z.ZodNumber>;
1643
+ scope: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1644
+ outOfScope: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1645
+ decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1646
+ globalRules: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1647
+ technologies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1648
+ tools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1649
+ contentLanguage: z.ZodDefault<z.ZodString>;
1650
+ chatLanguage: z.ZodDefault<z.ZodString>;
1651
+ plannerAutoEnable: z.ZodDefault<z.ZodBoolean>;
1652
+ plannerNeverAsk: z.ZodDefault<z.ZodBoolean>;
1653
+ plannerAutoStartWeb: z.ZodDefault<z.ZodBoolean>;
1654
+ plannerNeverStartWeb: z.ZodDefault<z.ZodBoolean>;
1655
+ workflowRules: z.ZodObject<{
1656
+ beforePhaseStart: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1657
+ beforeTaskStart: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1658
+ afterPhaseComplete: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1659
+ }, "strip", z.ZodTypeAny, {
1660
+ beforePhaseStart: string[];
1661
+ beforeTaskStart: string[];
1662
+ afterPhaseComplete: string[];
1663
+ }, {
1664
+ beforePhaseStart?: string[] | undefined;
1665
+ beforeTaskStart?: string[] | undefined;
1666
+ afterPhaseComplete?: string[] | undefined;
1667
+ }>;
1668
+ acceptedDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
1669
+ id: z.ZodString;
1670
+ title: z.ZodString;
1671
+ decision: z.ZodDefault<z.ZodString>;
1672
+ rationale: z.ZodDefault<z.ZodString>;
1673
+ implementationNotes: z.ZodDefault<z.ZodString>;
1674
+ acceptedAt: z.ZodString;
1675
+ }, "strip", z.ZodTypeAny, {
1676
+ id: string;
1677
+ title: string;
1678
+ decision: string;
1679
+ rationale: string;
1680
+ implementationNotes: string;
1681
+ acceptedAt: string;
1682
+ }, {
1683
+ id: string;
1684
+ title: string;
1685
+ acceptedAt: string;
1686
+ decision?: string | undefined;
1687
+ rationale?: string | undefined;
1688
+ implementationNotes?: string | undefined;
1689
+ }>, "many">>;
1690
+ }, "strip", z.ZodTypeAny, {
1691
+ name: string;
1692
+ goal: string;
1693
+ description: string;
1694
+ webPort: number;
1695
+ scope: string[];
1696
+ outOfScope: string[];
1697
+ decisions: string[];
1698
+ globalRules: string[];
1699
+ technologies: string[];
1700
+ tools: string[];
1701
+ contentLanguage: string;
1702
+ chatLanguage: string;
1703
+ plannerAutoEnable: boolean;
1704
+ plannerNeverAsk: boolean;
1705
+ plannerAutoStartWeb: boolean;
1706
+ plannerNeverStartWeb: boolean;
1707
+ workflowRules: {
1708
+ beforePhaseStart: string[];
1709
+ beforeTaskStart: string[];
1710
+ afterPhaseComplete: string[];
1711
+ };
1712
+ acceptedDecisions: {
1713
+ id: string;
1714
+ title: string;
1715
+ decision: string;
1716
+ rationale: string;
1717
+ implementationNotes: string;
1718
+ acceptedAt: string;
1719
+ }[];
1720
+ }, {
1721
+ name: string;
1722
+ workflowRules: {
1723
+ beforePhaseStart?: string[] | undefined;
1724
+ beforeTaskStart?: string[] | undefined;
1725
+ afterPhaseComplete?: string[] | undefined;
1726
+ };
1727
+ goal?: string | undefined;
1728
+ description?: string | undefined;
1729
+ webPort?: number | undefined;
1730
+ scope?: string[] | undefined;
1731
+ outOfScope?: string[] | undefined;
1732
+ decisions?: string[] | undefined;
1733
+ globalRules?: string[] | undefined;
1734
+ technologies?: string[] | undefined;
1735
+ tools?: string[] | undefined;
1736
+ contentLanguage?: string | undefined;
1737
+ chatLanguage?: string | undefined;
1738
+ plannerAutoEnable?: boolean | undefined;
1739
+ plannerNeverAsk?: boolean | undefined;
1740
+ plannerAutoStartWeb?: boolean | undefined;
1741
+ plannerNeverStartWeb?: boolean | undefined;
1742
+ acceptedDecisions?: {
1743
+ id: string;
1744
+ title: string;
1745
+ acceptedAt: string;
1746
+ decision?: string | undefined;
1747
+ rationale?: string | undefined;
1748
+ implementationNotes?: string | undefined;
1749
+ }[] | undefined;
1750
+ }>;
1751
+ features: z.ZodObject<{
1752
+ features: z.ZodArray<z.ZodObject<{
1753
+ id: z.ZodString;
1754
+ number: z.ZodDefault<z.ZodNumber>;
1755
+ name: z.ZodString;
1756
+ description: z.ZodDefault<z.ZodString>;
1757
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
1758
+ discussedAt: z.ZodDefault<z.ZodString>;
1759
+ contextReady: z.ZodDefault<z.ZodBoolean>;
1760
+ contextReadyReason: z.ZodDefault<z.ZodString>;
1761
+ startDate: z.ZodDefault<z.ZodString>;
1762
+ endDate: z.ZodDefault<z.ZodString>;
1763
+ workDone: z.ZodDefault<z.ZodString>;
1764
+ workRemaining: z.ZodDefault<z.ZodString>;
1765
+ acceptedDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
1766
+ id: z.ZodString;
1767
+ title: z.ZodString;
1768
+ decision: z.ZodDefault<z.ZodString>;
1769
+ rationale: z.ZodDefault<z.ZodString>;
1770
+ implementationNotes: z.ZodDefault<z.ZodString>;
1771
+ acceptedAt: z.ZodString;
1772
+ }, "strip", z.ZodTypeAny, {
1773
+ id: string;
1774
+ title: string;
1775
+ decision: string;
1776
+ rationale: string;
1777
+ implementationNotes: string;
1778
+ acceptedAt: string;
1779
+ }, {
1780
+ id: string;
1781
+ title: string;
1782
+ acceptedAt: string;
1783
+ decision?: string | undefined;
1784
+ rationale?: string | undefined;
1785
+ implementationNotes?: string | undefined;
1786
+ }>, "many">>;
1787
+ phaseIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1788
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1789
+ createdAt: z.ZodString;
1790
+ updatedAt: z.ZodString;
1791
+ }, "strip", z.ZodTypeAny, {
1792
+ number: number;
1793
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1794
+ name: string;
1795
+ updatedAt: string;
1796
+ id: string;
1797
+ createdAt: string;
1798
+ description: string;
1799
+ acceptedDecisions: {
1800
+ id: string;
1801
+ title: string;
1802
+ decision: string;
1803
+ rationale: string;
1804
+ implementationNotes: string;
1805
+ acceptedAt: string;
1806
+ }[];
1807
+ dependsOn: string[];
1808
+ discussedAt: string;
1809
+ contextReady: boolean;
1810
+ contextReadyReason: string;
1811
+ startDate: string;
1812
+ endDate: string;
1813
+ workDone: string;
1814
+ workRemaining: string;
1815
+ phaseIds: string[];
1816
+ }, {
1817
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1818
+ name: string;
1819
+ updatedAt: string;
1820
+ id: string;
1821
+ createdAt: string;
1822
+ number?: number | undefined;
1823
+ description?: string | undefined;
1824
+ acceptedDecisions?: {
1825
+ id: string;
1826
+ title: string;
1827
+ acceptedAt: string;
1828
+ decision?: string | undefined;
1829
+ rationale?: string | undefined;
1830
+ implementationNotes?: string | undefined;
1831
+ }[] | undefined;
1832
+ dependsOn?: string[] | undefined;
1833
+ discussedAt?: string | undefined;
1834
+ contextReady?: boolean | undefined;
1835
+ contextReadyReason?: string | undefined;
1836
+ startDate?: string | undefined;
1837
+ endDate?: string | undefined;
1838
+ workDone?: string | undefined;
1839
+ workRemaining?: string | undefined;
1840
+ phaseIds?: string[] | undefined;
1841
+ }>, "many">;
1842
+ }, "strip", z.ZodTypeAny, {
1843
+ features: {
1844
+ number: number;
1845
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1846
+ name: string;
1847
+ updatedAt: string;
1848
+ id: string;
1849
+ createdAt: string;
1850
+ description: string;
1851
+ acceptedDecisions: {
1852
+ id: string;
1853
+ title: string;
1854
+ decision: string;
1855
+ rationale: string;
1856
+ implementationNotes: string;
1857
+ acceptedAt: string;
1858
+ }[];
1859
+ dependsOn: string[];
1860
+ discussedAt: string;
1861
+ contextReady: boolean;
1862
+ contextReadyReason: string;
1863
+ startDate: string;
1864
+ endDate: string;
1865
+ workDone: string;
1866
+ workRemaining: string;
1867
+ phaseIds: string[];
1868
+ }[];
1869
+ }, {
1870
+ features: {
1871
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1872
+ name: string;
1873
+ updatedAt: string;
1874
+ id: string;
1875
+ createdAt: string;
1876
+ number?: number | undefined;
1877
+ description?: string | undefined;
1878
+ acceptedDecisions?: {
1879
+ id: string;
1880
+ title: string;
1881
+ acceptedAt: string;
1882
+ decision?: string | undefined;
1883
+ rationale?: string | undefined;
1884
+ implementationNotes?: string | undefined;
1885
+ }[] | undefined;
1886
+ dependsOn?: string[] | undefined;
1887
+ discussedAt?: string | undefined;
1888
+ contextReady?: boolean | undefined;
1889
+ contextReadyReason?: string | undefined;
1890
+ startDate?: string | undefined;
1891
+ endDate?: string | undefined;
1892
+ workDone?: string | undefined;
1893
+ workRemaining?: string | undefined;
1894
+ phaseIds?: string[] | undefined;
1895
+ }[];
1896
+ }>;
1897
+ requirements: z.ZodObject<{
1898
+ requirements: z.ZodArray<z.ZodObject<{
1899
+ id: z.ZodString;
1900
+ title: z.ZodString;
1901
+ description: z.ZodDefault<z.ZodString>;
1902
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
1903
+ macroTasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
1904
+ id: z.ZodString;
1905
+ title: z.ZodString;
1906
+ description: z.ZodDefault<z.ZodString>;
1907
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
1908
+ createdAt: z.ZodString;
1909
+ updatedAt: z.ZodString;
1910
+ }, "strip", z.ZodTypeAny, {
1911
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1912
+ updatedAt: string;
1913
+ id: string;
1914
+ createdAt: string;
1915
+ title: string;
1916
+ description: string;
1917
+ }, {
1918
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1919
+ updatedAt: string;
1920
+ id: string;
1921
+ createdAt: string;
1922
+ title: string;
1923
+ description?: string | undefined;
1924
+ }>, "many">>;
1925
+ linkedPhaseIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1926
+ createdAt: z.ZodString;
1927
+ updatedAt: z.ZodString;
1928
+ }, "strip", z.ZodTypeAny, {
1929
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1930
+ updatedAt: string;
1931
+ id: string;
1932
+ createdAt: string;
1933
+ title: string;
1934
+ description: string;
1935
+ macroTasks: {
1936
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1937
+ updatedAt: string;
1938
+ id: string;
1939
+ createdAt: string;
1940
+ title: string;
1941
+ description: string;
1942
+ }[];
1943
+ linkedPhaseIds: string[];
1944
+ }, {
1945
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1946
+ updatedAt: string;
1947
+ id: string;
1948
+ createdAt: string;
1949
+ title: string;
1950
+ description?: string | undefined;
1951
+ macroTasks?: {
1952
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1953
+ updatedAt: string;
1954
+ id: string;
1955
+ createdAt: string;
1956
+ title: string;
1957
+ description?: string | undefined;
1958
+ }[] | undefined;
1959
+ linkedPhaseIds?: string[] | undefined;
1960
+ }>, "many">;
1961
+ }, "strip", z.ZodTypeAny, {
1962
+ requirements: {
1963
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1964
+ updatedAt: string;
1965
+ id: string;
1966
+ createdAt: string;
1967
+ title: string;
1968
+ description: string;
1969
+ macroTasks: {
1970
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1971
+ updatedAt: string;
1972
+ id: string;
1973
+ createdAt: string;
1974
+ title: string;
1975
+ description: string;
1976
+ }[];
1977
+ linkedPhaseIds: string[];
1978
+ }[];
1979
+ }, {
1980
+ requirements: {
1981
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1982
+ updatedAt: string;
1983
+ id: string;
1984
+ createdAt: string;
1985
+ title: string;
1986
+ description?: string | undefined;
1987
+ macroTasks?: {
1988
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
1989
+ updatedAt: string;
1990
+ id: string;
1991
+ createdAt: string;
1992
+ title: string;
1993
+ description?: string | undefined;
1994
+ }[] | undefined;
1995
+ linkedPhaseIds?: string[] | undefined;
1996
+ }[];
1997
+ }>;
1998
+ phases: z.ZodArray<z.ZodObject<{
1999
+ id: z.ZodString;
2000
+ featureId: z.ZodOptional<z.ZodString>;
2001
+ number: z.ZodNumber;
2002
+ slug: z.ZodString;
2003
+ title: z.ZodString;
2004
+ status: z.ZodEnum<["draft", "discovery", "planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
2005
+ discussedAt: z.ZodDefault<z.ZodString>;
2006
+ contextReady: z.ZodDefault<z.ZodBoolean>;
2007
+ contextReadyReason: z.ZodDefault<z.ZodString>;
2008
+ summary: z.ZodDefault<z.ZodString>;
2009
+ description: z.ZodDefault<z.ZodString>;
2010
+ notes: z.ZodDefault<z.ZodString>;
2011
+ goals: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2012
+ nonGoals: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2013
+ dependencies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2014
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2015
+ risks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2016
+ openQuestions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2017
+ decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2018
+ acceptedDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
2019
+ id: z.ZodString;
2020
+ title: z.ZodString;
2021
+ decision: z.ZodDefault<z.ZodString>;
2022
+ rationale: z.ZodDefault<z.ZodString>;
2023
+ implementationNotes: z.ZodDefault<z.ZodString>;
2024
+ acceptedAt: z.ZodString;
2025
+ }, "strip", z.ZodTypeAny, {
2026
+ id: string;
2027
+ title: string;
2028
+ decision: string;
2029
+ rationale: string;
2030
+ implementationNotes: string;
2031
+ acceptedAt: string;
2032
+ }, {
2033
+ id: string;
2034
+ title: string;
2035
+ acceptedAt: string;
2036
+ decision?: string | undefined;
2037
+ rationale?: string | undefined;
2038
+ implementationNotes?: string | undefined;
2039
+ }>, "many">>;
2040
+ completionCriteria: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2041
+ taskIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2042
+ tasks: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
2043
+ id: z.ZodString;
2044
+ phaseId: z.ZodString;
2045
+ number: z.ZodDefault<z.ZodNumber>;
2046
+ shortName: z.ZodString;
2047
+ title: z.ZodString;
2048
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
2049
+ description: z.ZodDefault<z.ZodString>;
2050
+ notes: z.ZodDefault<z.ZodString>;
2051
+ statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
2052
+ id: z.ZodString;
2053
+ date: z.ZodString;
2054
+ fromStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
2055
+ toStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
2056
+ title: z.ZodString;
2057
+ description: z.ZodDefault<z.ZodString>;
2058
+ }, "strip", z.ZodTypeAny, {
2059
+ id: string;
2060
+ date: string;
2061
+ title: string;
2062
+ description: string;
2063
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2064
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2065
+ }, {
2066
+ id: string;
2067
+ date: string;
2068
+ title: string;
2069
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2070
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2071
+ description?: string | undefined;
2072
+ }>, "many">>;
2073
+ decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2074
+ acceptedDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
2075
+ id: z.ZodString;
2076
+ title: z.ZodString;
2077
+ decision: z.ZodDefault<z.ZodString>;
2078
+ rationale: z.ZodDefault<z.ZodString>;
2079
+ implementationNotes: z.ZodDefault<z.ZodString>;
2080
+ acceptedAt: z.ZodString;
2081
+ }, "strip", z.ZodTypeAny, {
2082
+ id: string;
2083
+ title: string;
2084
+ decision: string;
2085
+ rationale: string;
2086
+ implementationNotes: string;
2087
+ acceptedAt: string;
2088
+ }, {
2089
+ id: string;
2090
+ title: string;
2091
+ acceptedAt: string;
2092
+ decision?: string | undefined;
2093
+ rationale?: string | undefined;
2094
+ implementationNotes?: string | undefined;
2095
+ }>, "many">>;
2096
+ checklist: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
2097
+ id: z.ZodString;
2098
+ title: z.ZodString;
2099
+ checked: z.ZodDefault<z.ZodBoolean>;
2100
+ }, "strip", z.ZodTypeAny, {
2101
+ id: string;
2102
+ title: string;
2103
+ checked: boolean;
2104
+ }, {
2105
+ id: string;
2106
+ title: string;
2107
+ checked?: boolean | undefined;
2108
+ }>]>, "many">>;
2109
+ subtasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
2110
+ id: z.ZodString;
2111
+ title: z.ZodString;
2112
+ status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
2113
+ description: z.ZodDefault<z.ZodString>;
2114
+ createdAt: z.ZodString;
2115
+ updatedAt: z.ZodString;
2116
+ }, "strip", z.ZodTypeAny, {
2117
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2118
+ updatedAt: string;
2119
+ id: string;
2120
+ createdAt: string;
2121
+ title: string;
2122
+ description: string;
2123
+ }, {
2124
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2125
+ updatedAt: string;
2126
+ id: string;
2127
+ createdAt: string;
2128
+ title: string;
2129
+ description?: string | undefined;
2130
+ }>, "many">>;
2131
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2132
+ startedAt: z.ZodDefault<z.ZodString>;
2133
+ completedAt: z.ZodDefault<z.ZodString>;
2134
+ createdAt: z.ZodString;
2135
+ updatedAt: z.ZodString;
2136
+ }, "strip", z.ZodTypeAny, {
2137
+ number: number;
2138
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2139
+ updatedAt: string;
2140
+ notes: string;
2141
+ id: string;
2142
+ createdAt: string;
2143
+ title: string;
2144
+ description: string;
2145
+ decisions: string[];
2146
+ acceptedDecisions: {
2147
+ id: string;
2148
+ title: string;
2149
+ decision: string;
2150
+ rationale: string;
2151
+ implementationNotes: string;
2152
+ acceptedAt: string;
2153
+ }[];
2154
+ phaseId: string;
2155
+ shortName: string;
2156
+ statusLog: {
2157
+ id: string;
2158
+ date: string;
2159
+ title: string;
2160
+ description: string;
2161
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2162
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2163
+ }[];
2164
+ checklist: (string | {
2165
+ id: string;
2166
+ title: string;
2167
+ checked: boolean;
2168
+ })[];
2169
+ subtasks: {
2170
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2171
+ updatedAt: string;
2172
+ id: string;
2173
+ createdAt: string;
2174
+ title: string;
2175
+ description: string;
2176
+ }[];
2177
+ dependsOn: string[];
2178
+ startedAt: string;
2179
+ completedAt: string;
2180
+ }, {
2181
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2182
+ updatedAt: string;
2183
+ id: string;
2184
+ createdAt: string;
2185
+ title: string;
2186
+ phaseId: string;
2187
+ shortName: string;
2188
+ number?: number | undefined;
2189
+ notes?: string | undefined;
2190
+ description?: string | undefined;
2191
+ decisions?: string[] | undefined;
2192
+ acceptedDecisions?: {
2193
+ id: string;
2194
+ title: string;
2195
+ acceptedAt: string;
2196
+ decision?: string | undefined;
2197
+ rationale?: string | undefined;
2198
+ implementationNotes?: string | undefined;
2199
+ }[] | undefined;
2200
+ statusLog?: {
2201
+ id: string;
2202
+ date: string;
2203
+ title: string;
2204
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2205
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2206
+ description?: string | undefined;
2207
+ }[] | undefined;
2208
+ checklist?: (string | {
2209
+ id: string;
2210
+ title: string;
2211
+ checked?: boolean | undefined;
2212
+ })[] | undefined;
2213
+ subtasks?: {
2214
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2215
+ updatedAt: string;
2216
+ id: string;
2217
+ createdAt: string;
2218
+ title: string;
2219
+ description?: string | undefined;
2220
+ }[] | undefined;
2221
+ dependsOn?: string[] | undefined;
2222
+ startedAt?: string | undefined;
2223
+ completedAt?: string | undefined;
2224
+ }>, {
2225
+ checklist: {
2226
+ id: string;
2227
+ title: string;
2228
+ checked: boolean;
2229
+ }[];
2230
+ number: number;
2231
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2232
+ updatedAt: string;
2233
+ notes: string;
2234
+ id: string;
2235
+ createdAt: string;
2236
+ title: string;
2237
+ description: string;
2238
+ decisions: string[];
2239
+ acceptedDecisions: {
2240
+ id: string;
2241
+ title: string;
2242
+ decision: string;
2243
+ rationale: string;
2244
+ implementationNotes: string;
2245
+ acceptedAt: string;
2246
+ }[];
2247
+ phaseId: string;
2248
+ shortName: string;
2249
+ statusLog: {
2250
+ id: string;
2251
+ date: string;
2252
+ title: string;
2253
+ description: string;
2254
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2255
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2256
+ }[];
2257
+ subtasks: {
2258
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2259
+ updatedAt: string;
2260
+ id: string;
2261
+ createdAt: string;
2262
+ title: string;
2263
+ description: string;
2264
+ }[];
2265
+ dependsOn: string[];
2266
+ startedAt: string;
2267
+ completedAt: string;
2268
+ }, {
2269
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2270
+ updatedAt: string;
2271
+ id: string;
2272
+ createdAt: string;
2273
+ title: string;
2274
+ phaseId: string;
2275
+ shortName: string;
2276
+ number?: number | undefined;
2277
+ notes?: string | undefined;
2278
+ description?: string | undefined;
2279
+ decisions?: string[] | undefined;
2280
+ acceptedDecisions?: {
2281
+ id: string;
2282
+ title: string;
2283
+ acceptedAt: string;
2284
+ decision?: string | undefined;
2285
+ rationale?: string | undefined;
2286
+ implementationNotes?: string | undefined;
2287
+ }[] | undefined;
2288
+ statusLog?: {
2289
+ id: string;
2290
+ date: string;
2291
+ title: string;
2292
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2293
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2294
+ description?: string | undefined;
2295
+ }[] | undefined;
2296
+ checklist?: (string | {
2297
+ id: string;
2298
+ title: string;
2299
+ checked?: boolean | undefined;
2300
+ })[] | undefined;
2301
+ subtasks?: {
2302
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2303
+ updatedAt: string;
2304
+ id: string;
2305
+ createdAt: string;
2306
+ title: string;
2307
+ description?: string | undefined;
2308
+ }[] | undefined;
2309
+ dependsOn?: string[] | undefined;
2310
+ startedAt?: string | undefined;
2311
+ completedAt?: string | undefined;
2312
+ }>, "many">>;
2313
+ createdAt: z.ZodString;
2314
+ updatedAt: z.ZodString;
2315
+ }, "strip", z.ZodTypeAny, {
2316
+ number: number;
2317
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
2318
+ dependencies: string[];
2319
+ updatedAt: string;
2320
+ notes: string;
2321
+ id: string;
2322
+ summary: string;
2323
+ createdAt: string;
2324
+ title: string;
2325
+ description: string;
2326
+ decisions: string[];
2327
+ acceptedDecisions: {
2328
+ id: string;
2329
+ title: string;
2330
+ decision: string;
2331
+ rationale: string;
2332
+ implementationNotes: string;
2333
+ acceptedAt: string;
2334
+ }[];
2335
+ dependsOn: string[];
2336
+ slug: string;
2337
+ discussedAt: string;
2338
+ contextReady: boolean;
2339
+ contextReadyReason: string;
2340
+ goals: string[];
2341
+ nonGoals: string[];
2342
+ risks: string[];
2343
+ openQuestions: string[];
2344
+ completionCriteria: string[];
2345
+ taskIds: string[];
2346
+ tasks: {
2347
+ checklist: {
2348
+ id: string;
2349
+ title: string;
2350
+ checked: boolean;
2351
+ }[];
2352
+ number: number;
2353
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2354
+ updatedAt: string;
2355
+ notes: string;
2356
+ id: string;
2357
+ createdAt: string;
2358
+ title: string;
2359
+ description: string;
2360
+ decisions: string[];
2361
+ acceptedDecisions: {
2362
+ id: string;
2363
+ title: string;
2364
+ decision: string;
2365
+ rationale: string;
2366
+ implementationNotes: string;
2367
+ acceptedAt: string;
2368
+ }[];
2369
+ phaseId: string;
2370
+ shortName: string;
2371
+ statusLog: {
2372
+ id: string;
2373
+ date: string;
2374
+ title: string;
2375
+ description: string;
2376
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2377
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2378
+ }[];
2379
+ subtasks: {
2380
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2381
+ updatedAt: string;
2382
+ id: string;
2383
+ createdAt: string;
2384
+ title: string;
2385
+ description: string;
2386
+ }[];
2387
+ dependsOn: string[];
2388
+ startedAt: string;
2389
+ completedAt: string;
2390
+ }[];
2391
+ featureId?: string | undefined;
2392
+ }, {
2393
+ number: number;
2394
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
2395
+ updatedAt: string;
2396
+ id: string;
2397
+ createdAt: string;
2398
+ title: string;
2399
+ slug: string;
2400
+ dependencies?: string[] | undefined;
2401
+ notes?: string | undefined;
2402
+ summary?: string | undefined;
2403
+ description?: string | undefined;
2404
+ decisions?: string[] | undefined;
2405
+ acceptedDecisions?: {
2406
+ id: string;
2407
+ title: string;
2408
+ acceptedAt: string;
2409
+ decision?: string | undefined;
2410
+ rationale?: string | undefined;
2411
+ implementationNotes?: string | undefined;
2412
+ }[] | undefined;
2413
+ dependsOn?: string[] | undefined;
2414
+ featureId?: string | undefined;
2415
+ discussedAt?: string | undefined;
2416
+ contextReady?: boolean | undefined;
2417
+ contextReadyReason?: string | undefined;
2418
+ goals?: string[] | undefined;
2419
+ nonGoals?: string[] | undefined;
2420
+ risks?: string[] | undefined;
2421
+ openQuestions?: string[] | undefined;
2422
+ completionCriteria?: string[] | undefined;
2423
+ taskIds?: string[] | undefined;
2424
+ tasks?: {
2425
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2426
+ updatedAt: string;
2427
+ id: string;
2428
+ createdAt: string;
2429
+ title: string;
2430
+ phaseId: string;
2431
+ shortName: string;
2432
+ number?: number | undefined;
2433
+ notes?: string | undefined;
2434
+ description?: string | undefined;
2435
+ decisions?: string[] | undefined;
2436
+ acceptedDecisions?: {
2437
+ id: string;
2438
+ title: string;
2439
+ acceptedAt: string;
2440
+ decision?: string | undefined;
2441
+ rationale?: string | undefined;
2442
+ implementationNotes?: string | undefined;
2443
+ }[] | undefined;
2444
+ statusLog?: {
2445
+ id: string;
2446
+ date: string;
2447
+ title: string;
2448
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2449
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2450
+ description?: string | undefined;
2451
+ }[] | undefined;
2452
+ checklist?: (string | {
2453
+ id: string;
2454
+ title: string;
2455
+ checked?: boolean | undefined;
2456
+ })[] | undefined;
2457
+ subtasks?: {
2458
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2459
+ updatedAt: string;
2460
+ id: string;
2461
+ createdAt: string;
2462
+ title: string;
2463
+ description?: string | undefined;
2464
+ }[] | undefined;
2465
+ dependsOn?: string[] | undefined;
2466
+ startedAt?: string | undefined;
2467
+ completedAt?: string | undefined;
2468
+ }[] | undefined;
2469
+ }>, "many">;
2470
+ }, "strip", z.ZodTypeAny, {
2471
+ features: {
2472
+ features: {
2473
+ number: number;
2474
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2475
+ name: string;
2476
+ updatedAt: string;
2477
+ id: string;
2478
+ createdAt: string;
2479
+ description: string;
2480
+ acceptedDecisions: {
2481
+ id: string;
2482
+ title: string;
2483
+ decision: string;
2484
+ rationale: string;
2485
+ implementationNotes: string;
2486
+ acceptedAt: string;
2487
+ }[];
2488
+ dependsOn: string[];
2489
+ discussedAt: string;
2490
+ contextReady: boolean;
2491
+ contextReadyReason: string;
2492
+ startDate: string;
2493
+ endDate: string;
2494
+ workDone: string;
2495
+ workRemaining: string;
2496
+ phaseIds: string[];
2497
+ }[];
2498
+ };
2499
+ requirements: {
2500
+ requirements: {
2501
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2502
+ updatedAt: string;
2503
+ id: string;
2504
+ createdAt: string;
2505
+ title: string;
2506
+ description: string;
2507
+ macroTasks: {
2508
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2509
+ updatedAt: string;
2510
+ id: string;
2511
+ createdAt: string;
2512
+ title: string;
2513
+ description: string;
2514
+ }[];
2515
+ linkedPhaseIds: string[];
2516
+ }[];
2517
+ };
2518
+ manifest: {
2519
+ updatedAt: string;
2520
+ schemaVersion: 1;
2521
+ projectId: string;
2522
+ projectName: string;
2523
+ createdAt: string;
2524
+ };
2525
+ project: {
2526
+ name: string;
2527
+ goal: string;
2528
+ description: string;
2529
+ webPort: number;
2530
+ scope: string[];
2531
+ outOfScope: string[];
2532
+ decisions: string[];
2533
+ globalRules: string[];
2534
+ technologies: string[];
2535
+ tools: string[];
2536
+ contentLanguage: string;
2537
+ chatLanguage: string;
2538
+ plannerAutoEnable: boolean;
2539
+ plannerNeverAsk: boolean;
2540
+ plannerAutoStartWeb: boolean;
2541
+ plannerNeverStartWeb: boolean;
2542
+ workflowRules: {
2543
+ beforePhaseStart: string[];
2544
+ beforeTaskStart: string[];
2545
+ afterPhaseComplete: string[];
2546
+ };
2547
+ acceptedDecisions: {
2548
+ id: string;
2549
+ title: string;
2550
+ decision: string;
2551
+ rationale: string;
2552
+ implementationNotes: string;
2553
+ acceptedAt: string;
2554
+ }[];
2555
+ };
2556
+ phases: {
2557
+ number: number;
2558
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
2559
+ dependencies: string[];
2560
+ updatedAt: string;
2561
+ notes: string;
2562
+ id: string;
2563
+ summary: string;
2564
+ createdAt: string;
2565
+ title: string;
2566
+ description: string;
2567
+ decisions: string[];
2568
+ acceptedDecisions: {
2569
+ id: string;
2570
+ title: string;
2571
+ decision: string;
2572
+ rationale: string;
2573
+ implementationNotes: string;
2574
+ acceptedAt: string;
2575
+ }[];
2576
+ dependsOn: string[];
2577
+ slug: string;
2578
+ discussedAt: string;
2579
+ contextReady: boolean;
2580
+ contextReadyReason: string;
2581
+ goals: string[];
2582
+ nonGoals: string[];
2583
+ risks: string[];
2584
+ openQuestions: string[];
2585
+ completionCriteria: string[];
2586
+ taskIds: string[];
2587
+ tasks: {
2588
+ checklist: {
2589
+ id: string;
2590
+ title: string;
2591
+ checked: boolean;
2592
+ }[];
2593
+ number: number;
2594
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2595
+ updatedAt: string;
2596
+ notes: string;
2597
+ id: string;
2598
+ createdAt: string;
2599
+ title: string;
2600
+ description: string;
2601
+ decisions: string[];
2602
+ acceptedDecisions: {
2603
+ id: string;
2604
+ title: string;
2605
+ decision: string;
2606
+ rationale: string;
2607
+ implementationNotes: string;
2608
+ acceptedAt: string;
2609
+ }[];
2610
+ phaseId: string;
2611
+ shortName: string;
2612
+ statusLog: {
2613
+ id: string;
2614
+ date: string;
2615
+ title: string;
2616
+ description: string;
2617
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2618
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2619
+ }[];
2620
+ subtasks: {
2621
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2622
+ updatedAt: string;
2623
+ id: string;
2624
+ createdAt: string;
2625
+ title: string;
2626
+ description: string;
2627
+ }[];
2628
+ dependsOn: string[];
2629
+ startedAt: string;
2630
+ completedAt: string;
2631
+ }[];
2632
+ featureId?: string | undefined;
2633
+ }[];
2634
+ }, {
2635
+ features: {
2636
+ features: {
2637
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2638
+ name: string;
2639
+ updatedAt: string;
2640
+ id: string;
2641
+ createdAt: string;
2642
+ number?: number | undefined;
2643
+ description?: string | undefined;
2644
+ acceptedDecisions?: {
2645
+ id: string;
2646
+ title: string;
2647
+ acceptedAt: string;
2648
+ decision?: string | undefined;
2649
+ rationale?: string | undefined;
2650
+ implementationNotes?: string | undefined;
2651
+ }[] | undefined;
2652
+ dependsOn?: string[] | undefined;
2653
+ discussedAt?: string | undefined;
2654
+ contextReady?: boolean | undefined;
2655
+ contextReadyReason?: string | undefined;
2656
+ startDate?: string | undefined;
2657
+ endDate?: string | undefined;
2658
+ workDone?: string | undefined;
2659
+ workRemaining?: string | undefined;
2660
+ phaseIds?: string[] | undefined;
2661
+ }[];
2662
+ };
2663
+ requirements: {
2664
+ requirements: {
2665
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2666
+ updatedAt: string;
2667
+ id: string;
2668
+ createdAt: string;
2669
+ title: string;
2670
+ description?: string | undefined;
2671
+ macroTasks?: {
2672
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2673
+ updatedAt: string;
2674
+ id: string;
2675
+ createdAt: string;
2676
+ title: string;
2677
+ description?: string | undefined;
2678
+ }[] | undefined;
2679
+ linkedPhaseIds?: string[] | undefined;
2680
+ }[];
2681
+ };
2682
+ manifest: {
2683
+ updatedAt: string;
2684
+ schemaVersion: 1;
2685
+ projectId: string;
2686
+ projectName: string;
2687
+ createdAt: string;
2688
+ };
2689
+ project: {
2690
+ name: string;
2691
+ workflowRules: {
2692
+ beforePhaseStart?: string[] | undefined;
2693
+ beforeTaskStart?: string[] | undefined;
2694
+ afterPhaseComplete?: string[] | undefined;
2695
+ };
2696
+ goal?: string | undefined;
2697
+ description?: string | undefined;
2698
+ webPort?: number | undefined;
2699
+ scope?: string[] | undefined;
2700
+ outOfScope?: string[] | undefined;
2701
+ decisions?: string[] | undefined;
2702
+ globalRules?: string[] | undefined;
2703
+ technologies?: string[] | undefined;
2704
+ tools?: string[] | undefined;
2705
+ contentLanguage?: string | undefined;
2706
+ chatLanguage?: string | undefined;
2707
+ plannerAutoEnable?: boolean | undefined;
2708
+ plannerNeverAsk?: boolean | undefined;
2709
+ plannerAutoStartWeb?: boolean | undefined;
2710
+ plannerNeverStartWeb?: boolean | undefined;
2711
+ acceptedDecisions?: {
2712
+ id: string;
2713
+ title: string;
2714
+ acceptedAt: string;
2715
+ decision?: string | undefined;
2716
+ rationale?: string | undefined;
2717
+ implementationNotes?: string | undefined;
2718
+ }[] | undefined;
2719
+ };
2720
+ phases: {
2721
+ number: number;
2722
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
2723
+ updatedAt: string;
2724
+ id: string;
2725
+ createdAt: string;
2726
+ title: string;
2727
+ slug: string;
2728
+ dependencies?: string[] | undefined;
2729
+ notes?: string | undefined;
2730
+ summary?: string | undefined;
2731
+ description?: string | undefined;
2732
+ decisions?: string[] | undefined;
2733
+ acceptedDecisions?: {
2734
+ id: string;
2735
+ title: string;
2736
+ acceptedAt: string;
2737
+ decision?: string | undefined;
2738
+ rationale?: string | undefined;
2739
+ implementationNotes?: string | undefined;
2740
+ }[] | undefined;
2741
+ dependsOn?: string[] | undefined;
2742
+ featureId?: string | undefined;
2743
+ discussedAt?: string | undefined;
2744
+ contextReady?: boolean | undefined;
2745
+ contextReadyReason?: string | undefined;
2746
+ goals?: string[] | undefined;
2747
+ nonGoals?: string[] | undefined;
2748
+ risks?: string[] | undefined;
2749
+ openQuestions?: string[] | undefined;
2750
+ completionCriteria?: string[] | undefined;
2751
+ taskIds?: string[] | undefined;
2752
+ tasks?: {
2753
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2754
+ updatedAt: string;
2755
+ id: string;
2756
+ createdAt: string;
2757
+ title: string;
2758
+ phaseId: string;
2759
+ shortName: string;
2760
+ number?: number | undefined;
2761
+ notes?: string | undefined;
2762
+ description?: string | undefined;
2763
+ decisions?: string[] | undefined;
2764
+ acceptedDecisions?: {
2765
+ id: string;
2766
+ title: string;
2767
+ acceptedAt: string;
2768
+ decision?: string | undefined;
2769
+ rationale?: string | undefined;
2770
+ implementationNotes?: string | undefined;
2771
+ }[] | undefined;
2772
+ statusLog?: {
2773
+ id: string;
2774
+ date: string;
2775
+ title: string;
2776
+ fromStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2777
+ toStatus: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2778
+ description?: string | undefined;
2779
+ }[] | undefined;
2780
+ checklist?: (string | {
2781
+ id: string;
2782
+ title: string;
2783
+ checked?: boolean | undefined;
2784
+ })[] | undefined;
2785
+ subtasks?: {
2786
+ status: "planned" | "in-progress" | "done" | "blocked" | "canceled" | "rejected" | "deferred" | "waiting";
2787
+ updatedAt: string;
2788
+ id: string;
2789
+ createdAt: string;
2790
+ title: string;
2791
+ description?: string | undefined;
2792
+ }[] | undefined;
2793
+ dependsOn?: string[] | undefined;
2794
+ startedAt?: string | undefined;
2795
+ completedAt?: string | undefined;
2796
+ }[] | undefined;
2797
+ }[];
2798
+ }>;
2799
+ export type Timestamp = z.infer<typeof TimestampSchema>;
2800
+ export type CodebaseFile = z.infer<typeof CodebaseFileSchema>;
2801
+ export type CodebaseProfile = z.infer<typeof CodebaseProfileSchema>;
2802
+ export type AmbientFacts = z.infer<typeof AmbientFactsSchema>;
2803
+ export type ActivityEntry = z.infer<typeof ActivityEntrySchema>;
2804
+ export type ActivityLog = z.infer<typeof ActivityLogSchema>;
2805
+ export type ResumeFocus = z.infer<typeof ResumeFocusSchema>;
2806
+ export type FeatureStatus = z.infer<typeof FeatureStatusSchema>;
2807
+ export type Feature = z.infer<typeof FeatureSchema>;
2808
+ export type FeaturesDocument = z.infer<typeof FeaturesDocumentSchema>;
2809
+ export type PhaseStatus = z.infer<typeof PhaseStatusSchema>;
2810
+ export type TaskStatus = z.infer<typeof TaskStatusSchema>;
2811
+ export type RequirementStatus = z.infer<typeof RequirementStatusSchema>;
2812
+ export type SubtaskStatus = z.infer<typeof SubtaskStatusSchema>;
2813
+ export type Manifest = z.infer<typeof ManifestSchema>;
2814
+ export type WorkflowRules = z.infer<typeof WorkflowRulesSchema>;
2815
+ export type AcceptedDecision = z.infer<typeof AcceptedDecisionSchema>;
2816
+ export type Project = z.infer<typeof ProjectSchema>;
2817
+ export type Subtask = z.infer<typeof SubtaskSchema>;
2818
+ export type ChecklistItem = z.infer<typeof ChecklistItemSchema>;
2819
+ export type StatusLogEntry = z.infer<typeof StatusLogEntrySchema>;
2820
+ export type Task = z.infer<typeof TaskSchema>;
2821
+ export type Phase = z.infer<typeof PhaseSchema>;
2822
+ export type MacroTask = z.infer<typeof MacroTaskSchema>;
2823
+ export type Requirement = z.infer<typeof RequirementSchema>;
2824
+ export type RequirementsDocument = z.infer<typeof RequirementsDocumentSchema>;
2825
+ export type PlanWorkspace = z.infer<typeof PlanWorkspaceSchema>;
2826
+ //# sourceMappingURL=schema.d.ts.map