acpus 0.0.1

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,2042 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "string",
7
+ "const": "acpus.workflow/v1"
8
+ },
9
+ "name": {
10
+ "type": "string",
11
+ "minLength": 1
12
+ },
13
+ "description": {
14
+ "default": "",
15
+ "type": "string"
16
+ },
17
+ "root": {
18
+ "type": "string",
19
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
20
+ },
21
+ "inputs": {
22
+ "default": {},
23
+ "type": "object",
24
+ "propertyNames": {
25
+ "type": "string"
26
+ },
27
+ "additionalProperties": {
28
+ "type": "object",
29
+ "properties": {
30
+ "type": {
31
+ "type": "string",
32
+ "enum": [
33
+ "string",
34
+ "number",
35
+ "boolean",
36
+ "path",
37
+ "glob",
38
+ "json",
39
+ "array<string>",
40
+ "array<path>",
41
+ "array<json>"
42
+ ]
43
+ },
44
+ "default": {},
45
+ "description": {
46
+ "type": "string"
47
+ }
48
+ },
49
+ "required": [
50
+ "type"
51
+ ],
52
+ "additionalProperties": false
53
+ }
54
+ },
55
+ "roles": {
56
+ "type": "object",
57
+ "propertyNames": {
58
+ "type": "string"
59
+ },
60
+ "additionalProperties": {
61
+ "type": "object",
62
+ "properties": {
63
+ "category": {
64
+ "type": "string",
65
+ "enum": [
66
+ "planning",
67
+ "implementation",
68
+ "validation",
69
+ "review",
70
+ "research",
71
+ "summarization",
72
+ "coordination"
73
+ ]
74
+ },
75
+ "agent": {
76
+ "type": "string",
77
+ "minLength": 1
78
+ },
79
+ "mode": {
80
+ "type": "string",
81
+ "enum": [
82
+ "denyAll",
83
+ "readOnly",
84
+ "edit"
85
+ ]
86
+ }
87
+ },
88
+ "required": [
89
+ "category",
90
+ "agent",
91
+ "mode"
92
+ ],
93
+ "additionalProperties": false
94
+ }
95
+ },
96
+ "limits": {
97
+ "default": {},
98
+ "type": "object",
99
+ "properties": {
100
+ "stageTimeoutMinutes": {
101
+ "type": "integer",
102
+ "exclusiveMinimum": 0,
103
+ "maximum": 9007199254740991
104
+ }
105
+ },
106
+ "additionalProperties": false
107
+ },
108
+ "stages": {
109
+ "minItems": 1,
110
+ "type": "array",
111
+ "items": {
112
+ "oneOf": [
113
+ {
114
+ "type": "object",
115
+ "properties": {
116
+ "id": {
117
+ "type": "string",
118
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
119
+ },
120
+ "dependsOn": {
121
+ "type": "array",
122
+ "items": {
123
+ "type": "string",
124
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
125
+ }
126
+ },
127
+ "variables": {
128
+ "type": "array",
129
+ "items": {
130
+ "type": "object",
131
+ "properties": {
132
+ "name": {
133
+ "type": "string",
134
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
135
+ },
136
+ "source": {
137
+ "type": "string",
138
+ "minLength": 1
139
+ },
140
+ "transform": {
141
+ "type": "array",
142
+ "items": {
143
+ "type": "object",
144
+ "properties": {
145
+ "fn": {
146
+ "type": "string",
147
+ "enum": [
148
+ "compact",
149
+ "tail",
150
+ "json",
151
+ "quoteBlock",
152
+ "pathList",
153
+ "filterSeverity",
154
+ "severitySummary",
155
+ "join",
156
+ "default"
157
+ ]
158
+ },
159
+ "args": {
160
+ "type": "object",
161
+ "propertyNames": {
162
+ "type": "string"
163
+ },
164
+ "additionalProperties": {}
165
+ }
166
+ },
167
+ "required": [
168
+ "fn"
169
+ ],
170
+ "additionalProperties": false
171
+ }
172
+ }
173
+ },
174
+ "required": [
175
+ "name",
176
+ "source"
177
+ ],
178
+ "additionalProperties": false
179
+ }
180
+ },
181
+ "prompt": {
182
+ "type": "string",
183
+ "minLength": 1
184
+ },
185
+ "limits": {
186
+ "type": "object",
187
+ "properties": {
188
+ "maxConcurrency": {
189
+ "type": "integer",
190
+ "exclusiveMinimum": 0,
191
+ "maximum": 9007199254740991
192
+ },
193
+ "maxFanoutItems": {
194
+ "type": "integer",
195
+ "exclusiveMinimum": 0,
196
+ "maximum": 9007199254740991
197
+ },
198
+ "stageTimeoutMinutes": {
199
+ "type": "integer",
200
+ "exclusiveMinimum": 0,
201
+ "maximum": 9007199254740991
202
+ }
203
+ },
204
+ "additionalProperties": false
205
+ },
206
+ "kind": {
207
+ "type": "string",
208
+ "const": "agentTask"
209
+ },
210
+ "role": {
211
+ "type": "string",
212
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
213
+ }
214
+ },
215
+ "required": [
216
+ "id",
217
+ "prompt",
218
+ "kind",
219
+ "role"
220
+ ],
221
+ "additionalProperties": false
222
+ },
223
+ {
224
+ "type": "object",
225
+ "properties": {
226
+ "id": {
227
+ "type": "string",
228
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
229
+ },
230
+ "dependsOn": {
231
+ "type": "array",
232
+ "items": {
233
+ "type": "string",
234
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
235
+ }
236
+ },
237
+ "variables": {
238
+ "type": "array",
239
+ "items": {
240
+ "type": "object",
241
+ "properties": {
242
+ "name": {
243
+ "type": "string",
244
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
245
+ },
246
+ "source": {
247
+ "type": "string",
248
+ "minLength": 1
249
+ },
250
+ "transform": {
251
+ "type": "array",
252
+ "items": {
253
+ "type": "object",
254
+ "properties": {
255
+ "fn": {
256
+ "type": "string",
257
+ "enum": [
258
+ "compact",
259
+ "tail",
260
+ "json",
261
+ "quoteBlock",
262
+ "pathList",
263
+ "filterSeverity",
264
+ "severitySummary",
265
+ "join",
266
+ "default"
267
+ ]
268
+ },
269
+ "args": {
270
+ "type": "object",
271
+ "propertyNames": {
272
+ "type": "string"
273
+ },
274
+ "additionalProperties": {}
275
+ }
276
+ },
277
+ "required": [
278
+ "fn"
279
+ ],
280
+ "additionalProperties": false
281
+ }
282
+ }
283
+ },
284
+ "required": [
285
+ "name",
286
+ "source"
287
+ ],
288
+ "additionalProperties": false
289
+ }
290
+ },
291
+ "prompt": {
292
+ "type": "string"
293
+ },
294
+ "limits": {
295
+ "type": "object",
296
+ "properties": {
297
+ "maxConcurrency": {
298
+ "type": "integer",
299
+ "exclusiveMinimum": 0,
300
+ "maximum": 9007199254740991
301
+ },
302
+ "maxFanoutItems": {
303
+ "type": "integer",
304
+ "exclusiveMinimum": 0,
305
+ "maximum": 9007199254740991
306
+ },
307
+ "stageTimeoutMinutes": {
308
+ "type": "integer",
309
+ "exclusiveMinimum": 0,
310
+ "maximum": 9007199254740991
311
+ }
312
+ },
313
+ "additionalProperties": false
314
+ },
315
+ "kind": {
316
+ "type": "string",
317
+ "const": "discover"
318
+ },
319
+ "method": {
320
+ "type": "string",
321
+ "enum": [
322
+ "gitChangedFiles",
323
+ "glob",
324
+ "agent"
325
+ ]
326
+ },
327
+ "args": {
328
+ "type": "object",
329
+ "propertyNames": {
330
+ "type": "string"
331
+ },
332
+ "additionalProperties": {}
333
+ },
334
+ "output": {
335
+ "default": "items",
336
+ "type": "string"
337
+ },
338
+ "role": {
339
+ "type": "string",
340
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
341
+ }
342
+ },
343
+ "required": [
344
+ "id",
345
+ "kind",
346
+ "method"
347
+ ],
348
+ "additionalProperties": false
349
+ },
350
+ {
351
+ "type": "object",
352
+ "properties": {
353
+ "id": {
354
+ "type": "string",
355
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
356
+ },
357
+ "dependsOn": {
358
+ "type": "array",
359
+ "items": {
360
+ "type": "string",
361
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
362
+ }
363
+ },
364
+ "variables": {
365
+ "type": "array",
366
+ "items": {
367
+ "type": "object",
368
+ "properties": {
369
+ "name": {
370
+ "type": "string",
371
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
372
+ },
373
+ "source": {
374
+ "type": "string",
375
+ "minLength": 1
376
+ },
377
+ "transform": {
378
+ "type": "array",
379
+ "items": {
380
+ "type": "object",
381
+ "properties": {
382
+ "fn": {
383
+ "type": "string",
384
+ "enum": [
385
+ "compact",
386
+ "tail",
387
+ "json",
388
+ "quoteBlock",
389
+ "pathList",
390
+ "filterSeverity",
391
+ "severitySummary",
392
+ "join",
393
+ "default"
394
+ ]
395
+ },
396
+ "args": {
397
+ "type": "object",
398
+ "propertyNames": {
399
+ "type": "string"
400
+ },
401
+ "additionalProperties": {}
402
+ }
403
+ },
404
+ "required": [
405
+ "fn"
406
+ ],
407
+ "additionalProperties": false
408
+ }
409
+ }
410
+ },
411
+ "required": [
412
+ "name",
413
+ "source"
414
+ ],
415
+ "additionalProperties": false
416
+ }
417
+ },
418
+ "prompt": {
419
+ "type": "string",
420
+ "minLength": 1
421
+ },
422
+ "limits": {
423
+ "type": "object",
424
+ "properties": {
425
+ "maxConcurrency": {
426
+ "type": "integer",
427
+ "exclusiveMinimum": 0,
428
+ "maximum": 9007199254740991
429
+ },
430
+ "maxFanoutItems": {
431
+ "type": "integer",
432
+ "exclusiveMinimum": 0,
433
+ "maximum": 9007199254740991
434
+ },
435
+ "stageTimeoutMinutes": {
436
+ "type": "integer",
437
+ "exclusiveMinimum": 0,
438
+ "maximum": 9007199254740991
439
+ }
440
+ },
441
+ "additionalProperties": false
442
+ },
443
+ "kind": {
444
+ "type": "string",
445
+ "const": "fanout"
446
+ },
447
+ "items": {
448
+ "type": "object",
449
+ "properties": {
450
+ "source": {
451
+ "type": "string",
452
+ "minLength": 1
453
+ }
454
+ },
455
+ "required": [
456
+ "source"
457
+ ],
458
+ "additionalProperties": false
459
+ },
460
+ "laneGroups": {
461
+ "minItems": 1,
462
+ "type": "array",
463
+ "items": {
464
+ "type": "object",
465
+ "properties": {
466
+ "id": {
467
+ "type": "string",
468
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
469
+ },
470
+ "mode": {
471
+ "type": "string",
472
+ "enum": [
473
+ "all",
474
+ "oneOf"
475
+ ]
476
+ },
477
+ "lanes": {
478
+ "minItems": 1,
479
+ "type": "array",
480
+ "items": {
481
+ "type": "object",
482
+ "properties": {
483
+ "id": {
484
+ "type": "string",
485
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
486
+ },
487
+ "role": {
488
+ "type": "string",
489
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
490
+ },
491
+ "prompt": {
492
+ "type": "string",
493
+ "minLength": 1
494
+ },
495
+ "when": {
496
+ "$ref": "#/$defs/__schema0"
497
+ },
498
+ "default": {
499
+ "type": "boolean"
500
+ }
501
+ },
502
+ "required": [
503
+ "id",
504
+ "role"
505
+ ],
506
+ "additionalProperties": false
507
+ }
508
+ }
509
+ },
510
+ "required": [
511
+ "id",
512
+ "mode",
513
+ "lanes"
514
+ ],
515
+ "additionalProperties": false
516
+ }
517
+ },
518
+ "fanoutPolicy": {
519
+ "type": "object",
520
+ "properties": {
521
+ "allowPartial": {
522
+ "default": false,
523
+ "type": "boolean"
524
+ },
525
+ "minCompletedRatio": {
526
+ "type": "number",
527
+ "minimum": 0,
528
+ "maximum": 1
529
+ },
530
+ "maxBlockedItems": {
531
+ "type": "integer",
532
+ "minimum": 0,
533
+ "maximum": 9007199254740991
534
+ }
535
+ },
536
+ "additionalProperties": false
537
+ }
538
+ },
539
+ "required": [
540
+ "id",
541
+ "kind",
542
+ "items",
543
+ "laneGroups"
544
+ ],
545
+ "additionalProperties": false
546
+ },
547
+ {
548
+ "type": "object",
549
+ "properties": {
550
+ "id": {
551
+ "type": "string",
552
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
553
+ },
554
+ "dependsOn": {
555
+ "type": "array",
556
+ "items": {
557
+ "type": "string",
558
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
559
+ }
560
+ },
561
+ "variables": {
562
+ "type": "array",
563
+ "items": {
564
+ "type": "object",
565
+ "properties": {
566
+ "name": {
567
+ "type": "string",
568
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
569
+ },
570
+ "source": {
571
+ "type": "string",
572
+ "minLength": 1
573
+ },
574
+ "transform": {
575
+ "type": "array",
576
+ "items": {
577
+ "type": "object",
578
+ "properties": {
579
+ "fn": {
580
+ "type": "string",
581
+ "enum": [
582
+ "compact",
583
+ "tail",
584
+ "json",
585
+ "quoteBlock",
586
+ "pathList",
587
+ "filterSeverity",
588
+ "severitySummary",
589
+ "join",
590
+ "default"
591
+ ]
592
+ },
593
+ "args": {
594
+ "type": "object",
595
+ "propertyNames": {
596
+ "type": "string"
597
+ },
598
+ "additionalProperties": {}
599
+ }
600
+ },
601
+ "required": [
602
+ "fn"
603
+ ],
604
+ "additionalProperties": false
605
+ }
606
+ }
607
+ },
608
+ "required": [
609
+ "name",
610
+ "source"
611
+ ],
612
+ "additionalProperties": false
613
+ }
614
+ },
615
+ "prompt": {
616
+ "type": "string"
617
+ },
618
+ "limits": {
619
+ "type": "object",
620
+ "properties": {
621
+ "maxConcurrency": {
622
+ "type": "integer",
623
+ "exclusiveMinimum": 0,
624
+ "maximum": 9007199254740991
625
+ },
626
+ "maxFanoutItems": {
627
+ "type": "integer",
628
+ "exclusiveMinimum": 0,
629
+ "maximum": 9007199254740991
630
+ },
631
+ "stageTimeoutMinutes": {
632
+ "type": "integer",
633
+ "exclusiveMinimum": 0,
634
+ "maximum": 9007199254740991
635
+ }
636
+ },
637
+ "additionalProperties": false
638
+ },
639
+ "kind": {
640
+ "type": "string",
641
+ "const": "reduce"
642
+ },
643
+ "mode": {
644
+ "default": "agent",
645
+ "type": "string",
646
+ "enum": [
647
+ "agent",
648
+ "program"
649
+ ]
650
+ },
651
+ "from": {
652
+ "type": "string",
653
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
654
+ },
655
+ "role": {
656
+ "type": "string",
657
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
658
+ },
659
+ "operation": {
660
+ "type": "string",
661
+ "enum": [
662
+ "mergeArrays",
663
+ "severitySummary",
664
+ "dedupeFindings",
665
+ "sortBySeverity"
666
+ ]
667
+ }
668
+ },
669
+ "required": [
670
+ "id",
671
+ "kind",
672
+ "from"
673
+ ],
674
+ "additionalProperties": false
675
+ },
676
+ {
677
+ "type": "object",
678
+ "properties": {
679
+ "id": {
680
+ "type": "string",
681
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
682
+ },
683
+ "dependsOn": {
684
+ "type": "array",
685
+ "items": {
686
+ "type": "string",
687
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
688
+ }
689
+ },
690
+ "variables": {
691
+ "type": "array",
692
+ "items": {
693
+ "type": "object",
694
+ "properties": {
695
+ "name": {
696
+ "type": "string",
697
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
698
+ },
699
+ "source": {
700
+ "type": "string",
701
+ "minLength": 1
702
+ },
703
+ "transform": {
704
+ "type": "array",
705
+ "items": {
706
+ "type": "object",
707
+ "properties": {
708
+ "fn": {
709
+ "type": "string",
710
+ "enum": [
711
+ "compact",
712
+ "tail",
713
+ "json",
714
+ "quoteBlock",
715
+ "pathList",
716
+ "filterSeverity",
717
+ "severitySummary",
718
+ "join",
719
+ "default"
720
+ ]
721
+ },
722
+ "args": {
723
+ "type": "object",
724
+ "propertyNames": {
725
+ "type": "string"
726
+ },
727
+ "additionalProperties": {}
728
+ }
729
+ },
730
+ "required": [
731
+ "fn"
732
+ ],
733
+ "additionalProperties": false
734
+ }
735
+ }
736
+ },
737
+ "required": [
738
+ "name",
739
+ "source"
740
+ ],
741
+ "additionalProperties": false
742
+ }
743
+ },
744
+ "prompt": {
745
+ "type": "string"
746
+ },
747
+ "limits": {
748
+ "type": "object",
749
+ "properties": {
750
+ "maxConcurrency": {
751
+ "type": "integer",
752
+ "exclusiveMinimum": 0,
753
+ "maximum": 9007199254740991
754
+ },
755
+ "maxFanoutItems": {
756
+ "type": "integer",
757
+ "exclusiveMinimum": 0,
758
+ "maximum": 9007199254740991
759
+ },
760
+ "stageTimeoutMinutes": {
761
+ "type": "integer",
762
+ "exclusiveMinimum": 0,
763
+ "maximum": 9007199254740991
764
+ }
765
+ },
766
+ "additionalProperties": false
767
+ },
768
+ "kind": {
769
+ "type": "string",
770
+ "const": "loop"
771
+ },
772
+ "maxRounds": {
773
+ "type": "integer",
774
+ "exclusiveMinimum": 0,
775
+ "maximum": 9007199254740991
776
+ },
777
+ "body": {
778
+ "type": "object",
779
+ "properties": {
780
+ "root": {
781
+ "type": "string",
782
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
783
+ },
784
+ "output": {
785
+ "type": "string",
786
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
787
+ },
788
+ "stages": {
789
+ "minItems": 1,
790
+ "type": "array",
791
+ "items": {
792
+ "oneOf": [
793
+ {
794
+ "type": "object",
795
+ "properties": {
796
+ "id": {
797
+ "type": "string",
798
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
799
+ },
800
+ "dependsOn": {
801
+ "type": "array",
802
+ "items": {
803
+ "type": "string",
804
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
805
+ }
806
+ },
807
+ "variables": {
808
+ "type": "array",
809
+ "items": {
810
+ "type": "object",
811
+ "properties": {
812
+ "name": {
813
+ "type": "string",
814
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
815
+ },
816
+ "source": {
817
+ "type": "string",
818
+ "minLength": 1
819
+ },
820
+ "transform": {
821
+ "type": "array",
822
+ "items": {
823
+ "type": "object",
824
+ "properties": {
825
+ "fn": {
826
+ "type": "string",
827
+ "enum": [
828
+ "compact",
829
+ "tail",
830
+ "json",
831
+ "quoteBlock",
832
+ "pathList",
833
+ "filterSeverity",
834
+ "severitySummary",
835
+ "join",
836
+ "default"
837
+ ]
838
+ },
839
+ "args": {
840
+ "type": "object",
841
+ "propertyNames": {
842
+ "type": "string"
843
+ },
844
+ "additionalProperties": {}
845
+ }
846
+ },
847
+ "required": [
848
+ "fn"
849
+ ],
850
+ "additionalProperties": false
851
+ }
852
+ }
853
+ },
854
+ "required": [
855
+ "name",
856
+ "source"
857
+ ],
858
+ "additionalProperties": false
859
+ }
860
+ },
861
+ "prompt": {
862
+ "type": "string",
863
+ "minLength": 1
864
+ },
865
+ "limits": {
866
+ "type": "object",
867
+ "properties": {
868
+ "maxConcurrency": {
869
+ "type": "integer",
870
+ "exclusiveMinimum": 0,
871
+ "maximum": 9007199254740991
872
+ },
873
+ "maxFanoutItems": {
874
+ "type": "integer",
875
+ "exclusiveMinimum": 0,
876
+ "maximum": 9007199254740991
877
+ },
878
+ "stageTimeoutMinutes": {
879
+ "type": "integer",
880
+ "exclusiveMinimum": 0,
881
+ "maximum": 9007199254740991
882
+ }
883
+ },
884
+ "additionalProperties": false
885
+ },
886
+ "kind": {
887
+ "type": "string",
888
+ "const": "agentTask"
889
+ },
890
+ "role": {
891
+ "type": "string",
892
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
893
+ }
894
+ },
895
+ "required": [
896
+ "id",
897
+ "prompt",
898
+ "kind",
899
+ "role"
900
+ ],
901
+ "additionalProperties": false
902
+ },
903
+ {
904
+ "type": "object",
905
+ "properties": {
906
+ "id": {
907
+ "type": "string",
908
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
909
+ },
910
+ "dependsOn": {
911
+ "type": "array",
912
+ "items": {
913
+ "type": "string",
914
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
915
+ }
916
+ },
917
+ "variables": {
918
+ "type": "array",
919
+ "items": {
920
+ "type": "object",
921
+ "properties": {
922
+ "name": {
923
+ "type": "string",
924
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
925
+ },
926
+ "source": {
927
+ "type": "string",
928
+ "minLength": 1
929
+ },
930
+ "transform": {
931
+ "type": "array",
932
+ "items": {
933
+ "type": "object",
934
+ "properties": {
935
+ "fn": {
936
+ "type": "string",
937
+ "enum": [
938
+ "compact",
939
+ "tail",
940
+ "json",
941
+ "quoteBlock",
942
+ "pathList",
943
+ "filterSeverity",
944
+ "severitySummary",
945
+ "join",
946
+ "default"
947
+ ]
948
+ },
949
+ "args": {
950
+ "type": "object",
951
+ "propertyNames": {
952
+ "type": "string"
953
+ },
954
+ "additionalProperties": {}
955
+ }
956
+ },
957
+ "required": [
958
+ "fn"
959
+ ],
960
+ "additionalProperties": false
961
+ }
962
+ }
963
+ },
964
+ "required": [
965
+ "name",
966
+ "source"
967
+ ],
968
+ "additionalProperties": false
969
+ }
970
+ },
971
+ "prompt": {
972
+ "type": "string"
973
+ },
974
+ "limits": {
975
+ "type": "object",
976
+ "properties": {
977
+ "maxConcurrency": {
978
+ "type": "integer",
979
+ "exclusiveMinimum": 0,
980
+ "maximum": 9007199254740991
981
+ },
982
+ "maxFanoutItems": {
983
+ "type": "integer",
984
+ "exclusiveMinimum": 0,
985
+ "maximum": 9007199254740991
986
+ },
987
+ "stageTimeoutMinutes": {
988
+ "type": "integer",
989
+ "exclusiveMinimum": 0,
990
+ "maximum": 9007199254740991
991
+ }
992
+ },
993
+ "additionalProperties": false
994
+ },
995
+ "kind": {
996
+ "type": "string",
997
+ "const": "discover"
998
+ },
999
+ "method": {
1000
+ "type": "string",
1001
+ "enum": [
1002
+ "gitChangedFiles",
1003
+ "glob",
1004
+ "agent"
1005
+ ]
1006
+ },
1007
+ "args": {
1008
+ "type": "object",
1009
+ "propertyNames": {
1010
+ "type": "string"
1011
+ },
1012
+ "additionalProperties": {}
1013
+ },
1014
+ "output": {
1015
+ "default": "items",
1016
+ "type": "string"
1017
+ },
1018
+ "role": {
1019
+ "type": "string",
1020
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1021
+ }
1022
+ },
1023
+ "required": [
1024
+ "id",
1025
+ "kind",
1026
+ "method"
1027
+ ],
1028
+ "additionalProperties": false
1029
+ },
1030
+ {
1031
+ "type": "object",
1032
+ "properties": {
1033
+ "id": {
1034
+ "type": "string",
1035
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1036
+ },
1037
+ "dependsOn": {
1038
+ "type": "array",
1039
+ "items": {
1040
+ "type": "string",
1041
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1042
+ }
1043
+ },
1044
+ "variables": {
1045
+ "type": "array",
1046
+ "items": {
1047
+ "type": "object",
1048
+ "properties": {
1049
+ "name": {
1050
+ "type": "string",
1051
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
1052
+ },
1053
+ "source": {
1054
+ "type": "string",
1055
+ "minLength": 1
1056
+ },
1057
+ "transform": {
1058
+ "type": "array",
1059
+ "items": {
1060
+ "type": "object",
1061
+ "properties": {
1062
+ "fn": {
1063
+ "type": "string",
1064
+ "enum": [
1065
+ "compact",
1066
+ "tail",
1067
+ "json",
1068
+ "quoteBlock",
1069
+ "pathList",
1070
+ "filterSeverity",
1071
+ "severitySummary",
1072
+ "join",
1073
+ "default"
1074
+ ]
1075
+ },
1076
+ "args": {
1077
+ "type": "object",
1078
+ "propertyNames": {
1079
+ "type": "string"
1080
+ },
1081
+ "additionalProperties": {}
1082
+ }
1083
+ },
1084
+ "required": [
1085
+ "fn"
1086
+ ],
1087
+ "additionalProperties": false
1088
+ }
1089
+ }
1090
+ },
1091
+ "required": [
1092
+ "name",
1093
+ "source"
1094
+ ],
1095
+ "additionalProperties": false
1096
+ }
1097
+ },
1098
+ "prompt": {
1099
+ "type": "string",
1100
+ "minLength": 1
1101
+ },
1102
+ "limits": {
1103
+ "type": "object",
1104
+ "properties": {
1105
+ "maxConcurrency": {
1106
+ "type": "integer",
1107
+ "exclusiveMinimum": 0,
1108
+ "maximum": 9007199254740991
1109
+ },
1110
+ "maxFanoutItems": {
1111
+ "type": "integer",
1112
+ "exclusiveMinimum": 0,
1113
+ "maximum": 9007199254740991
1114
+ },
1115
+ "stageTimeoutMinutes": {
1116
+ "type": "integer",
1117
+ "exclusiveMinimum": 0,
1118
+ "maximum": 9007199254740991
1119
+ }
1120
+ },
1121
+ "additionalProperties": false
1122
+ },
1123
+ "kind": {
1124
+ "type": "string",
1125
+ "const": "fanout"
1126
+ },
1127
+ "items": {
1128
+ "type": "object",
1129
+ "properties": {
1130
+ "source": {
1131
+ "type": "string",
1132
+ "minLength": 1
1133
+ }
1134
+ },
1135
+ "required": [
1136
+ "source"
1137
+ ],
1138
+ "additionalProperties": false
1139
+ },
1140
+ "laneGroups": {
1141
+ "minItems": 1,
1142
+ "type": "array",
1143
+ "items": {
1144
+ "type": "object",
1145
+ "properties": {
1146
+ "id": {
1147
+ "type": "string",
1148
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1149
+ },
1150
+ "mode": {
1151
+ "type": "string",
1152
+ "enum": [
1153
+ "all",
1154
+ "oneOf"
1155
+ ]
1156
+ },
1157
+ "lanes": {
1158
+ "minItems": 1,
1159
+ "type": "array",
1160
+ "items": {
1161
+ "type": "object",
1162
+ "properties": {
1163
+ "id": {
1164
+ "type": "string",
1165
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1166
+ },
1167
+ "role": {
1168
+ "type": "string",
1169
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1170
+ },
1171
+ "prompt": {
1172
+ "type": "string",
1173
+ "minLength": 1
1174
+ },
1175
+ "when": {
1176
+ "$ref": "#/$defs/__schema0"
1177
+ },
1178
+ "default": {
1179
+ "type": "boolean"
1180
+ }
1181
+ },
1182
+ "required": [
1183
+ "id",
1184
+ "role"
1185
+ ],
1186
+ "additionalProperties": false
1187
+ }
1188
+ }
1189
+ },
1190
+ "required": [
1191
+ "id",
1192
+ "mode",
1193
+ "lanes"
1194
+ ],
1195
+ "additionalProperties": false
1196
+ }
1197
+ },
1198
+ "fanoutPolicy": {
1199
+ "type": "object",
1200
+ "properties": {
1201
+ "allowPartial": {
1202
+ "default": false,
1203
+ "type": "boolean"
1204
+ },
1205
+ "minCompletedRatio": {
1206
+ "type": "number",
1207
+ "minimum": 0,
1208
+ "maximum": 1
1209
+ },
1210
+ "maxBlockedItems": {
1211
+ "type": "integer",
1212
+ "minimum": 0,
1213
+ "maximum": 9007199254740991
1214
+ }
1215
+ },
1216
+ "additionalProperties": false
1217
+ }
1218
+ },
1219
+ "required": [
1220
+ "id",
1221
+ "kind",
1222
+ "items",
1223
+ "laneGroups"
1224
+ ],
1225
+ "additionalProperties": false
1226
+ },
1227
+ {
1228
+ "type": "object",
1229
+ "properties": {
1230
+ "id": {
1231
+ "type": "string",
1232
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1233
+ },
1234
+ "dependsOn": {
1235
+ "type": "array",
1236
+ "items": {
1237
+ "type": "string",
1238
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1239
+ }
1240
+ },
1241
+ "variables": {
1242
+ "type": "array",
1243
+ "items": {
1244
+ "type": "object",
1245
+ "properties": {
1246
+ "name": {
1247
+ "type": "string",
1248
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
1249
+ },
1250
+ "source": {
1251
+ "type": "string",
1252
+ "minLength": 1
1253
+ },
1254
+ "transform": {
1255
+ "type": "array",
1256
+ "items": {
1257
+ "type": "object",
1258
+ "properties": {
1259
+ "fn": {
1260
+ "type": "string",
1261
+ "enum": [
1262
+ "compact",
1263
+ "tail",
1264
+ "json",
1265
+ "quoteBlock",
1266
+ "pathList",
1267
+ "filterSeverity",
1268
+ "severitySummary",
1269
+ "join",
1270
+ "default"
1271
+ ]
1272
+ },
1273
+ "args": {
1274
+ "type": "object",
1275
+ "propertyNames": {
1276
+ "type": "string"
1277
+ },
1278
+ "additionalProperties": {}
1279
+ }
1280
+ },
1281
+ "required": [
1282
+ "fn"
1283
+ ],
1284
+ "additionalProperties": false
1285
+ }
1286
+ }
1287
+ },
1288
+ "required": [
1289
+ "name",
1290
+ "source"
1291
+ ],
1292
+ "additionalProperties": false
1293
+ }
1294
+ },
1295
+ "prompt": {
1296
+ "type": "string"
1297
+ },
1298
+ "limits": {
1299
+ "type": "object",
1300
+ "properties": {
1301
+ "maxConcurrency": {
1302
+ "type": "integer",
1303
+ "exclusiveMinimum": 0,
1304
+ "maximum": 9007199254740991
1305
+ },
1306
+ "maxFanoutItems": {
1307
+ "type": "integer",
1308
+ "exclusiveMinimum": 0,
1309
+ "maximum": 9007199254740991
1310
+ },
1311
+ "stageTimeoutMinutes": {
1312
+ "type": "integer",
1313
+ "exclusiveMinimum": 0,
1314
+ "maximum": 9007199254740991
1315
+ }
1316
+ },
1317
+ "additionalProperties": false
1318
+ },
1319
+ "kind": {
1320
+ "type": "string",
1321
+ "const": "reduce"
1322
+ },
1323
+ "mode": {
1324
+ "default": "agent",
1325
+ "type": "string",
1326
+ "enum": [
1327
+ "agent",
1328
+ "program"
1329
+ ]
1330
+ },
1331
+ "from": {
1332
+ "type": "string",
1333
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1334
+ },
1335
+ "role": {
1336
+ "type": "string",
1337
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1338
+ },
1339
+ "operation": {
1340
+ "type": "string",
1341
+ "enum": [
1342
+ "mergeArrays",
1343
+ "severitySummary",
1344
+ "dedupeFindings",
1345
+ "sortBySeverity"
1346
+ ]
1347
+ }
1348
+ },
1349
+ "required": [
1350
+ "id",
1351
+ "kind",
1352
+ "from"
1353
+ ],
1354
+ "additionalProperties": false
1355
+ },
1356
+ {
1357
+ "type": "object",
1358
+ "properties": {
1359
+ "id": {
1360
+ "type": "string",
1361
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1362
+ },
1363
+ "dependsOn": {
1364
+ "type": "array",
1365
+ "items": {
1366
+ "type": "string",
1367
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1368
+ }
1369
+ },
1370
+ "variables": {
1371
+ "type": "array",
1372
+ "items": {
1373
+ "type": "object",
1374
+ "properties": {
1375
+ "name": {
1376
+ "type": "string",
1377
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
1378
+ },
1379
+ "source": {
1380
+ "type": "string",
1381
+ "minLength": 1
1382
+ },
1383
+ "transform": {
1384
+ "type": "array",
1385
+ "items": {
1386
+ "type": "object",
1387
+ "properties": {
1388
+ "fn": {
1389
+ "type": "string",
1390
+ "enum": [
1391
+ "compact",
1392
+ "tail",
1393
+ "json",
1394
+ "quoteBlock",
1395
+ "pathList",
1396
+ "filterSeverity",
1397
+ "severitySummary",
1398
+ "join",
1399
+ "default"
1400
+ ]
1401
+ },
1402
+ "args": {
1403
+ "type": "object",
1404
+ "propertyNames": {
1405
+ "type": "string"
1406
+ },
1407
+ "additionalProperties": {}
1408
+ }
1409
+ },
1410
+ "required": [
1411
+ "fn"
1412
+ ],
1413
+ "additionalProperties": false
1414
+ }
1415
+ }
1416
+ },
1417
+ "required": [
1418
+ "name",
1419
+ "source"
1420
+ ],
1421
+ "additionalProperties": false
1422
+ }
1423
+ },
1424
+ "prompt": {
1425
+ "type": "string"
1426
+ },
1427
+ "limits": {
1428
+ "type": "object",
1429
+ "properties": {
1430
+ "maxConcurrency": {
1431
+ "type": "integer",
1432
+ "exclusiveMinimum": 0,
1433
+ "maximum": 9007199254740991
1434
+ },
1435
+ "maxFanoutItems": {
1436
+ "type": "integer",
1437
+ "exclusiveMinimum": 0,
1438
+ "maximum": 9007199254740991
1439
+ },
1440
+ "stageTimeoutMinutes": {
1441
+ "type": "integer",
1442
+ "exclusiveMinimum": 0,
1443
+ "maximum": 9007199254740991
1444
+ }
1445
+ },
1446
+ "additionalProperties": false
1447
+ },
1448
+ "kind": {
1449
+ "type": "string",
1450
+ "const": "decisionGate"
1451
+ },
1452
+ "mode": {
1453
+ "default": "program",
1454
+ "type": "string",
1455
+ "enum": [
1456
+ "program",
1457
+ "agent"
1458
+ ]
1459
+ },
1460
+ "rules": {
1461
+ "minItems": 1,
1462
+ "type": "array",
1463
+ "items": {
1464
+ "type": "object",
1465
+ "properties": {
1466
+ "when": {
1467
+ "$ref": "#/$defs/__schema0"
1468
+ },
1469
+ "to": {
1470
+ "type": "string",
1471
+ "minLength": 1
1472
+ }
1473
+ },
1474
+ "required": [
1475
+ "when",
1476
+ "to"
1477
+ ],
1478
+ "additionalProperties": false
1479
+ }
1480
+ },
1481
+ "default": {
1482
+ "type": "string",
1483
+ "minLength": 1
1484
+ },
1485
+ "role": {
1486
+ "type": "string",
1487
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1488
+ },
1489
+ "routes": {
1490
+ "type": "array",
1491
+ "items": {
1492
+ "type": "string"
1493
+ }
1494
+ }
1495
+ },
1496
+ "required": [
1497
+ "id",
1498
+ "kind",
1499
+ "rules",
1500
+ "default"
1501
+ ],
1502
+ "additionalProperties": false
1503
+ }
1504
+ ]
1505
+ }
1506
+ }
1507
+ },
1508
+ "required": [
1509
+ "root",
1510
+ "output",
1511
+ "stages"
1512
+ ],
1513
+ "additionalProperties": false
1514
+ },
1515
+ "continueWhen": {
1516
+ "$ref": "#/$defs/__schema0"
1517
+ },
1518
+ "onExhausted": {
1519
+ "type": "string",
1520
+ "const": "blocked"
1521
+ }
1522
+ },
1523
+ "required": [
1524
+ "id",
1525
+ "kind",
1526
+ "maxRounds",
1527
+ "body",
1528
+ "continueWhen",
1529
+ "onExhausted"
1530
+ ],
1531
+ "additionalProperties": false
1532
+ },
1533
+ {
1534
+ "type": "object",
1535
+ "properties": {
1536
+ "id": {
1537
+ "type": "string",
1538
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1539
+ },
1540
+ "dependsOn": {
1541
+ "type": "array",
1542
+ "items": {
1543
+ "type": "string",
1544
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1545
+ }
1546
+ },
1547
+ "variables": {
1548
+ "type": "array",
1549
+ "items": {
1550
+ "type": "object",
1551
+ "properties": {
1552
+ "name": {
1553
+ "type": "string",
1554
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
1555
+ },
1556
+ "source": {
1557
+ "type": "string",
1558
+ "minLength": 1
1559
+ },
1560
+ "transform": {
1561
+ "type": "array",
1562
+ "items": {
1563
+ "type": "object",
1564
+ "properties": {
1565
+ "fn": {
1566
+ "type": "string",
1567
+ "enum": [
1568
+ "compact",
1569
+ "tail",
1570
+ "json",
1571
+ "quoteBlock",
1572
+ "pathList",
1573
+ "filterSeverity",
1574
+ "severitySummary",
1575
+ "join",
1576
+ "default"
1577
+ ]
1578
+ },
1579
+ "args": {
1580
+ "type": "object",
1581
+ "propertyNames": {
1582
+ "type": "string"
1583
+ },
1584
+ "additionalProperties": {}
1585
+ }
1586
+ },
1587
+ "required": [
1588
+ "fn"
1589
+ ],
1590
+ "additionalProperties": false
1591
+ }
1592
+ }
1593
+ },
1594
+ "required": [
1595
+ "name",
1596
+ "source"
1597
+ ],
1598
+ "additionalProperties": false
1599
+ }
1600
+ },
1601
+ "prompt": {
1602
+ "type": "string"
1603
+ },
1604
+ "limits": {
1605
+ "type": "object",
1606
+ "properties": {
1607
+ "maxConcurrency": {
1608
+ "type": "integer",
1609
+ "exclusiveMinimum": 0,
1610
+ "maximum": 9007199254740991
1611
+ },
1612
+ "maxFanoutItems": {
1613
+ "type": "integer",
1614
+ "exclusiveMinimum": 0,
1615
+ "maximum": 9007199254740991
1616
+ },
1617
+ "stageTimeoutMinutes": {
1618
+ "type": "integer",
1619
+ "exclusiveMinimum": 0,
1620
+ "maximum": 9007199254740991
1621
+ }
1622
+ },
1623
+ "additionalProperties": false
1624
+ },
1625
+ "kind": {
1626
+ "type": "string",
1627
+ "const": "decisionGate"
1628
+ },
1629
+ "mode": {
1630
+ "default": "program",
1631
+ "type": "string",
1632
+ "enum": [
1633
+ "program",
1634
+ "agent"
1635
+ ]
1636
+ },
1637
+ "rules": {
1638
+ "minItems": 1,
1639
+ "type": "array",
1640
+ "items": {
1641
+ "type": "object",
1642
+ "properties": {
1643
+ "when": {
1644
+ "$ref": "#/$defs/__schema0"
1645
+ },
1646
+ "to": {
1647
+ "type": "string",
1648
+ "minLength": 1
1649
+ }
1650
+ },
1651
+ "required": [
1652
+ "when",
1653
+ "to"
1654
+ ],
1655
+ "additionalProperties": false
1656
+ }
1657
+ },
1658
+ "default": {
1659
+ "type": "string",
1660
+ "minLength": 1
1661
+ },
1662
+ "role": {
1663
+ "type": "string",
1664
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1665
+ },
1666
+ "routes": {
1667
+ "type": "array",
1668
+ "items": {
1669
+ "type": "string"
1670
+ }
1671
+ }
1672
+ },
1673
+ "required": [
1674
+ "id",
1675
+ "kind",
1676
+ "rules",
1677
+ "default"
1678
+ ],
1679
+ "additionalProperties": false
1680
+ },
1681
+ {
1682
+ "type": "object",
1683
+ "properties": {
1684
+ "id": {
1685
+ "type": "string",
1686
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1687
+ },
1688
+ "dependsOn": {
1689
+ "type": "array",
1690
+ "items": {
1691
+ "type": "string",
1692
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1693
+ }
1694
+ },
1695
+ "variables": {
1696
+ "type": "array",
1697
+ "items": {
1698
+ "type": "object",
1699
+ "properties": {
1700
+ "name": {
1701
+ "type": "string",
1702
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
1703
+ },
1704
+ "source": {
1705
+ "type": "string",
1706
+ "minLength": 1
1707
+ },
1708
+ "transform": {
1709
+ "type": "array",
1710
+ "items": {
1711
+ "type": "object",
1712
+ "properties": {
1713
+ "fn": {
1714
+ "type": "string",
1715
+ "enum": [
1716
+ "compact",
1717
+ "tail",
1718
+ "json",
1719
+ "quoteBlock",
1720
+ "pathList",
1721
+ "filterSeverity",
1722
+ "severitySummary",
1723
+ "join",
1724
+ "default"
1725
+ ]
1726
+ },
1727
+ "args": {
1728
+ "type": "object",
1729
+ "propertyNames": {
1730
+ "type": "string"
1731
+ },
1732
+ "additionalProperties": {}
1733
+ }
1734
+ },
1735
+ "required": [
1736
+ "fn"
1737
+ ],
1738
+ "additionalProperties": false
1739
+ }
1740
+ }
1741
+ },
1742
+ "required": [
1743
+ "name",
1744
+ "source"
1745
+ ],
1746
+ "additionalProperties": false
1747
+ }
1748
+ },
1749
+ "prompt": {
1750
+ "type": "string"
1751
+ },
1752
+ "limits": {
1753
+ "type": "object",
1754
+ "properties": {
1755
+ "maxConcurrency": {
1756
+ "type": "integer",
1757
+ "exclusiveMinimum": 0,
1758
+ "maximum": 9007199254740991
1759
+ },
1760
+ "maxFanoutItems": {
1761
+ "type": "integer",
1762
+ "exclusiveMinimum": 0,
1763
+ "maximum": 9007199254740991
1764
+ },
1765
+ "stageTimeoutMinutes": {
1766
+ "type": "integer",
1767
+ "exclusiveMinimum": 0,
1768
+ "maximum": 9007199254740991
1769
+ }
1770
+ },
1771
+ "additionalProperties": false
1772
+ },
1773
+ "kind": {
1774
+ "type": "string",
1775
+ "const": "gate"
1776
+ },
1777
+ "mode": {
1778
+ "default": "program",
1779
+ "type": "string",
1780
+ "enum": [
1781
+ "program",
1782
+ "agent"
1783
+ ]
1784
+ },
1785
+ "condition": {
1786
+ "$ref": "#/$defs/__schema0"
1787
+ },
1788
+ "role": {
1789
+ "type": "string",
1790
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1791
+ }
1792
+ },
1793
+ "required": [
1794
+ "id",
1795
+ "kind"
1796
+ ],
1797
+ "additionalProperties": false
1798
+ },
1799
+ {
1800
+ "type": "object",
1801
+ "properties": {
1802
+ "id": {
1803
+ "type": "string",
1804
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1805
+ },
1806
+ "dependsOn": {
1807
+ "type": "array",
1808
+ "items": {
1809
+ "type": "string",
1810
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
1811
+ }
1812
+ },
1813
+ "variables": {
1814
+ "type": "array",
1815
+ "items": {
1816
+ "type": "object",
1817
+ "properties": {
1818
+ "name": {
1819
+ "type": "string",
1820
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
1821
+ },
1822
+ "source": {
1823
+ "type": "string",
1824
+ "minLength": 1
1825
+ },
1826
+ "transform": {
1827
+ "type": "array",
1828
+ "items": {
1829
+ "type": "object",
1830
+ "properties": {
1831
+ "fn": {
1832
+ "type": "string",
1833
+ "enum": [
1834
+ "compact",
1835
+ "tail",
1836
+ "json",
1837
+ "quoteBlock",
1838
+ "pathList",
1839
+ "filterSeverity",
1840
+ "severitySummary",
1841
+ "join",
1842
+ "default"
1843
+ ]
1844
+ },
1845
+ "args": {
1846
+ "type": "object",
1847
+ "propertyNames": {
1848
+ "type": "string"
1849
+ },
1850
+ "additionalProperties": {}
1851
+ }
1852
+ },
1853
+ "required": [
1854
+ "fn"
1855
+ ],
1856
+ "additionalProperties": false
1857
+ }
1858
+ }
1859
+ },
1860
+ "required": [
1861
+ "name",
1862
+ "source"
1863
+ ],
1864
+ "additionalProperties": false
1865
+ }
1866
+ },
1867
+ "prompt": {
1868
+ "type": "string",
1869
+ "minLength": 1
1870
+ },
1871
+ "limits": {
1872
+ "type": "object",
1873
+ "properties": {
1874
+ "maxConcurrency": {
1875
+ "type": "integer",
1876
+ "exclusiveMinimum": 0,
1877
+ "maximum": 9007199254740991
1878
+ },
1879
+ "maxFanoutItems": {
1880
+ "type": "integer",
1881
+ "exclusiveMinimum": 0,
1882
+ "maximum": 9007199254740991
1883
+ },
1884
+ "stageTimeoutMinutes": {
1885
+ "type": "integer",
1886
+ "exclusiveMinimum": 0,
1887
+ "maximum": 9007199254740991
1888
+ }
1889
+ },
1890
+ "additionalProperties": false
1891
+ },
1892
+ "kind": {
1893
+ "type": "string",
1894
+ "const": "summarize"
1895
+ },
1896
+ "role": {
1897
+ "type": "string",
1898
+ "const": "summarizer"
1899
+ }
1900
+ },
1901
+ "required": [
1902
+ "id",
1903
+ "prompt",
1904
+ "kind",
1905
+ "role"
1906
+ ],
1907
+ "additionalProperties": false
1908
+ }
1909
+ ]
1910
+ }
1911
+ }
1912
+ },
1913
+ "required": [
1914
+ "schemaVersion",
1915
+ "name",
1916
+ "root",
1917
+ "roles",
1918
+ "stages"
1919
+ ],
1920
+ "additionalProperties": false,
1921
+ "$defs": {
1922
+ "__schema0": {
1923
+ "anyOf": [
1924
+ {
1925
+ "type": "object",
1926
+ "properties": {
1927
+ "source": {
1928
+ "type": "string",
1929
+ "minLength": 1
1930
+ },
1931
+ "op": {
1932
+ "type": "string",
1933
+ "const": "in"
1934
+ },
1935
+ "value": {
1936
+ "type": "array",
1937
+ "items": {}
1938
+ }
1939
+ },
1940
+ "required": [
1941
+ "source",
1942
+ "op",
1943
+ "value"
1944
+ ],
1945
+ "additionalProperties": false
1946
+ },
1947
+ {
1948
+ "type": "object",
1949
+ "properties": {
1950
+ "source": {
1951
+ "type": "string",
1952
+ "minLength": 1
1953
+ },
1954
+ "op": {
1955
+ "type": "string",
1956
+ "enum": [
1957
+ "eq",
1958
+ "neq",
1959
+ "gt",
1960
+ "gte",
1961
+ "lt",
1962
+ "lte"
1963
+ ]
1964
+ },
1965
+ "value": {}
1966
+ },
1967
+ "required": [
1968
+ "source",
1969
+ "op"
1970
+ ],
1971
+ "additionalProperties": false
1972
+ },
1973
+ {
1974
+ "type": "object",
1975
+ "properties": {
1976
+ "source": {
1977
+ "type": "string",
1978
+ "minLength": 1
1979
+ },
1980
+ "op": {
1981
+ "type": "string",
1982
+ "enum": [
1983
+ "exists",
1984
+ "empty"
1985
+ ]
1986
+ },
1987
+ "value": {}
1988
+ },
1989
+ "required": [
1990
+ "source",
1991
+ "op"
1992
+ ],
1993
+ "additionalProperties": false
1994
+ },
1995
+ {
1996
+ "type": "object",
1997
+ "properties": {
1998
+ "all": {
1999
+ "minItems": 1,
2000
+ "type": "array",
2001
+ "items": {
2002
+ "$ref": "#/$defs/__schema0"
2003
+ }
2004
+ }
2005
+ },
2006
+ "required": [
2007
+ "all"
2008
+ ],
2009
+ "additionalProperties": false
2010
+ },
2011
+ {
2012
+ "type": "object",
2013
+ "properties": {
2014
+ "any": {
2015
+ "minItems": 1,
2016
+ "type": "array",
2017
+ "items": {
2018
+ "$ref": "#/$defs/__schema0"
2019
+ }
2020
+ }
2021
+ },
2022
+ "required": [
2023
+ "any"
2024
+ ],
2025
+ "additionalProperties": false
2026
+ },
2027
+ {
2028
+ "type": "object",
2029
+ "properties": {
2030
+ "not": {
2031
+ "$ref": "#/$defs/__schema0"
2032
+ }
2033
+ },
2034
+ "required": [
2035
+ "not"
2036
+ ],
2037
+ "additionalProperties": false
2038
+ }
2039
+ ]
2040
+ }
2041
+ }
2042
+ }