@ilbie/capybara-code-darwin-arm64 0.1.0-alpha.3

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,1249 @@
1
+ {
2
+ "x-dialect": "json-schema-draft-2020-12",
3
+ "$id": "cbc:config/config",
4
+ "title": "Capybara Code configuration",
5
+ "description": "Keys are written snake_case in the single global config.toml and camelCase in code; packages/config-schema normalizes between them, and scripts/check-protocol-drift.ts checks that defaultConfig() and this file describe the same shape.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "ui",
10
+ "model",
11
+ "agent",
12
+ "subagents",
13
+ "tools",
14
+ "permissions",
15
+ "sandbox",
16
+ "sessions",
17
+ "privacy",
18
+ "updates",
19
+ "provider",
20
+ "perf",
21
+ "mcpServers",
22
+ "lspServers",
23
+ "keymap"
24
+ ],
25
+ "properties": {
26
+ "ui": {
27
+ "type": "object",
28
+ "additionalProperties": false,
29
+ "required": [
30
+ "theme",
31
+ "color",
32
+ "mouse",
33
+ "animations",
34
+ "showCost",
35
+ "statusDensity",
36
+ "thinkingMode",
37
+ "thinkingVisibility",
38
+ "toolDetail",
39
+ "subagentDetail",
40
+ "sidebar"
41
+ ],
42
+ "properties": {
43
+ "theme": {
44
+ "type": "string",
45
+ "default": "capybara-dark"
46
+ },
47
+ "color": {
48
+ "type": "string",
49
+ "enum": [
50
+ "auto",
51
+ "always",
52
+ "never"
53
+ ],
54
+ "default": "auto"
55
+ },
56
+ "mouse": {
57
+ "type": "boolean",
58
+ "default": true
59
+ },
60
+ "animations": {
61
+ "type": "boolean",
62
+ "default": true
63
+ },
64
+ "showCost": {
65
+ "description": "P9: cost is a product surface, so this defaults on.",
66
+ "type": "boolean",
67
+ "default": true
68
+ },
69
+ "statusDensity": {
70
+ "type": "string",
71
+ "enum": [
72
+ "auto",
73
+ "compact",
74
+ "full"
75
+ ],
76
+ "default": "auto"
77
+ },
78
+ "thinkingVisibility": {
79
+ "type": "string",
80
+ "enum": [
81
+ "full",
82
+ "summary",
83
+ "hidden"
84
+ ],
85
+ "default": "summary"
86
+ },
87
+ "thinkingMode": {
88
+ "description": "Canonical presentation mode; legacy thinkingVisibility is retained for migration.",
89
+ "type": "string",
90
+ "enum": [
91
+ "expanded",
92
+ "collapsed",
93
+ "off"
94
+ ],
95
+ "default": "collapsed"
96
+ },
97
+ "toolDetail": {
98
+ "type": "string",
99
+ "enum": [
100
+ "compact",
101
+ "full"
102
+ ],
103
+ "default": "compact"
104
+ },
105
+ "subagentDetail": {
106
+ "type": "string",
107
+ "enum": [
108
+ "drawer",
109
+ "inline"
110
+ ],
111
+ "default": "drawer"
112
+ },
113
+ "sidebar": {
114
+ "type": "string",
115
+ "enum": [
116
+ "auto",
117
+ "show",
118
+ "hide"
119
+ ],
120
+ "default": "auto"
121
+ }
122
+ }
123
+ },
124
+ "model": {
125
+ "type": "object",
126
+ "additionalProperties": false,
127
+ "required": [
128
+ "profile",
129
+ "default",
130
+ "reasoningMode",
131
+ "reasoningEffort",
132
+ "softContextTokens",
133
+ "maxOutputTokens",
134
+ "router",
135
+ "reasoning",
136
+ "context",
137
+ "cache",
138
+ "profiles"
139
+ ],
140
+ "properties": {
141
+ "profile": {
142
+ "type": "string",
143
+ "default": "auto"
144
+ },
145
+ "default": {
146
+ "type": "string",
147
+ "default": "gpt-5.6-sol"
148
+ },
149
+ "reasoningMode": {
150
+ "$ref": "#/$defs/reasoningMode",
151
+ "default": "standard"
152
+ },
153
+ "reasoningEffort": {
154
+ "$ref": "#/$defs/reasoningEffort",
155
+ "default": "medium"
156
+ },
157
+ "softContextTokens": {
158
+ "description": "10.10 soft budget for the root agent. Compaction triggers at 70 percent of this.",
159
+ "type": "integer",
160
+ "minimum": 8000,
161
+ "default": 96000
162
+ },
163
+ "maxOutputTokens": {
164
+ "type": "integer",
165
+ "minimum": 256,
166
+ "default": 32000
167
+ },
168
+ "router": {
169
+ "type": "object",
170
+ "additionalProperties": false,
171
+ "required": [
172
+ "strategy",
173
+ "phasePolicy",
174
+ "cheapTier",
175
+ "defaultTier",
176
+ "escalationTier",
177
+ "maxCostUsdPerTurn",
178
+ "targetLatencyMs",
179
+ "recordDecisions"
180
+ ],
181
+ "properties": {
182
+ "strategy": {
183
+ "type": "string",
184
+ "enum": [
185
+ "utility",
186
+ "latency",
187
+ "cost"
188
+ ],
189
+ "default": "utility"
190
+ },
191
+ "phasePolicy": {
192
+ "type": "boolean",
193
+ "default": true
194
+ },
195
+ "cheapTier": {
196
+ "type": "string",
197
+ "default": "gpt-5.6-luna"
198
+ },
199
+ "defaultTier": {
200
+ "type": "string",
201
+ "default": "gpt-5.6-terra"
202
+ },
203
+ "escalationTier": {
204
+ "type": "string",
205
+ "default": "gpt-5.6-sol"
206
+ },
207
+ "maxCostUsdPerTurn": {
208
+ "type": "number",
209
+ "minimum": 0,
210
+ "default": 2
211
+ },
212
+ "targetLatencyMs": {
213
+ "type": "integer",
214
+ "minimum": 1,
215
+ "default": 90000
216
+ },
217
+ "recordDecisions": {
218
+ "type": "boolean",
219
+ "default": true
220
+ }
221
+ }
222
+ },
223
+ "reasoning": {
224
+ "type": "object",
225
+ "additionalProperties": false,
226
+ "required": [
227
+ "providerSummary",
228
+ "summary",
229
+ "continuity",
230
+ "proPolicy",
231
+ "maxPolicy",
232
+ "resetOnWorkspaceChange",
233
+ "preserveOpaqueItems"
234
+ ],
235
+ "properties": {
236
+ "summary": {
237
+ "description": "Provider reasoning-summary generation; independent from UI visibility.",
238
+ "type": "string",
239
+ "enum": [
240
+ "auto",
241
+ "none"
242
+ ],
243
+ "default": "auto"
244
+ },
245
+ "providerSummary": {
246
+ "description": "Provider reasoning-summary generation; independent from UI thinking mode.",
247
+ "type": "string",
248
+ "enum": [
249
+ "auto",
250
+ "off"
251
+ ],
252
+ "default": "auto"
253
+ },
254
+ "continuity": {
255
+ "const": "task-epoch"
256
+ },
257
+ "proPolicy": {
258
+ "const": "eval-gated"
259
+ },
260
+ "maxPolicy": {
261
+ "const": "eval-gated"
262
+ },
263
+ "resetOnWorkspaceChange": {
264
+ "type": "boolean",
265
+ "default": true
266
+ },
267
+ "preserveOpaqueItems": {
268
+ "type": "boolean",
269
+ "default": true
270
+ }
271
+ }
272
+ },
273
+ "context": {
274
+ "type": "object",
275
+ "additionalProperties": false,
276
+ "required": [
277
+ "bands",
278
+ "defaultBand",
279
+ "premiumThresholdTokens",
280
+ "premiumBandPolicy",
281
+ "compaction",
282
+ "reserveOutputTokens",
283
+ "orientationMode",
284
+ "providerCompaction",
285
+ "compactionThresholdTokens"
286
+ ],
287
+ "properties": {
288
+ "bands": {
289
+ "type": "array",
290
+ "items": {
291
+ "type": "integer",
292
+ "minimum": 1
293
+ },
294
+ "minItems": 1,
295
+ "default": [
296
+ 64000,
297
+ 192000,
298
+ 272000,
299
+ 512000,
300
+ 1000000
301
+ ]
302
+ },
303
+ "defaultBand": {
304
+ "type": "integer",
305
+ "minimum": 1,
306
+ "default": 192000
307
+ },
308
+ "premiumThresholdTokens": {
309
+ "type": "integer",
310
+ "minimum": 1,
311
+ "default": 272000
312
+ },
313
+ "premiumBandPolicy": {
314
+ "type": "string",
315
+ "enum": [
316
+ "deny",
317
+ "allow",
318
+ "utility-gated"
319
+ ],
320
+ "default": "utility-gated"
321
+ },
322
+ "compaction": {
323
+ "const": "evidence-ledger"
324
+ },
325
+ "reserveOutputTokens": {
326
+ "type": "integer",
327
+ "minimum": 1,
328
+ "default": 32000
329
+ },
330
+ "orientationMode": {
331
+ "type": "string",
332
+ "enum": [
333
+ "strict",
334
+ "progressive"
335
+ ],
336
+ "default": "progressive"
337
+ },
338
+ "providerCompaction": {
339
+ "type": "boolean",
340
+ "default": true
341
+ },
342
+ "compactionThresholdTokens": {
343
+ "type": "integer",
344
+ "minimum": 1024,
345
+ "default": 80000
346
+ }
347
+ }
348
+ },
349
+ "cache": {
350
+ "type": "object",
351
+ "additionalProperties": false,
352
+ "required": [
353
+ "mode",
354
+ "maxWritesPerTurn",
355
+ "ttlMinutes",
356
+ "minimumReuseProbability",
357
+ "recordReadWriteTokens"
358
+ ],
359
+ "properties": {
360
+ "mode": {
361
+ "type": "string",
362
+ "enum": [
363
+ "roi",
364
+ "always",
365
+ "off"
366
+ ],
367
+ "default": "roi"
368
+ },
369
+ "maxWritesPerTurn": {
370
+ "type": "integer",
371
+ "minimum": 0,
372
+ "default": 2
373
+ },
374
+ "ttlMinutes": {
375
+ "type": "integer",
376
+ "minimum": 1,
377
+ "default": 30
378
+ },
379
+ "minimumReuseProbability": {
380
+ "type": "number",
381
+ "minimum": 0,
382
+ "maximum": 1,
383
+ "default": 0.55
384
+ },
385
+ "recordReadWriteTokens": {
386
+ "type": "boolean",
387
+ "default": true
388
+ }
389
+ }
390
+ },
391
+ "profiles": {
392
+ "description": "10.3 profile table. Each entry resolves to a concrete model plus reasoning settings.",
393
+ "type": "object",
394
+ "additionalProperties": {
395
+ "$ref": "#/$defs/modelProfile"
396
+ }
397
+ }
398
+ }
399
+ },
400
+ "agent": {
401
+ "type": "object",
402
+ "additionalProperties": false,
403
+ "required": [
404
+ "permissionMode",
405
+ "interactionMode",
406
+ "reviewMode",
407
+ "visibleCommentary",
408
+ "tokenSaving",
409
+ "promptCompiler",
410
+ "compoundTools",
411
+ "toolRecovery",
412
+ "todo",
413
+ "toolGraph",
414
+ "verification"
415
+ ],
416
+ "properties": {
417
+ "permissionMode": {
418
+ "$ref": "#/$defs/permissionMode",
419
+ "default": "ask"
420
+ },
421
+ "interactionMode": {
422
+ "$ref": "#/$defs/interactionMode",
423
+ "default": "build"
424
+ },
425
+ "reviewMode": {
426
+ "$ref": "#/$defs/reviewMode",
427
+ "default": "auto"
428
+ },
429
+ "visibleCommentary": {
430
+ "description": "P4: commentary, not hidden chain-of-thought.",
431
+ "type": "boolean",
432
+ "default": true
433
+ },
434
+ "tokenSaving": {
435
+ "description": "Integrated token saving intensity. User-only: a project config may not set it.",
436
+ "type": "string",
437
+ "enum": [
438
+ "off",
439
+ "light",
440
+ "balanced",
441
+ "strong"
442
+ ],
443
+ "default": "off"
444
+ },
445
+ "promptCompiler": {
446
+ "type": "string",
447
+ "enum": [
448
+ "v1",
449
+ "v2"
450
+ ],
451
+ "default": "v2"
452
+ },
453
+ "compoundTools": {
454
+ "type": "boolean",
455
+ "default": true
456
+ },
457
+ "toolRecovery": {
458
+ "type": "object",
459
+ "additionalProperties": false,
460
+ "required": [
461
+ "mode",
462
+ "maxAttempts"
463
+ ],
464
+ "properties": {
465
+ "mode": {
466
+ "type": "string",
467
+ "enum": [
468
+ "off",
469
+ "safe",
470
+ "full"
471
+ ],
472
+ "default": "safe"
473
+ },
474
+ "maxAttempts": {
475
+ "type": "integer",
476
+ "minimum": 1,
477
+ "maximum": 5,
478
+ "default": 3
479
+ }
480
+ }
481
+ },
482
+ "todo": {
483
+ "type": "object",
484
+ "additionalProperties": false,
485
+ "required": [
486
+ "autoProgress",
487
+ "safeRebase"
488
+ ],
489
+ "properties": {
490
+ "autoProgress": {
491
+ "type": "boolean",
492
+ "default": true
493
+ },
494
+ "safeRebase": {
495
+ "type": "boolean",
496
+ "default": true
497
+ }
498
+ }
499
+ },
500
+ "toolGraph": {
501
+ "type": "object",
502
+ "additionalProperties": false,
503
+ "required": [
504
+ "maxParallelReads",
505
+ "maxParallelTests",
506
+ "serializeMutations",
507
+ "stableResultOrder",
508
+ "commandClassification",
509
+ "providerParallelTools"
510
+ ],
511
+ "properties": {
512
+ "maxParallelReads": {
513
+ "type": "integer",
514
+ "minimum": 1,
515
+ "default": 8
516
+ },
517
+ "maxParallelTests": {
518
+ "type": "integer",
519
+ "minimum": 1,
520
+ "default": 2
521
+ },
522
+ "serializeMutations": {
523
+ "type": "boolean",
524
+ "default": true
525
+ },
526
+ "stableResultOrder": {
527
+ "type": "boolean",
528
+ "default": true
529
+ },
530
+ "commandClassification": {
531
+ "type": "boolean",
532
+ "default": true
533
+ },
534
+ "providerParallelTools": {
535
+ "type": "boolean",
536
+ "default": true
537
+ }
538
+ }
539
+ },
540
+ "verification": {
541
+ "type": "object",
542
+ "additionalProperties": false,
543
+ "required": [
544
+ "completionRequiresFreshEvidence",
545
+ "independentReviewRiskThreshold",
546
+ "falseCompletePolicy",
547
+ "reviewPolicy"
548
+ ],
549
+ "properties": {
550
+ "completionRequiresFreshEvidence": {
551
+ "type": "boolean",
552
+ "default": true
553
+ },
554
+ "independentReviewRiskThreshold": {
555
+ "type": "string",
556
+ "enum": [
557
+ "R0",
558
+ "R1",
559
+ "R2",
560
+ "R3",
561
+ "R4",
562
+ "R5",
563
+ "R6"
564
+ ],
565
+ "default": "R3"
566
+ },
567
+ "falseCompletePolicy": {
568
+ "type": "string",
569
+ "enum": [
570
+ "block",
571
+ "warn"
572
+ ],
573
+ "default": "block"
574
+ },
575
+ "reviewPolicy": {
576
+ "type": "string",
577
+ "enum": [
578
+ "always",
579
+ "risk"
580
+ ],
581
+ "default": "risk"
582
+ }
583
+ }
584
+ }
585
+ }
586
+ },
587
+ "subagents": {
588
+ "type": "object",
589
+ "additionalProperties": false,
590
+ "required": [
591
+ "maxConcurrent",
592
+ "maxDepth",
593
+ "maxPerTurn",
594
+ "writerPolicy"
595
+ ],
596
+ "properties": {
597
+ "maxConcurrent": {
598
+ "type": "integer",
599
+ "minimum": 1,
600
+ "maximum": 8,
601
+ "default": 3
602
+ },
603
+ "maxDepth": {
604
+ "description": "15.7: one level in P0. A child may not spawn its own children.",
605
+ "type": "integer",
606
+ "minimum": 0,
607
+ "maximum": 1,
608
+ "default": 1
609
+ },
610
+ "maxPerTurn": {
611
+ "type": "integer",
612
+ "minimum": 1,
613
+ "maximum": 3,
614
+ "default": 3
615
+ },
616
+ "writerPolicy": {
617
+ "description": "P6 and 15.8: one writer at a time. No other value is supported.",
618
+ "const": "single-lease"
619
+ }
620
+ }
621
+ },
622
+ "tools": {
623
+ "type": "object",
624
+ "additionalProperties": false,
625
+ "required": [
626
+ "activationLimit",
627
+ "inlineOutputBytes",
628
+ "inlineOutputLines"
629
+ ],
630
+ "properties": {
631
+ "activationLimit": {
632
+ "description": "R-08: caps discovered schemas per turn. Always-active tools are excluded from this budget.",
633
+ "type": "integer",
634
+ "minimum": 1,
635
+ "default": 10
636
+ },
637
+ "inlineOutputBytes": {
638
+ "type": "integer",
639
+ "minimum": 1024,
640
+ "default": 65536
641
+ },
642
+ "inlineOutputLines": {
643
+ "type": "integer",
644
+ "minimum": 10,
645
+ "default": 200
646
+ }
647
+ }
648
+ },
649
+ "permissions": {
650
+ "description": "13.3 policy inputs. 17.5 forbids a project config from weakening any of these.",
651
+ "type": "object",
652
+ "additionalProperties": false,
653
+ "required": [
654
+ "projectWrite",
655
+ "shell",
656
+ "network",
657
+ "destructive",
658
+ "credentials",
659
+ "externalSideEffect",
660
+ "rules"
661
+ ],
662
+ "properties": {
663
+ "preset": {
664
+ "type": "string",
665
+ "enum": [
666
+ "read",
667
+ "edit",
668
+ "auto",
669
+ "yolo"
670
+ ]
671
+ },
672
+ "projectWrite": {
673
+ "type": "string",
674
+ "enum": [
675
+ "plan",
676
+ "ask",
677
+ "auto"
678
+ ],
679
+ "default": "auto"
680
+ },
681
+ "shell": {
682
+ "type": "string",
683
+ "enum": [
684
+ "deny",
685
+ "ask",
686
+ "safe-auto"
687
+ ],
688
+ "default": "safe-auto"
689
+ },
690
+ "network": {
691
+ "type": "string",
692
+ "enum": [
693
+ "deny",
694
+ "ask",
695
+ "allow"
696
+ ],
697
+ "default": "ask"
698
+ },
699
+ "destructive": {
700
+ "type": "string",
701
+ "enum": [
702
+ "deny",
703
+ "ask"
704
+ ],
705
+ "default": "ask"
706
+ },
707
+ "credentials": {
708
+ "description": "13.2: reading a credential is R5, so this defaults to deny.",
709
+ "type": "string",
710
+ "enum": [
711
+ "deny",
712
+ "ask"
713
+ ],
714
+ "default": "deny"
715
+ },
716
+ "externalSideEffect": {
717
+ "type": "string",
718
+ "enum": [
719
+ "deny",
720
+ "ask"
721
+ ],
722
+ "default": "ask"
723
+ },
724
+ "rules": {
725
+ "description": "13.3 declarative approval rules merged with persisted grants (P0-13). A config rule never weakens a monotonic policy key; the engine re-checks trust before honouring it.",
726
+ "type": "array",
727
+ "default": [],
728
+ "items": {
729
+ "type": "object",
730
+ "additionalProperties": false,
731
+ "required": [
732
+ "tool",
733
+ "decision",
734
+ "risk"
735
+ ],
736
+ "properties": {
737
+ "tool": {
738
+ "type": "string",
739
+ "minLength": 1
740
+ },
741
+ "decision": {
742
+ "type": "string",
743
+ "enum": [
744
+ "allow",
745
+ "deny"
746
+ ]
747
+ },
748
+ "risk": {
749
+ "type": "string",
750
+ "enum": [
751
+ "R0",
752
+ "R1",
753
+ "R2",
754
+ "R3",
755
+ "R4",
756
+ "R5",
757
+ "R6"
758
+ ]
759
+ },
760
+ "program": {
761
+ "type": "string"
762
+ },
763
+ "argsPrefix": {
764
+ "type": "array",
765
+ "items": {
766
+ "type": "string"
767
+ }
768
+ },
769
+ "paths": {
770
+ "type": "array",
771
+ "items": {
772
+ "type": "string"
773
+ }
774
+ },
775
+ "server": {
776
+ "type": "string"
777
+ }
778
+ }
779
+ }
780
+ }
781
+ }
782
+ },
783
+ "sandbox": {
784
+ "type": "object",
785
+ "additionalProperties": false,
786
+ "required": [
787
+ "level",
788
+ "networkForShell"
789
+ ],
790
+ "properties": {
791
+ "level": {
792
+ "type": "string",
793
+ "enum": [
794
+ "none",
795
+ "workspace",
796
+ "standard",
797
+ "strict"
798
+ ],
799
+ "default": "workspace"
800
+ },
801
+ "networkForShell": {
802
+ "type": "string",
803
+ "enum": [
804
+ "deny",
805
+ "ask",
806
+ "allow"
807
+ ],
808
+ "default": "ask"
809
+ }
810
+ }
811
+ },
812
+ "sessions": {
813
+ "type": "object",
814
+ "additionalProperties": false,
815
+ "required": [
816
+ "retain",
817
+ "artifactRetentionDays",
818
+ "autoSnapshotEvents"
819
+ ],
820
+ "properties": {
821
+ "retain": {
822
+ "type": "boolean",
823
+ "default": true
824
+ },
825
+ "artifactRetentionDays": {
826
+ "type": "integer",
827
+ "minimum": 0,
828
+ "default": 30
829
+ },
830
+ "autoSnapshotEvents": {
831
+ "type": "integer",
832
+ "minimum": 1,
833
+ "default": 100
834
+ }
835
+ }
836
+ },
837
+ "privacy": {
838
+ "type": "object",
839
+ "additionalProperties": false,
840
+ "required": [
841
+ "telemetry",
842
+ "crashReports",
843
+ "providerStore"
844
+ ],
845
+ "properties": {
846
+ "telemetry": {
847
+ "description": "23.5: off by default, and opt-in only.",
848
+ "type": "boolean",
849
+ "default": false
850
+ },
851
+ "crashReports": {
852
+ "type": "string",
853
+ "enum": [
854
+ "off",
855
+ "ask",
856
+ "on"
857
+ ],
858
+ "default": "ask"
859
+ },
860
+ "providerStore": {
861
+ "description": "23.6: store:false by default, so prompts are not retained by the provider.",
862
+ "type": "boolean",
863
+ "default": false
864
+ }
865
+ }
866
+ },
867
+ "updates": {
868
+ "type": "object",
869
+ "additionalProperties": false,
870
+ "required": [
871
+ "channel",
872
+ "check",
873
+ "intervalHours"
874
+ ],
875
+ "properties": {
876
+ "channel": {
877
+ "type": "string",
878
+ "enum": [
879
+ "stable",
880
+ "beta",
881
+ "nightly"
882
+ ],
883
+ "default": "stable"
884
+ },
885
+ "check": {
886
+ "type": "boolean",
887
+ "default": true
888
+ },
889
+ "intervalHours": {
890
+ "type": "integer",
891
+ "minimum": 1,
892
+ "default": 24
893
+ }
894
+ }
895
+ },
896
+ "provider": {
897
+ "type": "object",
898
+ "additionalProperties": false,
899
+ "required": [
900
+ "openai"
901
+ ],
902
+ "properties": {
903
+ "openai": {
904
+ "type": "object",
905
+ "additionalProperties": false,
906
+ "required": [
907
+ "native",
908
+ "transport",
909
+ "serviceTier",
910
+ "toolSearch"
911
+ ],
912
+ "properties": {
913
+ "native": {
914
+ "type": "object",
915
+ "additionalProperties": false,
916
+ "required": [
917
+ "programmaticToolCalling",
918
+ "hostedMultiAgent",
919
+ "maxHostedAgents",
920
+ "maxProgramToolCalls",
921
+ "maxProgramParallelCalls",
922
+ "allowHostedShell",
923
+ "allowHostedApplyPatch",
924
+ "allowComputerUse"
925
+ ],
926
+ "properties": {
927
+ "programmaticToolCalling": {
928
+ "type": "string",
929
+ "enum": [
930
+ "read-only",
931
+ "disabled"
932
+ ],
933
+ "default": "read-only"
934
+ },
935
+ "hostedMultiAgent": {
936
+ "type": "string",
937
+ "enum": [
938
+ "read-only",
939
+ "disabled"
940
+ ],
941
+ "default": "read-only"
942
+ },
943
+ "maxHostedAgents": {
944
+ "type": "integer",
945
+ "minimum": 0,
946
+ "default": 3
947
+ },
948
+ "maxProgramToolCalls": {
949
+ "type": "integer",
950
+ "minimum": 0,
951
+ "default": 24
952
+ },
953
+ "maxProgramParallelCalls": {
954
+ "type": "integer",
955
+ "minimum": 1,
956
+ "default": 6
957
+ },
958
+ "allowHostedShell": {
959
+ "const": false
960
+ },
961
+ "allowHostedApplyPatch": {
962
+ "const": false
963
+ },
964
+ "allowComputerUse": {
965
+ "const": false
966
+ }
967
+ }
968
+ },
969
+ "transport": {
970
+ "type": "string",
971
+ "enum": [
972
+ "http_full",
973
+ "http_previous",
974
+ "websocket"
975
+ ],
976
+ "default": "websocket"
977
+ },
978
+ "serviceTier": {
979
+ "type": "string",
980
+ "enum": [
981
+ "standard",
982
+ "fast"
983
+ ],
984
+ "default": "standard"
985
+ },
986
+ "toolSearch": {
987
+ "type": "boolean",
988
+ "default": false
989
+ }
990
+ }
991
+ }
992
+ }
993
+ },
994
+ "perf": {
995
+ "type": "object",
996
+ "additionalProperties": false,
997
+ "required": [
998
+ "telemetry",
999
+ "sampleRate",
1000
+ "contextPackProjection",
1001
+ "subagentProfileResolutionV2",
1002
+ "subagentContextReservations",
1003
+ "phaseRouting",
1004
+ "budgetEnforcement",
1005
+ "retrievalControllerV2",
1006
+ "verificationPlannerV2",
1007
+ "commentaryPolicyV2"
1008
+ ],
1009
+ "properties": {
1010
+ "telemetry": {
1011
+ "type": "boolean",
1012
+ "default": true
1013
+ },
1014
+ "contextPackProjection": {
1015
+ "type": "boolean",
1016
+ "default": true
1017
+ },
1018
+ "subagentProfileResolutionV2": {
1019
+ "type": "boolean",
1020
+ "default": true
1021
+ },
1022
+ "subagentContextReservations": {
1023
+ "type": "boolean",
1024
+ "default": true
1025
+ },
1026
+ "phaseRouting": {
1027
+ "type": "boolean",
1028
+ "default": true
1029
+ },
1030
+ "budgetEnforcement": {
1031
+ "type": "string",
1032
+ "enum": ["shadow", "advisory", "hard"],
1033
+ "default": "advisory"
1034
+ },
1035
+ "retrievalControllerV2": {
1036
+ "type": "boolean",
1037
+ "default": true
1038
+ },
1039
+ "verificationPlannerV2": {
1040
+ "type": "boolean",
1041
+ "default": true
1042
+ },
1043
+ "commentaryPolicyV2": {
1044
+ "type": "boolean",
1045
+ "default": true
1046
+ },
1047
+ "longSessionFastPath": {
1048
+ "description": "Bounded v3 resume and paged UI fast path; false restores the v2-compatible path.",
1049
+ "type": "boolean",
1050
+ "default": true
1051
+ },
1052
+ "sampleRate": {
1053
+ "type": "number",
1054
+ "minimum": 0,
1055
+ "maximum": 1,
1056
+ "default": 1
1057
+ }
1058
+ }
1059
+ },
1060
+ "mcpServers": {
1061
+ "description": "17.3. Written as [mcp.servers.<name>] in TOML. 8.8 stores command and args as an array to remove shell-parsing ambiguity.",
1062
+ "type": "object",
1063
+ "additionalProperties": {
1064
+ "$ref": "#/$defs/mcpServer"
1065
+ }
1066
+ },
1067
+ "lspServers": {
1068
+ "description": "Written as [lsp.servers.<name>] in the global TOML. Commands are never downloaded automatically and launch only in a trusted Build workspace.",
1069
+ "type": "object",
1070
+ "additionalProperties": {
1071
+ "$ref": "#/$defs/lspServer"
1072
+ }
1073
+ },
1074
+ "keymap": {
1075
+ "description": "6.15 remapping. Keys are action names, values are key descriptors.",
1076
+ "type": "object",
1077
+ "additionalProperties": {
1078
+ "type": "string"
1079
+ }
1080
+ }
1081
+ },
1082
+ "$defs": {
1083
+ "reasoningEffort": {
1084
+ "type": "string",
1085
+ "enum": [
1086
+ "none",
1087
+ "low",
1088
+ "medium",
1089
+ "high",
1090
+ "xhigh",
1091
+ "max"
1092
+ ]
1093
+ },
1094
+ "reasoningMode": {
1095
+ "type": "string",
1096
+ "enum": [
1097
+ "standard",
1098
+ "pro"
1099
+ ]
1100
+ },
1101
+ "permissionMode": {
1102
+ "description": "13.1. There is deliberately no 'full' or 'dangerously-skip-permissions' value.",
1103
+ "type": "string",
1104
+ "enum": [
1105
+ "plan",
1106
+ "ask",
1107
+ "auto",
1108
+ "auto-review"
1109
+ ]
1110
+ },
1111
+ "interactionMode": {
1112
+ "type": "string",
1113
+ "enum": [
1114
+ "build",
1115
+ "plan"
1116
+ ]
1117
+ },
1118
+ "reviewMode": {
1119
+ "type": "string",
1120
+ "enum": [
1121
+ "off",
1122
+ "auto"
1123
+ ]
1124
+ },
1125
+ "modelProfile": {
1126
+ "type": "object",
1127
+ "additionalProperties": false,
1128
+ "required": [
1129
+ "model",
1130
+ "reasoningMode",
1131
+ "reasoningEffort"
1132
+ ],
1133
+ "properties": {
1134
+ "model": {
1135
+ "type": "string",
1136
+ "minLength": 1
1137
+ },
1138
+ "reasoningMode": {
1139
+ "$ref": "#/$defs/reasoningMode"
1140
+ },
1141
+ "reasoningEffort": {
1142
+ "$ref": "#/$defs/reasoningEffort"
1143
+ }
1144
+ }
1145
+ },
1146
+ "lspServer": {
1147
+ "type": "object",
1148
+ "additionalProperties": false,
1149
+ "required": [
1150
+ "command",
1151
+ "extensions",
1152
+ "languageId"
1153
+ ],
1154
+ "properties": {
1155
+ "command": {
1156
+ "type": "string",
1157
+ "minLength": 1
1158
+ },
1159
+ "args": {
1160
+ "type": "array",
1161
+ "items": {
1162
+ "type": "string"
1163
+ }
1164
+ },
1165
+ "extensions": {
1166
+ "type": "array",
1167
+ "minItems": 1,
1168
+ "uniqueItems": true,
1169
+ "items": {
1170
+ "type": "string",
1171
+ "pattern": "^\\..+"
1172
+ }
1173
+ },
1174
+ "languageId": {
1175
+ "type": "string",
1176
+ "minLength": 1
1177
+ },
1178
+ "enabled": {
1179
+ "type": "boolean",
1180
+ "default": true
1181
+ },
1182
+ "installHint": {
1183
+ "type": "string"
1184
+ },
1185
+ "timeoutMs": {
1186
+ "type": "integer",
1187
+ "minimum": 100,
1188
+ "default": 15000
1189
+ }
1190
+ }
1191
+ },
1192
+ "mcpServer": {
1193
+ "type": "object",
1194
+ "additionalProperties": false,
1195
+ "required": [
1196
+ "transport"
1197
+ ],
1198
+ "properties": {
1199
+ "transport": {
1200
+ "type": "string",
1201
+ "enum": [
1202
+ "stdio",
1203
+ "streamable_http"
1204
+ ]
1205
+ },
1206
+ "command": {
1207
+ "type": "string"
1208
+ },
1209
+ "args": {
1210
+ "type": "array",
1211
+ "items": {
1212
+ "type": "string"
1213
+ }
1214
+ },
1215
+ "url": {
1216
+ "type": "string"
1217
+ },
1218
+ "env": {
1219
+ "description": "14.5: variable NAMES only. A value here would be a credential in a config file, which 21.3 forbids.",
1220
+ "type": "array",
1221
+ "items": {
1222
+ "type": "string"
1223
+ }
1224
+ },
1225
+ "auth": {
1226
+ "type": "string",
1227
+ "enum": [
1228
+ "none",
1229
+ "oauth",
1230
+ "bearer"
1231
+ ]
1232
+ },
1233
+ "enabled": {
1234
+ "type": "boolean",
1235
+ "default": true
1236
+ },
1237
+ "connectOnStartup": {
1238
+ "description": "Whether the configured server connects during session bootstrap. Disabled servers never connect.",
1239
+ "type": "boolean",
1240
+ "default": true
1241
+ },
1242
+ "timeoutMs": {
1243
+ "type": "integer",
1244
+ "minimum": 100
1245
+ }
1246
+ }
1247
+ }
1248
+ }
1249
+ }