@generacy-ai/config 0.3.0 → 0.4.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.
@@ -12,6 +12,501 @@ export declare const TemplateReposSchema: z.ZodObject<{
12
12
  dev?: string[] | null | undefined;
13
13
  clone?: string[] | null | undefined;
14
14
  }>;
15
+ /**
16
+ * A single agent selector: `{ provider?, model? }`. Both fields are optional and
17
+ * resolve independently — a phase override may set only `model` and let
18
+ * `provider` fall through from a lower precedence tier.
19
+ */
20
+ export declare const AgentEntrySchema: z.ZodObject<{
21
+ provider: z.ZodOptional<z.ZodString>;
22
+ model: z.ZodOptional<z.ZodString>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ provider?: string | undefined;
25
+ model?: string | undefined;
26
+ }, {
27
+ provider?: string | undefined;
28
+ model?: string | undefined;
29
+ }>;
30
+ export type AgentEntry = z.infer<typeof AgentEntrySchema>;
31
+ /**
32
+ * Per-workflow agent overrides. `phases` keys are enumerated per-field over the
33
+ * closed `WorkflowPhase` set — Zod rejects unknown keys (e.g. `implment`,
34
+ * `pr-feedback`) at parse time.
35
+ */
36
+ export declare const WorkflowAgentEntriesSchema: z.ZodObject<{
37
+ default: z.ZodOptional<z.ZodObject<{
38
+ provider: z.ZodOptional<z.ZodString>;
39
+ model: z.ZodOptional<z.ZodString>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ provider?: string | undefined;
42
+ model?: string | undefined;
43
+ }, {
44
+ provider?: string | undefined;
45
+ model?: string | undefined;
46
+ }>>;
47
+ phases: z.ZodOptional<z.ZodObject<{
48
+ specify: z.ZodOptional<z.ZodObject<{
49
+ provider: z.ZodOptional<z.ZodString>;
50
+ model: z.ZodOptional<z.ZodString>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ provider?: string | undefined;
53
+ model?: string | undefined;
54
+ }, {
55
+ provider?: string | undefined;
56
+ model?: string | undefined;
57
+ }>>;
58
+ clarify: z.ZodOptional<z.ZodObject<{
59
+ provider: z.ZodOptional<z.ZodString>;
60
+ model: z.ZodOptional<z.ZodString>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ provider?: string | undefined;
63
+ model?: string | undefined;
64
+ }, {
65
+ provider?: string | undefined;
66
+ model?: string | undefined;
67
+ }>>;
68
+ plan: z.ZodOptional<z.ZodObject<{
69
+ provider: z.ZodOptional<z.ZodString>;
70
+ model: z.ZodOptional<z.ZodString>;
71
+ }, "strip", z.ZodTypeAny, {
72
+ provider?: string | undefined;
73
+ model?: string | undefined;
74
+ }, {
75
+ provider?: string | undefined;
76
+ model?: string | undefined;
77
+ }>>;
78
+ tasks: z.ZodOptional<z.ZodObject<{
79
+ provider: z.ZodOptional<z.ZodString>;
80
+ model: z.ZodOptional<z.ZodString>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ provider?: string | undefined;
83
+ model?: string | undefined;
84
+ }, {
85
+ provider?: string | undefined;
86
+ model?: string | undefined;
87
+ }>>;
88
+ implement: z.ZodOptional<z.ZodObject<{
89
+ provider: z.ZodOptional<z.ZodString>;
90
+ model: z.ZodOptional<z.ZodString>;
91
+ }, "strip", z.ZodTypeAny, {
92
+ provider?: string | undefined;
93
+ model?: string | undefined;
94
+ }, {
95
+ provider?: string | undefined;
96
+ model?: string | undefined;
97
+ }>>;
98
+ validate: z.ZodOptional<z.ZodObject<{
99
+ provider: z.ZodOptional<z.ZodString>;
100
+ model: z.ZodOptional<z.ZodString>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ provider?: string | undefined;
103
+ model?: string | undefined;
104
+ }, {
105
+ provider?: string | undefined;
106
+ model?: string | undefined;
107
+ }>>;
108
+ }, "strip", z.ZodTypeAny, {
109
+ specify?: {
110
+ provider?: string | undefined;
111
+ model?: string | undefined;
112
+ } | undefined;
113
+ clarify?: {
114
+ provider?: string | undefined;
115
+ model?: string | undefined;
116
+ } | undefined;
117
+ plan?: {
118
+ provider?: string | undefined;
119
+ model?: string | undefined;
120
+ } | undefined;
121
+ tasks?: {
122
+ provider?: string | undefined;
123
+ model?: string | undefined;
124
+ } | undefined;
125
+ implement?: {
126
+ provider?: string | undefined;
127
+ model?: string | undefined;
128
+ } | undefined;
129
+ validate?: {
130
+ provider?: string | undefined;
131
+ model?: string | undefined;
132
+ } | undefined;
133
+ }, {
134
+ specify?: {
135
+ provider?: string | undefined;
136
+ model?: string | undefined;
137
+ } | undefined;
138
+ clarify?: {
139
+ provider?: string | undefined;
140
+ model?: string | undefined;
141
+ } | undefined;
142
+ plan?: {
143
+ provider?: string | undefined;
144
+ model?: string | undefined;
145
+ } | undefined;
146
+ tasks?: {
147
+ provider?: string | undefined;
148
+ model?: string | undefined;
149
+ } | undefined;
150
+ implement?: {
151
+ provider?: string | undefined;
152
+ model?: string | undefined;
153
+ } | undefined;
154
+ validate?: {
155
+ provider?: string | undefined;
156
+ model?: string | undefined;
157
+ } | undefined;
158
+ }>>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ default?: {
161
+ provider?: string | undefined;
162
+ model?: string | undefined;
163
+ } | undefined;
164
+ phases?: {
165
+ specify?: {
166
+ provider?: string | undefined;
167
+ model?: string | undefined;
168
+ } | undefined;
169
+ clarify?: {
170
+ provider?: string | undefined;
171
+ model?: string | undefined;
172
+ } | undefined;
173
+ plan?: {
174
+ provider?: string | undefined;
175
+ model?: string | undefined;
176
+ } | undefined;
177
+ tasks?: {
178
+ provider?: string | undefined;
179
+ model?: string | undefined;
180
+ } | undefined;
181
+ implement?: {
182
+ provider?: string | undefined;
183
+ model?: string | undefined;
184
+ } | undefined;
185
+ validate?: {
186
+ provider?: string | undefined;
187
+ model?: string | undefined;
188
+ } | undefined;
189
+ } | undefined;
190
+ }, {
191
+ default?: {
192
+ provider?: string | undefined;
193
+ model?: string | undefined;
194
+ } | undefined;
195
+ phases?: {
196
+ specify?: {
197
+ provider?: string | undefined;
198
+ model?: string | undefined;
199
+ } | undefined;
200
+ clarify?: {
201
+ provider?: string | undefined;
202
+ model?: string | undefined;
203
+ } | undefined;
204
+ plan?: {
205
+ provider?: string | undefined;
206
+ model?: string | undefined;
207
+ } | undefined;
208
+ tasks?: {
209
+ provider?: string | undefined;
210
+ model?: string | undefined;
211
+ } | undefined;
212
+ implement?: {
213
+ provider?: string | undefined;
214
+ model?: string | undefined;
215
+ } | undefined;
216
+ validate?: {
217
+ provider?: string | undefined;
218
+ model?: string | undefined;
219
+ } | undefined;
220
+ } | undefined;
221
+ }>;
222
+ export type WorkflowAgentEntries = z.infer<typeof WorkflowAgentEntriesSchema>;
223
+ /**
224
+ * Agents configuration block under `orchestrator.agents`. Structure:
225
+ * ```
226
+ * agents:
227
+ * default: { provider?, model? }
228
+ * workflows:
229
+ * <name>:
230
+ * default: { provider?, model? }
231
+ * phases:
232
+ * implement: { provider?, model? }
233
+ * ```
234
+ * Workflow names are extensible (`speckit-feature`, `speckit-bugfix`, …); phase
235
+ * keys are closed to the `WorkflowPhase` enum.
236
+ */
237
+ export declare const AgentsConfigSchema: z.ZodObject<{
238
+ default: z.ZodOptional<z.ZodObject<{
239
+ provider: z.ZodOptional<z.ZodString>;
240
+ model: z.ZodOptional<z.ZodString>;
241
+ }, "strip", z.ZodTypeAny, {
242
+ provider?: string | undefined;
243
+ model?: string | undefined;
244
+ }, {
245
+ provider?: string | undefined;
246
+ model?: string | undefined;
247
+ }>>;
248
+ workflows: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
249
+ default: z.ZodOptional<z.ZodObject<{
250
+ provider: z.ZodOptional<z.ZodString>;
251
+ model: z.ZodOptional<z.ZodString>;
252
+ }, "strip", z.ZodTypeAny, {
253
+ provider?: string | undefined;
254
+ model?: string | undefined;
255
+ }, {
256
+ provider?: string | undefined;
257
+ model?: string | undefined;
258
+ }>>;
259
+ phases: z.ZodOptional<z.ZodObject<{
260
+ specify: z.ZodOptional<z.ZodObject<{
261
+ provider: z.ZodOptional<z.ZodString>;
262
+ model: z.ZodOptional<z.ZodString>;
263
+ }, "strip", z.ZodTypeAny, {
264
+ provider?: string | undefined;
265
+ model?: string | undefined;
266
+ }, {
267
+ provider?: string | undefined;
268
+ model?: string | undefined;
269
+ }>>;
270
+ clarify: z.ZodOptional<z.ZodObject<{
271
+ provider: z.ZodOptional<z.ZodString>;
272
+ model: z.ZodOptional<z.ZodString>;
273
+ }, "strip", z.ZodTypeAny, {
274
+ provider?: string | undefined;
275
+ model?: string | undefined;
276
+ }, {
277
+ provider?: string | undefined;
278
+ model?: string | undefined;
279
+ }>>;
280
+ plan: z.ZodOptional<z.ZodObject<{
281
+ provider: z.ZodOptional<z.ZodString>;
282
+ model: z.ZodOptional<z.ZodString>;
283
+ }, "strip", z.ZodTypeAny, {
284
+ provider?: string | undefined;
285
+ model?: string | undefined;
286
+ }, {
287
+ provider?: string | undefined;
288
+ model?: string | undefined;
289
+ }>>;
290
+ tasks: z.ZodOptional<z.ZodObject<{
291
+ provider: z.ZodOptional<z.ZodString>;
292
+ model: z.ZodOptional<z.ZodString>;
293
+ }, "strip", z.ZodTypeAny, {
294
+ provider?: string | undefined;
295
+ model?: string | undefined;
296
+ }, {
297
+ provider?: string | undefined;
298
+ model?: string | undefined;
299
+ }>>;
300
+ implement: z.ZodOptional<z.ZodObject<{
301
+ provider: z.ZodOptional<z.ZodString>;
302
+ model: z.ZodOptional<z.ZodString>;
303
+ }, "strip", z.ZodTypeAny, {
304
+ provider?: string | undefined;
305
+ model?: string | undefined;
306
+ }, {
307
+ provider?: string | undefined;
308
+ model?: string | undefined;
309
+ }>>;
310
+ validate: z.ZodOptional<z.ZodObject<{
311
+ provider: z.ZodOptional<z.ZodString>;
312
+ model: z.ZodOptional<z.ZodString>;
313
+ }, "strip", z.ZodTypeAny, {
314
+ provider?: string | undefined;
315
+ model?: string | undefined;
316
+ }, {
317
+ provider?: string | undefined;
318
+ model?: string | undefined;
319
+ }>>;
320
+ }, "strip", z.ZodTypeAny, {
321
+ specify?: {
322
+ provider?: string | undefined;
323
+ model?: string | undefined;
324
+ } | undefined;
325
+ clarify?: {
326
+ provider?: string | undefined;
327
+ model?: string | undefined;
328
+ } | undefined;
329
+ plan?: {
330
+ provider?: string | undefined;
331
+ model?: string | undefined;
332
+ } | undefined;
333
+ tasks?: {
334
+ provider?: string | undefined;
335
+ model?: string | undefined;
336
+ } | undefined;
337
+ implement?: {
338
+ provider?: string | undefined;
339
+ model?: string | undefined;
340
+ } | undefined;
341
+ validate?: {
342
+ provider?: string | undefined;
343
+ model?: string | undefined;
344
+ } | undefined;
345
+ }, {
346
+ specify?: {
347
+ provider?: string | undefined;
348
+ model?: string | undefined;
349
+ } | undefined;
350
+ clarify?: {
351
+ provider?: string | undefined;
352
+ model?: string | undefined;
353
+ } | undefined;
354
+ plan?: {
355
+ provider?: string | undefined;
356
+ model?: string | undefined;
357
+ } | undefined;
358
+ tasks?: {
359
+ provider?: string | undefined;
360
+ model?: string | undefined;
361
+ } | undefined;
362
+ implement?: {
363
+ provider?: string | undefined;
364
+ model?: string | undefined;
365
+ } | undefined;
366
+ validate?: {
367
+ provider?: string | undefined;
368
+ model?: string | undefined;
369
+ } | undefined;
370
+ }>>;
371
+ }, "strip", z.ZodTypeAny, {
372
+ default?: {
373
+ provider?: string | undefined;
374
+ model?: string | undefined;
375
+ } | undefined;
376
+ phases?: {
377
+ specify?: {
378
+ provider?: string | undefined;
379
+ model?: string | undefined;
380
+ } | undefined;
381
+ clarify?: {
382
+ provider?: string | undefined;
383
+ model?: string | undefined;
384
+ } | undefined;
385
+ plan?: {
386
+ provider?: string | undefined;
387
+ model?: string | undefined;
388
+ } | undefined;
389
+ tasks?: {
390
+ provider?: string | undefined;
391
+ model?: string | undefined;
392
+ } | undefined;
393
+ implement?: {
394
+ provider?: string | undefined;
395
+ model?: string | undefined;
396
+ } | undefined;
397
+ validate?: {
398
+ provider?: string | undefined;
399
+ model?: string | undefined;
400
+ } | undefined;
401
+ } | undefined;
402
+ }, {
403
+ default?: {
404
+ provider?: string | undefined;
405
+ model?: string | undefined;
406
+ } | undefined;
407
+ phases?: {
408
+ specify?: {
409
+ provider?: string | undefined;
410
+ model?: string | undefined;
411
+ } | undefined;
412
+ clarify?: {
413
+ provider?: string | undefined;
414
+ model?: string | undefined;
415
+ } | undefined;
416
+ plan?: {
417
+ provider?: string | undefined;
418
+ model?: string | undefined;
419
+ } | undefined;
420
+ tasks?: {
421
+ provider?: string | undefined;
422
+ model?: string | undefined;
423
+ } | undefined;
424
+ implement?: {
425
+ provider?: string | undefined;
426
+ model?: string | undefined;
427
+ } | undefined;
428
+ validate?: {
429
+ provider?: string | undefined;
430
+ model?: string | undefined;
431
+ } | undefined;
432
+ } | undefined;
433
+ }>>>;
434
+ }, "strip", z.ZodTypeAny, {
435
+ default?: {
436
+ provider?: string | undefined;
437
+ model?: string | undefined;
438
+ } | undefined;
439
+ workflows?: Record<string, {
440
+ default?: {
441
+ provider?: string | undefined;
442
+ model?: string | undefined;
443
+ } | undefined;
444
+ phases?: {
445
+ specify?: {
446
+ provider?: string | undefined;
447
+ model?: string | undefined;
448
+ } | undefined;
449
+ clarify?: {
450
+ provider?: string | undefined;
451
+ model?: string | undefined;
452
+ } | undefined;
453
+ plan?: {
454
+ provider?: string | undefined;
455
+ model?: string | undefined;
456
+ } | undefined;
457
+ tasks?: {
458
+ provider?: string | undefined;
459
+ model?: string | undefined;
460
+ } | undefined;
461
+ implement?: {
462
+ provider?: string | undefined;
463
+ model?: string | undefined;
464
+ } | undefined;
465
+ validate?: {
466
+ provider?: string | undefined;
467
+ model?: string | undefined;
468
+ } | undefined;
469
+ } | undefined;
470
+ }> | undefined;
471
+ }, {
472
+ default?: {
473
+ provider?: string | undefined;
474
+ model?: string | undefined;
475
+ } | undefined;
476
+ workflows?: Record<string, {
477
+ default?: {
478
+ provider?: string | undefined;
479
+ model?: string | undefined;
480
+ } | undefined;
481
+ phases?: {
482
+ specify?: {
483
+ provider?: string | undefined;
484
+ model?: string | undefined;
485
+ } | undefined;
486
+ clarify?: {
487
+ provider?: string | undefined;
488
+ model?: string | undefined;
489
+ } | undefined;
490
+ plan?: {
491
+ provider?: string | undefined;
492
+ model?: string | undefined;
493
+ } | undefined;
494
+ tasks?: {
495
+ provider?: string | undefined;
496
+ model?: string | undefined;
497
+ } | undefined;
498
+ implement?: {
499
+ provider?: string | undefined;
500
+ model?: string | undefined;
501
+ } | undefined;
502
+ validate?: {
503
+ provider?: string | undefined;
504
+ model?: string | undefined;
505
+ } | undefined;
506
+ } | undefined;
507
+ }> | undefined;
508
+ }>;
509
+ export type AgentsConfig = z.infer<typeof AgentsConfigSchema>;
15
510
  export declare const OrchestratorSettingsSchema: z.ZodObject<{
16
511
  labelMonitor: z.ZodOptional<z.ZodBoolean>;
17
512
  webhookSetup: z.ZodOptional<z.ZodBoolean>;
@@ -30,18 +525,370 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
30
525
  * `preValidateCommand` for jobs in this repo.
31
526
  */
32
527
  preValidateCommand: z.ZodOptional<z.ZodString>;
528
+ /**
529
+ * Per-repo `{ provider, model }` selection for speckit workflow phases and
530
+ * pr-feedback (bound to `implement`). See `AgentsConfigSchema`.
531
+ */
532
+ agents: z.ZodOptional<z.ZodObject<{
533
+ default: z.ZodOptional<z.ZodObject<{
534
+ provider: z.ZodOptional<z.ZodString>;
535
+ model: z.ZodOptional<z.ZodString>;
536
+ }, "strip", z.ZodTypeAny, {
537
+ provider?: string | undefined;
538
+ model?: string | undefined;
539
+ }, {
540
+ provider?: string | undefined;
541
+ model?: string | undefined;
542
+ }>>;
543
+ workflows: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
544
+ default: z.ZodOptional<z.ZodObject<{
545
+ provider: z.ZodOptional<z.ZodString>;
546
+ model: z.ZodOptional<z.ZodString>;
547
+ }, "strip", z.ZodTypeAny, {
548
+ provider?: string | undefined;
549
+ model?: string | undefined;
550
+ }, {
551
+ provider?: string | undefined;
552
+ model?: string | undefined;
553
+ }>>;
554
+ phases: z.ZodOptional<z.ZodObject<{
555
+ specify: z.ZodOptional<z.ZodObject<{
556
+ provider: z.ZodOptional<z.ZodString>;
557
+ model: z.ZodOptional<z.ZodString>;
558
+ }, "strip", z.ZodTypeAny, {
559
+ provider?: string | undefined;
560
+ model?: string | undefined;
561
+ }, {
562
+ provider?: string | undefined;
563
+ model?: string | undefined;
564
+ }>>;
565
+ clarify: z.ZodOptional<z.ZodObject<{
566
+ provider: z.ZodOptional<z.ZodString>;
567
+ model: z.ZodOptional<z.ZodString>;
568
+ }, "strip", z.ZodTypeAny, {
569
+ provider?: string | undefined;
570
+ model?: string | undefined;
571
+ }, {
572
+ provider?: string | undefined;
573
+ model?: string | undefined;
574
+ }>>;
575
+ plan: z.ZodOptional<z.ZodObject<{
576
+ provider: z.ZodOptional<z.ZodString>;
577
+ model: z.ZodOptional<z.ZodString>;
578
+ }, "strip", z.ZodTypeAny, {
579
+ provider?: string | undefined;
580
+ model?: string | undefined;
581
+ }, {
582
+ provider?: string | undefined;
583
+ model?: string | undefined;
584
+ }>>;
585
+ tasks: z.ZodOptional<z.ZodObject<{
586
+ provider: z.ZodOptional<z.ZodString>;
587
+ model: z.ZodOptional<z.ZodString>;
588
+ }, "strip", z.ZodTypeAny, {
589
+ provider?: string | undefined;
590
+ model?: string | undefined;
591
+ }, {
592
+ provider?: string | undefined;
593
+ model?: string | undefined;
594
+ }>>;
595
+ implement: z.ZodOptional<z.ZodObject<{
596
+ provider: z.ZodOptional<z.ZodString>;
597
+ model: z.ZodOptional<z.ZodString>;
598
+ }, "strip", z.ZodTypeAny, {
599
+ provider?: string | undefined;
600
+ model?: string | undefined;
601
+ }, {
602
+ provider?: string | undefined;
603
+ model?: string | undefined;
604
+ }>>;
605
+ validate: z.ZodOptional<z.ZodObject<{
606
+ provider: z.ZodOptional<z.ZodString>;
607
+ model: z.ZodOptional<z.ZodString>;
608
+ }, "strip", z.ZodTypeAny, {
609
+ provider?: string | undefined;
610
+ model?: string | undefined;
611
+ }, {
612
+ provider?: string | undefined;
613
+ model?: string | undefined;
614
+ }>>;
615
+ }, "strip", z.ZodTypeAny, {
616
+ specify?: {
617
+ provider?: string | undefined;
618
+ model?: string | undefined;
619
+ } | undefined;
620
+ clarify?: {
621
+ provider?: string | undefined;
622
+ model?: string | undefined;
623
+ } | undefined;
624
+ plan?: {
625
+ provider?: string | undefined;
626
+ model?: string | undefined;
627
+ } | undefined;
628
+ tasks?: {
629
+ provider?: string | undefined;
630
+ model?: string | undefined;
631
+ } | undefined;
632
+ implement?: {
633
+ provider?: string | undefined;
634
+ model?: string | undefined;
635
+ } | undefined;
636
+ validate?: {
637
+ provider?: string | undefined;
638
+ model?: string | undefined;
639
+ } | undefined;
640
+ }, {
641
+ specify?: {
642
+ provider?: string | undefined;
643
+ model?: string | undefined;
644
+ } | undefined;
645
+ clarify?: {
646
+ provider?: string | undefined;
647
+ model?: string | undefined;
648
+ } | undefined;
649
+ plan?: {
650
+ provider?: string | undefined;
651
+ model?: string | undefined;
652
+ } | undefined;
653
+ tasks?: {
654
+ provider?: string | undefined;
655
+ model?: string | undefined;
656
+ } | undefined;
657
+ implement?: {
658
+ provider?: string | undefined;
659
+ model?: string | undefined;
660
+ } | undefined;
661
+ validate?: {
662
+ provider?: string | undefined;
663
+ model?: string | undefined;
664
+ } | undefined;
665
+ }>>;
666
+ }, "strip", z.ZodTypeAny, {
667
+ default?: {
668
+ provider?: string | undefined;
669
+ model?: string | undefined;
670
+ } | undefined;
671
+ phases?: {
672
+ specify?: {
673
+ provider?: string | undefined;
674
+ model?: string | undefined;
675
+ } | undefined;
676
+ clarify?: {
677
+ provider?: string | undefined;
678
+ model?: string | undefined;
679
+ } | undefined;
680
+ plan?: {
681
+ provider?: string | undefined;
682
+ model?: string | undefined;
683
+ } | undefined;
684
+ tasks?: {
685
+ provider?: string | undefined;
686
+ model?: string | undefined;
687
+ } | undefined;
688
+ implement?: {
689
+ provider?: string | undefined;
690
+ model?: string | undefined;
691
+ } | undefined;
692
+ validate?: {
693
+ provider?: string | undefined;
694
+ model?: string | undefined;
695
+ } | undefined;
696
+ } | undefined;
697
+ }, {
698
+ default?: {
699
+ provider?: string | undefined;
700
+ model?: string | undefined;
701
+ } | undefined;
702
+ phases?: {
703
+ specify?: {
704
+ provider?: string | undefined;
705
+ model?: string | undefined;
706
+ } | undefined;
707
+ clarify?: {
708
+ provider?: string | undefined;
709
+ model?: string | undefined;
710
+ } | undefined;
711
+ plan?: {
712
+ provider?: string | undefined;
713
+ model?: string | undefined;
714
+ } | undefined;
715
+ tasks?: {
716
+ provider?: string | undefined;
717
+ model?: string | undefined;
718
+ } | undefined;
719
+ implement?: {
720
+ provider?: string | undefined;
721
+ model?: string | undefined;
722
+ } | undefined;
723
+ validate?: {
724
+ provider?: string | undefined;
725
+ model?: string | undefined;
726
+ } | undefined;
727
+ } | undefined;
728
+ }>>>;
729
+ }, "strip", z.ZodTypeAny, {
730
+ default?: {
731
+ provider?: string | undefined;
732
+ model?: string | undefined;
733
+ } | undefined;
734
+ workflows?: Record<string, {
735
+ default?: {
736
+ provider?: string | undefined;
737
+ model?: string | undefined;
738
+ } | undefined;
739
+ phases?: {
740
+ specify?: {
741
+ provider?: string | undefined;
742
+ model?: string | undefined;
743
+ } | undefined;
744
+ clarify?: {
745
+ provider?: string | undefined;
746
+ model?: string | undefined;
747
+ } | undefined;
748
+ plan?: {
749
+ provider?: string | undefined;
750
+ model?: string | undefined;
751
+ } | undefined;
752
+ tasks?: {
753
+ provider?: string | undefined;
754
+ model?: string | undefined;
755
+ } | undefined;
756
+ implement?: {
757
+ provider?: string | undefined;
758
+ model?: string | undefined;
759
+ } | undefined;
760
+ validate?: {
761
+ provider?: string | undefined;
762
+ model?: string | undefined;
763
+ } | undefined;
764
+ } | undefined;
765
+ }> | undefined;
766
+ }, {
767
+ default?: {
768
+ provider?: string | undefined;
769
+ model?: string | undefined;
770
+ } | undefined;
771
+ workflows?: Record<string, {
772
+ default?: {
773
+ provider?: string | undefined;
774
+ model?: string | undefined;
775
+ } | undefined;
776
+ phases?: {
777
+ specify?: {
778
+ provider?: string | undefined;
779
+ model?: string | undefined;
780
+ } | undefined;
781
+ clarify?: {
782
+ provider?: string | undefined;
783
+ model?: string | undefined;
784
+ } | undefined;
785
+ plan?: {
786
+ provider?: string | undefined;
787
+ model?: string | undefined;
788
+ } | undefined;
789
+ tasks?: {
790
+ provider?: string | undefined;
791
+ model?: string | undefined;
792
+ } | undefined;
793
+ implement?: {
794
+ provider?: string | undefined;
795
+ model?: string | undefined;
796
+ } | undefined;
797
+ validate?: {
798
+ provider?: string | undefined;
799
+ model?: string | undefined;
800
+ } | undefined;
801
+ } | undefined;
802
+ }> | undefined;
803
+ }>>;
33
804
  }, "strip", z.ZodTypeAny, {
34
805
  labelMonitor?: boolean | undefined;
35
806
  webhookSetup?: boolean | undefined;
36
807
  smeeChannelUrl?: string | undefined;
37
808
  validateCommand?: string | undefined;
38
809
  preValidateCommand?: string | undefined;
810
+ agents?: {
811
+ default?: {
812
+ provider?: string | undefined;
813
+ model?: string | undefined;
814
+ } | undefined;
815
+ workflows?: Record<string, {
816
+ default?: {
817
+ provider?: string | undefined;
818
+ model?: string | undefined;
819
+ } | undefined;
820
+ phases?: {
821
+ specify?: {
822
+ provider?: string | undefined;
823
+ model?: string | undefined;
824
+ } | undefined;
825
+ clarify?: {
826
+ provider?: string | undefined;
827
+ model?: string | undefined;
828
+ } | undefined;
829
+ plan?: {
830
+ provider?: string | undefined;
831
+ model?: string | undefined;
832
+ } | undefined;
833
+ tasks?: {
834
+ provider?: string | undefined;
835
+ model?: string | undefined;
836
+ } | undefined;
837
+ implement?: {
838
+ provider?: string | undefined;
839
+ model?: string | undefined;
840
+ } | undefined;
841
+ validate?: {
842
+ provider?: string | undefined;
843
+ model?: string | undefined;
844
+ } | undefined;
845
+ } | undefined;
846
+ }> | undefined;
847
+ } | undefined;
39
848
  }, {
40
849
  labelMonitor?: boolean | undefined;
41
850
  webhookSetup?: boolean | undefined;
42
851
  smeeChannelUrl?: string | undefined;
43
852
  validateCommand?: string | undefined;
44
853
  preValidateCommand?: string | undefined;
854
+ agents?: {
855
+ default?: {
856
+ provider?: string | undefined;
857
+ model?: string | undefined;
858
+ } | undefined;
859
+ workflows?: Record<string, {
860
+ default?: {
861
+ provider?: string | undefined;
862
+ model?: string | undefined;
863
+ } | undefined;
864
+ phases?: {
865
+ specify?: {
866
+ provider?: string | undefined;
867
+ model?: string | undefined;
868
+ } | undefined;
869
+ clarify?: {
870
+ provider?: string | undefined;
871
+ model?: string | undefined;
872
+ } | undefined;
873
+ plan?: {
874
+ provider?: string | undefined;
875
+ model?: string | undefined;
876
+ } | undefined;
877
+ tasks?: {
878
+ provider?: string | undefined;
879
+ model?: string | undefined;
880
+ } | undefined;
881
+ implement?: {
882
+ provider?: string | undefined;
883
+ model?: string | undefined;
884
+ } | undefined;
885
+ validate?: {
886
+ provider?: string | undefined;
887
+ model?: string | undefined;
888
+ } | undefined;
889
+ } | undefined;
890
+ }> | undefined;
891
+ } | undefined;
45
892
  }>;
46
893
  export declare const TemplateConfigSchema: z.ZodObject<{
47
894
  project: z.ZodOptional<z.ZodObject<{
@@ -82,18 +929,370 @@ export declare const TemplateConfigSchema: z.ZodObject<{
82
929
  * `preValidateCommand` for jobs in this repo.
83
930
  */
84
931
  preValidateCommand: z.ZodOptional<z.ZodString>;
932
+ /**
933
+ * Per-repo `{ provider, model }` selection for speckit workflow phases and
934
+ * pr-feedback (bound to `implement`). See `AgentsConfigSchema`.
935
+ */
936
+ agents: z.ZodOptional<z.ZodObject<{
937
+ default: z.ZodOptional<z.ZodObject<{
938
+ provider: z.ZodOptional<z.ZodString>;
939
+ model: z.ZodOptional<z.ZodString>;
940
+ }, "strip", z.ZodTypeAny, {
941
+ provider?: string | undefined;
942
+ model?: string | undefined;
943
+ }, {
944
+ provider?: string | undefined;
945
+ model?: string | undefined;
946
+ }>>;
947
+ workflows: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
948
+ default: z.ZodOptional<z.ZodObject<{
949
+ provider: z.ZodOptional<z.ZodString>;
950
+ model: z.ZodOptional<z.ZodString>;
951
+ }, "strip", z.ZodTypeAny, {
952
+ provider?: string | undefined;
953
+ model?: string | undefined;
954
+ }, {
955
+ provider?: string | undefined;
956
+ model?: string | undefined;
957
+ }>>;
958
+ phases: z.ZodOptional<z.ZodObject<{
959
+ specify: z.ZodOptional<z.ZodObject<{
960
+ provider: z.ZodOptional<z.ZodString>;
961
+ model: z.ZodOptional<z.ZodString>;
962
+ }, "strip", z.ZodTypeAny, {
963
+ provider?: string | undefined;
964
+ model?: string | undefined;
965
+ }, {
966
+ provider?: string | undefined;
967
+ model?: string | undefined;
968
+ }>>;
969
+ clarify: z.ZodOptional<z.ZodObject<{
970
+ provider: z.ZodOptional<z.ZodString>;
971
+ model: z.ZodOptional<z.ZodString>;
972
+ }, "strip", z.ZodTypeAny, {
973
+ provider?: string | undefined;
974
+ model?: string | undefined;
975
+ }, {
976
+ provider?: string | undefined;
977
+ model?: string | undefined;
978
+ }>>;
979
+ plan: z.ZodOptional<z.ZodObject<{
980
+ provider: z.ZodOptional<z.ZodString>;
981
+ model: z.ZodOptional<z.ZodString>;
982
+ }, "strip", z.ZodTypeAny, {
983
+ provider?: string | undefined;
984
+ model?: string | undefined;
985
+ }, {
986
+ provider?: string | undefined;
987
+ model?: string | undefined;
988
+ }>>;
989
+ tasks: z.ZodOptional<z.ZodObject<{
990
+ provider: z.ZodOptional<z.ZodString>;
991
+ model: z.ZodOptional<z.ZodString>;
992
+ }, "strip", z.ZodTypeAny, {
993
+ provider?: string | undefined;
994
+ model?: string | undefined;
995
+ }, {
996
+ provider?: string | undefined;
997
+ model?: string | undefined;
998
+ }>>;
999
+ implement: z.ZodOptional<z.ZodObject<{
1000
+ provider: z.ZodOptional<z.ZodString>;
1001
+ model: z.ZodOptional<z.ZodString>;
1002
+ }, "strip", z.ZodTypeAny, {
1003
+ provider?: string | undefined;
1004
+ model?: string | undefined;
1005
+ }, {
1006
+ provider?: string | undefined;
1007
+ model?: string | undefined;
1008
+ }>>;
1009
+ validate: z.ZodOptional<z.ZodObject<{
1010
+ provider: z.ZodOptional<z.ZodString>;
1011
+ model: z.ZodOptional<z.ZodString>;
1012
+ }, "strip", z.ZodTypeAny, {
1013
+ provider?: string | undefined;
1014
+ model?: string | undefined;
1015
+ }, {
1016
+ provider?: string | undefined;
1017
+ model?: string | undefined;
1018
+ }>>;
1019
+ }, "strip", z.ZodTypeAny, {
1020
+ specify?: {
1021
+ provider?: string | undefined;
1022
+ model?: string | undefined;
1023
+ } | undefined;
1024
+ clarify?: {
1025
+ provider?: string | undefined;
1026
+ model?: string | undefined;
1027
+ } | undefined;
1028
+ plan?: {
1029
+ provider?: string | undefined;
1030
+ model?: string | undefined;
1031
+ } | undefined;
1032
+ tasks?: {
1033
+ provider?: string | undefined;
1034
+ model?: string | undefined;
1035
+ } | undefined;
1036
+ implement?: {
1037
+ provider?: string | undefined;
1038
+ model?: string | undefined;
1039
+ } | undefined;
1040
+ validate?: {
1041
+ provider?: string | undefined;
1042
+ model?: string | undefined;
1043
+ } | undefined;
1044
+ }, {
1045
+ specify?: {
1046
+ provider?: string | undefined;
1047
+ model?: string | undefined;
1048
+ } | undefined;
1049
+ clarify?: {
1050
+ provider?: string | undefined;
1051
+ model?: string | undefined;
1052
+ } | undefined;
1053
+ plan?: {
1054
+ provider?: string | undefined;
1055
+ model?: string | undefined;
1056
+ } | undefined;
1057
+ tasks?: {
1058
+ provider?: string | undefined;
1059
+ model?: string | undefined;
1060
+ } | undefined;
1061
+ implement?: {
1062
+ provider?: string | undefined;
1063
+ model?: string | undefined;
1064
+ } | undefined;
1065
+ validate?: {
1066
+ provider?: string | undefined;
1067
+ model?: string | undefined;
1068
+ } | undefined;
1069
+ }>>;
1070
+ }, "strip", z.ZodTypeAny, {
1071
+ default?: {
1072
+ provider?: string | undefined;
1073
+ model?: string | undefined;
1074
+ } | undefined;
1075
+ phases?: {
1076
+ specify?: {
1077
+ provider?: string | undefined;
1078
+ model?: string | undefined;
1079
+ } | undefined;
1080
+ clarify?: {
1081
+ provider?: string | undefined;
1082
+ model?: string | undefined;
1083
+ } | undefined;
1084
+ plan?: {
1085
+ provider?: string | undefined;
1086
+ model?: string | undefined;
1087
+ } | undefined;
1088
+ tasks?: {
1089
+ provider?: string | undefined;
1090
+ model?: string | undefined;
1091
+ } | undefined;
1092
+ implement?: {
1093
+ provider?: string | undefined;
1094
+ model?: string | undefined;
1095
+ } | undefined;
1096
+ validate?: {
1097
+ provider?: string | undefined;
1098
+ model?: string | undefined;
1099
+ } | undefined;
1100
+ } | undefined;
1101
+ }, {
1102
+ default?: {
1103
+ provider?: string | undefined;
1104
+ model?: string | undefined;
1105
+ } | undefined;
1106
+ phases?: {
1107
+ specify?: {
1108
+ provider?: string | undefined;
1109
+ model?: string | undefined;
1110
+ } | undefined;
1111
+ clarify?: {
1112
+ provider?: string | undefined;
1113
+ model?: string | undefined;
1114
+ } | undefined;
1115
+ plan?: {
1116
+ provider?: string | undefined;
1117
+ model?: string | undefined;
1118
+ } | undefined;
1119
+ tasks?: {
1120
+ provider?: string | undefined;
1121
+ model?: string | undefined;
1122
+ } | undefined;
1123
+ implement?: {
1124
+ provider?: string | undefined;
1125
+ model?: string | undefined;
1126
+ } | undefined;
1127
+ validate?: {
1128
+ provider?: string | undefined;
1129
+ model?: string | undefined;
1130
+ } | undefined;
1131
+ } | undefined;
1132
+ }>>>;
1133
+ }, "strip", z.ZodTypeAny, {
1134
+ default?: {
1135
+ provider?: string | undefined;
1136
+ model?: string | undefined;
1137
+ } | undefined;
1138
+ workflows?: Record<string, {
1139
+ default?: {
1140
+ provider?: string | undefined;
1141
+ model?: string | undefined;
1142
+ } | undefined;
1143
+ phases?: {
1144
+ specify?: {
1145
+ provider?: string | undefined;
1146
+ model?: string | undefined;
1147
+ } | undefined;
1148
+ clarify?: {
1149
+ provider?: string | undefined;
1150
+ model?: string | undefined;
1151
+ } | undefined;
1152
+ plan?: {
1153
+ provider?: string | undefined;
1154
+ model?: string | undefined;
1155
+ } | undefined;
1156
+ tasks?: {
1157
+ provider?: string | undefined;
1158
+ model?: string | undefined;
1159
+ } | undefined;
1160
+ implement?: {
1161
+ provider?: string | undefined;
1162
+ model?: string | undefined;
1163
+ } | undefined;
1164
+ validate?: {
1165
+ provider?: string | undefined;
1166
+ model?: string | undefined;
1167
+ } | undefined;
1168
+ } | undefined;
1169
+ }> | undefined;
1170
+ }, {
1171
+ default?: {
1172
+ provider?: string | undefined;
1173
+ model?: string | undefined;
1174
+ } | undefined;
1175
+ workflows?: Record<string, {
1176
+ default?: {
1177
+ provider?: string | undefined;
1178
+ model?: string | undefined;
1179
+ } | undefined;
1180
+ phases?: {
1181
+ specify?: {
1182
+ provider?: string | undefined;
1183
+ model?: string | undefined;
1184
+ } | undefined;
1185
+ clarify?: {
1186
+ provider?: string | undefined;
1187
+ model?: string | undefined;
1188
+ } | undefined;
1189
+ plan?: {
1190
+ provider?: string | undefined;
1191
+ model?: string | undefined;
1192
+ } | undefined;
1193
+ tasks?: {
1194
+ provider?: string | undefined;
1195
+ model?: string | undefined;
1196
+ } | undefined;
1197
+ implement?: {
1198
+ provider?: string | undefined;
1199
+ model?: string | undefined;
1200
+ } | undefined;
1201
+ validate?: {
1202
+ provider?: string | undefined;
1203
+ model?: string | undefined;
1204
+ } | undefined;
1205
+ } | undefined;
1206
+ }> | undefined;
1207
+ }>>;
85
1208
  }, "strip", z.ZodTypeAny, {
86
1209
  labelMonitor?: boolean | undefined;
87
1210
  webhookSetup?: boolean | undefined;
88
1211
  smeeChannelUrl?: string | undefined;
89
1212
  validateCommand?: string | undefined;
90
1213
  preValidateCommand?: string | undefined;
1214
+ agents?: {
1215
+ default?: {
1216
+ provider?: string | undefined;
1217
+ model?: string | undefined;
1218
+ } | undefined;
1219
+ workflows?: Record<string, {
1220
+ default?: {
1221
+ provider?: string | undefined;
1222
+ model?: string | undefined;
1223
+ } | undefined;
1224
+ phases?: {
1225
+ specify?: {
1226
+ provider?: string | undefined;
1227
+ model?: string | undefined;
1228
+ } | undefined;
1229
+ clarify?: {
1230
+ provider?: string | undefined;
1231
+ model?: string | undefined;
1232
+ } | undefined;
1233
+ plan?: {
1234
+ provider?: string | undefined;
1235
+ model?: string | undefined;
1236
+ } | undefined;
1237
+ tasks?: {
1238
+ provider?: string | undefined;
1239
+ model?: string | undefined;
1240
+ } | undefined;
1241
+ implement?: {
1242
+ provider?: string | undefined;
1243
+ model?: string | undefined;
1244
+ } | undefined;
1245
+ validate?: {
1246
+ provider?: string | undefined;
1247
+ model?: string | undefined;
1248
+ } | undefined;
1249
+ } | undefined;
1250
+ }> | undefined;
1251
+ } | undefined;
91
1252
  }, {
92
1253
  labelMonitor?: boolean | undefined;
93
1254
  webhookSetup?: boolean | undefined;
94
1255
  smeeChannelUrl?: string | undefined;
95
1256
  validateCommand?: string | undefined;
96
1257
  preValidateCommand?: string | undefined;
1258
+ agents?: {
1259
+ default?: {
1260
+ provider?: string | undefined;
1261
+ model?: string | undefined;
1262
+ } | undefined;
1263
+ workflows?: Record<string, {
1264
+ default?: {
1265
+ provider?: string | undefined;
1266
+ model?: string | undefined;
1267
+ } | undefined;
1268
+ phases?: {
1269
+ specify?: {
1270
+ provider?: string | undefined;
1271
+ model?: string | undefined;
1272
+ } | undefined;
1273
+ clarify?: {
1274
+ provider?: string | undefined;
1275
+ model?: string | undefined;
1276
+ } | undefined;
1277
+ plan?: {
1278
+ provider?: string | undefined;
1279
+ model?: string | undefined;
1280
+ } | undefined;
1281
+ tasks?: {
1282
+ provider?: string | undefined;
1283
+ model?: string | undefined;
1284
+ } | undefined;
1285
+ implement?: {
1286
+ provider?: string | undefined;
1287
+ model?: string | undefined;
1288
+ } | undefined;
1289
+ validate?: {
1290
+ provider?: string | undefined;
1291
+ model?: string | undefined;
1292
+ } | undefined;
1293
+ } | undefined;
1294
+ }> | undefined;
1295
+ } | undefined;
97
1296
  }>>;
98
1297
  }, "strip", z.ZodTypeAny, {
99
1298
  repos: {
@@ -110,6 +1309,44 @@ export declare const TemplateConfigSchema: z.ZodObject<{
110
1309
  smeeChannelUrl?: string | undefined;
111
1310
  validateCommand?: string | undefined;
112
1311
  preValidateCommand?: string | undefined;
1312
+ agents?: {
1313
+ default?: {
1314
+ provider?: string | undefined;
1315
+ model?: string | undefined;
1316
+ } | undefined;
1317
+ workflows?: Record<string, {
1318
+ default?: {
1319
+ provider?: string | undefined;
1320
+ model?: string | undefined;
1321
+ } | undefined;
1322
+ phases?: {
1323
+ specify?: {
1324
+ provider?: string | undefined;
1325
+ model?: string | undefined;
1326
+ } | undefined;
1327
+ clarify?: {
1328
+ provider?: string | undefined;
1329
+ model?: string | undefined;
1330
+ } | undefined;
1331
+ plan?: {
1332
+ provider?: string | undefined;
1333
+ model?: string | undefined;
1334
+ } | undefined;
1335
+ tasks?: {
1336
+ provider?: string | undefined;
1337
+ model?: string | undefined;
1338
+ } | undefined;
1339
+ implement?: {
1340
+ provider?: string | undefined;
1341
+ model?: string | undefined;
1342
+ } | undefined;
1343
+ validate?: {
1344
+ provider?: string | undefined;
1345
+ model?: string | undefined;
1346
+ } | undefined;
1347
+ } | undefined;
1348
+ }> | undefined;
1349
+ } | undefined;
113
1350
  } | undefined;
114
1351
  }, {
115
1352
  repos: {
@@ -126,6 +1363,44 @@ export declare const TemplateConfigSchema: z.ZodObject<{
126
1363
  smeeChannelUrl?: string | undefined;
127
1364
  validateCommand?: string | undefined;
128
1365
  preValidateCommand?: string | undefined;
1366
+ agents?: {
1367
+ default?: {
1368
+ provider?: string | undefined;
1369
+ model?: string | undefined;
1370
+ } | undefined;
1371
+ workflows?: Record<string, {
1372
+ default?: {
1373
+ provider?: string | undefined;
1374
+ model?: string | undefined;
1375
+ } | undefined;
1376
+ phases?: {
1377
+ specify?: {
1378
+ provider?: string | undefined;
1379
+ model?: string | undefined;
1380
+ } | undefined;
1381
+ clarify?: {
1382
+ provider?: string | undefined;
1383
+ model?: string | undefined;
1384
+ } | undefined;
1385
+ plan?: {
1386
+ provider?: string | undefined;
1387
+ model?: string | undefined;
1388
+ } | undefined;
1389
+ tasks?: {
1390
+ provider?: string | undefined;
1391
+ model?: string | undefined;
1392
+ } | undefined;
1393
+ implement?: {
1394
+ provider?: string | undefined;
1395
+ model?: string | undefined;
1396
+ } | undefined;
1397
+ validate?: {
1398
+ provider?: string | undefined;
1399
+ model?: string | undefined;
1400
+ } | undefined;
1401
+ } | undefined;
1402
+ }> | undefined;
1403
+ } | undefined;
129
1404
  } | undefined;
130
1405
  }>;
131
1406
  export type TemplateConfig = z.infer<typeof TemplateConfigSchema>;