@gaunt-sloth/core 2.0.0-alpha.24 → 2.0.0-alpha.26

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.
Files changed (109) hide show
  1. package/README.md +1 -1
  2. package/dist/config/colour.d.ts +38 -0
  3. package/dist/config/colour.js +36 -0
  4. package/dist/config/colour.js.map +1 -0
  5. package/dist/config/defaults.d.ts +1 -0
  6. package/dist/config/defaults.js +1 -0
  7. package/dist/config/defaults.js.map +1 -1
  8. package/dist/config/loader.d.ts +13 -6
  9. package/dist/config/loader.js +171 -28
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/config/mouse.d.ts +50 -0
  12. package/dist/config/mouse.js +44 -0
  13. package/dist/config/mouse.js.map +1 -0
  14. package/dist/config/schema.d.ts +2372 -114
  15. package/dist/config/schema.js +845 -16
  16. package/dist/config/schema.js.map +1 -1
  17. package/dist/config/shell-policy.d.ts +466 -116
  18. package/dist/config/shell-policy.js +273 -62
  19. package/dist/config/shell-policy.js.map +1 -1
  20. package/dist/config/tool-descriptions.d.ts +165 -0
  21. package/dist/config/tool-descriptions.js +229 -0
  22. package/dist/config/tool-descriptions.js.map +1 -0
  23. package/dist/config/types.d.ts +36 -1
  24. package/dist/config/types.js.map +1 -1
  25. package/dist/config.d.ts +3 -0
  26. package/dist/config.js +3 -0
  27. package/dist/config.js.map +1 -1
  28. package/dist/core/GthAbstractAgent.d.ts +59 -1
  29. package/dist/core/GthAbstractAgent.js +72 -0
  30. package/dist/core/GthAbstractAgent.js.map +1 -1
  31. package/dist/core/GthAgentRunner.d.ts +341 -58
  32. package/dist/core/GthAgentRunner.js +817 -149
  33. package/dist/core/GthAgentRunner.js.map +1 -1
  34. package/dist/core/GthLangChainAgent.d.ts +16 -0
  35. package/dist/core/GthLangChainAgent.js +72 -2
  36. package/dist/core/GthLangChainAgent.js.map +1 -1
  37. package/dist/core/approvals/annotations.d.ts +122 -0
  38. package/dist/core/approvals/annotations.js +137 -0
  39. package/dist/core/approvals/annotations.js.map +1 -0
  40. package/dist/core/approvals/grants.d.ts +216 -0
  41. package/dist/core/approvals/grants.js +469 -0
  42. package/dist/core/approvals/grants.js.map +1 -0
  43. package/dist/core/approvals/matcher.d.ts +202 -0
  44. package/dist/core/approvals/matcher.js +267 -0
  45. package/dist/core/approvals/matcher.js.map +1 -0
  46. package/dist/core/approvals/mcpSubjects.d.ts +40 -0
  47. package/dist/core/approvals/mcpSubjects.js +99 -0
  48. package/dist/core/approvals/mcpSubjects.js.map +1 -0
  49. package/dist/core/approvals/toolAnnotationSources.d.ts +105 -0
  50. package/dist/core/approvals/toolAnnotationSources.js +277 -0
  51. package/dist/core/approvals/toolAnnotationSources.js.map +1 -0
  52. package/dist/core/approvals/toolHost.d.ts +46 -0
  53. package/dist/core/approvals/toolHost.js +108 -0
  54. package/dist/core/approvals/toolHost.js.map +1 -0
  55. package/dist/core/launchBanner.d.ts +120 -0
  56. package/dist/core/launchBanner.js +399 -0
  57. package/dist/core/launchBanner.js.map +1 -0
  58. package/dist/core/plainToolIndication.js +13 -7
  59. package/dist/core/plainToolIndication.js.map +1 -1
  60. package/dist/core/shell/approvalStop.d.ts +75 -0
  61. package/dist/core/shell/approvalStop.js +108 -0
  62. package/dist/core/shell/approvalStop.js.map +1 -0
  63. package/dist/core/shell/arity.d.ts +6 -0
  64. package/dist/core/shell/arity.js +20 -6
  65. package/dist/core/shell/arity.js.map +1 -1
  66. package/dist/core/shell/denylist.d.ts +11 -0
  67. package/dist/core/shell/denylist.js +37 -0
  68. package/dist/core/shell/denylist.js.map +1 -0
  69. package/dist/core/shell/normalize.d.ts +41 -1
  70. package/dist/core/shell/normalize.js +58 -4
  71. package/dist/core/shell/normalize.js.map +1 -1
  72. package/dist/core/shell/openWorld.d.ts +138 -0
  73. package/dist/core/shell/openWorld.js +523 -0
  74. package/dist/core/shell/openWorld.js.map +1 -0
  75. package/dist/core/shell/rater.d.ts +560 -0
  76. package/dist/core/shell/rater.js +895 -0
  77. package/dist/core/shell/rater.js.map +1 -0
  78. package/dist/core/shell/raterModel.d.ts +41 -0
  79. package/dist/core/shell/raterModel.js +51 -0
  80. package/dist/core/shell/raterModel.js.map +1 -0
  81. package/dist/core/shell/rejection.d.ts +66 -0
  82. package/dist/core/shell/rejection.js +38 -0
  83. package/dist/core/shell/rejection.js.map +1 -0
  84. package/dist/core/types.d.ts +71 -9
  85. package/dist/core/types.js.map +1 -1
  86. package/dist/runtime/askStructured.d.ts +8 -7
  87. package/dist/runtime/askStructured.js +8 -7
  88. package/dist/runtime/askStructured.js.map +1 -1
  89. package/dist/runtime/conversation.js +89 -76
  90. package/dist/runtime/conversation.js.map +1 -1
  91. package/dist/runtime/singleShot.js +71 -60
  92. package/dist/runtime/singleShot.js.map +1 -1
  93. package/dist/utils/ProgressIndicator.d.ts +21 -0
  94. package/dist/utils/ProgressIndicator.js +30 -3
  95. package/dist/utils/ProgressIndicator.js.map +1 -1
  96. package/dist/utils/consoleUtils.d.ts +30 -0
  97. package/dist/utils/consoleUtils.js +27 -2
  98. package/dist/utils/consoleUtils.js.map +1 -1
  99. package/dist/utils/systemUtils.d.ts +17 -0
  100. package/dist/utils/systemUtils.js +17 -0
  101. package/dist/utils/systemUtils.js.map +1 -1
  102. package/package.json +5 -2
  103. package/schema/gsloth-config.schema.json +1216 -417
  104. package/dist/core/shell/allowlist.d.ts +0 -75
  105. package/dist/core/shell/allowlist.js +0 -187
  106. package/dist/core/shell/allowlist.js.map +0 -1
  107. package/dist/core/shell/judge.d.ts +0 -161
  108. package/dist/core/shell/judge.js +0 -261
  109. package/dist/core/shell/judge.js.map +0 -1
@@ -35,6 +35,165 @@
35
35
  * is additive and legitimately differs (no deprecated fields).
36
36
  */
37
37
  import { z } from 'zod';
38
+ /**
39
+ * EXT-71 §3.1 — the **subject** axis of a rule entry, and only that: `shell` is a command, `tool`
40
+ * a built-in or custom in-process tool, `mcpTool` a server's tool. The hand-written twin is
41
+ * `ApprovalEntryType` in `shell-policy.ts`. What holds the two together is
42
+ * `approvalEntrySchema.spec.ts`, where a list of `ApprovalEntry`-typed literals is parsed by this
43
+ * schema: a value either side stops accepting fails there. That is a weaker pin than a direct
44
+ * equality assertion — it catches a narrowing, not a widening on one side alone.
45
+ */
46
+ export declare const APPROVAL_ENTRY_TYPES: readonly ['shell', 'tool', 'mcpTool'];
47
+ /**
48
+ * EXT-71 §3.1 — the **comparison** axis of a rule entry, and only that. `exact`/`glob`/`regexp`
49
+ * take a string pattern; `hint` takes an object over the annotation names and is valid on tool
50
+ * subjects only (on `shell` it is a config error — see {@link shellEntrySchema}).
51
+ */
52
+ export declare const APPROVAL_ENTRY_MATCHERS: readonly ['exact', 'glob', 'regexp', 'hint'];
53
+ /**
54
+ * EXT-71 §3.1 / §4.7 — the four MCP `ToolAnnotations` booleans a `hint` pattern may name, and the
55
+ * names a user may list in `approvals.mcp.*.trustAnnotations` (§4.7.1). This is the whole
56
+ * vocabulary: an unknown name is a config error, never an ignored key, because a hint pattern that
57
+ * quietly drops a constraint matches MORE than its author wrote, and a trust list that quietly
58
+ * drops one reads as working while believing something else.
59
+ *
60
+ * **The runtime twin `TOOL_ANNOTATION_HINTS` in `shell-policy.ts` is a deliberate duplicate, and
61
+ * the reason is layering, not oversight.** Neither file may import the other. This module must stay
62
+ * pure and cwd/fs-independent because it feeds `z.toJSONSchema()` (see the header), and importing
63
+ * `shell-policy.ts` would pull `core/types.js` and the whole runtime policy surface into it;
64
+ * importing this module from there would in turn pull zod into every module that only wanted a
65
+ * policy type. So the vocabulary is written once per layer on purpose — do not "simplify" it by
66
+ * making one import the other. The equality assertion in `mcpApprovalsBlock.spec.ts` is what fails
67
+ * when they drift.
68
+ */
69
+ export declare const HINT_ANNOTATION_KEYS: readonly ['readOnlyHint', 'destructiveHint', 'idempotentHint', 'openWorldHint'];
70
+ /**
71
+ * EXT-71 §3.1 — the length cap on a `regexp` pattern, enforced when the config LOADS.
72
+ *
73
+ * 200 characters. The longest pattern the spec itself writes is under 40, and every rule entry
74
+ * names one command or tool shape rather than a grammar, so 200 is an order of magnitude of
75
+ * headroom over real use while still bounding what the matcher can ever be handed. The cap is a
76
+ * cheap load-time bound, NOT a backtracking defence — a short pattern can backtrack
77
+ * catastrophically too, and the run-time match budget is the separate backstop for that. What the
78
+ * cap buys is that a pattern nobody could have read and reviewed cannot be smuggled past load.
79
+ */
80
+ export declare const APPROVAL_REGEXP_MAX_LENGTH = 200;
81
+ /**
82
+ * EXT-71 §3.1 — **one** entry in `allow`, `deny` or `escalate`. All three lists take the same
83
+ * shape, so there is one schema and the list a rule sits in decides only what a match DOES.
84
+ *
85
+ * `type`, `matcher` and `pattern` are required on every arm: no field is inferred, and no entry
86
+ * reads two ways. Every arm is a strict object, so any field the grammar does not define — a typo,
87
+ * a `server` on a `shell` entry, a `host` on a `shell` entry — is an unrecognized-key error rather
88
+ * than a silently-ignored key that would widen what the entry matches.
89
+ *
90
+ * The `id` is what makes the emitted JSON Schema hoist this union into `$defs` and reference it,
91
+ * instead of inlining all eleven arms into each of the twenty-four places a rule list appears
92
+ * (three lists × the root plus seven commands). That is the difference between a schema an editor loads
93
+ * and one it chokes on, and `$ref` is the standard spelling every JSON Schema consumer already
94
+ * understands.
95
+ */
96
+ export declare const approvalEntrySchema: z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
97
+ rate: z.ZodOptional<z.ZodBoolean>;
98
+ type: z.ZodLiteral<"shell">;
99
+ matcher: z.ZodLiteral<"exact">;
100
+ pattern: z.ZodString;
101
+ }, z.core.$strict>, z.ZodObject<{
102
+ rate: z.ZodOptional<z.ZodBoolean>;
103
+ type: z.ZodLiteral<"shell">;
104
+ matcher: z.ZodLiteral<"glob">;
105
+ pattern: z.ZodString;
106
+ }, z.core.$strict>, z.ZodObject<{
107
+ rate: z.ZodOptional<z.ZodBoolean>;
108
+ type: z.ZodLiteral<"shell">;
109
+ matcher: z.ZodLiteral<"regexp">;
110
+ pattern: z.ZodString;
111
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
112
+ rate: z.ZodOptional<z.ZodBoolean>;
113
+ host: z.ZodOptional<z.ZodString>;
114
+ type: z.ZodLiteral<"tool">;
115
+ matcher: z.ZodLiteral<"exact">;
116
+ pattern: z.ZodString;
117
+ }, z.core.$strict>, z.ZodObject<{
118
+ rate: z.ZodOptional<z.ZodBoolean>;
119
+ host: z.ZodOptional<z.ZodString>;
120
+ type: z.ZodLiteral<"tool">;
121
+ matcher: z.ZodLiteral<"glob">;
122
+ pattern: z.ZodString;
123
+ }, z.core.$strict>, z.ZodObject<{
124
+ rate: z.ZodOptional<z.ZodBoolean>;
125
+ host: z.ZodOptional<z.ZodString>;
126
+ type: z.ZodLiteral<"tool">;
127
+ matcher: z.ZodLiteral<"regexp">;
128
+ pattern: z.ZodString;
129
+ }, z.core.$strict>, z.ZodObject<{
130
+ rate: z.ZodOptional<z.ZodBoolean>;
131
+ host: z.ZodOptional<z.ZodString>;
132
+ type: z.ZodLiteral<"tool">;
133
+ matcher: z.ZodLiteral<"hint">;
134
+ pattern: z.ZodObject<{
135
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
136
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
137
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
138
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
139
+ }, z.core.$strict>;
140
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
141
+ rate: z.ZodOptional<z.ZodBoolean>;
142
+ host: z.ZodOptional<z.ZodString>;
143
+ type: z.ZodLiteral<"mcpTool">;
144
+ matcher: z.ZodLiteral<"exact">;
145
+ server: z.ZodString;
146
+ pattern: z.ZodString;
147
+ }, z.core.$strict>, z.ZodObject<{
148
+ rate: z.ZodOptional<z.ZodBoolean>;
149
+ host: z.ZodOptional<z.ZodString>;
150
+ type: z.ZodLiteral<"mcpTool">;
151
+ matcher: z.ZodLiteral<"glob">;
152
+ server: z.ZodString;
153
+ pattern: z.ZodString;
154
+ }, z.core.$strict>, z.ZodObject<{
155
+ rate: z.ZodOptional<z.ZodBoolean>;
156
+ host: z.ZodOptional<z.ZodString>;
157
+ type: z.ZodLiteral<"mcpTool">;
158
+ matcher: z.ZodLiteral<"regexp">;
159
+ server: z.ZodString;
160
+ pattern: z.ZodString;
161
+ }, z.core.$strict>, z.ZodObject<{
162
+ rate: z.ZodOptional<z.ZodBoolean>;
163
+ host: z.ZodOptional<z.ZodString>;
164
+ type: z.ZodLiteral<"mcpTool">;
165
+ matcher: z.ZodLiteral<"hint">;
166
+ server: z.ZodString;
167
+ pattern: z.ZodObject<{
168
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
169
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
170
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
171
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
172
+ }, z.core.$strict>;
173
+ }, z.core.$strict>], "matcher">], "type">;
174
+ /**
175
+ * EXT-71 §3.1 — render an entry in the object form the user would write in a config file, with the
176
+ * fields in grammar order (`type`, `server`, `matcher`, `pattern`, then the optional bounds).
177
+ *
178
+ * The ONE place that spelling is produced, because it is shown in two very different moments that
179
+ * must agree: the load-time error that tells a user what to write instead of their bare string, and
180
+ * the escalation menu's *this is what will be stored* line (§6). A grant the menu describes one way
181
+ * and stores another is exactly the drift this design cannot afford.
182
+ */
183
+ export declare function renderApprovalEntryObject(entry: {
184
+ type: string;
185
+ matcher: string;
186
+ pattern: unknown;
187
+ server?: string;
188
+ host?: string;
189
+ rate?: boolean;
190
+ }): string;
191
+ /**
192
+ * EXT-71 §2.3/§9.1 — render the object form of a bare string found in a rule list, so the
193
+ * migration error shows the user the entry they should have written *for their own string*
194
+ * rather than a generic example.
195
+ */
196
+ export declare function renderApprovalEntryForString(pattern: string): string;
38
197
  /**
39
198
  * Zod schema for the raw, on-disk Gaunt Sloth config. Loose at the top level so
40
199
  * unknown keys are preserved (warn-only via {@link findUnknownTopLevelKeys}).
@@ -153,25 +312,280 @@ export declare const rawGthConfigSchema: z.ZodObject<{
153
312
  command: z.ZodOptional<z.ZodString>;
154
313
  timeout: z.ZodOptional<z.ZodNumber>;
155
314
  maxOutputBytes: z.ZodOptional<z.ZodNumber>;
156
- allowlist: z.ZodOptional<z.ZodBoolean>;
157
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
158
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
159
- enabled: z.ZodOptional<z.ZodBoolean>;
160
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
161
- blockHigh: z.ZodOptional<z.ZodBoolean>;
162
- model: z.ZodOptional<z.ZodObject<{
163
- type: z.ZodOptional<z.ZodString>;
164
- model: z.ZodOptional<z.ZodString>;
165
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
166
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
167
- }, z.core.$loose>>;
168
- }, z.core.$strip>]>>;
169
- yolo: z.ZodOptional<z.ZodBoolean>;
170
315
  fileSet: z.ZodOptional<z.ZodEnum<{
171
316
  all: "all";
172
317
  gitignore: "gitignore";
173
318
  }>>;
174
319
  }, z.core.$strip>]>>]>>;
320
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
321
+ "auto-safe": "auto-safe";
322
+ bypass: "bypass";
323
+ "full-auto": "full-auto";
324
+ "read-only": "read-only";
325
+ write: "write";
326
+ }>, z.ZodObject<{
327
+ mode: z.ZodOptional<z.ZodEnum<{
328
+ "auto-safe": "auto-safe";
329
+ bypass: "bypass";
330
+ "full-auto": "full-auto";
331
+ "read-only": "read-only";
332
+ write: "write";
333
+ }>>;
334
+ rater: z.ZodOptional<z.ZodString>;
335
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
336
+ rate: z.ZodOptional<z.ZodBoolean>;
337
+ type: z.ZodLiteral<"shell">;
338
+ matcher: z.ZodLiteral<"exact">;
339
+ pattern: z.ZodString;
340
+ }, z.core.$strict>, z.ZodObject<{
341
+ rate: z.ZodOptional<z.ZodBoolean>;
342
+ type: z.ZodLiteral<"shell">;
343
+ matcher: z.ZodLiteral<"glob">;
344
+ pattern: z.ZodString;
345
+ }, z.core.$strict>, z.ZodObject<{
346
+ rate: z.ZodOptional<z.ZodBoolean>;
347
+ type: z.ZodLiteral<"shell">;
348
+ matcher: z.ZodLiteral<"regexp">;
349
+ pattern: z.ZodString;
350
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
351
+ rate: z.ZodOptional<z.ZodBoolean>;
352
+ host: z.ZodOptional<z.ZodString>;
353
+ type: z.ZodLiteral<"tool">;
354
+ matcher: z.ZodLiteral<"exact">;
355
+ pattern: z.ZodString;
356
+ }, z.core.$strict>, z.ZodObject<{
357
+ rate: z.ZodOptional<z.ZodBoolean>;
358
+ host: z.ZodOptional<z.ZodString>;
359
+ type: z.ZodLiteral<"tool">;
360
+ matcher: z.ZodLiteral<"glob">;
361
+ pattern: z.ZodString;
362
+ }, z.core.$strict>, z.ZodObject<{
363
+ rate: z.ZodOptional<z.ZodBoolean>;
364
+ host: z.ZodOptional<z.ZodString>;
365
+ type: z.ZodLiteral<"tool">;
366
+ matcher: z.ZodLiteral<"regexp">;
367
+ pattern: z.ZodString;
368
+ }, z.core.$strict>, z.ZodObject<{
369
+ rate: z.ZodOptional<z.ZodBoolean>;
370
+ host: z.ZodOptional<z.ZodString>;
371
+ type: z.ZodLiteral<"tool">;
372
+ matcher: z.ZodLiteral<"hint">;
373
+ pattern: z.ZodObject<{
374
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
375
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
376
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
377
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
378
+ }, z.core.$strict>;
379
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
380
+ rate: z.ZodOptional<z.ZodBoolean>;
381
+ host: z.ZodOptional<z.ZodString>;
382
+ type: z.ZodLiteral<"mcpTool">;
383
+ matcher: z.ZodLiteral<"exact">;
384
+ server: z.ZodString;
385
+ pattern: z.ZodString;
386
+ }, z.core.$strict>, z.ZodObject<{
387
+ rate: z.ZodOptional<z.ZodBoolean>;
388
+ host: z.ZodOptional<z.ZodString>;
389
+ type: z.ZodLiteral<"mcpTool">;
390
+ matcher: z.ZodLiteral<"glob">;
391
+ server: z.ZodString;
392
+ pattern: z.ZodString;
393
+ }, z.core.$strict>, z.ZodObject<{
394
+ rate: z.ZodOptional<z.ZodBoolean>;
395
+ host: z.ZodOptional<z.ZodString>;
396
+ type: z.ZodLiteral<"mcpTool">;
397
+ matcher: z.ZodLiteral<"regexp">;
398
+ server: z.ZodString;
399
+ pattern: z.ZodString;
400
+ }, z.core.$strict>, z.ZodObject<{
401
+ rate: z.ZodOptional<z.ZodBoolean>;
402
+ host: z.ZodOptional<z.ZodString>;
403
+ type: z.ZodLiteral<"mcpTool">;
404
+ matcher: z.ZodLiteral<"hint">;
405
+ server: z.ZodString;
406
+ pattern: z.ZodObject<{
407
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
408
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
409
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
410
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
411
+ }, z.core.$strict>;
412
+ }, z.core.$strict>], "matcher">], "type">>>;
413
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
414
+ rate: z.ZodOptional<z.ZodBoolean>;
415
+ type: z.ZodLiteral<"shell">;
416
+ matcher: z.ZodLiteral<"exact">;
417
+ pattern: z.ZodString;
418
+ }, z.core.$strict>, z.ZodObject<{
419
+ rate: z.ZodOptional<z.ZodBoolean>;
420
+ type: z.ZodLiteral<"shell">;
421
+ matcher: z.ZodLiteral<"glob">;
422
+ pattern: z.ZodString;
423
+ }, z.core.$strict>, z.ZodObject<{
424
+ rate: z.ZodOptional<z.ZodBoolean>;
425
+ type: z.ZodLiteral<"shell">;
426
+ matcher: z.ZodLiteral<"regexp">;
427
+ pattern: z.ZodString;
428
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
429
+ rate: z.ZodOptional<z.ZodBoolean>;
430
+ host: z.ZodOptional<z.ZodString>;
431
+ type: z.ZodLiteral<"tool">;
432
+ matcher: z.ZodLiteral<"exact">;
433
+ pattern: z.ZodString;
434
+ }, z.core.$strict>, z.ZodObject<{
435
+ rate: z.ZodOptional<z.ZodBoolean>;
436
+ host: z.ZodOptional<z.ZodString>;
437
+ type: z.ZodLiteral<"tool">;
438
+ matcher: z.ZodLiteral<"glob">;
439
+ pattern: z.ZodString;
440
+ }, z.core.$strict>, z.ZodObject<{
441
+ rate: z.ZodOptional<z.ZodBoolean>;
442
+ host: z.ZodOptional<z.ZodString>;
443
+ type: z.ZodLiteral<"tool">;
444
+ matcher: z.ZodLiteral<"regexp">;
445
+ pattern: z.ZodString;
446
+ }, z.core.$strict>, z.ZodObject<{
447
+ rate: z.ZodOptional<z.ZodBoolean>;
448
+ host: z.ZodOptional<z.ZodString>;
449
+ type: z.ZodLiteral<"tool">;
450
+ matcher: z.ZodLiteral<"hint">;
451
+ pattern: z.ZodObject<{
452
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
453
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
454
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
455
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
456
+ }, z.core.$strict>;
457
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
458
+ rate: z.ZodOptional<z.ZodBoolean>;
459
+ host: z.ZodOptional<z.ZodString>;
460
+ type: z.ZodLiteral<"mcpTool">;
461
+ matcher: z.ZodLiteral<"exact">;
462
+ server: z.ZodString;
463
+ pattern: z.ZodString;
464
+ }, z.core.$strict>, z.ZodObject<{
465
+ rate: z.ZodOptional<z.ZodBoolean>;
466
+ host: z.ZodOptional<z.ZodString>;
467
+ type: z.ZodLiteral<"mcpTool">;
468
+ matcher: z.ZodLiteral<"glob">;
469
+ server: z.ZodString;
470
+ pattern: z.ZodString;
471
+ }, z.core.$strict>, z.ZodObject<{
472
+ rate: z.ZodOptional<z.ZodBoolean>;
473
+ host: z.ZodOptional<z.ZodString>;
474
+ type: z.ZodLiteral<"mcpTool">;
475
+ matcher: z.ZodLiteral<"regexp">;
476
+ server: z.ZodString;
477
+ pattern: z.ZodString;
478
+ }, z.core.$strict>, z.ZodObject<{
479
+ rate: z.ZodOptional<z.ZodBoolean>;
480
+ host: z.ZodOptional<z.ZodString>;
481
+ type: z.ZodLiteral<"mcpTool">;
482
+ matcher: z.ZodLiteral<"hint">;
483
+ server: z.ZodString;
484
+ pattern: z.ZodObject<{
485
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
486
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
487
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
488
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
489
+ }, z.core.$strict>;
490
+ }, z.core.$strict>], "matcher">], "type">>>;
491
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
492
+ rate: z.ZodOptional<z.ZodBoolean>;
493
+ type: z.ZodLiteral<"shell">;
494
+ matcher: z.ZodLiteral<"exact">;
495
+ pattern: z.ZodString;
496
+ }, z.core.$strict>, z.ZodObject<{
497
+ rate: z.ZodOptional<z.ZodBoolean>;
498
+ type: z.ZodLiteral<"shell">;
499
+ matcher: z.ZodLiteral<"glob">;
500
+ pattern: z.ZodString;
501
+ }, z.core.$strict>, z.ZodObject<{
502
+ rate: z.ZodOptional<z.ZodBoolean>;
503
+ type: z.ZodLiteral<"shell">;
504
+ matcher: z.ZodLiteral<"regexp">;
505
+ pattern: z.ZodString;
506
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
507
+ rate: z.ZodOptional<z.ZodBoolean>;
508
+ host: z.ZodOptional<z.ZodString>;
509
+ type: z.ZodLiteral<"tool">;
510
+ matcher: z.ZodLiteral<"exact">;
511
+ pattern: z.ZodString;
512
+ }, z.core.$strict>, z.ZodObject<{
513
+ rate: z.ZodOptional<z.ZodBoolean>;
514
+ host: z.ZodOptional<z.ZodString>;
515
+ type: z.ZodLiteral<"tool">;
516
+ matcher: z.ZodLiteral<"glob">;
517
+ pattern: z.ZodString;
518
+ }, z.core.$strict>, z.ZodObject<{
519
+ rate: z.ZodOptional<z.ZodBoolean>;
520
+ host: z.ZodOptional<z.ZodString>;
521
+ type: z.ZodLiteral<"tool">;
522
+ matcher: z.ZodLiteral<"regexp">;
523
+ pattern: z.ZodString;
524
+ }, z.core.$strict>, z.ZodObject<{
525
+ rate: z.ZodOptional<z.ZodBoolean>;
526
+ host: z.ZodOptional<z.ZodString>;
527
+ type: z.ZodLiteral<"tool">;
528
+ matcher: z.ZodLiteral<"hint">;
529
+ pattern: z.ZodObject<{
530
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
531
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
532
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
533
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
534
+ }, z.core.$strict>;
535
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
536
+ rate: z.ZodOptional<z.ZodBoolean>;
537
+ host: z.ZodOptional<z.ZodString>;
538
+ type: z.ZodLiteral<"mcpTool">;
539
+ matcher: z.ZodLiteral<"exact">;
540
+ server: z.ZodString;
541
+ pattern: z.ZodString;
542
+ }, z.core.$strict>, z.ZodObject<{
543
+ rate: z.ZodOptional<z.ZodBoolean>;
544
+ host: z.ZodOptional<z.ZodString>;
545
+ type: z.ZodLiteral<"mcpTool">;
546
+ matcher: z.ZodLiteral<"glob">;
547
+ server: z.ZodString;
548
+ pattern: z.ZodString;
549
+ }, z.core.$strict>, z.ZodObject<{
550
+ rate: z.ZodOptional<z.ZodBoolean>;
551
+ host: z.ZodOptional<z.ZodString>;
552
+ type: z.ZodLiteral<"mcpTool">;
553
+ matcher: z.ZodLiteral<"regexp">;
554
+ server: z.ZodString;
555
+ pattern: z.ZodString;
556
+ }, z.core.$strict>, z.ZodObject<{
557
+ rate: z.ZodOptional<z.ZodBoolean>;
558
+ host: z.ZodOptional<z.ZodString>;
559
+ type: z.ZodLiteral<"mcpTool">;
560
+ matcher: z.ZodLiteral<"hint">;
561
+ server: z.ZodString;
562
+ pattern: z.ZodObject<{
563
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
564
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
565
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
566
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
567
+ }, z.core.$strict>;
568
+ }, z.core.$strict>], "matcher">], "type">>>;
569
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
570
+ mcp: z.ZodOptional<z.ZodObject<{
571
+ defaults: z.ZodOptional<z.ZodObject<{
572
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
573
+ destructiveHint: "destructiveHint";
574
+ idempotentHint: "idempotentHint";
575
+ openWorldHint: "openWorldHint";
576
+ readOnlyHint: "readOnlyHint";
577
+ }>>>;
578
+ }, z.core.$strict>>;
579
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
580
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
581
+ destructiveHint: "destructiveHint";
582
+ idempotentHint: "idempotentHint";
583
+ openWorldHint: "openWorldHint";
584
+ readOnlyHint: "readOnlyHint";
585
+ }>>>;
586
+ }, z.core.$strict>>>;
587
+ }, z.core.$strict>>;
588
+ }, z.core.$strip>]>>;
175
589
  tools: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
176
590
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
177
591
  middleware: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
@@ -179,6 +593,7 @@ export declare const rawGthConfigSchema: z.ZodObject<{
179
593
  writeOutputToFile: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
180
594
  writeBinaryOutputsToFile: z.ZodOptional<z.ZodBoolean>;
181
595
  useColour: z.ZodOptional<z.ZodBoolean>;
596
+ useMouse: z.ZodOptional<z.ZodBoolean>;
182
597
  streamSessionInferenceLog: z.ZodOptional<z.ZodBoolean>;
183
598
  canInterruptInferenceWithEsc: z.ZodOptional<z.ZodBoolean>;
184
599
  debugLog: z.ZodOptional<z.ZodBoolean>;
@@ -223,25 +638,280 @@ export declare const rawGthConfigSchema: z.ZodObject<{
223
638
  command: z.ZodOptional<z.ZodString>;
224
639
  timeout: z.ZodOptional<z.ZodNumber>;
225
640
  maxOutputBytes: z.ZodOptional<z.ZodNumber>;
226
- allowlist: z.ZodOptional<z.ZodBoolean>;
227
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
228
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
229
- enabled: z.ZodOptional<z.ZodBoolean>;
230
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
231
- blockHigh: z.ZodOptional<z.ZodBoolean>;
232
- model: z.ZodOptional<z.ZodObject<{
233
- type: z.ZodOptional<z.ZodString>;
234
- model: z.ZodOptional<z.ZodString>;
235
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
236
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
237
- }, z.core.$loose>>;
238
- }, z.core.$strip>]>>;
239
- yolo: z.ZodOptional<z.ZodBoolean>;
240
641
  fileSet: z.ZodOptional<z.ZodEnum<{
241
642
  all: "all";
242
643
  gitignore: "gitignore";
243
644
  }>>;
244
645
  }, z.core.$strip>]>>]>>;
646
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
647
+ "auto-safe": "auto-safe";
648
+ bypass: "bypass";
649
+ "full-auto": "full-auto";
650
+ "read-only": "read-only";
651
+ write: "write";
652
+ }>, z.ZodObject<{
653
+ mode: z.ZodOptional<z.ZodEnum<{
654
+ "auto-safe": "auto-safe";
655
+ bypass: "bypass";
656
+ "full-auto": "full-auto";
657
+ "read-only": "read-only";
658
+ write: "write";
659
+ }>>;
660
+ rater: z.ZodOptional<z.ZodString>;
661
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
662
+ rate: z.ZodOptional<z.ZodBoolean>;
663
+ type: z.ZodLiteral<"shell">;
664
+ matcher: z.ZodLiteral<"exact">;
665
+ pattern: z.ZodString;
666
+ }, z.core.$strict>, z.ZodObject<{
667
+ rate: z.ZodOptional<z.ZodBoolean>;
668
+ type: z.ZodLiteral<"shell">;
669
+ matcher: z.ZodLiteral<"glob">;
670
+ pattern: z.ZodString;
671
+ }, z.core.$strict>, z.ZodObject<{
672
+ rate: z.ZodOptional<z.ZodBoolean>;
673
+ type: z.ZodLiteral<"shell">;
674
+ matcher: z.ZodLiteral<"regexp">;
675
+ pattern: z.ZodString;
676
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
677
+ rate: z.ZodOptional<z.ZodBoolean>;
678
+ host: z.ZodOptional<z.ZodString>;
679
+ type: z.ZodLiteral<"tool">;
680
+ matcher: z.ZodLiteral<"exact">;
681
+ pattern: z.ZodString;
682
+ }, z.core.$strict>, z.ZodObject<{
683
+ rate: z.ZodOptional<z.ZodBoolean>;
684
+ host: z.ZodOptional<z.ZodString>;
685
+ type: z.ZodLiteral<"tool">;
686
+ matcher: z.ZodLiteral<"glob">;
687
+ pattern: z.ZodString;
688
+ }, z.core.$strict>, z.ZodObject<{
689
+ rate: z.ZodOptional<z.ZodBoolean>;
690
+ host: z.ZodOptional<z.ZodString>;
691
+ type: z.ZodLiteral<"tool">;
692
+ matcher: z.ZodLiteral<"regexp">;
693
+ pattern: z.ZodString;
694
+ }, z.core.$strict>, z.ZodObject<{
695
+ rate: z.ZodOptional<z.ZodBoolean>;
696
+ host: z.ZodOptional<z.ZodString>;
697
+ type: z.ZodLiteral<"tool">;
698
+ matcher: z.ZodLiteral<"hint">;
699
+ pattern: z.ZodObject<{
700
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
701
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
702
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
703
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
704
+ }, z.core.$strict>;
705
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
706
+ rate: z.ZodOptional<z.ZodBoolean>;
707
+ host: z.ZodOptional<z.ZodString>;
708
+ type: z.ZodLiteral<"mcpTool">;
709
+ matcher: z.ZodLiteral<"exact">;
710
+ server: z.ZodString;
711
+ pattern: z.ZodString;
712
+ }, z.core.$strict>, z.ZodObject<{
713
+ rate: z.ZodOptional<z.ZodBoolean>;
714
+ host: z.ZodOptional<z.ZodString>;
715
+ type: z.ZodLiteral<"mcpTool">;
716
+ matcher: z.ZodLiteral<"glob">;
717
+ server: z.ZodString;
718
+ pattern: z.ZodString;
719
+ }, z.core.$strict>, z.ZodObject<{
720
+ rate: z.ZodOptional<z.ZodBoolean>;
721
+ host: z.ZodOptional<z.ZodString>;
722
+ type: z.ZodLiteral<"mcpTool">;
723
+ matcher: z.ZodLiteral<"regexp">;
724
+ server: z.ZodString;
725
+ pattern: z.ZodString;
726
+ }, z.core.$strict>, z.ZodObject<{
727
+ rate: z.ZodOptional<z.ZodBoolean>;
728
+ host: z.ZodOptional<z.ZodString>;
729
+ type: z.ZodLiteral<"mcpTool">;
730
+ matcher: z.ZodLiteral<"hint">;
731
+ server: z.ZodString;
732
+ pattern: z.ZodObject<{
733
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
734
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
735
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
736
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
737
+ }, z.core.$strict>;
738
+ }, z.core.$strict>], "matcher">], "type">>>;
739
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
740
+ rate: z.ZodOptional<z.ZodBoolean>;
741
+ type: z.ZodLiteral<"shell">;
742
+ matcher: z.ZodLiteral<"exact">;
743
+ pattern: z.ZodString;
744
+ }, z.core.$strict>, z.ZodObject<{
745
+ rate: z.ZodOptional<z.ZodBoolean>;
746
+ type: z.ZodLiteral<"shell">;
747
+ matcher: z.ZodLiteral<"glob">;
748
+ pattern: z.ZodString;
749
+ }, z.core.$strict>, z.ZodObject<{
750
+ rate: z.ZodOptional<z.ZodBoolean>;
751
+ type: z.ZodLiteral<"shell">;
752
+ matcher: z.ZodLiteral<"regexp">;
753
+ pattern: z.ZodString;
754
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
755
+ rate: z.ZodOptional<z.ZodBoolean>;
756
+ host: z.ZodOptional<z.ZodString>;
757
+ type: z.ZodLiteral<"tool">;
758
+ matcher: z.ZodLiteral<"exact">;
759
+ pattern: z.ZodString;
760
+ }, z.core.$strict>, z.ZodObject<{
761
+ rate: z.ZodOptional<z.ZodBoolean>;
762
+ host: z.ZodOptional<z.ZodString>;
763
+ type: z.ZodLiteral<"tool">;
764
+ matcher: z.ZodLiteral<"glob">;
765
+ pattern: z.ZodString;
766
+ }, z.core.$strict>, z.ZodObject<{
767
+ rate: z.ZodOptional<z.ZodBoolean>;
768
+ host: z.ZodOptional<z.ZodString>;
769
+ type: z.ZodLiteral<"tool">;
770
+ matcher: z.ZodLiteral<"regexp">;
771
+ pattern: z.ZodString;
772
+ }, z.core.$strict>, z.ZodObject<{
773
+ rate: z.ZodOptional<z.ZodBoolean>;
774
+ host: z.ZodOptional<z.ZodString>;
775
+ type: z.ZodLiteral<"tool">;
776
+ matcher: z.ZodLiteral<"hint">;
777
+ pattern: z.ZodObject<{
778
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
779
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
780
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
781
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
782
+ }, z.core.$strict>;
783
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
784
+ rate: z.ZodOptional<z.ZodBoolean>;
785
+ host: z.ZodOptional<z.ZodString>;
786
+ type: z.ZodLiteral<"mcpTool">;
787
+ matcher: z.ZodLiteral<"exact">;
788
+ server: z.ZodString;
789
+ pattern: z.ZodString;
790
+ }, z.core.$strict>, z.ZodObject<{
791
+ rate: z.ZodOptional<z.ZodBoolean>;
792
+ host: z.ZodOptional<z.ZodString>;
793
+ type: z.ZodLiteral<"mcpTool">;
794
+ matcher: z.ZodLiteral<"glob">;
795
+ server: z.ZodString;
796
+ pattern: z.ZodString;
797
+ }, z.core.$strict>, z.ZodObject<{
798
+ rate: z.ZodOptional<z.ZodBoolean>;
799
+ host: z.ZodOptional<z.ZodString>;
800
+ type: z.ZodLiteral<"mcpTool">;
801
+ matcher: z.ZodLiteral<"regexp">;
802
+ server: z.ZodString;
803
+ pattern: z.ZodString;
804
+ }, z.core.$strict>, z.ZodObject<{
805
+ rate: z.ZodOptional<z.ZodBoolean>;
806
+ host: z.ZodOptional<z.ZodString>;
807
+ type: z.ZodLiteral<"mcpTool">;
808
+ matcher: z.ZodLiteral<"hint">;
809
+ server: z.ZodString;
810
+ pattern: z.ZodObject<{
811
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
812
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
813
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
814
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
815
+ }, z.core.$strict>;
816
+ }, z.core.$strict>], "matcher">], "type">>>;
817
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
818
+ rate: z.ZodOptional<z.ZodBoolean>;
819
+ type: z.ZodLiteral<"shell">;
820
+ matcher: z.ZodLiteral<"exact">;
821
+ pattern: z.ZodString;
822
+ }, z.core.$strict>, z.ZodObject<{
823
+ rate: z.ZodOptional<z.ZodBoolean>;
824
+ type: z.ZodLiteral<"shell">;
825
+ matcher: z.ZodLiteral<"glob">;
826
+ pattern: z.ZodString;
827
+ }, z.core.$strict>, z.ZodObject<{
828
+ rate: z.ZodOptional<z.ZodBoolean>;
829
+ type: z.ZodLiteral<"shell">;
830
+ matcher: z.ZodLiteral<"regexp">;
831
+ pattern: z.ZodString;
832
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
833
+ rate: z.ZodOptional<z.ZodBoolean>;
834
+ host: z.ZodOptional<z.ZodString>;
835
+ type: z.ZodLiteral<"tool">;
836
+ matcher: z.ZodLiteral<"exact">;
837
+ pattern: z.ZodString;
838
+ }, z.core.$strict>, z.ZodObject<{
839
+ rate: z.ZodOptional<z.ZodBoolean>;
840
+ host: z.ZodOptional<z.ZodString>;
841
+ type: z.ZodLiteral<"tool">;
842
+ matcher: z.ZodLiteral<"glob">;
843
+ pattern: z.ZodString;
844
+ }, z.core.$strict>, z.ZodObject<{
845
+ rate: z.ZodOptional<z.ZodBoolean>;
846
+ host: z.ZodOptional<z.ZodString>;
847
+ type: z.ZodLiteral<"tool">;
848
+ matcher: z.ZodLiteral<"regexp">;
849
+ pattern: z.ZodString;
850
+ }, z.core.$strict>, z.ZodObject<{
851
+ rate: z.ZodOptional<z.ZodBoolean>;
852
+ host: z.ZodOptional<z.ZodString>;
853
+ type: z.ZodLiteral<"tool">;
854
+ matcher: z.ZodLiteral<"hint">;
855
+ pattern: z.ZodObject<{
856
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
857
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
858
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
859
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
860
+ }, z.core.$strict>;
861
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
862
+ rate: z.ZodOptional<z.ZodBoolean>;
863
+ host: z.ZodOptional<z.ZodString>;
864
+ type: z.ZodLiteral<"mcpTool">;
865
+ matcher: z.ZodLiteral<"exact">;
866
+ server: z.ZodString;
867
+ pattern: z.ZodString;
868
+ }, z.core.$strict>, z.ZodObject<{
869
+ rate: z.ZodOptional<z.ZodBoolean>;
870
+ host: z.ZodOptional<z.ZodString>;
871
+ type: z.ZodLiteral<"mcpTool">;
872
+ matcher: z.ZodLiteral<"glob">;
873
+ server: z.ZodString;
874
+ pattern: z.ZodString;
875
+ }, z.core.$strict>, z.ZodObject<{
876
+ rate: z.ZodOptional<z.ZodBoolean>;
877
+ host: z.ZodOptional<z.ZodString>;
878
+ type: z.ZodLiteral<"mcpTool">;
879
+ matcher: z.ZodLiteral<"regexp">;
880
+ server: z.ZodString;
881
+ pattern: z.ZodString;
882
+ }, z.core.$strict>, z.ZodObject<{
883
+ rate: z.ZodOptional<z.ZodBoolean>;
884
+ host: z.ZodOptional<z.ZodString>;
885
+ type: z.ZodLiteral<"mcpTool">;
886
+ matcher: z.ZodLiteral<"hint">;
887
+ server: z.ZodString;
888
+ pattern: z.ZodObject<{
889
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
890
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
891
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
892
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
893
+ }, z.core.$strict>;
894
+ }, z.core.$strict>], "matcher">], "type">>>;
895
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
896
+ mcp: z.ZodOptional<z.ZodObject<{
897
+ defaults: z.ZodOptional<z.ZodObject<{
898
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
899
+ destructiveHint: "destructiveHint";
900
+ idempotentHint: "idempotentHint";
901
+ openWorldHint: "openWorldHint";
902
+ readOnlyHint: "readOnlyHint";
903
+ }>>>;
904
+ }, z.core.$strict>>;
905
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
906
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
907
+ destructiveHint: "destructiveHint";
908
+ idempotentHint: "idempotentHint";
909
+ openWorldHint: "openWorldHint";
910
+ readOnlyHint: "readOnlyHint";
911
+ }>>>;
912
+ }, z.core.$strict>>>;
913
+ }, z.core.$strict>>;
914
+ }, z.core.$strip>]>>;
245
915
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
246
916
  command: z.ZodString;
247
917
  description: z.ZodString;
@@ -291,25 +961,280 @@ export declare const rawGthConfigSchema: z.ZodObject<{
291
961
  command: z.ZodOptional<z.ZodString>;
292
962
  timeout: z.ZodOptional<z.ZodNumber>;
293
963
  maxOutputBytes: z.ZodOptional<z.ZodNumber>;
294
- allowlist: z.ZodOptional<z.ZodBoolean>;
295
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
296
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
297
- enabled: z.ZodOptional<z.ZodBoolean>;
298
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
299
- blockHigh: z.ZodOptional<z.ZodBoolean>;
300
- model: z.ZodOptional<z.ZodObject<{
301
- type: z.ZodOptional<z.ZodString>;
302
- model: z.ZodOptional<z.ZodString>;
303
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
304
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
305
- }, z.core.$loose>>;
306
- }, z.core.$strip>]>>;
307
- yolo: z.ZodOptional<z.ZodBoolean>;
308
964
  fileSet: z.ZodOptional<z.ZodEnum<{
309
965
  all: "all";
310
966
  gitignore: "gitignore";
311
967
  }>>;
312
968
  }, z.core.$strip>]>>]>>;
969
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
970
+ "auto-safe": "auto-safe";
971
+ bypass: "bypass";
972
+ "full-auto": "full-auto";
973
+ "read-only": "read-only";
974
+ write: "write";
975
+ }>, z.ZodObject<{
976
+ mode: z.ZodOptional<z.ZodEnum<{
977
+ "auto-safe": "auto-safe";
978
+ bypass: "bypass";
979
+ "full-auto": "full-auto";
980
+ "read-only": "read-only";
981
+ write: "write";
982
+ }>>;
983
+ rater: z.ZodOptional<z.ZodString>;
984
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
985
+ rate: z.ZodOptional<z.ZodBoolean>;
986
+ type: z.ZodLiteral<"shell">;
987
+ matcher: z.ZodLiteral<"exact">;
988
+ pattern: z.ZodString;
989
+ }, z.core.$strict>, z.ZodObject<{
990
+ rate: z.ZodOptional<z.ZodBoolean>;
991
+ type: z.ZodLiteral<"shell">;
992
+ matcher: z.ZodLiteral<"glob">;
993
+ pattern: z.ZodString;
994
+ }, z.core.$strict>, z.ZodObject<{
995
+ rate: z.ZodOptional<z.ZodBoolean>;
996
+ type: z.ZodLiteral<"shell">;
997
+ matcher: z.ZodLiteral<"regexp">;
998
+ pattern: z.ZodString;
999
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1000
+ rate: z.ZodOptional<z.ZodBoolean>;
1001
+ host: z.ZodOptional<z.ZodString>;
1002
+ type: z.ZodLiteral<"tool">;
1003
+ matcher: z.ZodLiteral<"exact">;
1004
+ pattern: z.ZodString;
1005
+ }, z.core.$strict>, z.ZodObject<{
1006
+ rate: z.ZodOptional<z.ZodBoolean>;
1007
+ host: z.ZodOptional<z.ZodString>;
1008
+ type: z.ZodLiteral<"tool">;
1009
+ matcher: z.ZodLiteral<"glob">;
1010
+ pattern: z.ZodString;
1011
+ }, z.core.$strict>, z.ZodObject<{
1012
+ rate: z.ZodOptional<z.ZodBoolean>;
1013
+ host: z.ZodOptional<z.ZodString>;
1014
+ type: z.ZodLiteral<"tool">;
1015
+ matcher: z.ZodLiteral<"regexp">;
1016
+ pattern: z.ZodString;
1017
+ }, z.core.$strict>, z.ZodObject<{
1018
+ rate: z.ZodOptional<z.ZodBoolean>;
1019
+ host: z.ZodOptional<z.ZodString>;
1020
+ type: z.ZodLiteral<"tool">;
1021
+ matcher: z.ZodLiteral<"hint">;
1022
+ pattern: z.ZodObject<{
1023
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1024
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1025
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1026
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1027
+ }, z.core.$strict>;
1028
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1029
+ rate: z.ZodOptional<z.ZodBoolean>;
1030
+ host: z.ZodOptional<z.ZodString>;
1031
+ type: z.ZodLiteral<"mcpTool">;
1032
+ matcher: z.ZodLiteral<"exact">;
1033
+ server: z.ZodString;
1034
+ pattern: z.ZodString;
1035
+ }, z.core.$strict>, z.ZodObject<{
1036
+ rate: z.ZodOptional<z.ZodBoolean>;
1037
+ host: z.ZodOptional<z.ZodString>;
1038
+ type: z.ZodLiteral<"mcpTool">;
1039
+ matcher: z.ZodLiteral<"glob">;
1040
+ server: z.ZodString;
1041
+ pattern: z.ZodString;
1042
+ }, z.core.$strict>, z.ZodObject<{
1043
+ rate: z.ZodOptional<z.ZodBoolean>;
1044
+ host: z.ZodOptional<z.ZodString>;
1045
+ type: z.ZodLiteral<"mcpTool">;
1046
+ matcher: z.ZodLiteral<"regexp">;
1047
+ server: z.ZodString;
1048
+ pattern: z.ZodString;
1049
+ }, z.core.$strict>, z.ZodObject<{
1050
+ rate: z.ZodOptional<z.ZodBoolean>;
1051
+ host: z.ZodOptional<z.ZodString>;
1052
+ type: z.ZodLiteral<"mcpTool">;
1053
+ matcher: z.ZodLiteral<"hint">;
1054
+ server: z.ZodString;
1055
+ pattern: z.ZodObject<{
1056
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1057
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1058
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1059
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1060
+ }, z.core.$strict>;
1061
+ }, z.core.$strict>], "matcher">], "type">>>;
1062
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1063
+ rate: z.ZodOptional<z.ZodBoolean>;
1064
+ type: z.ZodLiteral<"shell">;
1065
+ matcher: z.ZodLiteral<"exact">;
1066
+ pattern: z.ZodString;
1067
+ }, z.core.$strict>, z.ZodObject<{
1068
+ rate: z.ZodOptional<z.ZodBoolean>;
1069
+ type: z.ZodLiteral<"shell">;
1070
+ matcher: z.ZodLiteral<"glob">;
1071
+ pattern: z.ZodString;
1072
+ }, z.core.$strict>, z.ZodObject<{
1073
+ rate: z.ZodOptional<z.ZodBoolean>;
1074
+ type: z.ZodLiteral<"shell">;
1075
+ matcher: z.ZodLiteral<"regexp">;
1076
+ pattern: z.ZodString;
1077
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1078
+ rate: z.ZodOptional<z.ZodBoolean>;
1079
+ host: z.ZodOptional<z.ZodString>;
1080
+ type: z.ZodLiteral<"tool">;
1081
+ matcher: z.ZodLiteral<"exact">;
1082
+ pattern: z.ZodString;
1083
+ }, z.core.$strict>, z.ZodObject<{
1084
+ rate: z.ZodOptional<z.ZodBoolean>;
1085
+ host: z.ZodOptional<z.ZodString>;
1086
+ type: z.ZodLiteral<"tool">;
1087
+ matcher: z.ZodLiteral<"glob">;
1088
+ pattern: z.ZodString;
1089
+ }, z.core.$strict>, z.ZodObject<{
1090
+ rate: z.ZodOptional<z.ZodBoolean>;
1091
+ host: z.ZodOptional<z.ZodString>;
1092
+ type: z.ZodLiteral<"tool">;
1093
+ matcher: z.ZodLiteral<"regexp">;
1094
+ pattern: z.ZodString;
1095
+ }, z.core.$strict>, z.ZodObject<{
1096
+ rate: z.ZodOptional<z.ZodBoolean>;
1097
+ host: z.ZodOptional<z.ZodString>;
1098
+ type: z.ZodLiteral<"tool">;
1099
+ matcher: z.ZodLiteral<"hint">;
1100
+ pattern: z.ZodObject<{
1101
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1102
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1103
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1104
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1105
+ }, z.core.$strict>;
1106
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1107
+ rate: z.ZodOptional<z.ZodBoolean>;
1108
+ host: z.ZodOptional<z.ZodString>;
1109
+ type: z.ZodLiteral<"mcpTool">;
1110
+ matcher: z.ZodLiteral<"exact">;
1111
+ server: z.ZodString;
1112
+ pattern: z.ZodString;
1113
+ }, z.core.$strict>, z.ZodObject<{
1114
+ rate: z.ZodOptional<z.ZodBoolean>;
1115
+ host: z.ZodOptional<z.ZodString>;
1116
+ type: z.ZodLiteral<"mcpTool">;
1117
+ matcher: z.ZodLiteral<"glob">;
1118
+ server: z.ZodString;
1119
+ pattern: z.ZodString;
1120
+ }, z.core.$strict>, z.ZodObject<{
1121
+ rate: z.ZodOptional<z.ZodBoolean>;
1122
+ host: z.ZodOptional<z.ZodString>;
1123
+ type: z.ZodLiteral<"mcpTool">;
1124
+ matcher: z.ZodLiteral<"regexp">;
1125
+ server: z.ZodString;
1126
+ pattern: z.ZodString;
1127
+ }, z.core.$strict>, z.ZodObject<{
1128
+ rate: z.ZodOptional<z.ZodBoolean>;
1129
+ host: z.ZodOptional<z.ZodString>;
1130
+ type: z.ZodLiteral<"mcpTool">;
1131
+ matcher: z.ZodLiteral<"hint">;
1132
+ server: z.ZodString;
1133
+ pattern: z.ZodObject<{
1134
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1135
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1136
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1137
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1138
+ }, z.core.$strict>;
1139
+ }, z.core.$strict>], "matcher">], "type">>>;
1140
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1141
+ rate: z.ZodOptional<z.ZodBoolean>;
1142
+ type: z.ZodLiteral<"shell">;
1143
+ matcher: z.ZodLiteral<"exact">;
1144
+ pattern: z.ZodString;
1145
+ }, z.core.$strict>, z.ZodObject<{
1146
+ rate: z.ZodOptional<z.ZodBoolean>;
1147
+ type: z.ZodLiteral<"shell">;
1148
+ matcher: z.ZodLiteral<"glob">;
1149
+ pattern: z.ZodString;
1150
+ }, z.core.$strict>, z.ZodObject<{
1151
+ rate: z.ZodOptional<z.ZodBoolean>;
1152
+ type: z.ZodLiteral<"shell">;
1153
+ matcher: z.ZodLiteral<"regexp">;
1154
+ pattern: z.ZodString;
1155
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1156
+ rate: z.ZodOptional<z.ZodBoolean>;
1157
+ host: z.ZodOptional<z.ZodString>;
1158
+ type: z.ZodLiteral<"tool">;
1159
+ matcher: z.ZodLiteral<"exact">;
1160
+ pattern: z.ZodString;
1161
+ }, z.core.$strict>, z.ZodObject<{
1162
+ rate: z.ZodOptional<z.ZodBoolean>;
1163
+ host: z.ZodOptional<z.ZodString>;
1164
+ type: z.ZodLiteral<"tool">;
1165
+ matcher: z.ZodLiteral<"glob">;
1166
+ pattern: z.ZodString;
1167
+ }, z.core.$strict>, z.ZodObject<{
1168
+ rate: z.ZodOptional<z.ZodBoolean>;
1169
+ host: z.ZodOptional<z.ZodString>;
1170
+ type: z.ZodLiteral<"tool">;
1171
+ matcher: z.ZodLiteral<"regexp">;
1172
+ pattern: z.ZodString;
1173
+ }, z.core.$strict>, z.ZodObject<{
1174
+ rate: z.ZodOptional<z.ZodBoolean>;
1175
+ host: z.ZodOptional<z.ZodString>;
1176
+ type: z.ZodLiteral<"tool">;
1177
+ matcher: z.ZodLiteral<"hint">;
1178
+ pattern: z.ZodObject<{
1179
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1180
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1181
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1182
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1183
+ }, z.core.$strict>;
1184
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1185
+ rate: z.ZodOptional<z.ZodBoolean>;
1186
+ host: z.ZodOptional<z.ZodString>;
1187
+ type: z.ZodLiteral<"mcpTool">;
1188
+ matcher: z.ZodLiteral<"exact">;
1189
+ server: z.ZodString;
1190
+ pattern: z.ZodString;
1191
+ }, z.core.$strict>, z.ZodObject<{
1192
+ rate: z.ZodOptional<z.ZodBoolean>;
1193
+ host: z.ZodOptional<z.ZodString>;
1194
+ type: z.ZodLiteral<"mcpTool">;
1195
+ matcher: z.ZodLiteral<"glob">;
1196
+ server: z.ZodString;
1197
+ pattern: z.ZodString;
1198
+ }, z.core.$strict>, z.ZodObject<{
1199
+ rate: z.ZodOptional<z.ZodBoolean>;
1200
+ host: z.ZodOptional<z.ZodString>;
1201
+ type: z.ZodLiteral<"mcpTool">;
1202
+ matcher: z.ZodLiteral<"regexp">;
1203
+ server: z.ZodString;
1204
+ pattern: z.ZodString;
1205
+ }, z.core.$strict>, z.ZodObject<{
1206
+ rate: z.ZodOptional<z.ZodBoolean>;
1207
+ host: z.ZodOptional<z.ZodString>;
1208
+ type: z.ZodLiteral<"mcpTool">;
1209
+ matcher: z.ZodLiteral<"hint">;
1210
+ server: z.ZodString;
1211
+ pattern: z.ZodObject<{
1212
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1213
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1214
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1215
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1216
+ }, z.core.$strict>;
1217
+ }, z.core.$strict>], "matcher">], "type">>>;
1218
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
1219
+ mcp: z.ZodOptional<z.ZodObject<{
1220
+ defaults: z.ZodOptional<z.ZodObject<{
1221
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1222
+ destructiveHint: "destructiveHint";
1223
+ idempotentHint: "idempotentHint";
1224
+ openWorldHint: "openWorldHint";
1225
+ readOnlyHint: "readOnlyHint";
1226
+ }>>>;
1227
+ }, z.core.$strict>>;
1228
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1229
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1230
+ destructiveHint: "destructiveHint";
1231
+ idempotentHint: "idempotentHint";
1232
+ openWorldHint: "openWorldHint";
1233
+ readOnlyHint: "readOnlyHint";
1234
+ }>>>;
1235
+ }, z.core.$strict>>>;
1236
+ }, z.core.$strict>>;
1237
+ }, z.core.$strip>]>>;
313
1238
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
314
1239
  command: z.ZodString;
315
1240
  description: z.ZodString;
@@ -356,25 +1281,280 @@ export declare const rawGthConfigSchema: z.ZodObject<{
356
1281
  command: z.ZodOptional<z.ZodString>;
357
1282
  timeout: z.ZodOptional<z.ZodNumber>;
358
1283
  maxOutputBytes: z.ZodOptional<z.ZodNumber>;
359
- allowlist: z.ZodOptional<z.ZodBoolean>;
360
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
361
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
362
- enabled: z.ZodOptional<z.ZodBoolean>;
363
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
364
- blockHigh: z.ZodOptional<z.ZodBoolean>;
365
- model: z.ZodOptional<z.ZodObject<{
366
- type: z.ZodOptional<z.ZodString>;
367
- model: z.ZodOptional<z.ZodString>;
368
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
369
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
370
- }, z.core.$loose>>;
371
- }, z.core.$strip>]>>;
372
- yolo: z.ZodOptional<z.ZodBoolean>;
373
1284
  fileSet: z.ZodOptional<z.ZodEnum<{
374
1285
  all: "all";
375
1286
  gitignore: "gitignore";
376
1287
  }>>;
377
1288
  }, z.core.$strip>]>>]>>;
1289
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1290
+ "auto-safe": "auto-safe";
1291
+ bypass: "bypass";
1292
+ "full-auto": "full-auto";
1293
+ "read-only": "read-only";
1294
+ write: "write";
1295
+ }>, z.ZodObject<{
1296
+ mode: z.ZodOptional<z.ZodEnum<{
1297
+ "auto-safe": "auto-safe";
1298
+ bypass: "bypass";
1299
+ "full-auto": "full-auto";
1300
+ "read-only": "read-only";
1301
+ write: "write";
1302
+ }>>;
1303
+ rater: z.ZodOptional<z.ZodString>;
1304
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1305
+ rate: z.ZodOptional<z.ZodBoolean>;
1306
+ type: z.ZodLiteral<"shell">;
1307
+ matcher: z.ZodLiteral<"exact">;
1308
+ pattern: z.ZodString;
1309
+ }, z.core.$strict>, z.ZodObject<{
1310
+ rate: z.ZodOptional<z.ZodBoolean>;
1311
+ type: z.ZodLiteral<"shell">;
1312
+ matcher: z.ZodLiteral<"glob">;
1313
+ pattern: z.ZodString;
1314
+ }, z.core.$strict>, z.ZodObject<{
1315
+ rate: z.ZodOptional<z.ZodBoolean>;
1316
+ type: z.ZodLiteral<"shell">;
1317
+ matcher: z.ZodLiteral<"regexp">;
1318
+ pattern: z.ZodString;
1319
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1320
+ rate: z.ZodOptional<z.ZodBoolean>;
1321
+ host: z.ZodOptional<z.ZodString>;
1322
+ type: z.ZodLiteral<"tool">;
1323
+ matcher: z.ZodLiteral<"exact">;
1324
+ pattern: z.ZodString;
1325
+ }, z.core.$strict>, z.ZodObject<{
1326
+ rate: z.ZodOptional<z.ZodBoolean>;
1327
+ host: z.ZodOptional<z.ZodString>;
1328
+ type: z.ZodLiteral<"tool">;
1329
+ matcher: z.ZodLiteral<"glob">;
1330
+ pattern: z.ZodString;
1331
+ }, z.core.$strict>, z.ZodObject<{
1332
+ rate: z.ZodOptional<z.ZodBoolean>;
1333
+ host: z.ZodOptional<z.ZodString>;
1334
+ type: z.ZodLiteral<"tool">;
1335
+ matcher: z.ZodLiteral<"regexp">;
1336
+ pattern: z.ZodString;
1337
+ }, z.core.$strict>, z.ZodObject<{
1338
+ rate: z.ZodOptional<z.ZodBoolean>;
1339
+ host: z.ZodOptional<z.ZodString>;
1340
+ type: z.ZodLiteral<"tool">;
1341
+ matcher: z.ZodLiteral<"hint">;
1342
+ pattern: z.ZodObject<{
1343
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1344
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1345
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1346
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1347
+ }, z.core.$strict>;
1348
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1349
+ rate: z.ZodOptional<z.ZodBoolean>;
1350
+ host: z.ZodOptional<z.ZodString>;
1351
+ type: z.ZodLiteral<"mcpTool">;
1352
+ matcher: z.ZodLiteral<"exact">;
1353
+ server: z.ZodString;
1354
+ pattern: z.ZodString;
1355
+ }, z.core.$strict>, z.ZodObject<{
1356
+ rate: z.ZodOptional<z.ZodBoolean>;
1357
+ host: z.ZodOptional<z.ZodString>;
1358
+ type: z.ZodLiteral<"mcpTool">;
1359
+ matcher: z.ZodLiteral<"glob">;
1360
+ server: z.ZodString;
1361
+ pattern: z.ZodString;
1362
+ }, z.core.$strict>, z.ZodObject<{
1363
+ rate: z.ZodOptional<z.ZodBoolean>;
1364
+ host: z.ZodOptional<z.ZodString>;
1365
+ type: z.ZodLiteral<"mcpTool">;
1366
+ matcher: z.ZodLiteral<"regexp">;
1367
+ server: z.ZodString;
1368
+ pattern: z.ZodString;
1369
+ }, z.core.$strict>, z.ZodObject<{
1370
+ rate: z.ZodOptional<z.ZodBoolean>;
1371
+ host: z.ZodOptional<z.ZodString>;
1372
+ type: z.ZodLiteral<"mcpTool">;
1373
+ matcher: z.ZodLiteral<"hint">;
1374
+ server: z.ZodString;
1375
+ pattern: z.ZodObject<{
1376
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1377
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1378
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1379
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1380
+ }, z.core.$strict>;
1381
+ }, z.core.$strict>], "matcher">], "type">>>;
1382
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1383
+ rate: z.ZodOptional<z.ZodBoolean>;
1384
+ type: z.ZodLiteral<"shell">;
1385
+ matcher: z.ZodLiteral<"exact">;
1386
+ pattern: z.ZodString;
1387
+ }, z.core.$strict>, z.ZodObject<{
1388
+ rate: z.ZodOptional<z.ZodBoolean>;
1389
+ type: z.ZodLiteral<"shell">;
1390
+ matcher: z.ZodLiteral<"glob">;
1391
+ pattern: z.ZodString;
1392
+ }, z.core.$strict>, z.ZodObject<{
1393
+ rate: z.ZodOptional<z.ZodBoolean>;
1394
+ type: z.ZodLiteral<"shell">;
1395
+ matcher: z.ZodLiteral<"regexp">;
1396
+ pattern: z.ZodString;
1397
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1398
+ rate: z.ZodOptional<z.ZodBoolean>;
1399
+ host: z.ZodOptional<z.ZodString>;
1400
+ type: z.ZodLiteral<"tool">;
1401
+ matcher: z.ZodLiteral<"exact">;
1402
+ pattern: z.ZodString;
1403
+ }, z.core.$strict>, z.ZodObject<{
1404
+ rate: z.ZodOptional<z.ZodBoolean>;
1405
+ host: z.ZodOptional<z.ZodString>;
1406
+ type: z.ZodLiteral<"tool">;
1407
+ matcher: z.ZodLiteral<"glob">;
1408
+ pattern: z.ZodString;
1409
+ }, z.core.$strict>, z.ZodObject<{
1410
+ rate: z.ZodOptional<z.ZodBoolean>;
1411
+ host: z.ZodOptional<z.ZodString>;
1412
+ type: z.ZodLiteral<"tool">;
1413
+ matcher: z.ZodLiteral<"regexp">;
1414
+ pattern: z.ZodString;
1415
+ }, z.core.$strict>, z.ZodObject<{
1416
+ rate: z.ZodOptional<z.ZodBoolean>;
1417
+ host: z.ZodOptional<z.ZodString>;
1418
+ type: z.ZodLiteral<"tool">;
1419
+ matcher: z.ZodLiteral<"hint">;
1420
+ pattern: z.ZodObject<{
1421
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1422
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1423
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1424
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1425
+ }, z.core.$strict>;
1426
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1427
+ rate: z.ZodOptional<z.ZodBoolean>;
1428
+ host: z.ZodOptional<z.ZodString>;
1429
+ type: z.ZodLiteral<"mcpTool">;
1430
+ matcher: z.ZodLiteral<"exact">;
1431
+ server: z.ZodString;
1432
+ pattern: z.ZodString;
1433
+ }, z.core.$strict>, z.ZodObject<{
1434
+ rate: z.ZodOptional<z.ZodBoolean>;
1435
+ host: z.ZodOptional<z.ZodString>;
1436
+ type: z.ZodLiteral<"mcpTool">;
1437
+ matcher: z.ZodLiteral<"glob">;
1438
+ server: z.ZodString;
1439
+ pattern: z.ZodString;
1440
+ }, z.core.$strict>, z.ZodObject<{
1441
+ rate: z.ZodOptional<z.ZodBoolean>;
1442
+ host: z.ZodOptional<z.ZodString>;
1443
+ type: z.ZodLiteral<"mcpTool">;
1444
+ matcher: z.ZodLiteral<"regexp">;
1445
+ server: z.ZodString;
1446
+ pattern: z.ZodString;
1447
+ }, z.core.$strict>, z.ZodObject<{
1448
+ rate: z.ZodOptional<z.ZodBoolean>;
1449
+ host: z.ZodOptional<z.ZodString>;
1450
+ type: z.ZodLiteral<"mcpTool">;
1451
+ matcher: z.ZodLiteral<"hint">;
1452
+ server: z.ZodString;
1453
+ pattern: z.ZodObject<{
1454
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1455
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1456
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1457
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1458
+ }, z.core.$strict>;
1459
+ }, z.core.$strict>], "matcher">], "type">>>;
1460
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1461
+ rate: z.ZodOptional<z.ZodBoolean>;
1462
+ type: z.ZodLiteral<"shell">;
1463
+ matcher: z.ZodLiteral<"exact">;
1464
+ pattern: z.ZodString;
1465
+ }, z.core.$strict>, z.ZodObject<{
1466
+ rate: z.ZodOptional<z.ZodBoolean>;
1467
+ type: z.ZodLiteral<"shell">;
1468
+ matcher: z.ZodLiteral<"glob">;
1469
+ pattern: z.ZodString;
1470
+ }, z.core.$strict>, z.ZodObject<{
1471
+ rate: z.ZodOptional<z.ZodBoolean>;
1472
+ type: z.ZodLiteral<"shell">;
1473
+ matcher: z.ZodLiteral<"regexp">;
1474
+ pattern: z.ZodString;
1475
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1476
+ rate: z.ZodOptional<z.ZodBoolean>;
1477
+ host: z.ZodOptional<z.ZodString>;
1478
+ type: z.ZodLiteral<"tool">;
1479
+ matcher: z.ZodLiteral<"exact">;
1480
+ pattern: z.ZodString;
1481
+ }, z.core.$strict>, z.ZodObject<{
1482
+ rate: z.ZodOptional<z.ZodBoolean>;
1483
+ host: z.ZodOptional<z.ZodString>;
1484
+ type: z.ZodLiteral<"tool">;
1485
+ matcher: z.ZodLiteral<"glob">;
1486
+ pattern: z.ZodString;
1487
+ }, z.core.$strict>, z.ZodObject<{
1488
+ rate: z.ZodOptional<z.ZodBoolean>;
1489
+ host: z.ZodOptional<z.ZodString>;
1490
+ type: z.ZodLiteral<"tool">;
1491
+ matcher: z.ZodLiteral<"regexp">;
1492
+ pattern: z.ZodString;
1493
+ }, z.core.$strict>, z.ZodObject<{
1494
+ rate: z.ZodOptional<z.ZodBoolean>;
1495
+ host: z.ZodOptional<z.ZodString>;
1496
+ type: z.ZodLiteral<"tool">;
1497
+ matcher: z.ZodLiteral<"hint">;
1498
+ pattern: z.ZodObject<{
1499
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1500
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1501
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1502
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1503
+ }, z.core.$strict>;
1504
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1505
+ rate: z.ZodOptional<z.ZodBoolean>;
1506
+ host: z.ZodOptional<z.ZodString>;
1507
+ type: z.ZodLiteral<"mcpTool">;
1508
+ matcher: z.ZodLiteral<"exact">;
1509
+ server: z.ZodString;
1510
+ pattern: z.ZodString;
1511
+ }, z.core.$strict>, z.ZodObject<{
1512
+ rate: z.ZodOptional<z.ZodBoolean>;
1513
+ host: z.ZodOptional<z.ZodString>;
1514
+ type: z.ZodLiteral<"mcpTool">;
1515
+ matcher: z.ZodLiteral<"glob">;
1516
+ server: z.ZodString;
1517
+ pattern: z.ZodString;
1518
+ }, z.core.$strict>, z.ZodObject<{
1519
+ rate: z.ZodOptional<z.ZodBoolean>;
1520
+ host: z.ZodOptional<z.ZodString>;
1521
+ type: z.ZodLiteral<"mcpTool">;
1522
+ matcher: z.ZodLiteral<"regexp">;
1523
+ server: z.ZodString;
1524
+ pattern: z.ZodString;
1525
+ }, z.core.$strict>, z.ZodObject<{
1526
+ rate: z.ZodOptional<z.ZodBoolean>;
1527
+ host: z.ZodOptional<z.ZodString>;
1528
+ type: z.ZodLiteral<"mcpTool">;
1529
+ matcher: z.ZodLiteral<"hint">;
1530
+ server: z.ZodString;
1531
+ pattern: z.ZodObject<{
1532
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1533
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1534
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1535
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1536
+ }, z.core.$strict>;
1537
+ }, z.core.$strict>], "matcher">], "type">>>;
1538
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
1539
+ mcp: z.ZodOptional<z.ZodObject<{
1540
+ defaults: z.ZodOptional<z.ZodObject<{
1541
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1542
+ destructiveHint: "destructiveHint";
1543
+ idempotentHint: "idempotentHint";
1544
+ openWorldHint: "openWorldHint";
1545
+ readOnlyHint: "readOnlyHint";
1546
+ }>>>;
1547
+ }, z.core.$strict>>;
1548
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1549
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1550
+ destructiveHint: "destructiveHint";
1551
+ idempotentHint: "idempotentHint";
1552
+ openWorldHint: "openWorldHint";
1553
+ readOnlyHint: "readOnlyHint";
1554
+ }>>>;
1555
+ }, z.core.$strict>>>;
1556
+ }, z.core.$strict>>;
1557
+ }, z.core.$strip>]>>;
378
1558
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
379
1559
  command: z.ZodString;
380
1560
  description: z.ZodString;
@@ -414,25 +1594,280 @@ export declare const rawGthConfigSchema: z.ZodObject<{
414
1594
  command: z.ZodOptional<z.ZodString>;
415
1595
  timeout: z.ZodOptional<z.ZodNumber>;
416
1596
  maxOutputBytes: z.ZodOptional<z.ZodNumber>;
417
- allowlist: z.ZodOptional<z.ZodBoolean>;
418
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
419
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
420
- enabled: z.ZodOptional<z.ZodBoolean>;
421
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
422
- blockHigh: z.ZodOptional<z.ZodBoolean>;
423
- model: z.ZodOptional<z.ZodObject<{
424
- type: z.ZodOptional<z.ZodString>;
425
- model: z.ZodOptional<z.ZodString>;
426
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
427
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
428
- }, z.core.$loose>>;
429
- }, z.core.$strip>]>>;
430
- yolo: z.ZodOptional<z.ZodBoolean>;
431
1597
  fileSet: z.ZodOptional<z.ZodEnum<{
432
1598
  all: "all";
433
1599
  gitignore: "gitignore";
434
1600
  }>>;
435
1601
  }, z.core.$strip>]>>]>>;
1602
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1603
+ "auto-safe": "auto-safe";
1604
+ bypass: "bypass";
1605
+ "full-auto": "full-auto";
1606
+ "read-only": "read-only";
1607
+ write: "write";
1608
+ }>, z.ZodObject<{
1609
+ mode: z.ZodOptional<z.ZodEnum<{
1610
+ "auto-safe": "auto-safe";
1611
+ bypass: "bypass";
1612
+ "full-auto": "full-auto";
1613
+ "read-only": "read-only";
1614
+ write: "write";
1615
+ }>>;
1616
+ rater: z.ZodOptional<z.ZodString>;
1617
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1618
+ rate: z.ZodOptional<z.ZodBoolean>;
1619
+ type: z.ZodLiteral<"shell">;
1620
+ matcher: z.ZodLiteral<"exact">;
1621
+ pattern: z.ZodString;
1622
+ }, z.core.$strict>, z.ZodObject<{
1623
+ rate: z.ZodOptional<z.ZodBoolean>;
1624
+ type: z.ZodLiteral<"shell">;
1625
+ matcher: z.ZodLiteral<"glob">;
1626
+ pattern: z.ZodString;
1627
+ }, z.core.$strict>, z.ZodObject<{
1628
+ rate: z.ZodOptional<z.ZodBoolean>;
1629
+ type: z.ZodLiteral<"shell">;
1630
+ matcher: z.ZodLiteral<"regexp">;
1631
+ pattern: z.ZodString;
1632
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1633
+ rate: z.ZodOptional<z.ZodBoolean>;
1634
+ host: z.ZodOptional<z.ZodString>;
1635
+ type: z.ZodLiteral<"tool">;
1636
+ matcher: z.ZodLiteral<"exact">;
1637
+ pattern: z.ZodString;
1638
+ }, z.core.$strict>, z.ZodObject<{
1639
+ rate: z.ZodOptional<z.ZodBoolean>;
1640
+ host: z.ZodOptional<z.ZodString>;
1641
+ type: z.ZodLiteral<"tool">;
1642
+ matcher: z.ZodLiteral<"glob">;
1643
+ pattern: z.ZodString;
1644
+ }, z.core.$strict>, z.ZodObject<{
1645
+ rate: z.ZodOptional<z.ZodBoolean>;
1646
+ host: z.ZodOptional<z.ZodString>;
1647
+ type: z.ZodLiteral<"tool">;
1648
+ matcher: z.ZodLiteral<"regexp">;
1649
+ pattern: z.ZodString;
1650
+ }, z.core.$strict>, z.ZodObject<{
1651
+ rate: z.ZodOptional<z.ZodBoolean>;
1652
+ host: z.ZodOptional<z.ZodString>;
1653
+ type: z.ZodLiteral<"tool">;
1654
+ matcher: z.ZodLiteral<"hint">;
1655
+ pattern: z.ZodObject<{
1656
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1657
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1658
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1659
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1660
+ }, z.core.$strict>;
1661
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1662
+ rate: z.ZodOptional<z.ZodBoolean>;
1663
+ host: z.ZodOptional<z.ZodString>;
1664
+ type: z.ZodLiteral<"mcpTool">;
1665
+ matcher: z.ZodLiteral<"exact">;
1666
+ server: z.ZodString;
1667
+ pattern: z.ZodString;
1668
+ }, z.core.$strict>, z.ZodObject<{
1669
+ rate: z.ZodOptional<z.ZodBoolean>;
1670
+ host: z.ZodOptional<z.ZodString>;
1671
+ type: z.ZodLiteral<"mcpTool">;
1672
+ matcher: z.ZodLiteral<"glob">;
1673
+ server: z.ZodString;
1674
+ pattern: z.ZodString;
1675
+ }, z.core.$strict>, z.ZodObject<{
1676
+ rate: z.ZodOptional<z.ZodBoolean>;
1677
+ host: z.ZodOptional<z.ZodString>;
1678
+ type: z.ZodLiteral<"mcpTool">;
1679
+ matcher: z.ZodLiteral<"regexp">;
1680
+ server: z.ZodString;
1681
+ pattern: z.ZodString;
1682
+ }, z.core.$strict>, z.ZodObject<{
1683
+ rate: z.ZodOptional<z.ZodBoolean>;
1684
+ host: z.ZodOptional<z.ZodString>;
1685
+ type: z.ZodLiteral<"mcpTool">;
1686
+ matcher: z.ZodLiteral<"hint">;
1687
+ server: z.ZodString;
1688
+ pattern: z.ZodObject<{
1689
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1690
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1691
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1692
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1693
+ }, z.core.$strict>;
1694
+ }, z.core.$strict>], "matcher">], "type">>>;
1695
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1696
+ rate: z.ZodOptional<z.ZodBoolean>;
1697
+ type: z.ZodLiteral<"shell">;
1698
+ matcher: z.ZodLiteral<"exact">;
1699
+ pattern: z.ZodString;
1700
+ }, z.core.$strict>, z.ZodObject<{
1701
+ rate: z.ZodOptional<z.ZodBoolean>;
1702
+ type: z.ZodLiteral<"shell">;
1703
+ matcher: z.ZodLiteral<"glob">;
1704
+ pattern: z.ZodString;
1705
+ }, z.core.$strict>, z.ZodObject<{
1706
+ rate: z.ZodOptional<z.ZodBoolean>;
1707
+ type: z.ZodLiteral<"shell">;
1708
+ matcher: z.ZodLiteral<"regexp">;
1709
+ pattern: z.ZodString;
1710
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1711
+ rate: z.ZodOptional<z.ZodBoolean>;
1712
+ host: z.ZodOptional<z.ZodString>;
1713
+ type: z.ZodLiteral<"tool">;
1714
+ matcher: z.ZodLiteral<"exact">;
1715
+ pattern: z.ZodString;
1716
+ }, z.core.$strict>, z.ZodObject<{
1717
+ rate: z.ZodOptional<z.ZodBoolean>;
1718
+ host: z.ZodOptional<z.ZodString>;
1719
+ type: z.ZodLiteral<"tool">;
1720
+ matcher: z.ZodLiteral<"glob">;
1721
+ pattern: z.ZodString;
1722
+ }, z.core.$strict>, z.ZodObject<{
1723
+ rate: z.ZodOptional<z.ZodBoolean>;
1724
+ host: z.ZodOptional<z.ZodString>;
1725
+ type: z.ZodLiteral<"tool">;
1726
+ matcher: z.ZodLiteral<"regexp">;
1727
+ pattern: z.ZodString;
1728
+ }, z.core.$strict>, z.ZodObject<{
1729
+ rate: z.ZodOptional<z.ZodBoolean>;
1730
+ host: z.ZodOptional<z.ZodString>;
1731
+ type: z.ZodLiteral<"tool">;
1732
+ matcher: z.ZodLiteral<"hint">;
1733
+ pattern: z.ZodObject<{
1734
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1735
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1736
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1737
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1738
+ }, z.core.$strict>;
1739
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1740
+ rate: z.ZodOptional<z.ZodBoolean>;
1741
+ host: z.ZodOptional<z.ZodString>;
1742
+ type: z.ZodLiteral<"mcpTool">;
1743
+ matcher: z.ZodLiteral<"exact">;
1744
+ server: z.ZodString;
1745
+ pattern: z.ZodString;
1746
+ }, z.core.$strict>, z.ZodObject<{
1747
+ rate: z.ZodOptional<z.ZodBoolean>;
1748
+ host: z.ZodOptional<z.ZodString>;
1749
+ type: z.ZodLiteral<"mcpTool">;
1750
+ matcher: z.ZodLiteral<"glob">;
1751
+ server: z.ZodString;
1752
+ pattern: z.ZodString;
1753
+ }, z.core.$strict>, z.ZodObject<{
1754
+ rate: z.ZodOptional<z.ZodBoolean>;
1755
+ host: z.ZodOptional<z.ZodString>;
1756
+ type: z.ZodLiteral<"mcpTool">;
1757
+ matcher: z.ZodLiteral<"regexp">;
1758
+ server: z.ZodString;
1759
+ pattern: z.ZodString;
1760
+ }, z.core.$strict>, z.ZodObject<{
1761
+ rate: z.ZodOptional<z.ZodBoolean>;
1762
+ host: z.ZodOptional<z.ZodString>;
1763
+ type: z.ZodLiteral<"mcpTool">;
1764
+ matcher: z.ZodLiteral<"hint">;
1765
+ server: z.ZodString;
1766
+ pattern: z.ZodObject<{
1767
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1768
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1769
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1770
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1771
+ }, z.core.$strict>;
1772
+ }, z.core.$strict>], "matcher">], "type">>>;
1773
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1774
+ rate: z.ZodOptional<z.ZodBoolean>;
1775
+ type: z.ZodLiteral<"shell">;
1776
+ matcher: z.ZodLiteral<"exact">;
1777
+ pattern: z.ZodString;
1778
+ }, z.core.$strict>, z.ZodObject<{
1779
+ rate: z.ZodOptional<z.ZodBoolean>;
1780
+ type: z.ZodLiteral<"shell">;
1781
+ matcher: z.ZodLiteral<"glob">;
1782
+ pattern: z.ZodString;
1783
+ }, z.core.$strict>, z.ZodObject<{
1784
+ rate: z.ZodOptional<z.ZodBoolean>;
1785
+ type: z.ZodLiteral<"shell">;
1786
+ matcher: z.ZodLiteral<"regexp">;
1787
+ pattern: z.ZodString;
1788
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1789
+ rate: z.ZodOptional<z.ZodBoolean>;
1790
+ host: z.ZodOptional<z.ZodString>;
1791
+ type: z.ZodLiteral<"tool">;
1792
+ matcher: z.ZodLiteral<"exact">;
1793
+ pattern: z.ZodString;
1794
+ }, z.core.$strict>, z.ZodObject<{
1795
+ rate: z.ZodOptional<z.ZodBoolean>;
1796
+ host: z.ZodOptional<z.ZodString>;
1797
+ type: z.ZodLiteral<"tool">;
1798
+ matcher: z.ZodLiteral<"glob">;
1799
+ pattern: z.ZodString;
1800
+ }, z.core.$strict>, z.ZodObject<{
1801
+ rate: z.ZodOptional<z.ZodBoolean>;
1802
+ host: z.ZodOptional<z.ZodString>;
1803
+ type: z.ZodLiteral<"tool">;
1804
+ matcher: z.ZodLiteral<"regexp">;
1805
+ pattern: z.ZodString;
1806
+ }, z.core.$strict>, z.ZodObject<{
1807
+ rate: z.ZodOptional<z.ZodBoolean>;
1808
+ host: z.ZodOptional<z.ZodString>;
1809
+ type: z.ZodLiteral<"tool">;
1810
+ matcher: z.ZodLiteral<"hint">;
1811
+ pattern: z.ZodObject<{
1812
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1813
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1814
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1815
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1816
+ }, z.core.$strict>;
1817
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1818
+ rate: z.ZodOptional<z.ZodBoolean>;
1819
+ host: z.ZodOptional<z.ZodString>;
1820
+ type: z.ZodLiteral<"mcpTool">;
1821
+ matcher: z.ZodLiteral<"exact">;
1822
+ server: z.ZodString;
1823
+ pattern: z.ZodString;
1824
+ }, z.core.$strict>, z.ZodObject<{
1825
+ rate: z.ZodOptional<z.ZodBoolean>;
1826
+ host: z.ZodOptional<z.ZodString>;
1827
+ type: z.ZodLiteral<"mcpTool">;
1828
+ matcher: z.ZodLiteral<"glob">;
1829
+ server: z.ZodString;
1830
+ pattern: z.ZodString;
1831
+ }, z.core.$strict>, z.ZodObject<{
1832
+ rate: z.ZodOptional<z.ZodBoolean>;
1833
+ host: z.ZodOptional<z.ZodString>;
1834
+ type: z.ZodLiteral<"mcpTool">;
1835
+ matcher: z.ZodLiteral<"regexp">;
1836
+ server: z.ZodString;
1837
+ pattern: z.ZodString;
1838
+ }, z.core.$strict>, z.ZodObject<{
1839
+ rate: z.ZodOptional<z.ZodBoolean>;
1840
+ host: z.ZodOptional<z.ZodString>;
1841
+ type: z.ZodLiteral<"mcpTool">;
1842
+ matcher: z.ZodLiteral<"hint">;
1843
+ server: z.ZodString;
1844
+ pattern: z.ZodObject<{
1845
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1846
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1847
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1848
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1849
+ }, z.core.$strict>;
1850
+ }, z.core.$strict>], "matcher">], "type">>>;
1851
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
1852
+ mcp: z.ZodOptional<z.ZodObject<{
1853
+ defaults: z.ZodOptional<z.ZodObject<{
1854
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1855
+ destructiveHint: "destructiveHint";
1856
+ idempotentHint: "idempotentHint";
1857
+ openWorldHint: "openWorldHint";
1858
+ readOnlyHint: "readOnlyHint";
1859
+ }>>>;
1860
+ }, z.core.$strict>>;
1861
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1862
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1863
+ destructiveHint: "destructiveHint";
1864
+ idempotentHint: "idempotentHint";
1865
+ openWorldHint: "openWorldHint";
1866
+ readOnlyHint: "readOnlyHint";
1867
+ }>>>;
1868
+ }, z.core.$strict>>>;
1869
+ }, z.core.$strict>>;
1870
+ }, z.core.$strip>]>>;
436
1871
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
437
1872
  command: z.ZodString;
438
1873
  description: z.ZodString;
@@ -472,25 +1907,280 @@ export declare const rawGthConfigSchema: z.ZodObject<{
472
1907
  command: z.ZodOptional<z.ZodString>;
473
1908
  timeout: z.ZodOptional<z.ZodNumber>;
474
1909
  maxOutputBytes: z.ZodOptional<z.ZodNumber>;
475
- allowlist: z.ZodOptional<z.ZodBoolean>;
476
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
477
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
478
- enabled: z.ZodOptional<z.ZodBoolean>;
479
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
480
- blockHigh: z.ZodOptional<z.ZodBoolean>;
481
- model: z.ZodOptional<z.ZodObject<{
482
- type: z.ZodOptional<z.ZodString>;
483
- model: z.ZodOptional<z.ZodString>;
484
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
485
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
486
- }, z.core.$loose>>;
487
- }, z.core.$strip>]>>;
488
- yolo: z.ZodOptional<z.ZodBoolean>;
489
1910
  fileSet: z.ZodOptional<z.ZodEnum<{
490
1911
  all: "all";
491
1912
  gitignore: "gitignore";
492
1913
  }>>;
493
1914
  }, z.core.$strip>]>>]>>;
1915
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1916
+ "auto-safe": "auto-safe";
1917
+ bypass: "bypass";
1918
+ "full-auto": "full-auto";
1919
+ "read-only": "read-only";
1920
+ write: "write";
1921
+ }>, z.ZodObject<{
1922
+ mode: z.ZodOptional<z.ZodEnum<{
1923
+ "auto-safe": "auto-safe";
1924
+ bypass: "bypass";
1925
+ "full-auto": "full-auto";
1926
+ "read-only": "read-only";
1927
+ write: "write";
1928
+ }>>;
1929
+ rater: z.ZodOptional<z.ZodString>;
1930
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1931
+ rate: z.ZodOptional<z.ZodBoolean>;
1932
+ type: z.ZodLiteral<"shell">;
1933
+ matcher: z.ZodLiteral<"exact">;
1934
+ pattern: z.ZodString;
1935
+ }, z.core.$strict>, z.ZodObject<{
1936
+ rate: z.ZodOptional<z.ZodBoolean>;
1937
+ type: z.ZodLiteral<"shell">;
1938
+ matcher: z.ZodLiteral<"glob">;
1939
+ pattern: z.ZodString;
1940
+ }, z.core.$strict>, z.ZodObject<{
1941
+ rate: z.ZodOptional<z.ZodBoolean>;
1942
+ type: z.ZodLiteral<"shell">;
1943
+ matcher: z.ZodLiteral<"regexp">;
1944
+ pattern: z.ZodString;
1945
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1946
+ rate: z.ZodOptional<z.ZodBoolean>;
1947
+ host: z.ZodOptional<z.ZodString>;
1948
+ type: z.ZodLiteral<"tool">;
1949
+ matcher: z.ZodLiteral<"exact">;
1950
+ pattern: z.ZodString;
1951
+ }, z.core.$strict>, z.ZodObject<{
1952
+ rate: z.ZodOptional<z.ZodBoolean>;
1953
+ host: z.ZodOptional<z.ZodString>;
1954
+ type: z.ZodLiteral<"tool">;
1955
+ matcher: z.ZodLiteral<"glob">;
1956
+ pattern: z.ZodString;
1957
+ }, z.core.$strict>, z.ZodObject<{
1958
+ rate: z.ZodOptional<z.ZodBoolean>;
1959
+ host: z.ZodOptional<z.ZodString>;
1960
+ type: z.ZodLiteral<"tool">;
1961
+ matcher: z.ZodLiteral<"regexp">;
1962
+ pattern: z.ZodString;
1963
+ }, z.core.$strict>, z.ZodObject<{
1964
+ rate: z.ZodOptional<z.ZodBoolean>;
1965
+ host: z.ZodOptional<z.ZodString>;
1966
+ type: z.ZodLiteral<"tool">;
1967
+ matcher: z.ZodLiteral<"hint">;
1968
+ pattern: z.ZodObject<{
1969
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1970
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1971
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1972
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1973
+ }, z.core.$strict>;
1974
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1975
+ rate: z.ZodOptional<z.ZodBoolean>;
1976
+ host: z.ZodOptional<z.ZodString>;
1977
+ type: z.ZodLiteral<"mcpTool">;
1978
+ matcher: z.ZodLiteral<"exact">;
1979
+ server: z.ZodString;
1980
+ pattern: z.ZodString;
1981
+ }, z.core.$strict>, z.ZodObject<{
1982
+ rate: z.ZodOptional<z.ZodBoolean>;
1983
+ host: z.ZodOptional<z.ZodString>;
1984
+ type: z.ZodLiteral<"mcpTool">;
1985
+ matcher: z.ZodLiteral<"glob">;
1986
+ server: z.ZodString;
1987
+ pattern: z.ZodString;
1988
+ }, z.core.$strict>, z.ZodObject<{
1989
+ rate: z.ZodOptional<z.ZodBoolean>;
1990
+ host: z.ZodOptional<z.ZodString>;
1991
+ type: z.ZodLiteral<"mcpTool">;
1992
+ matcher: z.ZodLiteral<"regexp">;
1993
+ server: z.ZodString;
1994
+ pattern: z.ZodString;
1995
+ }, z.core.$strict>, z.ZodObject<{
1996
+ rate: z.ZodOptional<z.ZodBoolean>;
1997
+ host: z.ZodOptional<z.ZodString>;
1998
+ type: z.ZodLiteral<"mcpTool">;
1999
+ matcher: z.ZodLiteral<"hint">;
2000
+ server: z.ZodString;
2001
+ pattern: z.ZodObject<{
2002
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2003
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2004
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2005
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2006
+ }, z.core.$strict>;
2007
+ }, z.core.$strict>], "matcher">], "type">>>;
2008
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2009
+ rate: z.ZodOptional<z.ZodBoolean>;
2010
+ type: z.ZodLiteral<"shell">;
2011
+ matcher: z.ZodLiteral<"exact">;
2012
+ pattern: z.ZodString;
2013
+ }, z.core.$strict>, z.ZodObject<{
2014
+ rate: z.ZodOptional<z.ZodBoolean>;
2015
+ type: z.ZodLiteral<"shell">;
2016
+ matcher: z.ZodLiteral<"glob">;
2017
+ pattern: z.ZodString;
2018
+ }, z.core.$strict>, z.ZodObject<{
2019
+ rate: z.ZodOptional<z.ZodBoolean>;
2020
+ type: z.ZodLiteral<"shell">;
2021
+ matcher: z.ZodLiteral<"regexp">;
2022
+ pattern: z.ZodString;
2023
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2024
+ rate: z.ZodOptional<z.ZodBoolean>;
2025
+ host: z.ZodOptional<z.ZodString>;
2026
+ type: z.ZodLiteral<"tool">;
2027
+ matcher: z.ZodLiteral<"exact">;
2028
+ pattern: z.ZodString;
2029
+ }, z.core.$strict>, z.ZodObject<{
2030
+ rate: z.ZodOptional<z.ZodBoolean>;
2031
+ host: z.ZodOptional<z.ZodString>;
2032
+ type: z.ZodLiteral<"tool">;
2033
+ matcher: z.ZodLiteral<"glob">;
2034
+ pattern: z.ZodString;
2035
+ }, z.core.$strict>, z.ZodObject<{
2036
+ rate: z.ZodOptional<z.ZodBoolean>;
2037
+ host: z.ZodOptional<z.ZodString>;
2038
+ type: z.ZodLiteral<"tool">;
2039
+ matcher: z.ZodLiteral<"regexp">;
2040
+ pattern: z.ZodString;
2041
+ }, z.core.$strict>, z.ZodObject<{
2042
+ rate: z.ZodOptional<z.ZodBoolean>;
2043
+ host: z.ZodOptional<z.ZodString>;
2044
+ type: z.ZodLiteral<"tool">;
2045
+ matcher: z.ZodLiteral<"hint">;
2046
+ pattern: z.ZodObject<{
2047
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2048
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2049
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2050
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2051
+ }, z.core.$strict>;
2052
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2053
+ rate: z.ZodOptional<z.ZodBoolean>;
2054
+ host: z.ZodOptional<z.ZodString>;
2055
+ type: z.ZodLiteral<"mcpTool">;
2056
+ matcher: z.ZodLiteral<"exact">;
2057
+ server: z.ZodString;
2058
+ pattern: z.ZodString;
2059
+ }, z.core.$strict>, z.ZodObject<{
2060
+ rate: z.ZodOptional<z.ZodBoolean>;
2061
+ host: z.ZodOptional<z.ZodString>;
2062
+ type: z.ZodLiteral<"mcpTool">;
2063
+ matcher: z.ZodLiteral<"glob">;
2064
+ server: z.ZodString;
2065
+ pattern: z.ZodString;
2066
+ }, z.core.$strict>, z.ZodObject<{
2067
+ rate: z.ZodOptional<z.ZodBoolean>;
2068
+ host: z.ZodOptional<z.ZodString>;
2069
+ type: z.ZodLiteral<"mcpTool">;
2070
+ matcher: z.ZodLiteral<"regexp">;
2071
+ server: z.ZodString;
2072
+ pattern: z.ZodString;
2073
+ }, z.core.$strict>, z.ZodObject<{
2074
+ rate: z.ZodOptional<z.ZodBoolean>;
2075
+ host: z.ZodOptional<z.ZodString>;
2076
+ type: z.ZodLiteral<"mcpTool">;
2077
+ matcher: z.ZodLiteral<"hint">;
2078
+ server: z.ZodString;
2079
+ pattern: z.ZodObject<{
2080
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2081
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2082
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2083
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2084
+ }, z.core.$strict>;
2085
+ }, z.core.$strict>], "matcher">], "type">>>;
2086
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2087
+ rate: z.ZodOptional<z.ZodBoolean>;
2088
+ type: z.ZodLiteral<"shell">;
2089
+ matcher: z.ZodLiteral<"exact">;
2090
+ pattern: z.ZodString;
2091
+ }, z.core.$strict>, z.ZodObject<{
2092
+ rate: z.ZodOptional<z.ZodBoolean>;
2093
+ type: z.ZodLiteral<"shell">;
2094
+ matcher: z.ZodLiteral<"glob">;
2095
+ pattern: z.ZodString;
2096
+ }, z.core.$strict>, z.ZodObject<{
2097
+ rate: z.ZodOptional<z.ZodBoolean>;
2098
+ type: z.ZodLiteral<"shell">;
2099
+ matcher: z.ZodLiteral<"regexp">;
2100
+ pattern: z.ZodString;
2101
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2102
+ rate: z.ZodOptional<z.ZodBoolean>;
2103
+ host: z.ZodOptional<z.ZodString>;
2104
+ type: z.ZodLiteral<"tool">;
2105
+ matcher: z.ZodLiteral<"exact">;
2106
+ pattern: z.ZodString;
2107
+ }, z.core.$strict>, z.ZodObject<{
2108
+ rate: z.ZodOptional<z.ZodBoolean>;
2109
+ host: z.ZodOptional<z.ZodString>;
2110
+ type: z.ZodLiteral<"tool">;
2111
+ matcher: z.ZodLiteral<"glob">;
2112
+ pattern: z.ZodString;
2113
+ }, z.core.$strict>, z.ZodObject<{
2114
+ rate: z.ZodOptional<z.ZodBoolean>;
2115
+ host: z.ZodOptional<z.ZodString>;
2116
+ type: z.ZodLiteral<"tool">;
2117
+ matcher: z.ZodLiteral<"regexp">;
2118
+ pattern: z.ZodString;
2119
+ }, z.core.$strict>, z.ZodObject<{
2120
+ rate: z.ZodOptional<z.ZodBoolean>;
2121
+ host: z.ZodOptional<z.ZodString>;
2122
+ type: z.ZodLiteral<"tool">;
2123
+ matcher: z.ZodLiteral<"hint">;
2124
+ pattern: z.ZodObject<{
2125
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2126
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2127
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2128
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2129
+ }, z.core.$strict>;
2130
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2131
+ rate: z.ZodOptional<z.ZodBoolean>;
2132
+ host: z.ZodOptional<z.ZodString>;
2133
+ type: z.ZodLiteral<"mcpTool">;
2134
+ matcher: z.ZodLiteral<"exact">;
2135
+ server: z.ZodString;
2136
+ pattern: z.ZodString;
2137
+ }, z.core.$strict>, z.ZodObject<{
2138
+ rate: z.ZodOptional<z.ZodBoolean>;
2139
+ host: z.ZodOptional<z.ZodString>;
2140
+ type: z.ZodLiteral<"mcpTool">;
2141
+ matcher: z.ZodLiteral<"glob">;
2142
+ server: z.ZodString;
2143
+ pattern: z.ZodString;
2144
+ }, z.core.$strict>, z.ZodObject<{
2145
+ rate: z.ZodOptional<z.ZodBoolean>;
2146
+ host: z.ZodOptional<z.ZodString>;
2147
+ type: z.ZodLiteral<"mcpTool">;
2148
+ matcher: z.ZodLiteral<"regexp">;
2149
+ server: z.ZodString;
2150
+ pattern: z.ZodString;
2151
+ }, z.core.$strict>, z.ZodObject<{
2152
+ rate: z.ZodOptional<z.ZodBoolean>;
2153
+ host: z.ZodOptional<z.ZodString>;
2154
+ type: z.ZodLiteral<"mcpTool">;
2155
+ matcher: z.ZodLiteral<"hint">;
2156
+ server: z.ZodString;
2157
+ pattern: z.ZodObject<{
2158
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2159
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2160
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2161
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2162
+ }, z.core.$strict>;
2163
+ }, z.core.$strict>], "matcher">], "type">>>;
2164
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
2165
+ mcp: z.ZodOptional<z.ZodObject<{
2166
+ defaults: z.ZodOptional<z.ZodObject<{
2167
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2168
+ destructiveHint: "destructiveHint";
2169
+ idempotentHint: "idempotentHint";
2170
+ openWorldHint: "openWorldHint";
2171
+ readOnlyHint: "readOnlyHint";
2172
+ }>>>;
2173
+ }, z.core.$strict>>;
2174
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2175
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2176
+ destructiveHint: "destructiveHint";
2177
+ idempotentHint: "idempotentHint";
2178
+ openWorldHint: "openWorldHint";
2179
+ readOnlyHint: "readOnlyHint";
2180
+ }>>>;
2181
+ }, z.core.$strict>>>;
2182
+ }, z.core.$strict>>;
2183
+ }, z.core.$strip>]>>;
494
2184
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
495
2185
  command: z.ZodString;
496
2186
  description: z.ZodString;
@@ -530,25 +2220,280 @@ export declare const rawGthConfigSchema: z.ZodObject<{
530
2220
  command: z.ZodOptional<z.ZodString>;
531
2221
  timeout: z.ZodOptional<z.ZodNumber>;
532
2222
  maxOutputBytes: z.ZodOptional<z.ZodNumber>;
533
- allowlist: z.ZodOptional<z.ZodBoolean>;
534
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
535
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
536
- enabled: z.ZodOptional<z.ZodBoolean>;
537
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
538
- blockHigh: z.ZodOptional<z.ZodBoolean>;
539
- model: z.ZodOptional<z.ZodObject<{
540
- type: z.ZodOptional<z.ZodString>;
541
- model: z.ZodOptional<z.ZodString>;
542
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
543
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
544
- }, z.core.$loose>>;
545
- }, z.core.$strip>]>>;
546
- yolo: z.ZodOptional<z.ZodBoolean>;
547
2223
  fileSet: z.ZodOptional<z.ZodEnum<{
548
2224
  all: "all";
549
2225
  gitignore: "gitignore";
550
2226
  }>>;
551
2227
  }, z.core.$strip>]>>]>>;
2228
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2229
+ "auto-safe": "auto-safe";
2230
+ bypass: "bypass";
2231
+ "full-auto": "full-auto";
2232
+ "read-only": "read-only";
2233
+ write: "write";
2234
+ }>, z.ZodObject<{
2235
+ mode: z.ZodOptional<z.ZodEnum<{
2236
+ "auto-safe": "auto-safe";
2237
+ bypass: "bypass";
2238
+ "full-auto": "full-auto";
2239
+ "read-only": "read-only";
2240
+ write: "write";
2241
+ }>>;
2242
+ rater: z.ZodOptional<z.ZodString>;
2243
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2244
+ rate: z.ZodOptional<z.ZodBoolean>;
2245
+ type: z.ZodLiteral<"shell">;
2246
+ matcher: z.ZodLiteral<"exact">;
2247
+ pattern: z.ZodString;
2248
+ }, z.core.$strict>, z.ZodObject<{
2249
+ rate: z.ZodOptional<z.ZodBoolean>;
2250
+ type: z.ZodLiteral<"shell">;
2251
+ matcher: z.ZodLiteral<"glob">;
2252
+ pattern: z.ZodString;
2253
+ }, z.core.$strict>, z.ZodObject<{
2254
+ rate: z.ZodOptional<z.ZodBoolean>;
2255
+ type: z.ZodLiteral<"shell">;
2256
+ matcher: z.ZodLiteral<"regexp">;
2257
+ pattern: z.ZodString;
2258
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2259
+ rate: z.ZodOptional<z.ZodBoolean>;
2260
+ host: z.ZodOptional<z.ZodString>;
2261
+ type: z.ZodLiteral<"tool">;
2262
+ matcher: z.ZodLiteral<"exact">;
2263
+ pattern: z.ZodString;
2264
+ }, z.core.$strict>, z.ZodObject<{
2265
+ rate: z.ZodOptional<z.ZodBoolean>;
2266
+ host: z.ZodOptional<z.ZodString>;
2267
+ type: z.ZodLiteral<"tool">;
2268
+ matcher: z.ZodLiteral<"glob">;
2269
+ pattern: z.ZodString;
2270
+ }, z.core.$strict>, z.ZodObject<{
2271
+ rate: z.ZodOptional<z.ZodBoolean>;
2272
+ host: z.ZodOptional<z.ZodString>;
2273
+ type: z.ZodLiteral<"tool">;
2274
+ matcher: z.ZodLiteral<"regexp">;
2275
+ pattern: z.ZodString;
2276
+ }, z.core.$strict>, z.ZodObject<{
2277
+ rate: z.ZodOptional<z.ZodBoolean>;
2278
+ host: z.ZodOptional<z.ZodString>;
2279
+ type: z.ZodLiteral<"tool">;
2280
+ matcher: z.ZodLiteral<"hint">;
2281
+ pattern: z.ZodObject<{
2282
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2283
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2284
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2285
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2286
+ }, z.core.$strict>;
2287
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2288
+ rate: z.ZodOptional<z.ZodBoolean>;
2289
+ host: z.ZodOptional<z.ZodString>;
2290
+ type: z.ZodLiteral<"mcpTool">;
2291
+ matcher: z.ZodLiteral<"exact">;
2292
+ server: z.ZodString;
2293
+ pattern: z.ZodString;
2294
+ }, z.core.$strict>, z.ZodObject<{
2295
+ rate: z.ZodOptional<z.ZodBoolean>;
2296
+ host: z.ZodOptional<z.ZodString>;
2297
+ type: z.ZodLiteral<"mcpTool">;
2298
+ matcher: z.ZodLiteral<"glob">;
2299
+ server: z.ZodString;
2300
+ pattern: z.ZodString;
2301
+ }, z.core.$strict>, z.ZodObject<{
2302
+ rate: z.ZodOptional<z.ZodBoolean>;
2303
+ host: z.ZodOptional<z.ZodString>;
2304
+ type: z.ZodLiteral<"mcpTool">;
2305
+ matcher: z.ZodLiteral<"regexp">;
2306
+ server: z.ZodString;
2307
+ pattern: z.ZodString;
2308
+ }, z.core.$strict>, z.ZodObject<{
2309
+ rate: z.ZodOptional<z.ZodBoolean>;
2310
+ host: z.ZodOptional<z.ZodString>;
2311
+ type: z.ZodLiteral<"mcpTool">;
2312
+ matcher: z.ZodLiteral<"hint">;
2313
+ server: z.ZodString;
2314
+ pattern: z.ZodObject<{
2315
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2316
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2317
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2318
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2319
+ }, z.core.$strict>;
2320
+ }, z.core.$strict>], "matcher">], "type">>>;
2321
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2322
+ rate: z.ZodOptional<z.ZodBoolean>;
2323
+ type: z.ZodLiteral<"shell">;
2324
+ matcher: z.ZodLiteral<"exact">;
2325
+ pattern: z.ZodString;
2326
+ }, z.core.$strict>, z.ZodObject<{
2327
+ rate: z.ZodOptional<z.ZodBoolean>;
2328
+ type: z.ZodLiteral<"shell">;
2329
+ matcher: z.ZodLiteral<"glob">;
2330
+ pattern: z.ZodString;
2331
+ }, z.core.$strict>, z.ZodObject<{
2332
+ rate: z.ZodOptional<z.ZodBoolean>;
2333
+ type: z.ZodLiteral<"shell">;
2334
+ matcher: z.ZodLiteral<"regexp">;
2335
+ pattern: z.ZodString;
2336
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2337
+ rate: z.ZodOptional<z.ZodBoolean>;
2338
+ host: z.ZodOptional<z.ZodString>;
2339
+ type: z.ZodLiteral<"tool">;
2340
+ matcher: z.ZodLiteral<"exact">;
2341
+ pattern: z.ZodString;
2342
+ }, z.core.$strict>, z.ZodObject<{
2343
+ rate: z.ZodOptional<z.ZodBoolean>;
2344
+ host: z.ZodOptional<z.ZodString>;
2345
+ type: z.ZodLiteral<"tool">;
2346
+ matcher: z.ZodLiteral<"glob">;
2347
+ pattern: z.ZodString;
2348
+ }, z.core.$strict>, z.ZodObject<{
2349
+ rate: z.ZodOptional<z.ZodBoolean>;
2350
+ host: z.ZodOptional<z.ZodString>;
2351
+ type: z.ZodLiteral<"tool">;
2352
+ matcher: z.ZodLiteral<"regexp">;
2353
+ pattern: z.ZodString;
2354
+ }, z.core.$strict>, z.ZodObject<{
2355
+ rate: z.ZodOptional<z.ZodBoolean>;
2356
+ host: z.ZodOptional<z.ZodString>;
2357
+ type: z.ZodLiteral<"tool">;
2358
+ matcher: z.ZodLiteral<"hint">;
2359
+ pattern: z.ZodObject<{
2360
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2361
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2362
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2363
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2364
+ }, z.core.$strict>;
2365
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2366
+ rate: z.ZodOptional<z.ZodBoolean>;
2367
+ host: z.ZodOptional<z.ZodString>;
2368
+ type: z.ZodLiteral<"mcpTool">;
2369
+ matcher: z.ZodLiteral<"exact">;
2370
+ server: z.ZodString;
2371
+ pattern: z.ZodString;
2372
+ }, z.core.$strict>, z.ZodObject<{
2373
+ rate: z.ZodOptional<z.ZodBoolean>;
2374
+ host: z.ZodOptional<z.ZodString>;
2375
+ type: z.ZodLiteral<"mcpTool">;
2376
+ matcher: z.ZodLiteral<"glob">;
2377
+ server: z.ZodString;
2378
+ pattern: z.ZodString;
2379
+ }, z.core.$strict>, z.ZodObject<{
2380
+ rate: z.ZodOptional<z.ZodBoolean>;
2381
+ host: z.ZodOptional<z.ZodString>;
2382
+ type: z.ZodLiteral<"mcpTool">;
2383
+ matcher: z.ZodLiteral<"regexp">;
2384
+ server: z.ZodString;
2385
+ pattern: z.ZodString;
2386
+ }, z.core.$strict>, z.ZodObject<{
2387
+ rate: z.ZodOptional<z.ZodBoolean>;
2388
+ host: z.ZodOptional<z.ZodString>;
2389
+ type: z.ZodLiteral<"mcpTool">;
2390
+ matcher: z.ZodLiteral<"hint">;
2391
+ server: z.ZodString;
2392
+ pattern: z.ZodObject<{
2393
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2394
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2395
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2396
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2397
+ }, z.core.$strict>;
2398
+ }, z.core.$strict>], "matcher">], "type">>>;
2399
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2400
+ rate: z.ZodOptional<z.ZodBoolean>;
2401
+ type: z.ZodLiteral<"shell">;
2402
+ matcher: z.ZodLiteral<"exact">;
2403
+ pattern: z.ZodString;
2404
+ }, z.core.$strict>, z.ZodObject<{
2405
+ rate: z.ZodOptional<z.ZodBoolean>;
2406
+ type: z.ZodLiteral<"shell">;
2407
+ matcher: z.ZodLiteral<"glob">;
2408
+ pattern: z.ZodString;
2409
+ }, z.core.$strict>, z.ZodObject<{
2410
+ rate: z.ZodOptional<z.ZodBoolean>;
2411
+ type: z.ZodLiteral<"shell">;
2412
+ matcher: z.ZodLiteral<"regexp">;
2413
+ pattern: z.ZodString;
2414
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2415
+ rate: z.ZodOptional<z.ZodBoolean>;
2416
+ host: z.ZodOptional<z.ZodString>;
2417
+ type: z.ZodLiteral<"tool">;
2418
+ matcher: z.ZodLiteral<"exact">;
2419
+ pattern: z.ZodString;
2420
+ }, z.core.$strict>, z.ZodObject<{
2421
+ rate: z.ZodOptional<z.ZodBoolean>;
2422
+ host: z.ZodOptional<z.ZodString>;
2423
+ type: z.ZodLiteral<"tool">;
2424
+ matcher: z.ZodLiteral<"glob">;
2425
+ pattern: z.ZodString;
2426
+ }, z.core.$strict>, z.ZodObject<{
2427
+ rate: z.ZodOptional<z.ZodBoolean>;
2428
+ host: z.ZodOptional<z.ZodString>;
2429
+ type: z.ZodLiteral<"tool">;
2430
+ matcher: z.ZodLiteral<"regexp">;
2431
+ pattern: z.ZodString;
2432
+ }, z.core.$strict>, z.ZodObject<{
2433
+ rate: z.ZodOptional<z.ZodBoolean>;
2434
+ host: z.ZodOptional<z.ZodString>;
2435
+ type: z.ZodLiteral<"tool">;
2436
+ matcher: z.ZodLiteral<"hint">;
2437
+ pattern: z.ZodObject<{
2438
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2439
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2440
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2441
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2442
+ }, z.core.$strict>;
2443
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2444
+ rate: z.ZodOptional<z.ZodBoolean>;
2445
+ host: z.ZodOptional<z.ZodString>;
2446
+ type: z.ZodLiteral<"mcpTool">;
2447
+ matcher: z.ZodLiteral<"exact">;
2448
+ server: z.ZodString;
2449
+ pattern: z.ZodString;
2450
+ }, z.core.$strict>, z.ZodObject<{
2451
+ rate: z.ZodOptional<z.ZodBoolean>;
2452
+ host: z.ZodOptional<z.ZodString>;
2453
+ type: z.ZodLiteral<"mcpTool">;
2454
+ matcher: z.ZodLiteral<"glob">;
2455
+ server: z.ZodString;
2456
+ pattern: z.ZodString;
2457
+ }, z.core.$strict>, z.ZodObject<{
2458
+ rate: z.ZodOptional<z.ZodBoolean>;
2459
+ host: z.ZodOptional<z.ZodString>;
2460
+ type: z.ZodLiteral<"mcpTool">;
2461
+ matcher: z.ZodLiteral<"regexp">;
2462
+ server: z.ZodString;
2463
+ pattern: z.ZodString;
2464
+ }, z.core.$strict>, z.ZodObject<{
2465
+ rate: z.ZodOptional<z.ZodBoolean>;
2466
+ host: z.ZodOptional<z.ZodString>;
2467
+ type: z.ZodLiteral<"mcpTool">;
2468
+ matcher: z.ZodLiteral<"hint">;
2469
+ server: z.ZodString;
2470
+ pattern: z.ZodObject<{
2471
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2472
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2473
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2474
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2475
+ }, z.core.$strict>;
2476
+ }, z.core.$strict>], "matcher">], "type">>>;
2477
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
2478
+ mcp: z.ZodOptional<z.ZodObject<{
2479
+ defaults: z.ZodOptional<z.ZodObject<{
2480
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2481
+ destructiveHint: "destructiveHint";
2482
+ idempotentHint: "idempotentHint";
2483
+ openWorldHint: "openWorldHint";
2484
+ readOnlyHint: "readOnlyHint";
2485
+ }>>>;
2486
+ }, z.core.$strict>>;
2487
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2488
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2489
+ destructiveHint: "destructiveHint";
2490
+ idempotentHint: "idempotentHint";
2491
+ openWorldHint: "openWorldHint";
2492
+ readOnlyHint: "readOnlyHint";
2493
+ }>>>;
2494
+ }, z.core.$strict>>>;
2495
+ }, z.core.$strict>>;
2496
+ }, z.core.$strip>]>>;
552
2497
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
553
2498
  command: z.ZodString;
554
2499
  description: z.ZodString;
@@ -588,25 +2533,280 @@ export declare const rawGthConfigSchema: z.ZodObject<{
588
2533
  command: z.ZodOptional<z.ZodString>;
589
2534
  timeout: z.ZodOptional<z.ZodNumber>;
590
2535
  maxOutputBytes: z.ZodOptional<z.ZodNumber>;
591
- allowlist: z.ZodOptional<z.ZodBoolean>;
592
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
593
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
594
- enabled: z.ZodOptional<z.ZodBoolean>;
595
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
596
- blockHigh: z.ZodOptional<z.ZodBoolean>;
597
- model: z.ZodOptional<z.ZodObject<{
598
- type: z.ZodOptional<z.ZodString>;
599
- model: z.ZodOptional<z.ZodString>;
600
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
601
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
602
- }, z.core.$loose>>;
603
- }, z.core.$strip>]>>;
604
- yolo: z.ZodOptional<z.ZodBoolean>;
605
2536
  fileSet: z.ZodOptional<z.ZodEnum<{
606
2537
  all: "all";
607
2538
  gitignore: "gitignore";
608
2539
  }>>;
609
2540
  }, z.core.$strip>]>>]>>;
2541
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2542
+ "auto-safe": "auto-safe";
2543
+ bypass: "bypass";
2544
+ "full-auto": "full-auto";
2545
+ "read-only": "read-only";
2546
+ write: "write";
2547
+ }>, z.ZodObject<{
2548
+ mode: z.ZodOptional<z.ZodEnum<{
2549
+ "auto-safe": "auto-safe";
2550
+ bypass: "bypass";
2551
+ "full-auto": "full-auto";
2552
+ "read-only": "read-only";
2553
+ write: "write";
2554
+ }>>;
2555
+ rater: z.ZodOptional<z.ZodString>;
2556
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2557
+ rate: z.ZodOptional<z.ZodBoolean>;
2558
+ type: z.ZodLiteral<"shell">;
2559
+ matcher: z.ZodLiteral<"exact">;
2560
+ pattern: z.ZodString;
2561
+ }, z.core.$strict>, z.ZodObject<{
2562
+ rate: z.ZodOptional<z.ZodBoolean>;
2563
+ type: z.ZodLiteral<"shell">;
2564
+ matcher: z.ZodLiteral<"glob">;
2565
+ pattern: z.ZodString;
2566
+ }, z.core.$strict>, z.ZodObject<{
2567
+ rate: z.ZodOptional<z.ZodBoolean>;
2568
+ type: z.ZodLiteral<"shell">;
2569
+ matcher: z.ZodLiteral<"regexp">;
2570
+ pattern: z.ZodString;
2571
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2572
+ rate: z.ZodOptional<z.ZodBoolean>;
2573
+ host: z.ZodOptional<z.ZodString>;
2574
+ type: z.ZodLiteral<"tool">;
2575
+ matcher: z.ZodLiteral<"exact">;
2576
+ pattern: z.ZodString;
2577
+ }, z.core.$strict>, z.ZodObject<{
2578
+ rate: z.ZodOptional<z.ZodBoolean>;
2579
+ host: z.ZodOptional<z.ZodString>;
2580
+ type: z.ZodLiteral<"tool">;
2581
+ matcher: z.ZodLiteral<"glob">;
2582
+ pattern: z.ZodString;
2583
+ }, z.core.$strict>, z.ZodObject<{
2584
+ rate: z.ZodOptional<z.ZodBoolean>;
2585
+ host: z.ZodOptional<z.ZodString>;
2586
+ type: z.ZodLiteral<"tool">;
2587
+ matcher: z.ZodLiteral<"regexp">;
2588
+ pattern: z.ZodString;
2589
+ }, z.core.$strict>, z.ZodObject<{
2590
+ rate: z.ZodOptional<z.ZodBoolean>;
2591
+ host: z.ZodOptional<z.ZodString>;
2592
+ type: z.ZodLiteral<"tool">;
2593
+ matcher: z.ZodLiteral<"hint">;
2594
+ pattern: z.ZodObject<{
2595
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2596
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2597
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2598
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2599
+ }, z.core.$strict>;
2600
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2601
+ rate: z.ZodOptional<z.ZodBoolean>;
2602
+ host: z.ZodOptional<z.ZodString>;
2603
+ type: z.ZodLiteral<"mcpTool">;
2604
+ matcher: z.ZodLiteral<"exact">;
2605
+ server: z.ZodString;
2606
+ pattern: z.ZodString;
2607
+ }, z.core.$strict>, z.ZodObject<{
2608
+ rate: z.ZodOptional<z.ZodBoolean>;
2609
+ host: z.ZodOptional<z.ZodString>;
2610
+ type: z.ZodLiteral<"mcpTool">;
2611
+ matcher: z.ZodLiteral<"glob">;
2612
+ server: z.ZodString;
2613
+ pattern: z.ZodString;
2614
+ }, z.core.$strict>, z.ZodObject<{
2615
+ rate: z.ZodOptional<z.ZodBoolean>;
2616
+ host: z.ZodOptional<z.ZodString>;
2617
+ type: z.ZodLiteral<"mcpTool">;
2618
+ matcher: z.ZodLiteral<"regexp">;
2619
+ server: z.ZodString;
2620
+ pattern: z.ZodString;
2621
+ }, z.core.$strict>, z.ZodObject<{
2622
+ rate: z.ZodOptional<z.ZodBoolean>;
2623
+ host: z.ZodOptional<z.ZodString>;
2624
+ type: z.ZodLiteral<"mcpTool">;
2625
+ matcher: z.ZodLiteral<"hint">;
2626
+ server: z.ZodString;
2627
+ pattern: z.ZodObject<{
2628
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2629
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2630
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2631
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2632
+ }, z.core.$strict>;
2633
+ }, z.core.$strict>], "matcher">], "type">>>;
2634
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2635
+ rate: z.ZodOptional<z.ZodBoolean>;
2636
+ type: z.ZodLiteral<"shell">;
2637
+ matcher: z.ZodLiteral<"exact">;
2638
+ pattern: z.ZodString;
2639
+ }, z.core.$strict>, z.ZodObject<{
2640
+ rate: z.ZodOptional<z.ZodBoolean>;
2641
+ type: z.ZodLiteral<"shell">;
2642
+ matcher: z.ZodLiteral<"glob">;
2643
+ pattern: z.ZodString;
2644
+ }, z.core.$strict>, z.ZodObject<{
2645
+ rate: z.ZodOptional<z.ZodBoolean>;
2646
+ type: z.ZodLiteral<"shell">;
2647
+ matcher: z.ZodLiteral<"regexp">;
2648
+ pattern: z.ZodString;
2649
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2650
+ rate: z.ZodOptional<z.ZodBoolean>;
2651
+ host: z.ZodOptional<z.ZodString>;
2652
+ type: z.ZodLiteral<"tool">;
2653
+ matcher: z.ZodLiteral<"exact">;
2654
+ pattern: z.ZodString;
2655
+ }, z.core.$strict>, z.ZodObject<{
2656
+ rate: z.ZodOptional<z.ZodBoolean>;
2657
+ host: z.ZodOptional<z.ZodString>;
2658
+ type: z.ZodLiteral<"tool">;
2659
+ matcher: z.ZodLiteral<"glob">;
2660
+ pattern: z.ZodString;
2661
+ }, z.core.$strict>, z.ZodObject<{
2662
+ rate: z.ZodOptional<z.ZodBoolean>;
2663
+ host: z.ZodOptional<z.ZodString>;
2664
+ type: z.ZodLiteral<"tool">;
2665
+ matcher: z.ZodLiteral<"regexp">;
2666
+ pattern: z.ZodString;
2667
+ }, z.core.$strict>, z.ZodObject<{
2668
+ rate: z.ZodOptional<z.ZodBoolean>;
2669
+ host: z.ZodOptional<z.ZodString>;
2670
+ type: z.ZodLiteral<"tool">;
2671
+ matcher: z.ZodLiteral<"hint">;
2672
+ pattern: z.ZodObject<{
2673
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2674
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2675
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2676
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2677
+ }, z.core.$strict>;
2678
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2679
+ rate: z.ZodOptional<z.ZodBoolean>;
2680
+ host: z.ZodOptional<z.ZodString>;
2681
+ type: z.ZodLiteral<"mcpTool">;
2682
+ matcher: z.ZodLiteral<"exact">;
2683
+ server: z.ZodString;
2684
+ pattern: z.ZodString;
2685
+ }, z.core.$strict>, z.ZodObject<{
2686
+ rate: z.ZodOptional<z.ZodBoolean>;
2687
+ host: z.ZodOptional<z.ZodString>;
2688
+ type: z.ZodLiteral<"mcpTool">;
2689
+ matcher: z.ZodLiteral<"glob">;
2690
+ server: z.ZodString;
2691
+ pattern: z.ZodString;
2692
+ }, z.core.$strict>, z.ZodObject<{
2693
+ rate: z.ZodOptional<z.ZodBoolean>;
2694
+ host: z.ZodOptional<z.ZodString>;
2695
+ type: z.ZodLiteral<"mcpTool">;
2696
+ matcher: z.ZodLiteral<"regexp">;
2697
+ server: z.ZodString;
2698
+ pattern: z.ZodString;
2699
+ }, z.core.$strict>, z.ZodObject<{
2700
+ rate: z.ZodOptional<z.ZodBoolean>;
2701
+ host: z.ZodOptional<z.ZodString>;
2702
+ type: z.ZodLiteral<"mcpTool">;
2703
+ matcher: z.ZodLiteral<"hint">;
2704
+ server: z.ZodString;
2705
+ pattern: z.ZodObject<{
2706
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2707
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2708
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2709
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2710
+ }, z.core.$strict>;
2711
+ }, z.core.$strict>], "matcher">], "type">>>;
2712
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2713
+ rate: z.ZodOptional<z.ZodBoolean>;
2714
+ type: z.ZodLiteral<"shell">;
2715
+ matcher: z.ZodLiteral<"exact">;
2716
+ pattern: z.ZodString;
2717
+ }, z.core.$strict>, z.ZodObject<{
2718
+ rate: z.ZodOptional<z.ZodBoolean>;
2719
+ type: z.ZodLiteral<"shell">;
2720
+ matcher: z.ZodLiteral<"glob">;
2721
+ pattern: z.ZodString;
2722
+ }, z.core.$strict>, z.ZodObject<{
2723
+ rate: z.ZodOptional<z.ZodBoolean>;
2724
+ type: z.ZodLiteral<"shell">;
2725
+ matcher: z.ZodLiteral<"regexp">;
2726
+ pattern: z.ZodString;
2727
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2728
+ rate: z.ZodOptional<z.ZodBoolean>;
2729
+ host: z.ZodOptional<z.ZodString>;
2730
+ type: z.ZodLiteral<"tool">;
2731
+ matcher: z.ZodLiteral<"exact">;
2732
+ pattern: z.ZodString;
2733
+ }, z.core.$strict>, z.ZodObject<{
2734
+ rate: z.ZodOptional<z.ZodBoolean>;
2735
+ host: z.ZodOptional<z.ZodString>;
2736
+ type: z.ZodLiteral<"tool">;
2737
+ matcher: z.ZodLiteral<"glob">;
2738
+ pattern: z.ZodString;
2739
+ }, z.core.$strict>, z.ZodObject<{
2740
+ rate: z.ZodOptional<z.ZodBoolean>;
2741
+ host: z.ZodOptional<z.ZodString>;
2742
+ type: z.ZodLiteral<"tool">;
2743
+ matcher: z.ZodLiteral<"regexp">;
2744
+ pattern: z.ZodString;
2745
+ }, z.core.$strict>, z.ZodObject<{
2746
+ rate: z.ZodOptional<z.ZodBoolean>;
2747
+ host: z.ZodOptional<z.ZodString>;
2748
+ type: z.ZodLiteral<"tool">;
2749
+ matcher: z.ZodLiteral<"hint">;
2750
+ pattern: z.ZodObject<{
2751
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2752
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2753
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2754
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2755
+ }, z.core.$strict>;
2756
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2757
+ rate: z.ZodOptional<z.ZodBoolean>;
2758
+ host: z.ZodOptional<z.ZodString>;
2759
+ type: z.ZodLiteral<"mcpTool">;
2760
+ matcher: z.ZodLiteral<"exact">;
2761
+ server: z.ZodString;
2762
+ pattern: z.ZodString;
2763
+ }, z.core.$strict>, z.ZodObject<{
2764
+ rate: z.ZodOptional<z.ZodBoolean>;
2765
+ host: z.ZodOptional<z.ZodString>;
2766
+ type: z.ZodLiteral<"mcpTool">;
2767
+ matcher: z.ZodLiteral<"glob">;
2768
+ server: z.ZodString;
2769
+ pattern: z.ZodString;
2770
+ }, z.core.$strict>, z.ZodObject<{
2771
+ rate: z.ZodOptional<z.ZodBoolean>;
2772
+ host: z.ZodOptional<z.ZodString>;
2773
+ type: z.ZodLiteral<"mcpTool">;
2774
+ matcher: z.ZodLiteral<"regexp">;
2775
+ server: z.ZodString;
2776
+ pattern: z.ZodString;
2777
+ }, z.core.$strict>, z.ZodObject<{
2778
+ rate: z.ZodOptional<z.ZodBoolean>;
2779
+ host: z.ZodOptional<z.ZodString>;
2780
+ type: z.ZodLiteral<"mcpTool">;
2781
+ matcher: z.ZodLiteral<"hint">;
2782
+ server: z.ZodString;
2783
+ pattern: z.ZodObject<{
2784
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2785
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2786
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2787
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2788
+ }, z.core.$strict>;
2789
+ }, z.core.$strict>], "matcher">], "type">>>;
2790
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
2791
+ mcp: z.ZodOptional<z.ZodObject<{
2792
+ defaults: z.ZodOptional<z.ZodObject<{
2793
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2794
+ destructiveHint: "destructiveHint";
2795
+ idempotentHint: "idempotentHint";
2796
+ openWorldHint: "openWorldHint";
2797
+ readOnlyHint: "readOnlyHint";
2798
+ }>>>;
2799
+ }, z.core.$strict>>;
2800
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2801
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2802
+ destructiveHint: "destructiveHint";
2803
+ idempotentHint: "idempotentHint";
2804
+ openWorldHint: "openWorldHint";
2805
+ readOnlyHint: "readOnlyHint";
2806
+ }>>>;
2807
+ }, z.core.$strict>>>;
2808
+ }, z.core.$strict>>;
2809
+ }, z.core.$strip>]>>;
610
2810
  port: z.ZodOptional<z.ZodNumber>;
611
2811
  cors: z.ZodOptional<z.ZodObject<{
612
2812
  allowOrigin: z.ZodOptional<z.ZodString>;
@@ -693,7 +2893,13 @@ export interface DeprecatedConfigIssue {
693
2893
  * - (C) a deprecated `*Provider*` name ({@link DEPRECATED_ROOT_PAIRS} at root,
694
2894
  * {@link DEPRECATED_COMMAND_PAIRS} per command) — must use its `*Source*` replacement;
695
2895
  * - (D, CFG-18) a removed per-command key folded into another ({@link REMOVED_COMMAND_KEYS}, e.g.
696
- * `commands.<cmd>.devTools` → configure under `builtInTools`).
2896
+ * `commands.<cmd>.devTools` → configure under `builtInTools`);
2897
+ * - (E, CFG-26) a retired `run_shell_command` approval knob ({@link RETIRED_SHELL_TOOL_PAIRS}) at
2898
+ * EITHER `builtInTools.run_shell_command.*` or `commands.<cmd>.builtInTools.run_shell_command.*`
2899
+ * — each message names the `approvals.*` key that replaced it;
2900
+ * - (F, CFG-27) a retired `approvals` key or `mode` value ({@link RETIRED_APPROVALS_KEYS},
2901
+ * {@link RETIRED_APPROVAL_MODES}) at EITHER `approvals.*` or `commands.<cmd>.approvals.*` —
2902
+ * each message names the rung that replaced it.
697
2903
  *
698
2904
  * Runs on the raw input specifically so nested `commands.*.contentProvider` is still visible
699
2905
  * (zod's per-command `z.object` would strip it before any schema-embedded check could fire).
@@ -701,6 +2907,50 @@ export interface DeprecatedConfigIssue {
701
2907
  * the deliberate typo-tolerance.
702
2908
  */
703
2909
  export declare function findDeprecatedConfigIssues(raw: Record<string, unknown>): DeprecatedConfigIssue[];
2910
+ /**
2911
+ * EXT-71 §3.1 — every hard error the rule grammar defines, found on the RAW input: each entry in
2912
+ * `allow`/`deny`/`escalate` validated with a path that names the offending field
2913
+ * ({@link collectApprovalEntryIssues}), the `approvals.mcp` block ({@link collectMcpApprovalsIssues}),
2914
+ * and the two `mcpServers` keys no rule can refer to — `*` ({@link RESERVED_MCP_SERVER_NAME}, which
2915
+ * an entry already reads as "every server") and the empty name
2916
+ * ({@link UNNAMEABLE_MCP_SERVER_NAME}, which no entry's `server` field can hold). Both need to see
2917
+ * `mcpServers`, a sibling of `approvals` rather than a field of it.
2918
+ *
2919
+ * All of them are HARD errors, reported the same way {@link findDeprecatedConfigIssues} reports
2920
+ * its own, and — like it — this runs BEFORE the schema parse so the precise message is the only
2921
+ * one the user sees.
2922
+ *
2923
+ * PURE: it only reads the object. Kept separate from {@link findDeprecatedConfigIssues} because
2924
+ * these are not removed pre-2.0 shapes; they are rules of the current grammar.
2925
+ */
2926
+ export declare function findApprovalsGrammarIssues(raw: Record<string, unknown>): DeprecatedConfigIssue[];
2927
+ /**
2928
+ * CFG-26 — one `approvals.rater` reference found in a raw config, with the dotted config path it
2929
+ * was found at (`approvals.rater` or `commands.<name>.approvals.rater`).
2930
+ */
2931
+ export interface RaterProfileRef {
2932
+ /** Dotted config path of the `rater` key, for the error message. */
2933
+ path: string;
2934
+ /** The profile name as written. */
2935
+ profile: string;
2936
+ }
2937
+ /**
2938
+ * CFG-26 — collect every `approvals.rater` in a raw config (root + each `commands.<name>`).
2939
+ * CFG-27 flattened the key: it is a BARE identity-profile name, not `rater.profile`.
2940
+ *
2941
+ * PURE — it only reads the object; the caller decides whether each name RESOLVES. That split is
2942
+ * deliberate: profile resolution needs the filesystem, and `schema.ts` must stay pure so
2943
+ * `z.toJSONSchema` and every spec that validates a config object stay cwd-independent. The loader
2944
+ * pairs this with `resolveIdentityProfileConfigPath` to enforce the GS2-62 rule that an
2945
+ * unresolvable profile is a hard error, never a silent fallback to the main model.
2946
+ */
2947
+ export declare function findApprovalsRaterProfiles(raw: Record<string, unknown>): RaterProfileRef[];
2948
+ /**
2949
+ * CFG-26 — the ONE message for an `approvals.rater.profile` that does not resolve. Shared by the
2950
+ * loader (which hard-exits a real run) and {@link validateRawGthConfig} (which backs
2951
+ * `gth config validate`), so the validator can never green-light a config the runtime refuses.
2952
+ */
2953
+ export declare function unresolvedRaterProfileMessage(ref: RaterProfileRef): string;
704
2954
  /**
705
2955
  * Render {@link DeprecatedConfigIssue}s as the same ` - <path>: <message>` block used for
706
2956
  * Zod validation errors, so a deprecated-shape rejection reads identically to a type-mismatch
@@ -719,6 +2969,14 @@ export declare function generateConfigJsonSchema(): Record<string, unknown>;
719
2969
  * loader's `validateRawConfigLayer` (which warns + `exit`s inline): `gth config validate`
720
2970
  * uses it to render its own output and choose its own exit code.
721
2971
  */
2972
+ export interface RawConfigValidationOptions {
2973
+ /**
2974
+ * CFG-26 — resolves an identity profile NAME to "does it exist?". Supplied by the loader
2975
+ * (`resolveIdentityProfileConfigPath`); omitted by pure/in-memory callers, which then skip the
2976
+ * `approvals.rater.profile` existence check.
2977
+ */
2978
+ resolveProfile?: (profile: string) => boolean;
2979
+ }
722
2980
  export interface RawConfigValidationResult {
723
2981
  /** True when the config parses against the schema (unknown keys do NOT make it false). */
724
2982
  ok: boolean;
@@ -737,4 +2995,4 @@ export interface RawConfigValidationResult {
737
2995
  * Read-only: `findDeprecatedConfigIssues`, `findUnknownTopLevelKeys` and `safeParse` never
738
2996
  * mutate `raw`, so no defensive copy is needed.
739
2997
  */
740
- export declare function validateRawGthConfig(raw: Record<string, unknown>): RawConfigValidationResult;
2998
+ export declare function validateRawGthConfig(raw: Record<string, unknown>, options?: RawConfigValidationOptions): RawConfigValidationResult;