@gaunt-sloth/core 2.0.0-alpha.9 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/.gsloth.review.md +2 -0
  2. package/README.md +71 -20
  3. package/dist/config/colour.d.ts +38 -0
  4. package/dist/config/colour.js +36 -0
  5. package/dist/config/colour.js.map +1 -0
  6. package/dist/config/configDiscovery.d.ts +79 -0
  7. package/dist/config/configDiscovery.js +80 -0
  8. package/dist/config/configDiscovery.js.map +1 -0
  9. package/dist/config/defaults.d.ts +20 -20
  10. package/dist/config/defaults.js +10 -8
  11. package/dist/config/defaults.js.map +1 -1
  12. package/dist/config/filesystem-tools.d.ts +41 -0
  13. package/dist/config/filesystem-tools.js +56 -0
  14. package/dist/config/filesystem-tools.js.map +1 -0
  15. package/dist/config/loader.d.ts +171 -19
  16. package/dist/config/loader.js +1054 -144
  17. package/dist/config/loader.js.map +1 -1
  18. package/dist/config/mouse.d.ts +50 -0
  19. package/dist/config/mouse.js +44 -0
  20. package/dist/config/mouse.js.map +1 -0
  21. package/dist/config/profiles.d.ts +68 -0
  22. package/dist/config/profiles.js +93 -0
  23. package/dist/config/profiles.js.map +1 -0
  24. package/dist/config/providerKeys.d.ts +69 -0
  25. package/dist/config/providerKeys.js +69 -0
  26. package/dist/config/providerKeys.js.map +1 -0
  27. package/dist/config/schema.d.ts +2671 -138
  28. package/dist/config/schema.js +1361 -85
  29. package/dist/config/schema.js.map +1 -1
  30. package/dist/config/shell-policy.d.ts +899 -111
  31. package/dist/config/shell-policy.js +800 -70
  32. package/dist/config/shell-policy.js.map +1 -1
  33. package/dist/config/tool-descriptions.d.ts +211 -0
  34. package/dist/config/tool-descriptions.js +272 -0
  35. package/dist/config/tool-descriptions.js.map +1 -0
  36. package/dist/config/types.d.ts +352 -41
  37. package/dist/config/types.js +1 -0
  38. package/dist/config/types.js.map +1 -1
  39. package/dist/config.d.ts +35 -1
  40. package/dist/config.js +16 -1
  41. package/dist/config.js.map +1 -1
  42. package/dist/constants.d.ts +28 -1
  43. package/dist/constants.js +28 -1
  44. package/dist/constants.js.map +1 -1
  45. package/dist/core/GthAbstractAgent.d.ts +166 -11
  46. package/dist/core/GthAbstractAgent.js +484 -45
  47. package/dist/core/GthAbstractAgent.js.map +1 -1
  48. package/dist/core/GthAgentRunner.d.ts +543 -57
  49. package/dist/core/GthAgentRunner.js +1494 -140
  50. package/dist/core/GthAgentRunner.js.map +1 -1
  51. package/dist/core/GthLangChainAgent.d.ts +117 -2
  52. package/dist/core/GthLangChainAgent.js +602 -29
  53. package/dist/core/GthLangChainAgent.js.map +1 -1
  54. package/dist/core/approvals/annotations.d.ts +122 -0
  55. package/dist/core/approvals/annotations.js +137 -0
  56. package/dist/core/approvals/annotations.js.map +1 -0
  57. package/dist/core/approvals/grants.d.ts +216 -0
  58. package/dist/core/approvals/grants.js +469 -0
  59. package/dist/core/approvals/grants.js.map +1 -0
  60. package/dist/core/approvals/matcher.d.ts +202 -0
  61. package/dist/core/approvals/matcher.js +267 -0
  62. package/dist/core/approvals/matcher.js.map +1 -0
  63. package/dist/core/approvals/mcpSubjects.d.ts +40 -0
  64. package/dist/core/approvals/mcpSubjects.js +99 -0
  65. package/dist/core/approvals/mcpSubjects.js.map +1 -0
  66. package/dist/core/approvals/promptHeader.d.ts +28 -0
  67. package/dist/core/approvals/promptHeader.js +62 -0
  68. package/dist/core/approvals/promptHeader.js.map +1 -0
  69. package/dist/core/approvals/toolAnnotationSources.d.ts +105 -0
  70. package/dist/core/approvals/toolAnnotationSources.js +277 -0
  71. package/dist/core/approvals/toolAnnotationSources.js.map +1 -0
  72. package/dist/core/approvals/toolHost.d.ts +46 -0
  73. package/dist/core/approvals/toolHost.js +108 -0
  74. package/dist/core/approvals/toolHost.js.map +1 -0
  75. package/dist/core/debugCapture.d.ts +74 -0
  76. package/dist/core/debugCapture.js +100 -0
  77. package/dist/core/debugCapture.js.map +1 -0
  78. package/dist/core/gthLeanAgentFactory.d.ts +4 -4
  79. package/dist/core/gthLeanAgentFactory.js +4 -4
  80. package/dist/core/launchBanner.d.ts +127 -0
  81. package/dist/core/launchBanner.js +414 -0
  82. package/dist/core/launchBanner.js.map +1 -0
  83. package/dist/core/modelLabel.d.ts +19 -0
  84. package/dist/core/modelLabel.js +26 -0
  85. package/dist/core/modelLabel.js.map +1 -0
  86. package/dist/core/plainToolIndication.d.ts +15 -0
  87. package/dist/core/plainToolIndication.js +174 -0
  88. package/dist/core/plainToolIndication.js.map +1 -0
  89. package/dist/core/reasoningBlocks.d.ts +65 -0
  90. package/dist/core/reasoningBlocks.js +103 -0
  91. package/dist/core/reasoningBlocks.js.map +1 -0
  92. package/dist/core/refusal.d.ts +53 -0
  93. package/dist/core/refusal.js +133 -0
  94. package/dist/core/refusal.js.map +1 -0
  95. package/dist/core/runHeader.d.ts +38 -0
  96. package/dist/core/runHeader.js +42 -0
  97. package/dist/core/runHeader.js.map +1 -0
  98. package/dist/core/runStats.d.ts +14 -3
  99. package/dist/core/runStats.js +48 -3
  100. package/dist/core/runStats.js.map +1 -1
  101. package/dist/core/shell/ShellCommandFailedError.d.ts +3 -4
  102. package/dist/core/shell/ShellCommandFailedError.js +3 -4
  103. package/dist/core/shell/ShellCommandFailedError.js.map +1 -1
  104. package/dist/core/shell/abstention.d.ts +88 -0
  105. package/dist/core/shell/abstention.js +184 -0
  106. package/dist/core/shell/abstention.js.map +1 -0
  107. package/dist/core/shell/approvalCapture.d.ts +271 -0
  108. package/dist/core/shell/approvalCapture.js +108 -0
  109. package/dist/core/shell/approvalCapture.js.map +1 -0
  110. package/dist/core/shell/approvalStop.d.ts +123 -0
  111. package/dist/core/shell/approvalStop.js +269 -0
  112. package/dist/core/shell/approvalStop.js.map +1 -0
  113. package/dist/core/shell/arity.d.ts +6 -0
  114. package/dist/core/shell/arity.js +20 -6
  115. package/dist/core/shell/arity.js.map +1 -1
  116. package/dist/core/shell/denylist.d.ts +11 -0
  117. package/dist/core/shell/denylist.js +37 -0
  118. package/dist/core/shell/denylist.js.map +1 -0
  119. package/dist/core/shell/escalationSeverity.d.ts +141 -0
  120. package/dist/core/shell/escalationSeverity.js +89 -0
  121. package/dist/core/shell/escalationSeverity.js.map +1 -0
  122. package/dist/core/shell/framing.d.ts +190 -0
  123. package/dist/core/shell/framing.js +633 -0
  124. package/dist/core/shell/framing.js.map +1 -0
  125. package/dist/core/shell/hardline.d.ts +103 -0
  126. package/dist/core/shell/hardline.js +780 -0
  127. package/dist/core/shell/hardline.js.map +1 -0
  128. package/dist/core/shell/negotiation.d.ts +328 -0
  129. package/dist/core/shell/negotiation.js +488 -0
  130. package/dist/core/shell/negotiation.js.map +1 -0
  131. package/dist/core/shell/normalize.d.ts +44 -4
  132. package/dist/core/shell/normalize.js +61 -7
  133. package/dist/core/shell/normalize.js.map +1 -1
  134. package/dist/core/shell/openWorld.d.ts +263 -0
  135. package/dist/core/shell/openWorld.js +1188 -0
  136. package/dist/core/shell/openWorld.js.map +1 -0
  137. package/dist/core/shell/rater.d.ts +873 -0
  138. package/dist/core/shell/rater.js +1454 -0
  139. package/dist/core/shell/rater.js.map +1 -0
  140. package/dist/core/shell/raterModel.d.ts +41 -0
  141. package/dist/core/shell/raterModel.js +51 -0
  142. package/dist/core/shell/raterModel.js.map +1 -0
  143. package/dist/core/shell/raterVocabulary.d.ts +121 -0
  144. package/dist/core/shell/raterVocabulary.js +116 -0
  145. package/dist/core/shell/raterVocabulary.js.map +1 -0
  146. package/dist/core/shell/rejection.d.ts +69 -0
  147. package/dist/core/shell/rejection.js +38 -0
  148. package/dist/core/shell/rejection.js.map +1 -0
  149. package/dist/core/toolCallRepair/grammar.d.ts +41 -0
  150. package/dist/core/toolCallRepair/grammar.js +116 -0
  151. package/dist/core/toolCallRepair/grammar.js.map +1 -0
  152. package/dist/core/toolCallRepair/index.d.ts +2 -0
  153. package/dist/core/toolCallRepair/index.js +7 -0
  154. package/dist/core/toolCallRepair/index.js.map +1 -0
  155. package/dist/core/toolCallRepair/payload.d.ts +36 -0
  156. package/dist/core/toolCallRepair/payload.js +341 -0
  157. package/dist/core/toolCallRepair/payload.js.map +1 -0
  158. package/dist/core/toolCallRepair/promote.d.ts +45 -0
  159. package/dist/core/toolCallRepair/promote.js +90 -0
  160. package/dist/core/toolCallRepair/promote.js.map +1 -0
  161. package/dist/core/toolDisplay.d.ts +123 -0
  162. package/dist/core/toolDisplay.js +451 -0
  163. package/dist/core/toolDisplay.js.map +1 -0
  164. package/dist/core/toolOutputChannel.d.ts +95 -0
  165. package/dist/core/toolOutputChannel.js +165 -0
  166. package/dist/core/toolOutputChannel.js.map +1 -0
  167. package/dist/core/types.d.ts +349 -16
  168. package/dist/core/types.js.map +1 -1
  169. package/dist/history/historyFormat.d.ts +12 -3
  170. package/dist/history/historyFormat.js +50 -8
  171. package/dist/history/historyFormat.js.map +1 -1
  172. package/dist/history/historyStore.d.ts +77 -0
  173. package/dist/history/historyStore.js +173 -6
  174. package/dist/history/historyStore.js.map +1 -1
  175. package/dist/history/recordSession.d.ts +10 -1
  176. package/dist/history/recordSession.js +27 -0
  177. package/dist/history/recordSession.js.map +1 -1
  178. package/dist/providers/anthropic.js +12 -0
  179. package/dist/providers/anthropic.js.map +1 -1
  180. package/dist/providers/configurationPassthrough.d.ts +107 -0
  181. package/dist/providers/configurationPassthrough.js +148 -0
  182. package/dist/providers/configurationPassthrough.js.map +1 -0
  183. package/dist/providers/geminiSchemaSanitizer.d.ts +55 -0
  184. package/dist/providers/geminiSchemaSanitizer.js +347 -0
  185. package/dist/providers/geminiSchemaSanitizer.js.map +1 -0
  186. package/dist/providers/geminiThinking.d.ts +60 -0
  187. package/dist/providers/geminiThinking.js +92 -0
  188. package/dist/providers/geminiThinking.js.map +1 -0
  189. package/dist/providers/google-genai.js +18 -1
  190. package/dist/providers/google-genai.js.map +1 -1
  191. package/dist/providers/groq.js +12 -0
  192. package/dist/providers/groq.js.map +1 -1
  193. package/dist/providers/huggingface.d.ts +25 -0
  194. package/dist/providers/huggingface.js +69 -0
  195. package/dist/providers/huggingface.js.map +1 -0
  196. package/dist/providers/modelCatalog.d.ts +109 -0
  197. package/dist/providers/modelCatalog.js +245 -0
  198. package/dist/providers/modelCatalog.js.map +1 -0
  199. package/dist/providers/modelDiscovery.d.ts +99 -5
  200. package/dist/providers/modelDiscovery.js +191 -35
  201. package/dist/providers/modelDiscovery.js.map +1 -1
  202. package/dist/providers/ollama.d.ts +18 -4
  203. package/dist/providers/ollama.js +67 -37
  204. package/dist/providers/ollama.js.map +1 -1
  205. package/dist/providers/openai.js +34 -0
  206. package/dist/providers/openai.js.map +1 -1
  207. package/dist/providers/openrouter.d.ts +26 -4
  208. package/dist/providers/openrouter.js +83 -26
  209. package/dist/providers/openrouter.js.map +1 -1
  210. package/dist/providers/vertexai.js +19 -1
  211. package/dist/providers/vertexai.js.map +1 -1
  212. package/dist/providers/xai.js +20 -0
  213. package/dist/providers/xai.js.map +1 -1
  214. package/dist/runtime/askStructured.d.ts +105 -0
  215. package/dist/runtime/askStructured.js +120 -0
  216. package/dist/runtime/askStructured.js.map +1 -0
  217. package/dist/runtime/conversation.d.ts +64 -0
  218. package/dist/runtime/conversation.js +171 -0
  219. package/dist/runtime/conversation.js.map +1 -0
  220. package/dist/runtime/singleShot.d.ts +37 -6
  221. package/dist/runtime/singleShot.js +113 -67
  222. package/dist/runtime/singleShot.js.map +1 -1
  223. package/dist/runtime/structuredOutput.d.ts +104 -0
  224. package/dist/runtime/structuredOutput.js +393 -0
  225. package/dist/runtime/structuredOutput.js.map +1 -0
  226. package/dist/utils/ProgressIndicator.d.ts +21 -0
  227. package/dist/utils/ProgressIndicator.js +30 -3
  228. package/dist/utils/ProgressIndicator.js.map +1 -1
  229. package/dist/utils/aiignoreUtils.js.map +1 -1
  230. package/dist/utils/binaryOutputUtils.js.map +1 -1
  231. package/dist/utils/consoleUtils.d.ts +95 -0
  232. package/dist/utils/consoleUtils.js +112 -2
  233. package/dist/utils/consoleUtils.js.map +1 -1
  234. package/dist/utils/crashHandler.d.ts +87 -0
  235. package/dist/utils/crashHandler.js +128 -0
  236. package/dist/utils/crashHandler.js.map +1 -0
  237. package/dist/utils/debugDump.d.ts +134 -0
  238. package/dist/utils/debugDump.js +381 -0
  239. package/dist/utils/debugDump.js.map +1 -0
  240. package/dist/utils/debugUtils.d.ts +13 -4
  241. package/dist/utils/debugUtils.js +36 -13
  242. package/dist/utils/debugUtils.js.map +1 -1
  243. package/dist/utils/displayWidth.d.ts +53 -0
  244. package/dist/utils/displayWidth.js +195 -0
  245. package/dist/utils/displayWidth.js.map +1 -0
  246. package/dist/utils/fileUtils.js.map +1 -1
  247. package/dist/utils/globalConfigUtils.d.ts +14 -2
  248. package/dist/utils/globalConfigUtils.js +22 -4
  249. package/dist/utils/globalConfigUtils.js.map +1 -1
  250. package/dist/utils/llmUtils.d.ts +39 -8
  251. package/dist/utils/llmUtils.js +76 -8
  252. package/dist/utils/llmUtils.js.map +1 -1
  253. package/dist/utils/redactSecrets.d.ts +63 -0
  254. package/dist/utils/redactSecrets.js +286 -0
  255. package/dist/utils/redactSecrets.js.map +1 -0
  256. package/dist/utils/systemPromptNotes.d.ts +222 -0
  257. package/dist/utils/systemPromptNotes.js +338 -0
  258. package/dist/utils/systemPromptNotes.js.map +1 -0
  259. package/dist/utils/systemUtils.d.ts +18 -1
  260. package/dist/utils/systemUtils.js +38 -3
  261. package/dist/utils/systemUtils.js.map +1 -1
  262. package/dist/utils/toolMatching.d.ts +30 -0
  263. package/dist/utils/toolMatching.js +44 -0
  264. package/dist/utils/toolMatching.js.map +1 -0
  265. package/dist/utils/untrustedText.d.ts +86 -0
  266. package/dist/utils/untrustedText.js +101 -0
  267. package/dist/utils/untrustedText.js.map +1 -0
  268. package/package.json +21 -7
  269. package/schema/gsloth-config.schema.json +1921 -326
  270. package/dist/core/shell/allowlist.d.ts +0 -75
  271. package/dist/core/shell/allowlist.js +0 -187
  272. package/dist/core/shell/allowlist.js.map +0 -1
  273. package/dist/core/shell/judge.d.ts +0 -161
  274. package/dist/core/shell/judge.js +0 -261
  275. package/dist/core/shell/judge.js.map +0 -1
@@ -6,15 +6,22 @@
6
6
  * JSON Schema (`packages/core/schema/gsloth-config.schema.json`). It models the
7
7
  * canonical config shape only — the deprecated aliases (`contentProvider`,
8
8
  * `requirementsProvider`, `contentProviderConfig`, `requirementsProviderConfig`)
9
- * are intentionally NOT part of the schema. The loader maps those one-way to the
10
- * canonical names ({@link preMapDeprecatedConfigNames}) BEFORE validating, so by
11
- * the time a config reaches the schema it only uses canonical names.
9
+ * are intentionally NOT part of the schema. GS2-28 (a 2.0 breaking release with NO
10
+ * back-compat coercion) turns those deprecated shapes into HARD validation errors:
11
+ * {@link findDeprecatedConfigIssues} detects them on the raw input BEFORE the schema
12
+ * parse and each entry point (loader `validateRawConfigLayer`, read-side
13
+ * {@link validateRawGthConfig}) rejects the config with a message naming the canonical
14
+ * replacement + migration path. Detection runs on the RAW input on purpose: zod's
15
+ * per-command `z.object` strips unknown keys, so a nested `commands.*.contentProvider`
16
+ * would vanish before any schema-embedded check could see it.
12
17
  *
13
18
  * Design notes:
14
19
  * - The top-level object is a {@link z.looseObject} so unknown keys PASS THROUGH
15
20
  * (they are neither stripped nor a hard failure). The loader separately diffs
16
21
  * present-vs-known top-level keys ({@link findUnknownTopLevelKeys}) to warn about
17
- * likely typos without failing.
22
+ * likely typos without failing. That typo-tolerance is deliberate: only the KNOWN
23
+ * deprecated names ({@link findDeprecatedConfigIssues}) hard-fail; a genuine typo
24
+ * (e.g. `pulrequest`) still only warns.
18
25
  * - Every field is optional. The schema validates the *shape/type of what is
19
26
  * present*, not requiredness. In particular `llm` is optional so the loader's
20
27
  * existing "must at least define llm.type" checks remain the authority on llm
@@ -28,6 +35,183 @@
28
35
  * is additive and legitimately differs (no deprecated fields).
29
36
  */
30
37
  import { z } from 'zod';
38
+ /**
39
+ * GS2-93 — the three rungs `output.header` accepts, in increasing verbosity: `none` opens a run
40
+ * with nothing at all (including the review attribution), `compact` with one attribution line, and
41
+ * `debug` with the full technical preamble. `compact` is the default, so an unset key opens with
42
+ * the single run-header line and the preamble is opt-in.
43
+ */
44
+ export declare const OUTPUT_HEADER_RUNGS: readonly ['none', 'compact', 'debug'];
45
+ /** The run-header rung, as a type. The read-site default is `compact`. */
46
+ export type GthOutputHeaderRung = (typeof OUTPUT_HEADER_RUNGS)[number];
47
+ /**
48
+ * EXT-117 — the commands an ACP (editor) session may be resolved under, as `acp.mode`. Both are
49
+ * existing members of `GthCommand`, which is the whole point of the key: the value is a command the
50
+ * tool-gating branches already understand rather than a new one they would each have to learn. The
51
+ * read-site default is `code` ({@link import('#src/config/types.js').GthConfig.acp}).
52
+ */
53
+ export declare const ACP_SESSION_MODES: readonly ['chat', 'code'];
54
+ /** The command an ACP session resolves under, as a type. The read-site default is `code`. */
55
+ export type GthAcpSessionMode = (typeof ACP_SESSION_MODES)[number];
56
+ /**
57
+ * EXT-71 §3.1 — the **subject** axis of a rule entry, and only that: `shell` is a command, `tool`
58
+ * a built-in or custom in-process tool, `mcpTool` a server's tool. The hand-written twin is
59
+ * `ApprovalEntryType` in `shell-policy.ts`. What holds the two together is
60
+ * `approvalEntrySchema.spec.ts`, where a list of `ApprovalEntry`-typed literals is parsed by this
61
+ * schema: a value either side stops accepting fails there. That is a weaker pin than a direct
62
+ * equality assertion — it catches a narrowing, not a widening on one side alone.
63
+ */
64
+ export declare const APPROVAL_ENTRY_TYPES: readonly ['shell', 'tool', 'mcpTool'];
65
+ /**
66
+ * EXT-71 §3.1 — the **comparison** axis of a rule entry, and only that. `exact`/`glob`/`regexp`
67
+ * take a string pattern; `hint` takes an object over the annotation names and is valid on tool
68
+ * subjects only (on `shell` it is a config error — see {@link shellEntrySchema}).
69
+ */
70
+ export declare const APPROVAL_ENTRY_MATCHERS: readonly ['exact', 'glob', 'regexp', 'hint'];
71
+ /**
72
+ * EXT-71 §3.1 / §4.7 — the four MCP `ToolAnnotations` booleans a `hint` pattern may name, and the
73
+ * names a user may list in `approvals.mcp.*.trustAnnotations` (§4.7.1). This is the whole
74
+ * vocabulary: an unknown name is a config error, never an ignored key, because a hint pattern that
75
+ * quietly drops a constraint matches MORE than its author wrote, and a trust list that quietly
76
+ * drops one reads as working while believing something else.
77
+ *
78
+ * **The runtime twin `TOOL_ANNOTATION_HINTS` in `shell-policy.ts` is a deliberate duplicate, and
79
+ * the reason is layering, not oversight.** Neither file may import the other. This module must stay
80
+ * pure and cwd/fs-independent because it feeds `z.toJSONSchema()` (see the header), and importing
81
+ * `shell-policy.ts` would pull `core/types.js` and the whole runtime policy surface into it;
82
+ * importing this module from there would in turn pull zod into every module that only wanted a
83
+ * policy type. So the vocabulary is written once per layer on purpose — do not "simplify" it by
84
+ * making one import the other. The equality assertion in `mcpApprovalsBlock.spec.ts` is what fails
85
+ * when they drift.
86
+ */
87
+ export declare const HINT_ANNOTATION_KEYS: readonly ['readOnlyHint', 'destructiveHint', 'idempotentHint', 'openWorldHint'];
88
+ /**
89
+ * EXT-71 §3.1 — the length cap on a `regexp` pattern, enforced when the config LOADS.
90
+ *
91
+ * 200 characters. The longest pattern the spec itself writes is under 40, and every rule entry
92
+ * names one command or tool shape rather than a grammar, so 200 is an order of magnitude of
93
+ * headroom over real use while still bounding what the matcher can ever be handed. The cap is a
94
+ * cheap load-time bound, NOT a backtracking defence — a short pattern can backtrack
95
+ * catastrophically too, and the run-time match budget is the separate backstop for that. What the
96
+ * cap buys is that a pattern nobody could have read and reviewed cannot be smuggled past load.
97
+ */
98
+ export declare const APPROVAL_REGEXP_MAX_LENGTH = 200;
99
+ /**
100
+ * EXT-71 §3.1 — **one** entry in `allow`, `deny` or `escalate`. All three lists take the same
101
+ * shape, so there is one schema and the list a rule sits in decides only what a match DOES.
102
+ *
103
+ * `type`, `matcher` and `pattern` are required on every arm: no field is inferred, and no entry
104
+ * reads two ways. Every arm is a strict object, so any field the grammar does not define — a typo,
105
+ * a `server` on a `shell` entry, a `host` on a `shell` entry — is an unrecognized-key error rather
106
+ * than a silently-ignored key that would widen what the entry matches.
107
+ *
108
+ * The `id` is what makes the emitted JSON Schema hoist this union into `$defs` and reference it,
109
+ * instead of inlining all eleven arms into each of the twenty-four places a rule list appears
110
+ * (three lists × the root plus seven commands). That is the difference between a schema an editor loads
111
+ * and one it chokes on, and `$ref` is the standard spelling every JSON Schema consumer already
112
+ * understands.
113
+ */
114
+ export declare const approvalEntrySchema: z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
115
+ rate: z.ZodOptional<z.ZodBoolean>;
116
+ type: z.ZodLiteral<"shell">;
117
+ matcher: z.ZodLiteral<"exact">;
118
+ pattern: z.ZodString;
119
+ }, z.core.$strict>, z.ZodObject<{
120
+ rate: z.ZodOptional<z.ZodBoolean>;
121
+ type: z.ZodLiteral<"shell">;
122
+ matcher: z.ZodLiteral<"glob">;
123
+ pattern: z.ZodString;
124
+ }, z.core.$strict>, z.ZodObject<{
125
+ rate: z.ZodOptional<z.ZodBoolean>;
126
+ type: z.ZodLiteral<"shell">;
127
+ matcher: z.ZodLiteral<"regexp">;
128
+ pattern: z.ZodString;
129
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
130
+ rate: z.ZodOptional<z.ZodBoolean>;
131
+ host: z.ZodOptional<z.ZodString>;
132
+ type: z.ZodLiteral<"tool">;
133
+ matcher: z.ZodLiteral<"exact">;
134
+ pattern: z.ZodString;
135
+ }, z.core.$strict>, z.ZodObject<{
136
+ rate: z.ZodOptional<z.ZodBoolean>;
137
+ host: z.ZodOptional<z.ZodString>;
138
+ type: z.ZodLiteral<"tool">;
139
+ matcher: z.ZodLiteral<"glob">;
140
+ pattern: z.ZodString;
141
+ }, z.core.$strict>, z.ZodObject<{
142
+ rate: z.ZodOptional<z.ZodBoolean>;
143
+ host: z.ZodOptional<z.ZodString>;
144
+ type: z.ZodLiteral<"tool">;
145
+ matcher: z.ZodLiteral<"regexp">;
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<"tool">;
151
+ matcher: z.ZodLiteral<"hint">;
152
+ pattern: z.ZodObject<{
153
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
154
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
155
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
156
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
157
+ }, z.core.$strict>;
158
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
159
+ rate: z.ZodOptional<z.ZodBoolean>;
160
+ host: z.ZodOptional<z.ZodString>;
161
+ type: z.ZodLiteral<"mcpTool">;
162
+ matcher: z.ZodLiteral<"exact">;
163
+ server: z.ZodString;
164
+ pattern: z.ZodString;
165
+ }, z.core.$strict>, z.ZodObject<{
166
+ rate: z.ZodOptional<z.ZodBoolean>;
167
+ host: z.ZodOptional<z.ZodString>;
168
+ type: z.ZodLiteral<"mcpTool">;
169
+ matcher: z.ZodLiteral<"glob">;
170
+ server: z.ZodString;
171
+ pattern: z.ZodString;
172
+ }, z.core.$strict>, z.ZodObject<{
173
+ rate: z.ZodOptional<z.ZodBoolean>;
174
+ host: z.ZodOptional<z.ZodString>;
175
+ type: z.ZodLiteral<"mcpTool">;
176
+ matcher: z.ZodLiteral<"regexp">;
177
+ server: z.ZodString;
178
+ pattern: z.ZodString;
179
+ }, z.core.$strict>, z.ZodObject<{
180
+ rate: z.ZodOptional<z.ZodBoolean>;
181
+ host: z.ZodOptional<z.ZodString>;
182
+ type: z.ZodLiteral<"mcpTool">;
183
+ matcher: z.ZodLiteral<"hint">;
184
+ server: z.ZodString;
185
+ pattern: z.ZodObject<{
186
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
187
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
188
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
189
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
190
+ }, z.core.$strict>;
191
+ }, z.core.$strict>], "matcher">], "type">;
192
+ /**
193
+ * EXT-71 §3.1 — render an entry in the object form the user would write in a config file, with the
194
+ * fields in grammar order (`type`, `server`, `matcher`, `pattern`, then the optional bounds).
195
+ *
196
+ * The ONE place that spelling is produced, because it is shown in two very different moments that
197
+ * must agree: the load-time error that tells a user what to write instead of their bare string, and
198
+ * the escalation menu's *this is what will be stored* line (§6). A grant the menu describes one way
199
+ * and stores another is exactly the drift this design cannot afford.
200
+ */
201
+ export declare function renderApprovalEntryObject(entry: {
202
+ type: string;
203
+ matcher: string;
204
+ pattern: unknown;
205
+ server?: string;
206
+ host?: string;
207
+ rate?: boolean;
208
+ }): string;
209
+ /**
210
+ * EXT-71 §2.3/§9.1 — render the object form of a bare string found in a rule list, so the
211
+ * migration error shows the user the entry they should have written *for their own string*
212
+ * rather than a generic example.
213
+ */
214
+ export declare function renderApprovalEntryForString(pattern: string): string;
31
215
  /**
32
216
  * Zod schema for the raw, on-disk Gaunt Sloth config. Loose at the top level so
33
217
  * unknown keys are preserved (warn-only via {@link findUnknownTopLevelKeys}).
@@ -40,9 +224,9 @@ export declare const rawGthConfigSchema: z.ZodObject<{
40
224
  configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
41
225
  apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
42
226
  }, z.core.$loose>>;
227
+ extends: z.ZodOptional<z.ZodString>;
43
228
  agent: z.ZodOptional<z.ZodObject<{
44
229
  backend: z.ZodOptional<z.ZodEnum<{
45
- deep: "deep";
46
230
  lean: "lean";
47
231
  }>>;
48
232
  }, z.core.$strip>>;
@@ -55,11 +239,11 @@ export declare const rawGthConfigSchema: z.ZodObject<{
55
239
  }, z.core.$strip>>;
56
240
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
57
241
  type: z.ZodEnum<{
242
+ audio: "audio";
58
243
  binary: "binary";
244
+ file: "file";
59
245
  image: "image";
60
- audio: "audio";
61
246
  video: "video";
62
- file: "file";
63
247
  }>;
64
248
  extensions: z.ZodArray<z.ZodString>;
65
249
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -69,7 +253,64 @@ export declare const rawGthConfigSchema: z.ZodObject<{
69
253
  requirementSource: z.ZodOptional<z.ZodString>;
70
254
  contentSourceConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
71
255
  requirementSourceConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
72
- projectGuidelines: z.ZodOptional<z.ZodString>;
256
+ prompts: z.ZodOptional<z.ZodObject<{
257
+ backstory: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
258
+ path: z.ZodOptional<z.ZodString>;
259
+ enabled: z.ZodOptional<z.ZodBoolean>;
260
+ mode: z.ZodOptional<z.ZodEnum<{
261
+ append: "append";
262
+ replace: "replace";
263
+ }>>;
264
+ }, z.core.$strip>]>>;
265
+ guidelines: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
266
+ path: z.ZodOptional<z.ZodString>;
267
+ enabled: z.ZodOptional<z.ZodBoolean>;
268
+ mode: z.ZodOptional<z.ZodEnum<{
269
+ append: "append";
270
+ replace: "replace";
271
+ }>>;
272
+ }, z.core.$strip>]>>;
273
+ system: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
274
+ path: z.ZodOptional<z.ZodString>;
275
+ enabled: z.ZodOptional<z.ZodBoolean>;
276
+ mode: z.ZodOptional<z.ZodEnum<{
277
+ append: "append";
278
+ replace: "replace";
279
+ }>>;
280
+ }, z.core.$strip>]>>;
281
+ chat: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
282
+ path: z.ZodOptional<z.ZodString>;
283
+ enabled: z.ZodOptional<z.ZodBoolean>;
284
+ mode: z.ZodOptional<z.ZodEnum<{
285
+ append: "append";
286
+ replace: "replace";
287
+ }>>;
288
+ }, z.core.$strip>]>>;
289
+ code: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
290
+ path: z.ZodOptional<z.ZodString>;
291
+ enabled: z.ZodOptional<z.ZodBoolean>;
292
+ mode: z.ZodOptional<z.ZodEnum<{
293
+ append: "append";
294
+ replace: "replace";
295
+ }>>;
296
+ }, z.core.$strip>]>>;
297
+ exec: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
298
+ path: z.ZodOptional<z.ZodString>;
299
+ enabled: z.ZodOptional<z.ZodBoolean>;
300
+ mode: z.ZodOptional<z.ZodEnum<{
301
+ append: "append";
302
+ replace: "replace";
303
+ }>>;
304
+ }, z.core.$strip>]>>;
305
+ review: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
306
+ path: z.ZodOptional<z.ZodString>;
307
+ enabled: z.ZodOptional<z.ZodBoolean>;
308
+ mode: z.ZodOptional<z.ZodEnum<{
309
+ append: "append";
310
+ replace: "replace";
311
+ }>>;
312
+ }, z.core.$strip>]>>;
313
+ }, z.core.$strip>>;
73
314
  identityProfile: z.ZodOptional<z.ZodString>;
74
315
  includeCurrentDateAfterGuidelines: z.ZodOptional<z.ZodBoolean>;
75
316
  organization: z.ZodOptional<z.ZodObject<{
@@ -77,14 +318,292 @@ export declare const rawGthConfigSchema: z.ZodObject<{
77
318
  locale: z.ZodOptional<z.ZodString>;
78
319
  timezone: z.ZodOptional<z.ZodString>;
79
320
  }, z.core.$strip>>;
80
- projectReviewInstructions: z.ZodOptional<z.ZodString>;
81
321
  noDefaultPrompts: z.ZodOptional<z.ZodBoolean>;
82
322
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
83
323
  all: "all";
84
- read: "read";
85
324
  none: "none";
325
+ read: "read";
86
326
  }>]>>;
87
- builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
327
+ builtInTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
328
+ enabled: z.ZodOptional<z.ZodBoolean>;
329
+ command: z.ZodOptional<z.ZodString>;
330
+ timeout: z.ZodOptional<z.ZodNumber>;
331
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
332
+ maxBytes: z.ZodOptional<z.ZodNumber>;
333
+ fileSet: z.ZodOptional<z.ZodEnum<{
334
+ all: "all";
335
+ gitignore: "gitignore";
336
+ }>>;
337
+ }, z.core.$strip>]>>]>>;
338
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
339
+ assisted: "assisted";
340
+ auto: "auto";
341
+ bypass: "bypass";
342
+ manual: "manual";
343
+ write: "write";
344
+ }>, z.ZodObject<{
345
+ mode: z.ZodOptional<z.ZodEnum<{
346
+ assisted: "assisted";
347
+ auto: "auto";
348
+ bypass: "bypass";
349
+ manual: "manual";
350
+ write: "write";
351
+ }>>;
352
+ rater: z.ZodOptional<z.ZodString>;
353
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
354
+ rate: z.ZodOptional<z.ZodBoolean>;
355
+ type: z.ZodLiteral<"shell">;
356
+ matcher: z.ZodLiteral<"exact">;
357
+ pattern: z.ZodString;
358
+ }, z.core.$strict>, z.ZodObject<{
359
+ rate: z.ZodOptional<z.ZodBoolean>;
360
+ type: z.ZodLiteral<"shell">;
361
+ matcher: z.ZodLiteral<"glob">;
362
+ pattern: z.ZodString;
363
+ }, z.core.$strict>, z.ZodObject<{
364
+ rate: z.ZodOptional<z.ZodBoolean>;
365
+ type: z.ZodLiteral<"shell">;
366
+ matcher: z.ZodLiteral<"regexp">;
367
+ pattern: z.ZodString;
368
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
369
+ rate: z.ZodOptional<z.ZodBoolean>;
370
+ host: z.ZodOptional<z.ZodString>;
371
+ type: z.ZodLiteral<"tool">;
372
+ matcher: z.ZodLiteral<"exact">;
373
+ pattern: z.ZodString;
374
+ }, z.core.$strict>, z.ZodObject<{
375
+ rate: z.ZodOptional<z.ZodBoolean>;
376
+ host: z.ZodOptional<z.ZodString>;
377
+ type: z.ZodLiteral<"tool">;
378
+ matcher: z.ZodLiteral<"glob">;
379
+ pattern: z.ZodString;
380
+ }, z.core.$strict>, z.ZodObject<{
381
+ rate: z.ZodOptional<z.ZodBoolean>;
382
+ host: z.ZodOptional<z.ZodString>;
383
+ type: z.ZodLiteral<"tool">;
384
+ matcher: z.ZodLiteral<"regexp">;
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<"tool">;
390
+ matcher: z.ZodLiteral<"hint">;
391
+ pattern: z.ZodObject<{
392
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
393
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
394
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
395
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
396
+ }, z.core.$strict>;
397
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
398
+ rate: z.ZodOptional<z.ZodBoolean>;
399
+ host: z.ZodOptional<z.ZodString>;
400
+ type: z.ZodLiteral<"mcpTool">;
401
+ matcher: z.ZodLiteral<"exact">;
402
+ server: z.ZodString;
403
+ pattern: z.ZodString;
404
+ }, z.core.$strict>, z.ZodObject<{
405
+ rate: z.ZodOptional<z.ZodBoolean>;
406
+ host: z.ZodOptional<z.ZodString>;
407
+ type: z.ZodLiteral<"mcpTool">;
408
+ matcher: z.ZodLiteral<"glob">;
409
+ server: z.ZodString;
410
+ pattern: z.ZodString;
411
+ }, z.core.$strict>, z.ZodObject<{
412
+ rate: z.ZodOptional<z.ZodBoolean>;
413
+ host: z.ZodOptional<z.ZodString>;
414
+ type: z.ZodLiteral<"mcpTool">;
415
+ matcher: z.ZodLiteral<"regexp">;
416
+ server: z.ZodString;
417
+ pattern: z.ZodString;
418
+ }, z.core.$strict>, z.ZodObject<{
419
+ rate: z.ZodOptional<z.ZodBoolean>;
420
+ host: z.ZodOptional<z.ZodString>;
421
+ type: z.ZodLiteral<"mcpTool">;
422
+ matcher: z.ZodLiteral<"hint">;
423
+ server: z.ZodString;
424
+ pattern: z.ZodObject<{
425
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
426
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
427
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
428
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
429
+ }, z.core.$strict>;
430
+ }, z.core.$strict>], "matcher">], "type">>>;
431
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
432
+ rate: z.ZodOptional<z.ZodBoolean>;
433
+ type: z.ZodLiteral<"shell">;
434
+ matcher: z.ZodLiteral<"exact">;
435
+ pattern: z.ZodString;
436
+ }, z.core.$strict>, z.ZodObject<{
437
+ rate: z.ZodOptional<z.ZodBoolean>;
438
+ type: z.ZodLiteral<"shell">;
439
+ matcher: z.ZodLiteral<"glob">;
440
+ pattern: z.ZodString;
441
+ }, z.core.$strict>, z.ZodObject<{
442
+ rate: z.ZodOptional<z.ZodBoolean>;
443
+ type: z.ZodLiteral<"shell">;
444
+ matcher: z.ZodLiteral<"regexp">;
445
+ pattern: z.ZodString;
446
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
447
+ rate: z.ZodOptional<z.ZodBoolean>;
448
+ host: z.ZodOptional<z.ZodString>;
449
+ type: z.ZodLiteral<"tool">;
450
+ matcher: z.ZodLiteral<"exact">;
451
+ pattern: z.ZodString;
452
+ }, z.core.$strict>, z.ZodObject<{
453
+ rate: z.ZodOptional<z.ZodBoolean>;
454
+ host: z.ZodOptional<z.ZodString>;
455
+ type: z.ZodLiteral<"tool">;
456
+ matcher: z.ZodLiteral<"glob">;
457
+ pattern: z.ZodString;
458
+ }, z.core.$strict>, z.ZodObject<{
459
+ rate: z.ZodOptional<z.ZodBoolean>;
460
+ host: z.ZodOptional<z.ZodString>;
461
+ type: z.ZodLiteral<"tool">;
462
+ matcher: z.ZodLiteral<"regexp">;
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<"tool">;
468
+ matcher: z.ZodLiteral<"hint">;
469
+ pattern: z.ZodObject<{
470
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
471
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
472
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
473
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
474
+ }, z.core.$strict>;
475
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
476
+ rate: z.ZodOptional<z.ZodBoolean>;
477
+ host: z.ZodOptional<z.ZodString>;
478
+ type: z.ZodLiteral<"mcpTool">;
479
+ matcher: z.ZodLiteral<"exact">;
480
+ server: z.ZodString;
481
+ pattern: z.ZodString;
482
+ }, z.core.$strict>, z.ZodObject<{
483
+ rate: z.ZodOptional<z.ZodBoolean>;
484
+ host: z.ZodOptional<z.ZodString>;
485
+ type: z.ZodLiteral<"mcpTool">;
486
+ matcher: z.ZodLiteral<"glob">;
487
+ server: z.ZodString;
488
+ pattern: z.ZodString;
489
+ }, z.core.$strict>, z.ZodObject<{
490
+ rate: z.ZodOptional<z.ZodBoolean>;
491
+ host: z.ZodOptional<z.ZodString>;
492
+ type: z.ZodLiteral<"mcpTool">;
493
+ matcher: z.ZodLiteral<"regexp">;
494
+ server: z.ZodString;
495
+ pattern: z.ZodString;
496
+ }, z.core.$strict>, z.ZodObject<{
497
+ rate: z.ZodOptional<z.ZodBoolean>;
498
+ host: z.ZodOptional<z.ZodString>;
499
+ type: z.ZodLiteral<"mcpTool">;
500
+ matcher: z.ZodLiteral<"hint">;
501
+ server: z.ZodString;
502
+ pattern: z.ZodObject<{
503
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
504
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
505
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
506
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
507
+ }, z.core.$strict>;
508
+ }, z.core.$strict>], "matcher">], "type">>>;
509
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
510
+ rate: z.ZodOptional<z.ZodBoolean>;
511
+ type: z.ZodLiteral<"shell">;
512
+ matcher: z.ZodLiteral<"exact">;
513
+ pattern: z.ZodString;
514
+ }, z.core.$strict>, z.ZodObject<{
515
+ rate: z.ZodOptional<z.ZodBoolean>;
516
+ type: z.ZodLiteral<"shell">;
517
+ matcher: z.ZodLiteral<"glob">;
518
+ pattern: z.ZodString;
519
+ }, z.core.$strict>, z.ZodObject<{
520
+ rate: z.ZodOptional<z.ZodBoolean>;
521
+ type: z.ZodLiteral<"shell">;
522
+ matcher: z.ZodLiteral<"regexp">;
523
+ pattern: z.ZodString;
524
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
525
+ rate: z.ZodOptional<z.ZodBoolean>;
526
+ host: z.ZodOptional<z.ZodString>;
527
+ type: z.ZodLiteral<"tool">;
528
+ matcher: z.ZodLiteral<"exact">;
529
+ pattern: z.ZodString;
530
+ }, z.core.$strict>, z.ZodObject<{
531
+ rate: z.ZodOptional<z.ZodBoolean>;
532
+ host: z.ZodOptional<z.ZodString>;
533
+ type: z.ZodLiteral<"tool">;
534
+ matcher: z.ZodLiteral<"glob">;
535
+ pattern: z.ZodString;
536
+ }, z.core.$strict>, z.ZodObject<{
537
+ rate: z.ZodOptional<z.ZodBoolean>;
538
+ host: z.ZodOptional<z.ZodString>;
539
+ type: z.ZodLiteral<"tool">;
540
+ matcher: z.ZodLiteral<"regexp">;
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<"tool">;
546
+ matcher: z.ZodLiteral<"hint">;
547
+ pattern: z.ZodObject<{
548
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
549
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
550
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
551
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
552
+ }, z.core.$strict>;
553
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
554
+ rate: z.ZodOptional<z.ZodBoolean>;
555
+ host: z.ZodOptional<z.ZodString>;
556
+ type: z.ZodLiteral<"mcpTool">;
557
+ matcher: z.ZodLiteral<"exact">;
558
+ server: z.ZodString;
559
+ pattern: z.ZodString;
560
+ }, z.core.$strict>, z.ZodObject<{
561
+ rate: z.ZodOptional<z.ZodBoolean>;
562
+ host: z.ZodOptional<z.ZodString>;
563
+ type: z.ZodLiteral<"mcpTool">;
564
+ matcher: z.ZodLiteral<"glob">;
565
+ server: z.ZodString;
566
+ pattern: z.ZodString;
567
+ }, z.core.$strict>, z.ZodObject<{
568
+ rate: z.ZodOptional<z.ZodBoolean>;
569
+ host: z.ZodOptional<z.ZodString>;
570
+ type: z.ZodLiteral<"mcpTool">;
571
+ matcher: z.ZodLiteral<"regexp">;
572
+ server: z.ZodString;
573
+ pattern: z.ZodString;
574
+ }, z.core.$strict>, z.ZodObject<{
575
+ rate: z.ZodOptional<z.ZodBoolean>;
576
+ host: z.ZodOptional<z.ZodString>;
577
+ type: z.ZodLiteral<"mcpTool">;
578
+ matcher: z.ZodLiteral<"hint">;
579
+ server: z.ZodString;
580
+ pattern: z.ZodObject<{
581
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
582
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
583
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
584
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
585
+ }, z.core.$strict>;
586
+ }, z.core.$strict>], "matcher">], "type">>>;
587
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
588
+ mcp: z.ZodOptional<z.ZodObject<{
589
+ defaults: z.ZodOptional<z.ZodObject<{
590
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
591
+ destructiveHint: "destructiveHint";
592
+ idempotentHint: "idempotentHint";
593
+ openWorldHint: "openWorldHint";
594
+ readOnlyHint: "readOnlyHint";
595
+ }>>>;
596
+ }, z.core.$strict>>;
597
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
598
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
599
+ destructiveHint: "destructiveHint";
600
+ idempotentHint: "idempotentHint";
601
+ openWorldHint: "openWorldHint";
602
+ readOnlyHint: "readOnlyHint";
603
+ }>>>;
604
+ }, z.core.$strict>>>;
605
+ }, z.core.$strict>>;
606
+ }, z.core.$strip>]>>;
88
607
  tools: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
89
608
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
90
609
  middleware: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
@@ -92,6 +611,8 @@ export declare const rawGthConfigSchema: z.ZodObject<{
92
611
  writeOutputToFile: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
93
612
  writeBinaryOutputsToFile: z.ZodOptional<z.ZodBoolean>;
94
613
  useColour: z.ZodOptional<z.ZodBoolean>;
614
+ useMouse: z.ZodOptional<z.ZodBoolean>;
615
+ tui: z.ZodOptional<z.ZodBoolean>;
95
616
  streamSessionInferenceLog: z.ZodOptional<z.ZodBoolean>;
96
617
  canInterruptInferenceWithEsc: z.ZodOptional<z.ZodBoolean>;
97
618
  debugLog: z.ZodOptional<z.ZodBoolean>;
@@ -105,13 +626,17 @@ export declare const rawGthConfigSchema: z.ZodObject<{
105
626
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
106
627
  "absolute-paths": "absolute-paths";
107
628
  "directory-traversal": "directory-traversal";
108
- "shell-injection": "shell-injection";
109
629
  "null-bytes": "null-bytes";
630
+ "shell-injection": "shell-injection";
110
631
  }>>>;
111
632
  }, z.core.$strip>>>;
112
633
  timeout: z.ZodOptional<z.ZodNumber>;
113
634
  }, z.core.$strip>>>;
114
635
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
636
+ tls: z.ZodOptional<z.ZodObject<{
637
+ extraCaCerts: z.ZodOptional<z.ZodArray<z.ZodString>>;
638
+ rejectUnauthorized: z.ZodOptional<z.ZodBoolean>;
639
+ }, z.core.$strip>>;
115
640
  a2aAgents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
116
641
  builtInToolsConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
117
642
  aiignore: z.ZodOptional<z.ZodObject<{
@@ -124,10 +649,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
124
649
  requirementSource: z.ZodOptional<z.ZodString>;
125
650
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
126
651
  all: "all";
127
- read: "read";
128
652
  none: "none";
653
+ read: "read";
129
654
  }>]>>;
130
- builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
655
+ builtInTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
656
+ enabled: z.ZodOptional<z.ZodBoolean>;
657
+ command: z.ZodOptional<z.ZodString>;
658
+ timeout: z.ZodOptional<z.ZodNumber>;
659
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
660
+ maxBytes: z.ZodOptional<z.ZodNumber>;
661
+ fileSet: z.ZodOptional<z.ZodEnum<{
662
+ all: "all";
663
+ gitignore: "gitignore";
664
+ }>>;
665
+ }, z.core.$strip>]>>]>>;
666
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
667
+ assisted: "assisted";
668
+ auto: "auto";
669
+ bypass: "bypass";
670
+ manual: "manual";
671
+ write: "write";
672
+ }>, z.ZodObject<{
673
+ mode: z.ZodOptional<z.ZodEnum<{
674
+ assisted: "assisted";
675
+ auto: "auto";
676
+ bypass: "bypass";
677
+ manual: "manual";
678
+ write: "write";
679
+ }>>;
680
+ rater: z.ZodOptional<z.ZodString>;
681
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
682
+ rate: z.ZodOptional<z.ZodBoolean>;
683
+ type: z.ZodLiteral<"shell">;
684
+ matcher: z.ZodLiteral<"exact">;
685
+ pattern: z.ZodString;
686
+ }, z.core.$strict>, z.ZodObject<{
687
+ rate: z.ZodOptional<z.ZodBoolean>;
688
+ type: z.ZodLiteral<"shell">;
689
+ matcher: z.ZodLiteral<"glob">;
690
+ pattern: z.ZodString;
691
+ }, z.core.$strict>, z.ZodObject<{
692
+ rate: z.ZodOptional<z.ZodBoolean>;
693
+ type: z.ZodLiteral<"shell">;
694
+ matcher: z.ZodLiteral<"regexp">;
695
+ pattern: z.ZodString;
696
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
697
+ rate: z.ZodOptional<z.ZodBoolean>;
698
+ host: z.ZodOptional<z.ZodString>;
699
+ type: z.ZodLiteral<"tool">;
700
+ matcher: z.ZodLiteral<"exact">;
701
+ pattern: z.ZodString;
702
+ }, z.core.$strict>, z.ZodObject<{
703
+ rate: z.ZodOptional<z.ZodBoolean>;
704
+ host: z.ZodOptional<z.ZodString>;
705
+ type: z.ZodLiteral<"tool">;
706
+ matcher: z.ZodLiteral<"glob">;
707
+ pattern: z.ZodString;
708
+ }, z.core.$strict>, z.ZodObject<{
709
+ rate: z.ZodOptional<z.ZodBoolean>;
710
+ host: z.ZodOptional<z.ZodString>;
711
+ type: z.ZodLiteral<"tool">;
712
+ matcher: z.ZodLiteral<"regexp">;
713
+ pattern: z.ZodString;
714
+ }, z.core.$strict>, z.ZodObject<{
715
+ rate: z.ZodOptional<z.ZodBoolean>;
716
+ host: z.ZodOptional<z.ZodString>;
717
+ type: z.ZodLiteral<"tool">;
718
+ matcher: z.ZodLiteral<"hint">;
719
+ pattern: z.ZodObject<{
720
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
721
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
722
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
723
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
724
+ }, z.core.$strict>;
725
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
726
+ rate: z.ZodOptional<z.ZodBoolean>;
727
+ host: z.ZodOptional<z.ZodString>;
728
+ type: z.ZodLiteral<"mcpTool">;
729
+ matcher: z.ZodLiteral<"exact">;
730
+ server: z.ZodString;
731
+ pattern: z.ZodString;
732
+ }, z.core.$strict>, z.ZodObject<{
733
+ rate: z.ZodOptional<z.ZodBoolean>;
734
+ host: z.ZodOptional<z.ZodString>;
735
+ type: z.ZodLiteral<"mcpTool">;
736
+ matcher: z.ZodLiteral<"glob">;
737
+ server: z.ZodString;
738
+ pattern: z.ZodString;
739
+ }, z.core.$strict>, z.ZodObject<{
740
+ rate: z.ZodOptional<z.ZodBoolean>;
741
+ host: z.ZodOptional<z.ZodString>;
742
+ type: z.ZodLiteral<"mcpTool">;
743
+ matcher: z.ZodLiteral<"regexp">;
744
+ server: z.ZodString;
745
+ pattern: z.ZodString;
746
+ }, z.core.$strict>, z.ZodObject<{
747
+ rate: z.ZodOptional<z.ZodBoolean>;
748
+ host: z.ZodOptional<z.ZodString>;
749
+ type: z.ZodLiteral<"mcpTool">;
750
+ matcher: z.ZodLiteral<"hint">;
751
+ server: z.ZodString;
752
+ pattern: z.ZodObject<{
753
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
754
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
755
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
756
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
757
+ }, z.core.$strict>;
758
+ }, z.core.$strict>], "matcher">], "type">>>;
759
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
760
+ rate: z.ZodOptional<z.ZodBoolean>;
761
+ type: z.ZodLiteral<"shell">;
762
+ matcher: z.ZodLiteral<"exact">;
763
+ pattern: z.ZodString;
764
+ }, z.core.$strict>, z.ZodObject<{
765
+ rate: z.ZodOptional<z.ZodBoolean>;
766
+ type: z.ZodLiteral<"shell">;
767
+ matcher: z.ZodLiteral<"glob">;
768
+ pattern: z.ZodString;
769
+ }, z.core.$strict>, z.ZodObject<{
770
+ rate: z.ZodOptional<z.ZodBoolean>;
771
+ type: z.ZodLiteral<"shell">;
772
+ matcher: z.ZodLiteral<"regexp">;
773
+ pattern: z.ZodString;
774
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
775
+ rate: z.ZodOptional<z.ZodBoolean>;
776
+ host: z.ZodOptional<z.ZodString>;
777
+ type: z.ZodLiteral<"tool">;
778
+ matcher: z.ZodLiteral<"exact">;
779
+ pattern: z.ZodString;
780
+ }, z.core.$strict>, z.ZodObject<{
781
+ rate: z.ZodOptional<z.ZodBoolean>;
782
+ host: z.ZodOptional<z.ZodString>;
783
+ type: z.ZodLiteral<"tool">;
784
+ matcher: z.ZodLiteral<"glob">;
785
+ pattern: z.ZodString;
786
+ }, z.core.$strict>, z.ZodObject<{
787
+ rate: z.ZodOptional<z.ZodBoolean>;
788
+ host: z.ZodOptional<z.ZodString>;
789
+ type: z.ZodLiteral<"tool">;
790
+ matcher: z.ZodLiteral<"regexp">;
791
+ pattern: z.ZodString;
792
+ }, z.core.$strict>, z.ZodObject<{
793
+ rate: z.ZodOptional<z.ZodBoolean>;
794
+ host: z.ZodOptional<z.ZodString>;
795
+ type: z.ZodLiteral<"tool">;
796
+ matcher: z.ZodLiteral<"hint">;
797
+ pattern: z.ZodObject<{
798
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
799
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
800
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
801
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
802
+ }, z.core.$strict>;
803
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
804
+ rate: z.ZodOptional<z.ZodBoolean>;
805
+ host: z.ZodOptional<z.ZodString>;
806
+ type: z.ZodLiteral<"mcpTool">;
807
+ matcher: z.ZodLiteral<"exact">;
808
+ server: z.ZodString;
809
+ pattern: z.ZodString;
810
+ }, z.core.$strict>, z.ZodObject<{
811
+ rate: z.ZodOptional<z.ZodBoolean>;
812
+ host: z.ZodOptional<z.ZodString>;
813
+ type: z.ZodLiteral<"mcpTool">;
814
+ matcher: z.ZodLiteral<"glob">;
815
+ server: z.ZodString;
816
+ pattern: z.ZodString;
817
+ }, z.core.$strict>, z.ZodObject<{
818
+ rate: z.ZodOptional<z.ZodBoolean>;
819
+ host: z.ZodOptional<z.ZodString>;
820
+ type: z.ZodLiteral<"mcpTool">;
821
+ matcher: z.ZodLiteral<"regexp">;
822
+ server: z.ZodString;
823
+ pattern: z.ZodString;
824
+ }, z.core.$strict>, z.ZodObject<{
825
+ rate: z.ZodOptional<z.ZodBoolean>;
826
+ host: z.ZodOptional<z.ZodString>;
827
+ type: z.ZodLiteral<"mcpTool">;
828
+ matcher: z.ZodLiteral<"hint">;
829
+ server: z.ZodString;
830
+ pattern: z.ZodObject<{
831
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
832
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
833
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
834
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
835
+ }, z.core.$strict>;
836
+ }, z.core.$strict>], "matcher">], "type">>>;
837
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
838
+ rate: z.ZodOptional<z.ZodBoolean>;
839
+ type: z.ZodLiteral<"shell">;
840
+ matcher: z.ZodLiteral<"exact">;
841
+ pattern: z.ZodString;
842
+ }, z.core.$strict>, z.ZodObject<{
843
+ rate: z.ZodOptional<z.ZodBoolean>;
844
+ type: z.ZodLiteral<"shell">;
845
+ matcher: z.ZodLiteral<"glob">;
846
+ pattern: z.ZodString;
847
+ }, z.core.$strict>, z.ZodObject<{
848
+ rate: z.ZodOptional<z.ZodBoolean>;
849
+ type: z.ZodLiteral<"shell">;
850
+ matcher: z.ZodLiteral<"regexp">;
851
+ pattern: z.ZodString;
852
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
853
+ rate: z.ZodOptional<z.ZodBoolean>;
854
+ host: z.ZodOptional<z.ZodString>;
855
+ type: z.ZodLiteral<"tool">;
856
+ matcher: z.ZodLiteral<"exact">;
857
+ pattern: z.ZodString;
858
+ }, z.core.$strict>, z.ZodObject<{
859
+ rate: z.ZodOptional<z.ZodBoolean>;
860
+ host: z.ZodOptional<z.ZodString>;
861
+ type: z.ZodLiteral<"tool">;
862
+ matcher: z.ZodLiteral<"glob">;
863
+ pattern: z.ZodString;
864
+ }, z.core.$strict>, z.ZodObject<{
865
+ rate: z.ZodOptional<z.ZodBoolean>;
866
+ host: z.ZodOptional<z.ZodString>;
867
+ type: z.ZodLiteral<"tool">;
868
+ matcher: z.ZodLiteral<"regexp">;
869
+ pattern: z.ZodString;
870
+ }, z.core.$strict>, z.ZodObject<{
871
+ rate: z.ZodOptional<z.ZodBoolean>;
872
+ host: z.ZodOptional<z.ZodString>;
873
+ type: z.ZodLiteral<"tool">;
874
+ matcher: z.ZodLiteral<"hint">;
875
+ pattern: z.ZodObject<{
876
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
877
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
878
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
879
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
880
+ }, z.core.$strict>;
881
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
882
+ rate: z.ZodOptional<z.ZodBoolean>;
883
+ host: z.ZodOptional<z.ZodString>;
884
+ type: z.ZodLiteral<"mcpTool">;
885
+ matcher: z.ZodLiteral<"exact">;
886
+ server: z.ZodString;
887
+ pattern: z.ZodString;
888
+ }, z.core.$strict>, z.ZodObject<{
889
+ rate: z.ZodOptional<z.ZodBoolean>;
890
+ host: z.ZodOptional<z.ZodString>;
891
+ type: z.ZodLiteral<"mcpTool">;
892
+ matcher: z.ZodLiteral<"glob">;
893
+ server: z.ZodString;
894
+ pattern: z.ZodString;
895
+ }, z.core.$strict>, z.ZodObject<{
896
+ rate: z.ZodOptional<z.ZodBoolean>;
897
+ host: z.ZodOptional<z.ZodString>;
898
+ type: z.ZodLiteral<"mcpTool">;
899
+ matcher: z.ZodLiteral<"regexp">;
900
+ server: z.ZodString;
901
+ pattern: z.ZodString;
902
+ }, z.core.$strict>, z.ZodObject<{
903
+ rate: z.ZodOptional<z.ZodBoolean>;
904
+ host: z.ZodOptional<z.ZodString>;
905
+ type: z.ZodLiteral<"mcpTool">;
906
+ matcher: z.ZodLiteral<"hint">;
907
+ server: z.ZodString;
908
+ pattern: z.ZodObject<{
909
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
910
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
911
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
912
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
913
+ }, z.core.$strict>;
914
+ }, z.core.$strict>], "matcher">], "type">>>;
915
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
916
+ mcp: z.ZodOptional<z.ZodObject<{
917
+ defaults: z.ZodOptional<z.ZodObject<{
918
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
919
+ destructiveHint: "destructiveHint";
920
+ idempotentHint: "idempotentHint";
921
+ openWorldHint: "openWorldHint";
922
+ readOnlyHint: "readOnlyHint";
923
+ }>>>;
924
+ }, z.core.$strict>>;
925
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
926
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
927
+ destructiveHint: "destructiveHint";
928
+ idempotentHint: "idempotentHint";
929
+ openWorldHint: "openWorldHint";
930
+ readOnlyHint: "readOnlyHint";
931
+ }>>>;
932
+ }, z.core.$strict>>>;
933
+ }, z.core.$strict>>;
934
+ }, z.core.$strip>]>>;
131
935
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
132
936
  command: z.ZodString;
133
937
  description: z.ZodString;
@@ -136,8 +940,8 @@ export declare const rawGthConfigSchema: z.ZodObject<{
136
940
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
137
941
  "absolute-paths": "absolute-paths";
138
942
  "directory-traversal": "directory-traversal";
139
- "shell-injection": "shell-injection";
140
943
  "null-bytes": "null-bytes";
944
+ "shell-injection": "shell-injection";
141
945
  }>>>;
142
946
  }, z.core.$strip>>>;
143
947
  timeout: z.ZodOptional<z.ZodNumber>;
@@ -153,11 +957,11 @@ export declare const rawGthConfigSchema: z.ZodObject<{
153
957
  }, z.core.$strip>>;
154
958
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
155
959
  type: z.ZodEnum<{
960
+ audio: "audio";
156
961
  binary: "binary";
962
+ file: "file";
157
963
  image: "image";
158
- audio: "audio";
159
964
  video: "video";
160
- file: "file";
161
965
  }>;
162
966
  extensions: z.ZodArray<z.ZodString>;
163
967
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -169,10 +973,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
169
973
  requirementSource: z.ZodOptional<z.ZodString>;
170
974
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
171
975
  all: "all";
172
- read: "read";
173
976
  none: "none";
977
+ read: "read";
174
978
  }>]>>;
175
- builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
979
+ builtInTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
980
+ enabled: z.ZodOptional<z.ZodBoolean>;
981
+ command: z.ZodOptional<z.ZodString>;
982
+ timeout: z.ZodOptional<z.ZodNumber>;
983
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
984
+ maxBytes: z.ZodOptional<z.ZodNumber>;
985
+ fileSet: z.ZodOptional<z.ZodEnum<{
986
+ all: "all";
987
+ gitignore: "gitignore";
988
+ }>>;
989
+ }, z.core.$strip>]>>]>>;
990
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
991
+ assisted: "assisted";
992
+ auto: "auto";
993
+ bypass: "bypass";
994
+ manual: "manual";
995
+ write: "write";
996
+ }>, z.ZodObject<{
997
+ mode: z.ZodOptional<z.ZodEnum<{
998
+ assisted: "assisted";
999
+ auto: "auto";
1000
+ bypass: "bypass";
1001
+ manual: "manual";
1002
+ write: "write";
1003
+ }>>;
1004
+ rater: z.ZodOptional<z.ZodString>;
1005
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1006
+ rate: z.ZodOptional<z.ZodBoolean>;
1007
+ type: z.ZodLiteral<"shell">;
1008
+ matcher: z.ZodLiteral<"exact">;
1009
+ pattern: z.ZodString;
1010
+ }, z.core.$strict>, z.ZodObject<{
1011
+ rate: z.ZodOptional<z.ZodBoolean>;
1012
+ type: z.ZodLiteral<"shell">;
1013
+ matcher: z.ZodLiteral<"glob">;
1014
+ pattern: z.ZodString;
1015
+ }, z.core.$strict>, z.ZodObject<{
1016
+ rate: z.ZodOptional<z.ZodBoolean>;
1017
+ type: z.ZodLiteral<"shell">;
1018
+ matcher: z.ZodLiteral<"regexp">;
1019
+ pattern: z.ZodString;
1020
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1021
+ rate: z.ZodOptional<z.ZodBoolean>;
1022
+ host: z.ZodOptional<z.ZodString>;
1023
+ type: z.ZodLiteral<"tool">;
1024
+ matcher: z.ZodLiteral<"exact">;
1025
+ pattern: z.ZodString;
1026
+ }, z.core.$strict>, z.ZodObject<{
1027
+ rate: z.ZodOptional<z.ZodBoolean>;
1028
+ host: z.ZodOptional<z.ZodString>;
1029
+ type: z.ZodLiteral<"tool">;
1030
+ matcher: z.ZodLiteral<"glob">;
1031
+ pattern: z.ZodString;
1032
+ }, z.core.$strict>, z.ZodObject<{
1033
+ rate: z.ZodOptional<z.ZodBoolean>;
1034
+ host: z.ZodOptional<z.ZodString>;
1035
+ type: z.ZodLiteral<"tool">;
1036
+ matcher: z.ZodLiteral<"regexp">;
1037
+ pattern: z.ZodString;
1038
+ }, z.core.$strict>, z.ZodObject<{
1039
+ rate: z.ZodOptional<z.ZodBoolean>;
1040
+ host: z.ZodOptional<z.ZodString>;
1041
+ type: z.ZodLiteral<"tool">;
1042
+ matcher: z.ZodLiteral<"hint">;
1043
+ pattern: z.ZodObject<{
1044
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1045
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1046
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1047
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1048
+ }, z.core.$strict>;
1049
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1050
+ rate: z.ZodOptional<z.ZodBoolean>;
1051
+ host: z.ZodOptional<z.ZodString>;
1052
+ type: z.ZodLiteral<"mcpTool">;
1053
+ matcher: z.ZodLiteral<"exact">;
1054
+ server: z.ZodString;
1055
+ pattern: z.ZodString;
1056
+ }, z.core.$strict>, z.ZodObject<{
1057
+ rate: z.ZodOptional<z.ZodBoolean>;
1058
+ host: z.ZodOptional<z.ZodString>;
1059
+ type: z.ZodLiteral<"mcpTool">;
1060
+ matcher: z.ZodLiteral<"glob">;
1061
+ server: z.ZodString;
1062
+ pattern: z.ZodString;
1063
+ }, z.core.$strict>, z.ZodObject<{
1064
+ rate: z.ZodOptional<z.ZodBoolean>;
1065
+ host: z.ZodOptional<z.ZodString>;
1066
+ type: z.ZodLiteral<"mcpTool">;
1067
+ matcher: z.ZodLiteral<"regexp">;
1068
+ server: z.ZodString;
1069
+ pattern: z.ZodString;
1070
+ }, z.core.$strict>, z.ZodObject<{
1071
+ rate: z.ZodOptional<z.ZodBoolean>;
1072
+ host: z.ZodOptional<z.ZodString>;
1073
+ type: z.ZodLiteral<"mcpTool">;
1074
+ matcher: z.ZodLiteral<"hint">;
1075
+ server: z.ZodString;
1076
+ pattern: z.ZodObject<{
1077
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1078
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1079
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1080
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1081
+ }, z.core.$strict>;
1082
+ }, z.core.$strict>], "matcher">], "type">>>;
1083
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1084
+ rate: z.ZodOptional<z.ZodBoolean>;
1085
+ type: z.ZodLiteral<"shell">;
1086
+ matcher: z.ZodLiteral<"exact">;
1087
+ pattern: z.ZodString;
1088
+ }, z.core.$strict>, z.ZodObject<{
1089
+ rate: z.ZodOptional<z.ZodBoolean>;
1090
+ type: z.ZodLiteral<"shell">;
1091
+ matcher: z.ZodLiteral<"glob">;
1092
+ pattern: z.ZodString;
1093
+ }, z.core.$strict>, z.ZodObject<{
1094
+ rate: z.ZodOptional<z.ZodBoolean>;
1095
+ type: z.ZodLiteral<"shell">;
1096
+ matcher: z.ZodLiteral<"regexp">;
1097
+ pattern: z.ZodString;
1098
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1099
+ rate: z.ZodOptional<z.ZodBoolean>;
1100
+ host: z.ZodOptional<z.ZodString>;
1101
+ type: z.ZodLiteral<"tool">;
1102
+ matcher: z.ZodLiteral<"exact">;
1103
+ pattern: z.ZodString;
1104
+ }, z.core.$strict>, z.ZodObject<{
1105
+ rate: z.ZodOptional<z.ZodBoolean>;
1106
+ host: z.ZodOptional<z.ZodString>;
1107
+ type: z.ZodLiteral<"tool">;
1108
+ matcher: z.ZodLiteral<"glob">;
1109
+ pattern: z.ZodString;
1110
+ }, z.core.$strict>, z.ZodObject<{
1111
+ rate: z.ZodOptional<z.ZodBoolean>;
1112
+ host: z.ZodOptional<z.ZodString>;
1113
+ type: z.ZodLiteral<"tool">;
1114
+ matcher: z.ZodLiteral<"regexp">;
1115
+ pattern: z.ZodString;
1116
+ }, z.core.$strict>, z.ZodObject<{
1117
+ rate: z.ZodOptional<z.ZodBoolean>;
1118
+ host: z.ZodOptional<z.ZodString>;
1119
+ type: z.ZodLiteral<"tool">;
1120
+ matcher: z.ZodLiteral<"hint">;
1121
+ pattern: z.ZodObject<{
1122
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1123
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1124
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1125
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1126
+ }, z.core.$strict>;
1127
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1128
+ rate: z.ZodOptional<z.ZodBoolean>;
1129
+ host: z.ZodOptional<z.ZodString>;
1130
+ type: z.ZodLiteral<"mcpTool">;
1131
+ matcher: z.ZodLiteral<"exact">;
1132
+ server: z.ZodString;
1133
+ pattern: z.ZodString;
1134
+ }, z.core.$strict>, z.ZodObject<{
1135
+ rate: z.ZodOptional<z.ZodBoolean>;
1136
+ host: z.ZodOptional<z.ZodString>;
1137
+ type: z.ZodLiteral<"mcpTool">;
1138
+ matcher: z.ZodLiteral<"glob">;
1139
+ server: z.ZodString;
1140
+ pattern: z.ZodString;
1141
+ }, z.core.$strict>, z.ZodObject<{
1142
+ rate: z.ZodOptional<z.ZodBoolean>;
1143
+ host: z.ZodOptional<z.ZodString>;
1144
+ type: z.ZodLiteral<"mcpTool">;
1145
+ matcher: z.ZodLiteral<"regexp">;
1146
+ server: z.ZodString;
1147
+ pattern: z.ZodString;
1148
+ }, z.core.$strict>, z.ZodObject<{
1149
+ rate: z.ZodOptional<z.ZodBoolean>;
1150
+ host: z.ZodOptional<z.ZodString>;
1151
+ type: z.ZodLiteral<"mcpTool">;
1152
+ matcher: z.ZodLiteral<"hint">;
1153
+ server: z.ZodString;
1154
+ pattern: z.ZodObject<{
1155
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1156
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1157
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1158
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1159
+ }, z.core.$strict>;
1160
+ }, z.core.$strict>], "matcher">], "type">>>;
1161
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1162
+ rate: z.ZodOptional<z.ZodBoolean>;
1163
+ type: z.ZodLiteral<"shell">;
1164
+ matcher: z.ZodLiteral<"exact">;
1165
+ pattern: z.ZodString;
1166
+ }, z.core.$strict>, z.ZodObject<{
1167
+ rate: z.ZodOptional<z.ZodBoolean>;
1168
+ type: z.ZodLiteral<"shell">;
1169
+ matcher: z.ZodLiteral<"glob">;
1170
+ pattern: z.ZodString;
1171
+ }, z.core.$strict>, z.ZodObject<{
1172
+ rate: z.ZodOptional<z.ZodBoolean>;
1173
+ type: z.ZodLiteral<"shell">;
1174
+ matcher: z.ZodLiteral<"regexp">;
1175
+ pattern: z.ZodString;
1176
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1177
+ rate: z.ZodOptional<z.ZodBoolean>;
1178
+ host: z.ZodOptional<z.ZodString>;
1179
+ type: z.ZodLiteral<"tool">;
1180
+ matcher: z.ZodLiteral<"exact">;
1181
+ pattern: z.ZodString;
1182
+ }, z.core.$strict>, z.ZodObject<{
1183
+ rate: z.ZodOptional<z.ZodBoolean>;
1184
+ host: z.ZodOptional<z.ZodString>;
1185
+ type: z.ZodLiteral<"tool">;
1186
+ matcher: z.ZodLiteral<"glob">;
1187
+ pattern: z.ZodString;
1188
+ }, z.core.$strict>, z.ZodObject<{
1189
+ rate: z.ZodOptional<z.ZodBoolean>;
1190
+ host: z.ZodOptional<z.ZodString>;
1191
+ type: z.ZodLiteral<"tool">;
1192
+ matcher: z.ZodLiteral<"regexp">;
1193
+ pattern: z.ZodString;
1194
+ }, z.core.$strict>, z.ZodObject<{
1195
+ rate: z.ZodOptional<z.ZodBoolean>;
1196
+ host: z.ZodOptional<z.ZodString>;
1197
+ type: z.ZodLiteral<"tool">;
1198
+ matcher: z.ZodLiteral<"hint">;
1199
+ pattern: z.ZodObject<{
1200
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1201
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1202
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1203
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1204
+ }, z.core.$strict>;
1205
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1206
+ rate: z.ZodOptional<z.ZodBoolean>;
1207
+ host: z.ZodOptional<z.ZodString>;
1208
+ type: z.ZodLiteral<"mcpTool">;
1209
+ matcher: z.ZodLiteral<"exact">;
1210
+ server: z.ZodString;
1211
+ pattern: z.ZodString;
1212
+ }, z.core.$strict>, z.ZodObject<{
1213
+ rate: z.ZodOptional<z.ZodBoolean>;
1214
+ host: z.ZodOptional<z.ZodString>;
1215
+ type: z.ZodLiteral<"mcpTool">;
1216
+ matcher: z.ZodLiteral<"glob">;
1217
+ server: z.ZodString;
1218
+ pattern: z.ZodString;
1219
+ }, z.core.$strict>, z.ZodObject<{
1220
+ rate: z.ZodOptional<z.ZodBoolean>;
1221
+ host: z.ZodOptional<z.ZodString>;
1222
+ type: z.ZodLiteral<"mcpTool">;
1223
+ matcher: z.ZodLiteral<"regexp">;
1224
+ server: z.ZodString;
1225
+ pattern: z.ZodString;
1226
+ }, z.core.$strict>, z.ZodObject<{
1227
+ rate: z.ZodOptional<z.ZodBoolean>;
1228
+ host: z.ZodOptional<z.ZodString>;
1229
+ type: z.ZodLiteral<"mcpTool">;
1230
+ matcher: z.ZodLiteral<"hint">;
1231
+ server: z.ZodString;
1232
+ pattern: z.ZodObject<{
1233
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1234
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1235
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1236
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1237
+ }, z.core.$strict>;
1238
+ }, z.core.$strict>], "matcher">], "type">>>;
1239
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
1240
+ mcp: z.ZodOptional<z.ZodObject<{
1241
+ defaults: z.ZodOptional<z.ZodObject<{
1242
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1243
+ destructiveHint: "destructiveHint";
1244
+ idempotentHint: "idempotentHint";
1245
+ openWorldHint: "openWorldHint";
1246
+ readOnlyHint: "readOnlyHint";
1247
+ }>>>;
1248
+ }, z.core.$strict>>;
1249
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1250
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1251
+ destructiveHint: "destructiveHint";
1252
+ idempotentHint: "idempotentHint";
1253
+ openWorldHint: "openWorldHint";
1254
+ readOnlyHint: "readOnlyHint";
1255
+ }>>>;
1256
+ }, z.core.$strict>>>;
1257
+ }, z.core.$strict>>;
1258
+ }, z.core.$strip>]>>;
176
1259
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
177
1260
  command: z.ZodString;
178
1261
  description: z.ZodString;
@@ -181,8 +1264,8 @@ export declare const rawGthConfigSchema: z.ZodObject<{
181
1264
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
182
1265
  "absolute-paths": "absolute-paths";
183
1266
  "directory-traversal": "directory-traversal";
184
- "shell-injection": "shell-injection";
185
1267
  "null-bytes": "null-bytes";
1268
+ "shell-injection": "shell-injection";
186
1269
  }>>>;
187
1270
  }, z.core.$strip>>>;
188
1271
  timeout: z.ZodOptional<z.ZodNumber>;
@@ -197,11 +1280,11 @@ export declare const rawGthConfigSchema: z.ZodObject<{
197
1280
  }, z.core.$strip>>;
198
1281
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
199
1282
  type: z.ZodEnum<{
1283
+ audio: "audio";
200
1284
  binary: "binary";
1285
+ file: "file";
201
1286
  image: "image";
202
- audio: "audio";
203
1287
  video: "video";
204
- file: "file";
205
1288
  }>;
206
1289
  extensions: z.ZodArray<z.ZodString>;
207
1290
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -211,10 +1294,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
211
1294
  ask: z.ZodOptional<z.ZodObject<{
212
1295
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
213
1296
  all: "all";
214
- read: "read";
215
1297
  none: "none";
1298
+ read: "read";
216
1299
  }>]>>;
217
- builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
1300
+ builtInTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1301
+ enabled: z.ZodOptional<z.ZodBoolean>;
1302
+ command: z.ZodOptional<z.ZodString>;
1303
+ timeout: z.ZodOptional<z.ZodNumber>;
1304
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
1305
+ maxBytes: z.ZodOptional<z.ZodNumber>;
1306
+ fileSet: z.ZodOptional<z.ZodEnum<{
1307
+ all: "all";
1308
+ gitignore: "gitignore";
1309
+ }>>;
1310
+ }, z.core.$strip>]>>]>>;
1311
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1312
+ assisted: "assisted";
1313
+ auto: "auto";
1314
+ bypass: "bypass";
1315
+ manual: "manual";
1316
+ write: "write";
1317
+ }>, z.ZodObject<{
1318
+ mode: z.ZodOptional<z.ZodEnum<{
1319
+ assisted: "assisted";
1320
+ auto: "auto";
1321
+ bypass: "bypass";
1322
+ manual: "manual";
1323
+ write: "write";
1324
+ }>>;
1325
+ rater: z.ZodOptional<z.ZodString>;
1326
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1327
+ rate: z.ZodOptional<z.ZodBoolean>;
1328
+ type: z.ZodLiteral<"shell">;
1329
+ matcher: z.ZodLiteral<"exact">;
1330
+ pattern: z.ZodString;
1331
+ }, z.core.$strict>, z.ZodObject<{
1332
+ rate: z.ZodOptional<z.ZodBoolean>;
1333
+ type: z.ZodLiteral<"shell">;
1334
+ matcher: z.ZodLiteral<"glob">;
1335
+ pattern: z.ZodString;
1336
+ }, z.core.$strict>, z.ZodObject<{
1337
+ rate: z.ZodOptional<z.ZodBoolean>;
1338
+ type: z.ZodLiteral<"shell">;
1339
+ matcher: z.ZodLiteral<"regexp">;
1340
+ pattern: z.ZodString;
1341
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1342
+ rate: z.ZodOptional<z.ZodBoolean>;
1343
+ host: z.ZodOptional<z.ZodString>;
1344
+ type: z.ZodLiteral<"tool">;
1345
+ matcher: z.ZodLiteral<"exact">;
1346
+ pattern: z.ZodString;
1347
+ }, z.core.$strict>, z.ZodObject<{
1348
+ rate: z.ZodOptional<z.ZodBoolean>;
1349
+ host: z.ZodOptional<z.ZodString>;
1350
+ type: z.ZodLiteral<"tool">;
1351
+ matcher: z.ZodLiteral<"glob">;
1352
+ pattern: z.ZodString;
1353
+ }, z.core.$strict>, z.ZodObject<{
1354
+ rate: z.ZodOptional<z.ZodBoolean>;
1355
+ host: z.ZodOptional<z.ZodString>;
1356
+ type: z.ZodLiteral<"tool">;
1357
+ matcher: z.ZodLiteral<"regexp">;
1358
+ pattern: z.ZodString;
1359
+ }, z.core.$strict>, z.ZodObject<{
1360
+ rate: z.ZodOptional<z.ZodBoolean>;
1361
+ host: z.ZodOptional<z.ZodString>;
1362
+ type: z.ZodLiteral<"tool">;
1363
+ matcher: z.ZodLiteral<"hint">;
1364
+ pattern: z.ZodObject<{
1365
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1366
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1367
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1368
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1369
+ }, z.core.$strict>;
1370
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1371
+ rate: z.ZodOptional<z.ZodBoolean>;
1372
+ host: z.ZodOptional<z.ZodString>;
1373
+ type: z.ZodLiteral<"mcpTool">;
1374
+ matcher: z.ZodLiteral<"exact">;
1375
+ server: z.ZodString;
1376
+ pattern: z.ZodString;
1377
+ }, z.core.$strict>, z.ZodObject<{
1378
+ rate: z.ZodOptional<z.ZodBoolean>;
1379
+ host: z.ZodOptional<z.ZodString>;
1380
+ type: z.ZodLiteral<"mcpTool">;
1381
+ matcher: z.ZodLiteral<"glob">;
1382
+ server: z.ZodString;
1383
+ pattern: z.ZodString;
1384
+ }, z.core.$strict>, z.ZodObject<{
1385
+ rate: z.ZodOptional<z.ZodBoolean>;
1386
+ host: z.ZodOptional<z.ZodString>;
1387
+ type: z.ZodLiteral<"mcpTool">;
1388
+ matcher: z.ZodLiteral<"regexp">;
1389
+ server: z.ZodString;
1390
+ pattern: z.ZodString;
1391
+ }, z.core.$strict>, z.ZodObject<{
1392
+ rate: z.ZodOptional<z.ZodBoolean>;
1393
+ host: z.ZodOptional<z.ZodString>;
1394
+ type: z.ZodLiteral<"mcpTool">;
1395
+ matcher: z.ZodLiteral<"hint">;
1396
+ server: z.ZodString;
1397
+ pattern: z.ZodObject<{
1398
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1399
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1400
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1401
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1402
+ }, z.core.$strict>;
1403
+ }, z.core.$strict>], "matcher">], "type">>>;
1404
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1405
+ rate: z.ZodOptional<z.ZodBoolean>;
1406
+ type: z.ZodLiteral<"shell">;
1407
+ matcher: z.ZodLiteral<"exact">;
1408
+ pattern: z.ZodString;
1409
+ }, z.core.$strict>, z.ZodObject<{
1410
+ rate: z.ZodOptional<z.ZodBoolean>;
1411
+ type: z.ZodLiteral<"shell">;
1412
+ matcher: z.ZodLiteral<"glob">;
1413
+ pattern: z.ZodString;
1414
+ }, z.core.$strict>, z.ZodObject<{
1415
+ rate: z.ZodOptional<z.ZodBoolean>;
1416
+ type: z.ZodLiteral<"shell">;
1417
+ matcher: z.ZodLiteral<"regexp">;
1418
+ pattern: z.ZodString;
1419
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1420
+ rate: z.ZodOptional<z.ZodBoolean>;
1421
+ host: z.ZodOptional<z.ZodString>;
1422
+ type: z.ZodLiteral<"tool">;
1423
+ matcher: z.ZodLiteral<"exact">;
1424
+ pattern: z.ZodString;
1425
+ }, z.core.$strict>, z.ZodObject<{
1426
+ rate: z.ZodOptional<z.ZodBoolean>;
1427
+ host: z.ZodOptional<z.ZodString>;
1428
+ type: z.ZodLiteral<"tool">;
1429
+ matcher: z.ZodLiteral<"glob">;
1430
+ pattern: z.ZodString;
1431
+ }, z.core.$strict>, z.ZodObject<{
1432
+ rate: z.ZodOptional<z.ZodBoolean>;
1433
+ host: z.ZodOptional<z.ZodString>;
1434
+ type: z.ZodLiteral<"tool">;
1435
+ matcher: z.ZodLiteral<"regexp">;
1436
+ pattern: z.ZodString;
1437
+ }, z.core.$strict>, z.ZodObject<{
1438
+ rate: z.ZodOptional<z.ZodBoolean>;
1439
+ host: z.ZodOptional<z.ZodString>;
1440
+ type: z.ZodLiteral<"tool">;
1441
+ matcher: z.ZodLiteral<"hint">;
1442
+ pattern: z.ZodObject<{
1443
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1444
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1445
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1446
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1447
+ }, z.core.$strict>;
1448
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1449
+ rate: z.ZodOptional<z.ZodBoolean>;
1450
+ host: z.ZodOptional<z.ZodString>;
1451
+ type: z.ZodLiteral<"mcpTool">;
1452
+ matcher: z.ZodLiteral<"exact">;
1453
+ server: z.ZodString;
1454
+ pattern: z.ZodString;
1455
+ }, z.core.$strict>, z.ZodObject<{
1456
+ rate: z.ZodOptional<z.ZodBoolean>;
1457
+ host: z.ZodOptional<z.ZodString>;
1458
+ type: z.ZodLiteral<"mcpTool">;
1459
+ matcher: z.ZodLiteral<"glob">;
1460
+ server: z.ZodString;
1461
+ pattern: z.ZodString;
1462
+ }, z.core.$strict>, z.ZodObject<{
1463
+ rate: z.ZodOptional<z.ZodBoolean>;
1464
+ host: z.ZodOptional<z.ZodString>;
1465
+ type: z.ZodLiteral<"mcpTool">;
1466
+ matcher: z.ZodLiteral<"regexp">;
1467
+ server: z.ZodString;
1468
+ pattern: z.ZodString;
1469
+ }, z.core.$strict>, z.ZodObject<{
1470
+ rate: z.ZodOptional<z.ZodBoolean>;
1471
+ host: z.ZodOptional<z.ZodString>;
1472
+ type: z.ZodLiteral<"mcpTool">;
1473
+ matcher: z.ZodLiteral<"hint">;
1474
+ server: z.ZodString;
1475
+ pattern: z.ZodObject<{
1476
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1477
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1478
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1479
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1480
+ }, z.core.$strict>;
1481
+ }, z.core.$strict>], "matcher">], "type">>>;
1482
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1483
+ rate: z.ZodOptional<z.ZodBoolean>;
1484
+ type: z.ZodLiteral<"shell">;
1485
+ matcher: z.ZodLiteral<"exact">;
1486
+ pattern: z.ZodString;
1487
+ }, z.core.$strict>, z.ZodObject<{
1488
+ rate: z.ZodOptional<z.ZodBoolean>;
1489
+ type: z.ZodLiteral<"shell">;
1490
+ matcher: z.ZodLiteral<"glob">;
1491
+ pattern: z.ZodString;
1492
+ }, z.core.$strict>, z.ZodObject<{
1493
+ rate: z.ZodOptional<z.ZodBoolean>;
1494
+ type: z.ZodLiteral<"shell">;
1495
+ matcher: z.ZodLiteral<"regexp">;
1496
+ pattern: z.ZodString;
1497
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1498
+ rate: z.ZodOptional<z.ZodBoolean>;
1499
+ host: z.ZodOptional<z.ZodString>;
1500
+ type: z.ZodLiteral<"tool">;
1501
+ matcher: z.ZodLiteral<"exact">;
1502
+ pattern: z.ZodString;
1503
+ }, z.core.$strict>, z.ZodObject<{
1504
+ rate: z.ZodOptional<z.ZodBoolean>;
1505
+ host: z.ZodOptional<z.ZodString>;
1506
+ type: z.ZodLiteral<"tool">;
1507
+ matcher: z.ZodLiteral<"glob">;
1508
+ pattern: z.ZodString;
1509
+ }, z.core.$strict>, z.ZodObject<{
1510
+ rate: z.ZodOptional<z.ZodBoolean>;
1511
+ host: z.ZodOptional<z.ZodString>;
1512
+ type: z.ZodLiteral<"tool">;
1513
+ matcher: z.ZodLiteral<"regexp">;
1514
+ pattern: z.ZodString;
1515
+ }, z.core.$strict>, z.ZodObject<{
1516
+ rate: z.ZodOptional<z.ZodBoolean>;
1517
+ host: z.ZodOptional<z.ZodString>;
1518
+ type: z.ZodLiteral<"tool">;
1519
+ matcher: z.ZodLiteral<"hint">;
1520
+ pattern: z.ZodObject<{
1521
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1522
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1523
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1524
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1525
+ }, z.core.$strict>;
1526
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1527
+ rate: z.ZodOptional<z.ZodBoolean>;
1528
+ host: z.ZodOptional<z.ZodString>;
1529
+ type: z.ZodLiteral<"mcpTool">;
1530
+ matcher: z.ZodLiteral<"exact">;
1531
+ server: z.ZodString;
1532
+ pattern: z.ZodString;
1533
+ }, z.core.$strict>, z.ZodObject<{
1534
+ rate: z.ZodOptional<z.ZodBoolean>;
1535
+ host: z.ZodOptional<z.ZodString>;
1536
+ type: z.ZodLiteral<"mcpTool">;
1537
+ matcher: z.ZodLiteral<"glob">;
1538
+ server: z.ZodString;
1539
+ pattern: z.ZodString;
1540
+ }, z.core.$strict>, z.ZodObject<{
1541
+ rate: z.ZodOptional<z.ZodBoolean>;
1542
+ host: z.ZodOptional<z.ZodString>;
1543
+ type: z.ZodLiteral<"mcpTool">;
1544
+ matcher: z.ZodLiteral<"regexp">;
1545
+ server: z.ZodString;
1546
+ pattern: z.ZodString;
1547
+ }, z.core.$strict>, z.ZodObject<{
1548
+ rate: z.ZodOptional<z.ZodBoolean>;
1549
+ host: z.ZodOptional<z.ZodString>;
1550
+ type: z.ZodLiteral<"mcpTool">;
1551
+ matcher: z.ZodLiteral<"hint">;
1552
+ server: z.ZodString;
1553
+ pattern: z.ZodObject<{
1554
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1555
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1556
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1557
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1558
+ }, z.core.$strict>;
1559
+ }, z.core.$strict>], "matcher">], "type">>>;
1560
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
1561
+ mcp: z.ZodOptional<z.ZodObject<{
1562
+ defaults: z.ZodOptional<z.ZodObject<{
1563
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1564
+ destructiveHint: "destructiveHint";
1565
+ idempotentHint: "idempotentHint";
1566
+ openWorldHint: "openWorldHint";
1567
+ readOnlyHint: "readOnlyHint";
1568
+ }>>>;
1569
+ }, z.core.$strict>>;
1570
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1571
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1572
+ destructiveHint: "destructiveHint";
1573
+ idempotentHint: "idempotentHint";
1574
+ openWorldHint: "openWorldHint";
1575
+ readOnlyHint: "readOnlyHint";
1576
+ }>>>;
1577
+ }, z.core.$strict>>>;
1578
+ }, z.core.$strict>>;
1579
+ }, z.core.$strip>]>>;
218
1580
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
219
1581
  command: z.ZodString;
220
1582
  description: z.ZodString;
@@ -223,45 +1585,20 @@ export declare const rawGthConfigSchema: z.ZodObject<{
223
1585
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
224
1586
  "absolute-paths": "absolute-paths";
225
1587
  "directory-traversal": "directory-traversal";
226
- "shell-injection": "shell-injection";
227
1588
  "null-bytes": "null-bytes";
1589
+ "shell-injection": "shell-injection";
228
1590
  }>>>;
229
1591
  }, z.core.$strip>>>;
230
1592
  timeout: z.ZodOptional<z.ZodNumber>;
231
1593
  }, z.core.$strip>>]>>;
232
1594
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
233
- devTools: z.ZodOptional<z.ZodObject<{
234
- run_tests: z.ZodOptional<z.ZodString>;
235
- run_lint: z.ZodOptional<z.ZodString>;
236
- run_build: z.ZodOptional<z.ZodString>;
237
- run_single_test: z.ZodOptional<z.ZodString>;
238
- shell: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
239
- enabled: z.ZodOptional<z.ZodBoolean>;
240
- timeout: z.ZodOptional<z.ZodNumber>;
241
- maxOutputBytes: z.ZodOptional<z.ZodNumber>;
242
- allowlist: z.ZodOptional<z.ZodBoolean>;
243
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
244
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
245
- enabled: z.ZodOptional<z.ZodBoolean>;
246
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
247
- blockHigh: z.ZodOptional<z.ZodBoolean>;
248
- model: z.ZodOptional<z.ZodObject<{
249
- type: z.ZodOptional<z.ZodString>;
250
- model: z.ZodOptional<z.ZodString>;
251
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
252
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
253
- }, z.core.$loose>>;
254
- }, z.core.$strip>]>>;
255
- }, z.core.$strip>]>>;
256
- shellYolo: z.ZodOptional<z.ZodBoolean>;
257
- }, z.core.$strip>>;
258
1595
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
259
1596
  type: z.ZodEnum<{
1597
+ audio: "audio";
260
1598
  binary: "binary";
1599
+ file: "file";
261
1600
  image: "image";
262
- audio: "audio";
263
1601
  video: "video";
264
- file: "file";
265
1602
  }>;
266
1603
  extensions: z.ZodArray<z.ZodString>;
267
1604
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -271,10 +1608,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
271
1608
  chat: z.ZodOptional<z.ZodObject<{
272
1609
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
273
1610
  all: "all";
274
- read: "read";
275
1611
  none: "none";
1612
+ read: "read";
276
1613
  }>]>>;
277
- builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
1614
+ builtInTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1615
+ enabled: z.ZodOptional<z.ZodBoolean>;
1616
+ command: z.ZodOptional<z.ZodString>;
1617
+ timeout: z.ZodOptional<z.ZodNumber>;
1618
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
1619
+ maxBytes: z.ZodOptional<z.ZodNumber>;
1620
+ fileSet: z.ZodOptional<z.ZodEnum<{
1621
+ all: "all";
1622
+ gitignore: "gitignore";
1623
+ }>>;
1624
+ }, z.core.$strip>]>>]>>;
1625
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1626
+ assisted: "assisted";
1627
+ auto: "auto";
1628
+ bypass: "bypass";
1629
+ manual: "manual";
1630
+ write: "write";
1631
+ }>, z.ZodObject<{
1632
+ mode: z.ZodOptional<z.ZodEnum<{
1633
+ assisted: "assisted";
1634
+ auto: "auto";
1635
+ bypass: "bypass";
1636
+ manual: "manual";
1637
+ write: "write";
1638
+ }>>;
1639
+ rater: z.ZodOptional<z.ZodString>;
1640
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1641
+ rate: z.ZodOptional<z.ZodBoolean>;
1642
+ type: z.ZodLiteral<"shell">;
1643
+ matcher: z.ZodLiteral<"exact">;
1644
+ pattern: z.ZodString;
1645
+ }, z.core.$strict>, z.ZodObject<{
1646
+ rate: z.ZodOptional<z.ZodBoolean>;
1647
+ type: z.ZodLiteral<"shell">;
1648
+ matcher: z.ZodLiteral<"glob">;
1649
+ pattern: z.ZodString;
1650
+ }, z.core.$strict>, z.ZodObject<{
1651
+ rate: z.ZodOptional<z.ZodBoolean>;
1652
+ type: z.ZodLiteral<"shell">;
1653
+ matcher: z.ZodLiteral<"regexp">;
1654
+ pattern: z.ZodString;
1655
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1656
+ rate: z.ZodOptional<z.ZodBoolean>;
1657
+ host: z.ZodOptional<z.ZodString>;
1658
+ type: z.ZodLiteral<"tool">;
1659
+ matcher: z.ZodLiteral<"exact">;
1660
+ pattern: z.ZodString;
1661
+ }, z.core.$strict>, z.ZodObject<{
1662
+ rate: z.ZodOptional<z.ZodBoolean>;
1663
+ host: z.ZodOptional<z.ZodString>;
1664
+ type: z.ZodLiteral<"tool">;
1665
+ matcher: z.ZodLiteral<"glob">;
1666
+ pattern: z.ZodString;
1667
+ }, z.core.$strict>, z.ZodObject<{
1668
+ rate: z.ZodOptional<z.ZodBoolean>;
1669
+ host: z.ZodOptional<z.ZodString>;
1670
+ type: z.ZodLiteral<"tool">;
1671
+ matcher: z.ZodLiteral<"regexp">;
1672
+ pattern: z.ZodString;
1673
+ }, z.core.$strict>, z.ZodObject<{
1674
+ rate: z.ZodOptional<z.ZodBoolean>;
1675
+ host: z.ZodOptional<z.ZodString>;
1676
+ type: z.ZodLiteral<"tool">;
1677
+ matcher: z.ZodLiteral<"hint">;
1678
+ pattern: z.ZodObject<{
1679
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1680
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1681
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1682
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1683
+ }, z.core.$strict>;
1684
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1685
+ rate: z.ZodOptional<z.ZodBoolean>;
1686
+ host: z.ZodOptional<z.ZodString>;
1687
+ type: z.ZodLiteral<"mcpTool">;
1688
+ matcher: z.ZodLiteral<"exact">;
1689
+ server: z.ZodString;
1690
+ pattern: z.ZodString;
1691
+ }, z.core.$strict>, z.ZodObject<{
1692
+ rate: z.ZodOptional<z.ZodBoolean>;
1693
+ host: z.ZodOptional<z.ZodString>;
1694
+ type: z.ZodLiteral<"mcpTool">;
1695
+ matcher: z.ZodLiteral<"glob">;
1696
+ server: z.ZodString;
1697
+ pattern: z.ZodString;
1698
+ }, z.core.$strict>, z.ZodObject<{
1699
+ rate: z.ZodOptional<z.ZodBoolean>;
1700
+ host: z.ZodOptional<z.ZodString>;
1701
+ type: z.ZodLiteral<"mcpTool">;
1702
+ matcher: z.ZodLiteral<"regexp">;
1703
+ server: z.ZodString;
1704
+ pattern: z.ZodString;
1705
+ }, z.core.$strict>, z.ZodObject<{
1706
+ rate: z.ZodOptional<z.ZodBoolean>;
1707
+ host: z.ZodOptional<z.ZodString>;
1708
+ type: z.ZodLiteral<"mcpTool">;
1709
+ matcher: z.ZodLiteral<"hint">;
1710
+ server: z.ZodString;
1711
+ pattern: z.ZodObject<{
1712
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1713
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1714
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1715
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1716
+ }, z.core.$strict>;
1717
+ }, z.core.$strict>], "matcher">], "type">>>;
1718
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1719
+ rate: z.ZodOptional<z.ZodBoolean>;
1720
+ type: z.ZodLiteral<"shell">;
1721
+ matcher: z.ZodLiteral<"exact">;
1722
+ pattern: z.ZodString;
1723
+ }, z.core.$strict>, z.ZodObject<{
1724
+ rate: z.ZodOptional<z.ZodBoolean>;
1725
+ type: z.ZodLiteral<"shell">;
1726
+ matcher: z.ZodLiteral<"glob">;
1727
+ pattern: z.ZodString;
1728
+ }, z.core.$strict>, z.ZodObject<{
1729
+ rate: z.ZodOptional<z.ZodBoolean>;
1730
+ type: z.ZodLiteral<"shell">;
1731
+ matcher: z.ZodLiteral<"regexp">;
1732
+ pattern: z.ZodString;
1733
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1734
+ rate: z.ZodOptional<z.ZodBoolean>;
1735
+ host: z.ZodOptional<z.ZodString>;
1736
+ type: z.ZodLiteral<"tool">;
1737
+ matcher: z.ZodLiteral<"exact">;
1738
+ pattern: z.ZodString;
1739
+ }, z.core.$strict>, z.ZodObject<{
1740
+ rate: z.ZodOptional<z.ZodBoolean>;
1741
+ host: z.ZodOptional<z.ZodString>;
1742
+ type: z.ZodLiteral<"tool">;
1743
+ matcher: z.ZodLiteral<"glob">;
1744
+ pattern: z.ZodString;
1745
+ }, z.core.$strict>, z.ZodObject<{
1746
+ rate: z.ZodOptional<z.ZodBoolean>;
1747
+ host: z.ZodOptional<z.ZodString>;
1748
+ type: z.ZodLiteral<"tool">;
1749
+ matcher: z.ZodLiteral<"regexp">;
1750
+ pattern: z.ZodString;
1751
+ }, z.core.$strict>, z.ZodObject<{
1752
+ rate: z.ZodOptional<z.ZodBoolean>;
1753
+ host: z.ZodOptional<z.ZodString>;
1754
+ type: z.ZodLiteral<"tool">;
1755
+ matcher: z.ZodLiteral<"hint">;
1756
+ pattern: z.ZodObject<{
1757
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1758
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1759
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1760
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1761
+ }, z.core.$strict>;
1762
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1763
+ rate: z.ZodOptional<z.ZodBoolean>;
1764
+ host: z.ZodOptional<z.ZodString>;
1765
+ type: z.ZodLiteral<"mcpTool">;
1766
+ matcher: z.ZodLiteral<"exact">;
1767
+ server: z.ZodString;
1768
+ pattern: z.ZodString;
1769
+ }, z.core.$strict>, z.ZodObject<{
1770
+ rate: z.ZodOptional<z.ZodBoolean>;
1771
+ host: z.ZodOptional<z.ZodString>;
1772
+ type: z.ZodLiteral<"mcpTool">;
1773
+ matcher: z.ZodLiteral<"glob">;
1774
+ server: z.ZodString;
1775
+ pattern: z.ZodString;
1776
+ }, z.core.$strict>, z.ZodObject<{
1777
+ rate: z.ZodOptional<z.ZodBoolean>;
1778
+ host: z.ZodOptional<z.ZodString>;
1779
+ type: z.ZodLiteral<"mcpTool">;
1780
+ matcher: z.ZodLiteral<"regexp">;
1781
+ server: z.ZodString;
1782
+ pattern: z.ZodString;
1783
+ }, z.core.$strict>, z.ZodObject<{
1784
+ rate: z.ZodOptional<z.ZodBoolean>;
1785
+ host: z.ZodOptional<z.ZodString>;
1786
+ type: z.ZodLiteral<"mcpTool">;
1787
+ matcher: z.ZodLiteral<"hint">;
1788
+ server: z.ZodString;
1789
+ pattern: z.ZodObject<{
1790
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1791
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1792
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1793
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1794
+ }, z.core.$strict>;
1795
+ }, z.core.$strict>], "matcher">], "type">>>;
1796
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1797
+ rate: z.ZodOptional<z.ZodBoolean>;
1798
+ type: z.ZodLiteral<"shell">;
1799
+ matcher: z.ZodLiteral<"exact">;
1800
+ pattern: z.ZodString;
1801
+ }, z.core.$strict>, z.ZodObject<{
1802
+ rate: z.ZodOptional<z.ZodBoolean>;
1803
+ type: z.ZodLiteral<"shell">;
1804
+ matcher: z.ZodLiteral<"glob">;
1805
+ pattern: z.ZodString;
1806
+ }, z.core.$strict>, z.ZodObject<{
1807
+ rate: z.ZodOptional<z.ZodBoolean>;
1808
+ type: z.ZodLiteral<"shell">;
1809
+ matcher: z.ZodLiteral<"regexp">;
1810
+ pattern: z.ZodString;
1811
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1812
+ rate: z.ZodOptional<z.ZodBoolean>;
1813
+ host: z.ZodOptional<z.ZodString>;
1814
+ type: z.ZodLiteral<"tool">;
1815
+ matcher: z.ZodLiteral<"exact">;
1816
+ pattern: z.ZodString;
1817
+ }, z.core.$strict>, z.ZodObject<{
1818
+ rate: z.ZodOptional<z.ZodBoolean>;
1819
+ host: z.ZodOptional<z.ZodString>;
1820
+ type: z.ZodLiteral<"tool">;
1821
+ matcher: z.ZodLiteral<"glob">;
1822
+ pattern: z.ZodString;
1823
+ }, z.core.$strict>, z.ZodObject<{
1824
+ rate: z.ZodOptional<z.ZodBoolean>;
1825
+ host: z.ZodOptional<z.ZodString>;
1826
+ type: z.ZodLiteral<"tool">;
1827
+ matcher: z.ZodLiteral<"regexp">;
1828
+ pattern: z.ZodString;
1829
+ }, z.core.$strict>, z.ZodObject<{
1830
+ rate: z.ZodOptional<z.ZodBoolean>;
1831
+ host: z.ZodOptional<z.ZodString>;
1832
+ type: z.ZodLiteral<"tool">;
1833
+ matcher: z.ZodLiteral<"hint">;
1834
+ pattern: z.ZodObject<{
1835
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1836
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1837
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1838
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1839
+ }, z.core.$strict>;
1840
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1841
+ rate: z.ZodOptional<z.ZodBoolean>;
1842
+ host: z.ZodOptional<z.ZodString>;
1843
+ type: z.ZodLiteral<"mcpTool">;
1844
+ matcher: z.ZodLiteral<"exact">;
1845
+ server: z.ZodString;
1846
+ pattern: z.ZodString;
1847
+ }, z.core.$strict>, z.ZodObject<{
1848
+ rate: z.ZodOptional<z.ZodBoolean>;
1849
+ host: z.ZodOptional<z.ZodString>;
1850
+ type: z.ZodLiteral<"mcpTool">;
1851
+ matcher: z.ZodLiteral<"glob">;
1852
+ server: z.ZodString;
1853
+ pattern: z.ZodString;
1854
+ }, z.core.$strict>, z.ZodObject<{
1855
+ rate: z.ZodOptional<z.ZodBoolean>;
1856
+ host: z.ZodOptional<z.ZodString>;
1857
+ type: z.ZodLiteral<"mcpTool">;
1858
+ matcher: z.ZodLiteral<"regexp">;
1859
+ server: z.ZodString;
1860
+ pattern: z.ZodString;
1861
+ }, z.core.$strict>, z.ZodObject<{
1862
+ rate: z.ZodOptional<z.ZodBoolean>;
1863
+ host: z.ZodOptional<z.ZodString>;
1864
+ type: z.ZodLiteral<"mcpTool">;
1865
+ matcher: z.ZodLiteral<"hint">;
1866
+ server: z.ZodString;
1867
+ pattern: z.ZodObject<{
1868
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1869
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1870
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1871
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1872
+ }, z.core.$strict>;
1873
+ }, z.core.$strict>], "matcher">], "type">>>;
1874
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
1875
+ mcp: z.ZodOptional<z.ZodObject<{
1876
+ defaults: z.ZodOptional<z.ZodObject<{
1877
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1878
+ destructiveHint: "destructiveHint";
1879
+ idempotentHint: "idempotentHint";
1880
+ openWorldHint: "openWorldHint";
1881
+ readOnlyHint: "readOnlyHint";
1882
+ }>>>;
1883
+ }, z.core.$strict>>;
1884
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1885
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1886
+ destructiveHint: "destructiveHint";
1887
+ idempotentHint: "idempotentHint";
1888
+ openWorldHint: "openWorldHint";
1889
+ readOnlyHint: "readOnlyHint";
1890
+ }>>>;
1891
+ }, z.core.$strict>>>;
1892
+ }, z.core.$strict>>;
1893
+ }, z.core.$strip>]>>;
278
1894
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
279
1895
  command: z.ZodString;
280
1896
  description: z.ZodString;
@@ -283,8 +1899,8 @@ export declare const rawGthConfigSchema: z.ZodObject<{
283
1899
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
284
1900
  "absolute-paths": "absolute-paths";
285
1901
  "directory-traversal": "directory-traversal";
286
- "shell-injection": "shell-injection";
287
1902
  "null-bytes": "null-bytes";
1903
+ "shell-injection": "shell-injection";
288
1904
  }>>>;
289
1905
  }, z.core.$strip>>>;
290
1906
  timeout: z.ZodOptional<z.ZodNumber>;
@@ -292,11 +1908,11 @@ export declare const rawGthConfigSchema: z.ZodObject<{
292
1908
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
293
1909
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
294
1910
  type: z.ZodEnum<{
1911
+ audio: "audio";
295
1912
  binary: "binary";
1913
+ file: "file";
296
1914
  image: "image";
297
- audio: "audio";
298
1915
  video: "video";
299
- file: "file";
300
1916
  }>;
301
1917
  extensions: z.ZodArray<z.ZodString>;
302
1918
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -306,10 +1922,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
306
1922
  code: z.ZodOptional<z.ZodObject<{
307
1923
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
308
1924
  all: "all";
309
- read: "read";
310
1925
  none: "none";
1926
+ read: "read";
311
1927
  }>]>>;
312
- builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
1928
+ builtInTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1929
+ enabled: z.ZodOptional<z.ZodBoolean>;
1930
+ command: z.ZodOptional<z.ZodString>;
1931
+ timeout: z.ZodOptional<z.ZodNumber>;
1932
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
1933
+ maxBytes: z.ZodOptional<z.ZodNumber>;
1934
+ fileSet: z.ZodOptional<z.ZodEnum<{
1935
+ all: "all";
1936
+ gitignore: "gitignore";
1937
+ }>>;
1938
+ }, z.core.$strip>]>>]>>;
1939
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1940
+ assisted: "assisted";
1941
+ auto: "auto";
1942
+ bypass: "bypass";
1943
+ manual: "manual";
1944
+ write: "write";
1945
+ }>, z.ZodObject<{
1946
+ mode: z.ZodOptional<z.ZodEnum<{
1947
+ assisted: "assisted";
1948
+ auto: "auto";
1949
+ bypass: "bypass";
1950
+ manual: "manual";
1951
+ write: "write";
1952
+ }>>;
1953
+ rater: z.ZodOptional<z.ZodString>;
1954
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
1955
+ rate: z.ZodOptional<z.ZodBoolean>;
1956
+ type: z.ZodLiteral<"shell">;
1957
+ matcher: z.ZodLiteral<"exact">;
1958
+ pattern: z.ZodString;
1959
+ }, z.core.$strict>, z.ZodObject<{
1960
+ rate: z.ZodOptional<z.ZodBoolean>;
1961
+ type: z.ZodLiteral<"shell">;
1962
+ matcher: z.ZodLiteral<"glob">;
1963
+ pattern: z.ZodString;
1964
+ }, z.core.$strict>, z.ZodObject<{
1965
+ rate: z.ZodOptional<z.ZodBoolean>;
1966
+ type: z.ZodLiteral<"shell">;
1967
+ matcher: z.ZodLiteral<"regexp">;
1968
+ pattern: z.ZodString;
1969
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1970
+ rate: z.ZodOptional<z.ZodBoolean>;
1971
+ host: z.ZodOptional<z.ZodString>;
1972
+ type: z.ZodLiteral<"tool">;
1973
+ matcher: z.ZodLiteral<"exact">;
1974
+ pattern: z.ZodString;
1975
+ }, z.core.$strict>, z.ZodObject<{
1976
+ rate: z.ZodOptional<z.ZodBoolean>;
1977
+ host: z.ZodOptional<z.ZodString>;
1978
+ type: z.ZodLiteral<"tool">;
1979
+ matcher: z.ZodLiteral<"glob">;
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<"tool">;
1985
+ matcher: z.ZodLiteral<"regexp">;
1986
+ pattern: z.ZodString;
1987
+ }, z.core.$strict>, z.ZodObject<{
1988
+ rate: z.ZodOptional<z.ZodBoolean>;
1989
+ host: z.ZodOptional<z.ZodString>;
1990
+ type: z.ZodLiteral<"tool">;
1991
+ matcher: z.ZodLiteral<"hint">;
1992
+ pattern: z.ZodObject<{
1993
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
1994
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
1995
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
1996
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
1997
+ }, z.core.$strict>;
1998
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
1999
+ rate: z.ZodOptional<z.ZodBoolean>;
2000
+ host: z.ZodOptional<z.ZodString>;
2001
+ type: z.ZodLiteral<"mcpTool">;
2002
+ matcher: z.ZodLiteral<"exact">;
2003
+ server: z.ZodString;
2004
+ pattern: z.ZodString;
2005
+ }, z.core.$strict>, z.ZodObject<{
2006
+ rate: z.ZodOptional<z.ZodBoolean>;
2007
+ host: z.ZodOptional<z.ZodString>;
2008
+ type: z.ZodLiteral<"mcpTool">;
2009
+ matcher: z.ZodLiteral<"glob">;
2010
+ server: z.ZodString;
2011
+ pattern: z.ZodString;
2012
+ }, z.core.$strict>, z.ZodObject<{
2013
+ rate: z.ZodOptional<z.ZodBoolean>;
2014
+ host: z.ZodOptional<z.ZodString>;
2015
+ type: z.ZodLiteral<"mcpTool">;
2016
+ matcher: z.ZodLiteral<"regexp">;
2017
+ server: z.ZodString;
2018
+ pattern: z.ZodString;
2019
+ }, z.core.$strict>, z.ZodObject<{
2020
+ rate: z.ZodOptional<z.ZodBoolean>;
2021
+ host: z.ZodOptional<z.ZodString>;
2022
+ type: z.ZodLiteral<"mcpTool">;
2023
+ matcher: z.ZodLiteral<"hint">;
2024
+ server: z.ZodString;
2025
+ pattern: z.ZodObject<{
2026
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2027
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2028
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2029
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2030
+ }, z.core.$strict>;
2031
+ }, z.core.$strict>], "matcher">], "type">>>;
2032
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2033
+ rate: z.ZodOptional<z.ZodBoolean>;
2034
+ type: z.ZodLiteral<"shell">;
2035
+ matcher: z.ZodLiteral<"exact">;
2036
+ pattern: z.ZodString;
2037
+ }, z.core.$strict>, z.ZodObject<{
2038
+ rate: z.ZodOptional<z.ZodBoolean>;
2039
+ type: z.ZodLiteral<"shell">;
2040
+ matcher: z.ZodLiteral<"glob">;
2041
+ pattern: z.ZodString;
2042
+ }, z.core.$strict>, z.ZodObject<{
2043
+ rate: z.ZodOptional<z.ZodBoolean>;
2044
+ type: z.ZodLiteral<"shell">;
2045
+ matcher: z.ZodLiteral<"regexp">;
2046
+ pattern: z.ZodString;
2047
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2048
+ rate: z.ZodOptional<z.ZodBoolean>;
2049
+ host: z.ZodOptional<z.ZodString>;
2050
+ type: z.ZodLiteral<"tool">;
2051
+ matcher: z.ZodLiteral<"exact">;
2052
+ pattern: z.ZodString;
2053
+ }, z.core.$strict>, z.ZodObject<{
2054
+ rate: z.ZodOptional<z.ZodBoolean>;
2055
+ host: z.ZodOptional<z.ZodString>;
2056
+ type: z.ZodLiteral<"tool">;
2057
+ matcher: z.ZodLiteral<"glob">;
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<"tool">;
2063
+ matcher: z.ZodLiteral<"regexp">;
2064
+ pattern: z.ZodString;
2065
+ }, z.core.$strict>, z.ZodObject<{
2066
+ rate: z.ZodOptional<z.ZodBoolean>;
2067
+ host: z.ZodOptional<z.ZodString>;
2068
+ type: z.ZodLiteral<"tool">;
2069
+ matcher: z.ZodLiteral<"hint">;
2070
+ pattern: z.ZodObject<{
2071
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2072
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2073
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2074
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2075
+ }, z.core.$strict>;
2076
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2077
+ rate: z.ZodOptional<z.ZodBoolean>;
2078
+ host: z.ZodOptional<z.ZodString>;
2079
+ type: z.ZodLiteral<"mcpTool">;
2080
+ matcher: z.ZodLiteral<"exact">;
2081
+ server: z.ZodString;
2082
+ pattern: z.ZodString;
2083
+ }, z.core.$strict>, z.ZodObject<{
2084
+ rate: z.ZodOptional<z.ZodBoolean>;
2085
+ host: z.ZodOptional<z.ZodString>;
2086
+ type: z.ZodLiteral<"mcpTool">;
2087
+ matcher: z.ZodLiteral<"glob">;
2088
+ server: z.ZodString;
2089
+ pattern: z.ZodString;
2090
+ }, z.core.$strict>, z.ZodObject<{
2091
+ rate: z.ZodOptional<z.ZodBoolean>;
2092
+ host: z.ZodOptional<z.ZodString>;
2093
+ type: z.ZodLiteral<"mcpTool">;
2094
+ matcher: z.ZodLiteral<"regexp">;
2095
+ server: z.ZodString;
2096
+ pattern: z.ZodString;
2097
+ }, z.core.$strict>, z.ZodObject<{
2098
+ rate: z.ZodOptional<z.ZodBoolean>;
2099
+ host: z.ZodOptional<z.ZodString>;
2100
+ type: z.ZodLiteral<"mcpTool">;
2101
+ matcher: z.ZodLiteral<"hint">;
2102
+ server: z.ZodString;
2103
+ pattern: z.ZodObject<{
2104
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2105
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2106
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2107
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2108
+ }, z.core.$strict>;
2109
+ }, z.core.$strict>], "matcher">], "type">>>;
2110
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2111
+ rate: z.ZodOptional<z.ZodBoolean>;
2112
+ type: z.ZodLiteral<"shell">;
2113
+ matcher: z.ZodLiteral<"exact">;
2114
+ pattern: z.ZodString;
2115
+ }, z.core.$strict>, z.ZodObject<{
2116
+ rate: z.ZodOptional<z.ZodBoolean>;
2117
+ type: z.ZodLiteral<"shell">;
2118
+ matcher: z.ZodLiteral<"glob">;
2119
+ pattern: z.ZodString;
2120
+ }, z.core.$strict>, z.ZodObject<{
2121
+ rate: z.ZodOptional<z.ZodBoolean>;
2122
+ type: z.ZodLiteral<"shell">;
2123
+ matcher: z.ZodLiteral<"regexp">;
2124
+ pattern: z.ZodString;
2125
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2126
+ rate: z.ZodOptional<z.ZodBoolean>;
2127
+ host: z.ZodOptional<z.ZodString>;
2128
+ type: z.ZodLiteral<"tool">;
2129
+ matcher: z.ZodLiteral<"exact">;
2130
+ pattern: z.ZodString;
2131
+ }, z.core.$strict>, z.ZodObject<{
2132
+ rate: z.ZodOptional<z.ZodBoolean>;
2133
+ host: z.ZodOptional<z.ZodString>;
2134
+ type: z.ZodLiteral<"tool">;
2135
+ matcher: z.ZodLiteral<"glob">;
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<"tool">;
2141
+ matcher: z.ZodLiteral<"regexp">;
2142
+ pattern: z.ZodString;
2143
+ }, z.core.$strict>, z.ZodObject<{
2144
+ rate: z.ZodOptional<z.ZodBoolean>;
2145
+ host: z.ZodOptional<z.ZodString>;
2146
+ type: z.ZodLiteral<"tool">;
2147
+ matcher: z.ZodLiteral<"hint">;
2148
+ pattern: z.ZodObject<{
2149
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2150
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2151
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2152
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2153
+ }, z.core.$strict>;
2154
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2155
+ rate: z.ZodOptional<z.ZodBoolean>;
2156
+ host: z.ZodOptional<z.ZodString>;
2157
+ type: z.ZodLiteral<"mcpTool">;
2158
+ matcher: z.ZodLiteral<"exact">;
2159
+ server: z.ZodString;
2160
+ pattern: z.ZodString;
2161
+ }, z.core.$strict>, z.ZodObject<{
2162
+ rate: z.ZodOptional<z.ZodBoolean>;
2163
+ host: z.ZodOptional<z.ZodString>;
2164
+ type: z.ZodLiteral<"mcpTool">;
2165
+ matcher: z.ZodLiteral<"glob">;
2166
+ server: z.ZodString;
2167
+ pattern: z.ZodString;
2168
+ }, z.core.$strict>, z.ZodObject<{
2169
+ rate: z.ZodOptional<z.ZodBoolean>;
2170
+ host: z.ZodOptional<z.ZodString>;
2171
+ type: z.ZodLiteral<"mcpTool">;
2172
+ matcher: z.ZodLiteral<"regexp">;
2173
+ server: z.ZodString;
2174
+ pattern: z.ZodString;
2175
+ }, z.core.$strict>, z.ZodObject<{
2176
+ rate: z.ZodOptional<z.ZodBoolean>;
2177
+ host: z.ZodOptional<z.ZodString>;
2178
+ type: z.ZodLiteral<"mcpTool">;
2179
+ matcher: z.ZodLiteral<"hint">;
2180
+ server: z.ZodString;
2181
+ pattern: z.ZodObject<{
2182
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2183
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2184
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2185
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2186
+ }, z.core.$strict>;
2187
+ }, z.core.$strict>], "matcher">], "type">>>;
2188
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
2189
+ mcp: z.ZodOptional<z.ZodObject<{
2190
+ defaults: z.ZodOptional<z.ZodObject<{
2191
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2192
+ destructiveHint: "destructiveHint";
2193
+ idempotentHint: "idempotentHint";
2194
+ openWorldHint: "openWorldHint";
2195
+ readOnlyHint: "readOnlyHint";
2196
+ }>>>;
2197
+ }, z.core.$strict>>;
2198
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2199
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2200
+ destructiveHint: "destructiveHint";
2201
+ idempotentHint: "idempotentHint";
2202
+ openWorldHint: "openWorldHint";
2203
+ readOnlyHint: "readOnlyHint";
2204
+ }>>>;
2205
+ }, z.core.$strict>>>;
2206
+ }, z.core.$strict>>;
2207
+ }, z.core.$strip>]>>;
313
2208
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
314
2209
  command: z.ZodString;
315
2210
  description: z.ZodString;
@@ -318,45 +2213,20 @@ export declare const rawGthConfigSchema: z.ZodObject<{
318
2213
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
319
2214
  "absolute-paths": "absolute-paths";
320
2215
  "directory-traversal": "directory-traversal";
321
- "shell-injection": "shell-injection";
322
2216
  "null-bytes": "null-bytes";
2217
+ "shell-injection": "shell-injection";
323
2218
  }>>>;
324
2219
  }, z.core.$strip>>>;
325
2220
  timeout: z.ZodOptional<z.ZodNumber>;
326
2221
  }, z.core.$strip>>]>>;
327
2222
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
328
- devTools: z.ZodOptional<z.ZodObject<{
329
- run_tests: z.ZodOptional<z.ZodString>;
330
- run_lint: z.ZodOptional<z.ZodString>;
331
- run_build: z.ZodOptional<z.ZodString>;
332
- run_single_test: z.ZodOptional<z.ZodString>;
333
- shell: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
334
- enabled: z.ZodOptional<z.ZodBoolean>;
335
- timeout: z.ZodOptional<z.ZodNumber>;
336
- maxOutputBytes: z.ZodOptional<z.ZodNumber>;
337
- allowlist: z.ZodOptional<z.ZodBoolean>;
338
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
339
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
340
- enabled: z.ZodOptional<z.ZodBoolean>;
341
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
342
- blockHigh: z.ZodOptional<z.ZodBoolean>;
343
- model: z.ZodOptional<z.ZodObject<{
344
- type: z.ZodOptional<z.ZodString>;
345
- model: z.ZodOptional<z.ZodString>;
346
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
347
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
348
- }, z.core.$loose>>;
349
- }, z.core.$strip>]>>;
350
- }, z.core.$strip>]>>;
351
- shellYolo: z.ZodOptional<z.ZodBoolean>;
352
- }, z.core.$strip>>;
353
2223
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
354
2224
  type: z.ZodEnum<{
2225
+ audio: "audio";
355
2226
  binary: "binary";
2227
+ file: "file";
356
2228
  image: "image";
357
- audio: "audio";
358
2229
  video: "video";
359
- file: "file";
360
2230
  }>;
361
2231
  extensions: z.ZodArray<z.ZodString>;
362
2232
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -366,10 +2236,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
366
2236
  exec: z.ZodOptional<z.ZodObject<{
367
2237
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
368
2238
  all: "all";
369
- read: "read";
370
2239
  none: "none";
2240
+ read: "read";
371
2241
  }>]>>;
372
- builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
2242
+ builtInTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2243
+ enabled: z.ZodOptional<z.ZodBoolean>;
2244
+ command: z.ZodOptional<z.ZodString>;
2245
+ timeout: z.ZodOptional<z.ZodNumber>;
2246
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
2247
+ maxBytes: z.ZodOptional<z.ZodNumber>;
2248
+ fileSet: z.ZodOptional<z.ZodEnum<{
2249
+ all: "all";
2250
+ gitignore: "gitignore";
2251
+ }>>;
2252
+ }, z.core.$strip>]>>]>>;
2253
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2254
+ assisted: "assisted";
2255
+ auto: "auto";
2256
+ bypass: "bypass";
2257
+ manual: "manual";
2258
+ write: "write";
2259
+ }>, z.ZodObject<{
2260
+ mode: z.ZodOptional<z.ZodEnum<{
2261
+ assisted: "assisted";
2262
+ auto: "auto";
2263
+ bypass: "bypass";
2264
+ manual: "manual";
2265
+ write: "write";
2266
+ }>>;
2267
+ rater: z.ZodOptional<z.ZodString>;
2268
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2269
+ rate: z.ZodOptional<z.ZodBoolean>;
2270
+ type: z.ZodLiteral<"shell">;
2271
+ matcher: z.ZodLiteral<"exact">;
2272
+ pattern: z.ZodString;
2273
+ }, z.core.$strict>, z.ZodObject<{
2274
+ rate: z.ZodOptional<z.ZodBoolean>;
2275
+ type: z.ZodLiteral<"shell">;
2276
+ matcher: z.ZodLiteral<"glob">;
2277
+ pattern: z.ZodString;
2278
+ }, z.core.$strict>, z.ZodObject<{
2279
+ rate: z.ZodOptional<z.ZodBoolean>;
2280
+ type: z.ZodLiteral<"shell">;
2281
+ matcher: z.ZodLiteral<"regexp">;
2282
+ pattern: z.ZodString;
2283
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2284
+ rate: z.ZodOptional<z.ZodBoolean>;
2285
+ host: z.ZodOptional<z.ZodString>;
2286
+ type: z.ZodLiteral<"tool">;
2287
+ matcher: z.ZodLiteral<"exact">;
2288
+ pattern: z.ZodString;
2289
+ }, z.core.$strict>, z.ZodObject<{
2290
+ rate: z.ZodOptional<z.ZodBoolean>;
2291
+ host: z.ZodOptional<z.ZodString>;
2292
+ type: z.ZodLiteral<"tool">;
2293
+ matcher: z.ZodLiteral<"glob">;
2294
+ pattern: z.ZodString;
2295
+ }, z.core.$strict>, z.ZodObject<{
2296
+ rate: z.ZodOptional<z.ZodBoolean>;
2297
+ host: z.ZodOptional<z.ZodString>;
2298
+ type: z.ZodLiteral<"tool">;
2299
+ matcher: z.ZodLiteral<"regexp">;
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<"tool">;
2305
+ matcher: z.ZodLiteral<"hint">;
2306
+ pattern: z.ZodObject<{
2307
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2308
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2309
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2310
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2311
+ }, z.core.$strict>;
2312
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2313
+ rate: z.ZodOptional<z.ZodBoolean>;
2314
+ host: z.ZodOptional<z.ZodString>;
2315
+ type: z.ZodLiteral<"mcpTool">;
2316
+ matcher: z.ZodLiteral<"exact">;
2317
+ server: z.ZodString;
2318
+ pattern: z.ZodString;
2319
+ }, z.core.$strict>, z.ZodObject<{
2320
+ rate: z.ZodOptional<z.ZodBoolean>;
2321
+ host: z.ZodOptional<z.ZodString>;
2322
+ type: z.ZodLiteral<"mcpTool">;
2323
+ matcher: z.ZodLiteral<"glob">;
2324
+ server: z.ZodString;
2325
+ pattern: z.ZodString;
2326
+ }, z.core.$strict>, z.ZodObject<{
2327
+ rate: z.ZodOptional<z.ZodBoolean>;
2328
+ host: z.ZodOptional<z.ZodString>;
2329
+ type: z.ZodLiteral<"mcpTool">;
2330
+ matcher: z.ZodLiteral<"regexp">;
2331
+ server: z.ZodString;
2332
+ pattern: z.ZodString;
2333
+ }, z.core.$strict>, z.ZodObject<{
2334
+ rate: z.ZodOptional<z.ZodBoolean>;
2335
+ host: z.ZodOptional<z.ZodString>;
2336
+ type: z.ZodLiteral<"mcpTool">;
2337
+ matcher: z.ZodLiteral<"hint">;
2338
+ server: z.ZodString;
2339
+ pattern: z.ZodObject<{
2340
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2341
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2342
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2343
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2344
+ }, z.core.$strict>;
2345
+ }, z.core.$strict>], "matcher">], "type">>>;
2346
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2347
+ rate: z.ZodOptional<z.ZodBoolean>;
2348
+ type: z.ZodLiteral<"shell">;
2349
+ matcher: z.ZodLiteral<"exact">;
2350
+ pattern: z.ZodString;
2351
+ }, z.core.$strict>, z.ZodObject<{
2352
+ rate: z.ZodOptional<z.ZodBoolean>;
2353
+ type: z.ZodLiteral<"shell">;
2354
+ matcher: z.ZodLiteral<"glob">;
2355
+ pattern: z.ZodString;
2356
+ }, z.core.$strict>, z.ZodObject<{
2357
+ rate: z.ZodOptional<z.ZodBoolean>;
2358
+ type: z.ZodLiteral<"shell">;
2359
+ matcher: z.ZodLiteral<"regexp">;
2360
+ pattern: z.ZodString;
2361
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2362
+ rate: z.ZodOptional<z.ZodBoolean>;
2363
+ host: z.ZodOptional<z.ZodString>;
2364
+ type: z.ZodLiteral<"tool">;
2365
+ matcher: z.ZodLiteral<"exact">;
2366
+ pattern: z.ZodString;
2367
+ }, z.core.$strict>, z.ZodObject<{
2368
+ rate: z.ZodOptional<z.ZodBoolean>;
2369
+ host: z.ZodOptional<z.ZodString>;
2370
+ type: z.ZodLiteral<"tool">;
2371
+ matcher: z.ZodLiteral<"glob">;
2372
+ pattern: z.ZodString;
2373
+ }, z.core.$strict>, z.ZodObject<{
2374
+ rate: z.ZodOptional<z.ZodBoolean>;
2375
+ host: z.ZodOptional<z.ZodString>;
2376
+ type: z.ZodLiteral<"tool">;
2377
+ matcher: z.ZodLiteral<"regexp">;
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<"tool">;
2383
+ matcher: z.ZodLiteral<"hint">;
2384
+ pattern: z.ZodObject<{
2385
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2386
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2387
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2388
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2389
+ }, z.core.$strict>;
2390
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2391
+ rate: z.ZodOptional<z.ZodBoolean>;
2392
+ host: z.ZodOptional<z.ZodString>;
2393
+ type: z.ZodLiteral<"mcpTool">;
2394
+ matcher: z.ZodLiteral<"exact">;
2395
+ server: z.ZodString;
2396
+ pattern: z.ZodString;
2397
+ }, z.core.$strict>, z.ZodObject<{
2398
+ rate: z.ZodOptional<z.ZodBoolean>;
2399
+ host: z.ZodOptional<z.ZodString>;
2400
+ type: z.ZodLiteral<"mcpTool">;
2401
+ matcher: z.ZodLiteral<"glob">;
2402
+ server: z.ZodString;
2403
+ pattern: z.ZodString;
2404
+ }, z.core.$strict>, z.ZodObject<{
2405
+ rate: z.ZodOptional<z.ZodBoolean>;
2406
+ host: z.ZodOptional<z.ZodString>;
2407
+ type: z.ZodLiteral<"mcpTool">;
2408
+ matcher: z.ZodLiteral<"regexp">;
2409
+ server: z.ZodString;
2410
+ pattern: z.ZodString;
2411
+ }, z.core.$strict>, z.ZodObject<{
2412
+ rate: z.ZodOptional<z.ZodBoolean>;
2413
+ host: z.ZodOptional<z.ZodString>;
2414
+ type: z.ZodLiteral<"mcpTool">;
2415
+ matcher: z.ZodLiteral<"hint">;
2416
+ server: z.ZodString;
2417
+ pattern: z.ZodObject<{
2418
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2419
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2420
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2421
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2422
+ }, z.core.$strict>;
2423
+ }, z.core.$strict>], "matcher">], "type">>>;
2424
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2425
+ rate: z.ZodOptional<z.ZodBoolean>;
2426
+ type: z.ZodLiteral<"shell">;
2427
+ matcher: z.ZodLiteral<"exact">;
2428
+ pattern: z.ZodString;
2429
+ }, z.core.$strict>, z.ZodObject<{
2430
+ rate: z.ZodOptional<z.ZodBoolean>;
2431
+ type: z.ZodLiteral<"shell">;
2432
+ matcher: z.ZodLiteral<"glob">;
2433
+ pattern: z.ZodString;
2434
+ }, z.core.$strict>, z.ZodObject<{
2435
+ rate: z.ZodOptional<z.ZodBoolean>;
2436
+ type: z.ZodLiteral<"shell">;
2437
+ matcher: z.ZodLiteral<"regexp">;
2438
+ pattern: z.ZodString;
2439
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2440
+ rate: z.ZodOptional<z.ZodBoolean>;
2441
+ host: z.ZodOptional<z.ZodString>;
2442
+ type: z.ZodLiteral<"tool">;
2443
+ matcher: z.ZodLiteral<"exact">;
2444
+ pattern: z.ZodString;
2445
+ }, z.core.$strict>, z.ZodObject<{
2446
+ rate: z.ZodOptional<z.ZodBoolean>;
2447
+ host: z.ZodOptional<z.ZodString>;
2448
+ type: z.ZodLiteral<"tool">;
2449
+ matcher: z.ZodLiteral<"glob">;
2450
+ pattern: z.ZodString;
2451
+ }, z.core.$strict>, z.ZodObject<{
2452
+ rate: z.ZodOptional<z.ZodBoolean>;
2453
+ host: z.ZodOptional<z.ZodString>;
2454
+ type: z.ZodLiteral<"tool">;
2455
+ matcher: z.ZodLiteral<"regexp">;
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<"tool">;
2461
+ matcher: z.ZodLiteral<"hint">;
2462
+ pattern: z.ZodObject<{
2463
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2464
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2465
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2466
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2467
+ }, z.core.$strict>;
2468
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2469
+ rate: z.ZodOptional<z.ZodBoolean>;
2470
+ host: z.ZodOptional<z.ZodString>;
2471
+ type: z.ZodLiteral<"mcpTool">;
2472
+ matcher: z.ZodLiteral<"exact">;
2473
+ server: z.ZodString;
2474
+ pattern: z.ZodString;
2475
+ }, z.core.$strict>, z.ZodObject<{
2476
+ rate: z.ZodOptional<z.ZodBoolean>;
2477
+ host: z.ZodOptional<z.ZodString>;
2478
+ type: z.ZodLiteral<"mcpTool">;
2479
+ matcher: z.ZodLiteral<"glob">;
2480
+ server: z.ZodString;
2481
+ pattern: z.ZodString;
2482
+ }, z.core.$strict>, z.ZodObject<{
2483
+ rate: z.ZodOptional<z.ZodBoolean>;
2484
+ host: z.ZodOptional<z.ZodString>;
2485
+ type: z.ZodLiteral<"mcpTool">;
2486
+ matcher: z.ZodLiteral<"regexp">;
2487
+ server: z.ZodString;
2488
+ pattern: z.ZodString;
2489
+ }, z.core.$strict>, z.ZodObject<{
2490
+ rate: z.ZodOptional<z.ZodBoolean>;
2491
+ host: z.ZodOptional<z.ZodString>;
2492
+ type: z.ZodLiteral<"mcpTool">;
2493
+ matcher: z.ZodLiteral<"hint">;
2494
+ server: z.ZodString;
2495
+ pattern: z.ZodObject<{
2496
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2497
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2498
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2499
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2500
+ }, z.core.$strict>;
2501
+ }, z.core.$strict>], "matcher">], "type">>>;
2502
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
2503
+ mcp: z.ZodOptional<z.ZodObject<{
2504
+ defaults: z.ZodOptional<z.ZodObject<{
2505
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2506
+ destructiveHint: "destructiveHint";
2507
+ idempotentHint: "idempotentHint";
2508
+ openWorldHint: "openWorldHint";
2509
+ readOnlyHint: "readOnlyHint";
2510
+ }>>>;
2511
+ }, z.core.$strict>>;
2512
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2513
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2514
+ destructiveHint: "destructiveHint";
2515
+ idempotentHint: "idempotentHint";
2516
+ openWorldHint: "openWorldHint";
2517
+ readOnlyHint: "readOnlyHint";
2518
+ }>>>;
2519
+ }, z.core.$strict>>>;
2520
+ }, z.core.$strict>>;
2521
+ }, z.core.$strip>]>>;
373
2522
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
374
2523
  command: z.ZodString;
375
2524
  description: z.ZodString;
@@ -378,45 +2527,20 @@ export declare const rawGthConfigSchema: z.ZodObject<{
378
2527
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
379
2528
  "absolute-paths": "absolute-paths";
380
2529
  "directory-traversal": "directory-traversal";
381
- "shell-injection": "shell-injection";
382
2530
  "null-bytes": "null-bytes";
2531
+ "shell-injection": "shell-injection";
383
2532
  }>>>;
384
2533
  }, z.core.$strip>>>;
385
2534
  timeout: z.ZodOptional<z.ZodNumber>;
386
2535
  }, z.core.$strip>>]>>;
387
2536
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
388
- devTools: z.ZodOptional<z.ZodObject<{
389
- run_tests: z.ZodOptional<z.ZodString>;
390
- run_lint: z.ZodOptional<z.ZodString>;
391
- run_build: z.ZodOptional<z.ZodString>;
392
- run_single_test: z.ZodOptional<z.ZodString>;
393
- shell: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
394
- enabled: z.ZodOptional<z.ZodBoolean>;
395
- timeout: z.ZodOptional<z.ZodNumber>;
396
- maxOutputBytes: z.ZodOptional<z.ZodNumber>;
397
- allowlist: z.ZodOptional<z.ZodBoolean>;
398
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
399
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
400
- enabled: z.ZodOptional<z.ZodBoolean>;
401
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
402
- blockHigh: z.ZodOptional<z.ZodBoolean>;
403
- model: z.ZodOptional<z.ZodObject<{
404
- type: z.ZodOptional<z.ZodString>;
405
- model: z.ZodOptional<z.ZodString>;
406
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
407
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
408
- }, z.core.$loose>>;
409
- }, z.core.$strip>]>>;
410
- }, z.core.$strip>]>>;
411
- shellYolo: z.ZodOptional<z.ZodBoolean>;
412
- }, z.core.$strip>>;
413
2537
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
414
2538
  type: z.ZodEnum<{
2539
+ audio: "audio";
415
2540
  binary: "binary";
2541
+ file: "file";
416
2542
  image: "image";
417
- audio: "audio";
418
2543
  video: "video";
419
- file: "file";
420
2544
  }>;
421
2545
  extensions: z.ZodArray<z.ZodString>;
422
2546
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -426,10 +2550,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
426
2550
  api: z.ZodOptional<z.ZodObject<{
427
2551
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
428
2552
  all: "all";
429
- read: "read";
430
2553
  none: "none";
2554
+ read: "read";
431
2555
  }>]>>;
432
- builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
2556
+ builtInTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2557
+ enabled: z.ZodOptional<z.ZodBoolean>;
2558
+ command: z.ZodOptional<z.ZodString>;
2559
+ timeout: z.ZodOptional<z.ZodNumber>;
2560
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
2561
+ maxBytes: z.ZodOptional<z.ZodNumber>;
2562
+ fileSet: z.ZodOptional<z.ZodEnum<{
2563
+ all: "all";
2564
+ gitignore: "gitignore";
2565
+ }>>;
2566
+ }, z.core.$strip>]>>]>>;
2567
+ approvals: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2568
+ assisted: "assisted";
2569
+ auto: "auto";
2570
+ bypass: "bypass";
2571
+ manual: "manual";
2572
+ write: "write";
2573
+ }>, z.ZodObject<{
2574
+ mode: z.ZodOptional<z.ZodEnum<{
2575
+ assisted: "assisted";
2576
+ auto: "auto";
2577
+ bypass: "bypass";
2578
+ manual: "manual";
2579
+ write: "write";
2580
+ }>>;
2581
+ rater: z.ZodOptional<z.ZodString>;
2582
+ allow: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2583
+ rate: z.ZodOptional<z.ZodBoolean>;
2584
+ type: z.ZodLiteral<"shell">;
2585
+ matcher: z.ZodLiteral<"exact">;
2586
+ pattern: z.ZodString;
2587
+ }, z.core.$strict>, z.ZodObject<{
2588
+ rate: z.ZodOptional<z.ZodBoolean>;
2589
+ type: z.ZodLiteral<"shell">;
2590
+ matcher: z.ZodLiteral<"glob">;
2591
+ pattern: z.ZodString;
2592
+ }, z.core.$strict>, z.ZodObject<{
2593
+ rate: z.ZodOptional<z.ZodBoolean>;
2594
+ type: z.ZodLiteral<"shell">;
2595
+ matcher: z.ZodLiteral<"regexp">;
2596
+ pattern: z.ZodString;
2597
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2598
+ rate: z.ZodOptional<z.ZodBoolean>;
2599
+ host: z.ZodOptional<z.ZodString>;
2600
+ type: z.ZodLiteral<"tool">;
2601
+ matcher: z.ZodLiteral<"exact">;
2602
+ pattern: z.ZodString;
2603
+ }, z.core.$strict>, z.ZodObject<{
2604
+ rate: z.ZodOptional<z.ZodBoolean>;
2605
+ host: z.ZodOptional<z.ZodString>;
2606
+ type: z.ZodLiteral<"tool">;
2607
+ matcher: z.ZodLiteral<"glob">;
2608
+ pattern: z.ZodString;
2609
+ }, z.core.$strict>, z.ZodObject<{
2610
+ rate: z.ZodOptional<z.ZodBoolean>;
2611
+ host: z.ZodOptional<z.ZodString>;
2612
+ type: z.ZodLiteral<"tool">;
2613
+ matcher: z.ZodLiteral<"regexp">;
2614
+ pattern: z.ZodString;
2615
+ }, z.core.$strict>, z.ZodObject<{
2616
+ rate: z.ZodOptional<z.ZodBoolean>;
2617
+ host: z.ZodOptional<z.ZodString>;
2618
+ type: z.ZodLiteral<"tool">;
2619
+ matcher: z.ZodLiteral<"hint">;
2620
+ pattern: z.ZodObject<{
2621
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2622
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2623
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2624
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2625
+ }, z.core.$strict>;
2626
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2627
+ rate: z.ZodOptional<z.ZodBoolean>;
2628
+ host: z.ZodOptional<z.ZodString>;
2629
+ type: z.ZodLiteral<"mcpTool">;
2630
+ matcher: z.ZodLiteral<"exact">;
2631
+ server: z.ZodString;
2632
+ pattern: z.ZodString;
2633
+ }, z.core.$strict>, z.ZodObject<{
2634
+ rate: z.ZodOptional<z.ZodBoolean>;
2635
+ host: z.ZodOptional<z.ZodString>;
2636
+ type: z.ZodLiteral<"mcpTool">;
2637
+ matcher: z.ZodLiteral<"glob">;
2638
+ server: z.ZodString;
2639
+ pattern: z.ZodString;
2640
+ }, z.core.$strict>, z.ZodObject<{
2641
+ rate: z.ZodOptional<z.ZodBoolean>;
2642
+ host: z.ZodOptional<z.ZodString>;
2643
+ type: z.ZodLiteral<"mcpTool">;
2644
+ matcher: z.ZodLiteral<"regexp">;
2645
+ server: z.ZodString;
2646
+ pattern: z.ZodString;
2647
+ }, z.core.$strict>, z.ZodObject<{
2648
+ rate: z.ZodOptional<z.ZodBoolean>;
2649
+ host: z.ZodOptional<z.ZodString>;
2650
+ type: z.ZodLiteral<"mcpTool">;
2651
+ matcher: z.ZodLiteral<"hint">;
2652
+ server: z.ZodString;
2653
+ pattern: z.ZodObject<{
2654
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2655
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2656
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2657
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2658
+ }, z.core.$strict>;
2659
+ }, z.core.$strict>], "matcher">], "type">>>;
2660
+ deny: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2661
+ rate: z.ZodOptional<z.ZodBoolean>;
2662
+ type: z.ZodLiteral<"shell">;
2663
+ matcher: z.ZodLiteral<"exact">;
2664
+ pattern: z.ZodString;
2665
+ }, z.core.$strict>, z.ZodObject<{
2666
+ rate: z.ZodOptional<z.ZodBoolean>;
2667
+ type: z.ZodLiteral<"shell">;
2668
+ matcher: z.ZodLiteral<"glob">;
2669
+ pattern: z.ZodString;
2670
+ }, z.core.$strict>, z.ZodObject<{
2671
+ rate: z.ZodOptional<z.ZodBoolean>;
2672
+ type: z.ZodLiteral<"shell">;
2673
+ matcher: z.ZodLiteral<"regexp">;
2674
+ pattern: z.ZodString;
2675
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2676
+ rate: z.ZodOptional<z.ZodBoolean>;
2677
+ host: z.ZodOptional<z.ZodString>;
2678
+ type: z.ZodLiteral<"tool">;
2679
+ matcher: z.ZodLiteral<"exact">;
2680
+ pattern: z.ZodString;
2681
+ }, z.core.$strict>, z.ZodObject<{
2682
+ rate: z.ZodOptional<z.ZodBoolean>;
2683
+ host: z.ZodOptional<z.ZodString>;
2684
+ type: z.ZodLiteral<"tool">;
2685
+ matcher: z.ZodLiteral<"glob">;
2686
+ pattern: z.ZodString;
2687
+ }, z.core.$strict>, z.ZodObject<{
2688
+ rate: z.ZodOptional<z.ZodBoolean>;
2689
+ host: z.ZodOptional<z.ZodString>;
2690
+ type: z.ZodLiteral<"tool">;
2691
+ matcher: z.ZodLiteral<"regexp">;
2692
+ pattern: z.ZodString;
2693
+ }, z.core.$strict>, z.ZodObject<{
2694
+ rate: z.ZodOptional<z.ZodBoolean>;
2695
+ host: z.ZodOptional<z.ZodString>;
2696
+ type: z.ZodLiteral<"tool">;
2697
+ matcher: z.ZodLiteral<"hint">;
2698
+ pattern: z.ZodObject<{
2699
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2700
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2701
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2702
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2703
+ }, z.core.$strict>;
2704
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2705
+ rate: z.ZodOptional<z.ZodBoolean>;
2706
+ host: z.ZodOptional<z.ZodString>;
2707
+ type: z.ZodLiteral<"mcpTool">;
2708
+ matcher: z.ZodLiteral<"exact">;
2709
+ server: z.ZodString;
2710
+ pattern: z.ZodString;
2711
+ }, z.core.$strict>, z.ZodObject<{
2712
+ rate: z.ZodOptional<z.ZodBoolean>;
2713
+ host: z.ZodOptional<z.ZodString>;
2714
+ type: z.ZodLiteral<"mcpTool">;
2715
+ matcher: z.ZodLiteral<"glob">;
2716
+ server: z.ZodString;
2717
+ pattern: z.ZodString;
2718
+ }, z.core.$strict>, z.ZodObject<{
2719
+ rate: z.ZodOptional<z.ZodBoolean>;
2720
+ host: z.ZodOptional<z.ZodString>;
2721
+ type: z.ZodLiteral<"mcpTool">;
2722
+ matcher: z.ZodLiteral<"regexp">;
2723
+ server: z.ZodString;
2724
+ pattern: z.ZodString;
2725
+ }, z.core.$strict>, z.ZodObject<{
2726
+ rate: z.ZodOptional<z.ZodBoolean>;
2727
+ host: z.ZodOptional<z.ZodString>;
2728
+ type: z.ZodLiteral<"mcpTool">;
2729
+ matcher: z.ZodLiteral<"hint">;
2730
+ server: z.ZodString;
2731
+ pattern: z.ZodObject<{
2732
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2733
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2734
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2735
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2736
+ }, z.core.$strict>;
2737
+ }, z.core.$strict>], "matcher">], "type">>>;
2738
+ escalate: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
2739
+ rate: z.ZodOptional<z.ZodBoolean>;
2740
+ type: z.ZodLiteral<"shell">;
2741
+ matcher: z.ZodLiteral<"exact">;
2742
+ pattern: z.ZodString;
2743
+ }, z.core.$strict>, z.ZodObject<{
2744
+ rate: z.ZodOptional<z.ZodBoolean>;
2745
+ type: z.ZodLiteral<"shell">;
2746
+ matcher: z.ZodLiteral<"glob">;
2747
+ pattern: z.ZodString;
2748
+ }, z.core.$strict>, z.ZodObject<{
2749
+ rate: z.ZodOptional<z.ZodBoolean>;
2750
+ type: z.ZodLiteral<"shell">;
2751
+ matcher: z.ZodLiteral<"regexp">;
2752
+ pattern: z.ZodString;
2753
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2754
+ rate: z.ZodOptional<z.ZodBoolean>;
2755
+ host: z.ZodOptional<z.ZodString>;
2756
+ type: z.ZodLiteral<"tool">;
2757
+ matcher: z.ZodLiteral<"exact">;
2758
+ pattern: z.ZodString;
2759
+ }, z.core.$strict>, z.ZodObject<{
2760
+ rate: z.ZodOptional<z.ZodBoolean>;
2761
+ host: z.ZodOptional<z.ZodString>;
2762
+ type: z.ZodLiteral<"tool">;
2763
+ matcher: z.ZodLiteral<"glob">;
2764
+ pattern: z.ZodString;
2765
+ }, z.core.$strict>, z.ZodObject<{
2766
+ rate: z.ZodOptional<z.ZodBoolean>;
2767
+ host: z.ZodOptional<z.ZodString>;
2768
+ type: z.ZodLiteral<"tool">;
2769
+ matcher: z.ZodLiteral<"regexp">;
2770
+ pattern: z.ZodString;
2771
+ }, z.core.$strict>, z.ZodObject<{
2772
+ rate: z.ZodOptional<z.ZodBoolean>;
2773
+ host: z.ZodOptional<z.ZodString>;
2774
+ type: z.ZodLiteral<"tool">;
2775
+ matcher: z.ZodLiteral<"hint">;
2776
+ pattern: z.ZodObject<{
2777
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2778
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2779
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2780
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2781
+ }, z.core.$strict>;
2782
+ }, z.core.$strict>], "matcher">, z.ZodDiscriminatedUnion<[z.ZodObject<{
2783
+ rate: z.ZodOptional<z.ZodBoolean>;
2784
+ host: z.ZodOptional<z.ZodString>;
2785
+ type: z.ZodLiteral<"mcpTool">;
2786
+ matcher: z.ZodLiteral<"exact">;
2787
+ server: z.ZodString;
2788
+ pattern: z.ZodString;
2789
+ }, z.core.$strict>, z.ZodObject<{
2790
+ rate: z.ZodOptional<z.ZodBoolean>;
2791
+ host: z.ZodOptional<z.ZodString>;
2792
+ type: z.ZodLiteral<"mcpTool">;
2793
+ matcher: z.ZodLiteral<"glob">;
2794
+ server: z.ZodString;
2795
+ pattern: z.ZodString;
2796
+ }, z.core.$strict>, z.ZodObject<{
2797
+ rate: z.ZodOptional<z.ZodBoolean>;
2798
+ host: z.ZodOptional<z.ZodString>;
2799
+ type: z.ZodLiteral<"mcpTool">;
2800
+ matcher: z.ZodLiteral<"regexp">;
2801
+ server: z.ZodString;
2802
+ pattern: z.ZodString;
2803
+ }, z.core.$strict>, z.ZodObject<{
2804
+ rate: z.ZodOptional<z.ZodBoolean>;
2805
+ host: z.ZodOptional<z.ZodString>;
2806
+ type: z.ZodLiteral<"mcpTool">;
2807
+ matcher: z.ZodLiteral<"hint">;
2808
+ server: z.ZodString;
2809
+ pattern: z.ZodObject<{
2810
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
2811
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
2812
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
2813
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
2814
+ }, z.core.$strict>;
2815
+ }, z.core.$strict>], "matcher">], "type">>>;
2816
+ raterTimeoutMs: z.ZodOptional<z.ZodNumber>;
2817
+ mcp: z.ZodOptional<z.ZodObject<{
2818
+ defaults: z.ZodOptional<z.ZodObject<{
2819
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2820
+ destructiveHint: "destructiveHint";
2821
+ idempotentHint: "idempotentHint";
2822
+ openWorldHint: "openWorldHint";
2823
+ readOnlyHint: "readOnlyHint";
2824
+ }>>>;
2825
+ }, z.core.$strict>>;
2826
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2827
+ trustAnnotations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2828
+ destructiveHint: "destructiveHint";
2829
+ idempotentHint: "idempotentHint";
2830
+ openWorldHint: "openWorldHint";
2831
+ readOnlyHint: "readOnlyHint";
2832
+ }>>>;
2833
+ }, z.core.$strict>>>;
2834
+ }, z.core.$strict>>;
2835
+ }, z.core.$strip>]>>;
433
2836
  port: z.ZodOptional<z.ZodNumber>;
434
2837
  cors: z.ZodOptional<z.ZodObject<{
435
2838
  allowOrigin: z.ZodOptional<z.ZodString>;
@@ -438,9 +2841,43 @@ export declare const rawGthConfigSchema: z.ZodObject<{
438
2841
  }, z.core.$strip>>;
439
2842
  }, z.core.$strip>>;
440
2843
  }, z.core.$strip>>;
2844
+ acp: z.ZodOptional<z.ZodObject<{
2845
+ mode: z.ZodOptional<z.ZodEnum<{
2846
+ chat: "chat";
2847
+ code: "code";
2848
+ }>>;
2849
+ }, z.core.$strip>>;
2850
+ commit: z.ZodOptional<z.ZodObject<{
2851
+ coAuthor: z.ZodOptional<z.ZodObject<{
2852
+ name: z.ZodOptional<z.ZodString>;
2853
+ email: z.ZodOptional<z.ZodString>;
2854
+ }, z.core.$strip>>;
2855
+ }, z.core.$strip>>;
441
2856
  modelDisplayName: z.ZodOptional<z.ZodString>;
2857
+ injectModelContext: z.ZodOptional<z.ZodBoolean>;
2858
+ debugDump: z.ZodOptional<z.ZodObject<{
2859
+ redact: z.ZodOptional<z.ZodBoolean>;
2860
+ }, z.core.$strip>>;
442
2861
  allowDirs: z.ZodOptional<z.ZodArray<z.ZodString>>;
443
2862
  askWriteMode: z.ZodOptional<z.ZodBoolean>;
2863
+ output: z.ZodOptional<z.ZodObject<{
2864
+ header: z.ZodOptional<z.ZodEnum<{
2865
+ compact: "compact";
2866
+ debug: "debug";
2867
+ none: "none";
2868
+ }>>;
2869
+ }, z.core.$strip>>;
2870
+ toolLoopGuard: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2871
+ warn: z.ZodOptional<z.ZodBoolean>;
2872
+ halt: z.ZodOptional<z.ZodBoolean>;
2873
+ threshold: z.ZodOptional<z.ZodNumber>;
2874
+ }, z.core.$strip>]>>;
2875
+ reporters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2876
+ subagents: z.ZodOptional<z.ZodArray<z.ZodObject<{
2877
+ name: z.ZodString;
2878
+ description: z.ZodOptional<z.ZodString>;
2879
+ profile: z.ZodString;
2880
+ }, z.core.$strip>>>;
444
2881
  }, z.core.$loose>;
445
2882
  /**
446
2883
  * Type inferred from {@link rawGthConfigSchema}. This is additive and intentionally
@@ -453,10 +2890,20 @@ export type RawGthConfigInput = z.infer<typeof rawGthConfigSchema>;
453
2890
  * never drift from {@link rawGthConfigSchema}. Includes `$schema`.
454
2891
  */
455
2892
  export declare const KNOWN_TOP_LEVEL_KEYS: ReadonlySet<string>;
2893
+ /**
2894
+ * True when a raw config value is a plain (non-null, non-array) object, so the key scans
2895
+ * ({@link findDeprecatedConfigIssues}, {@link findUnknownTopLevelKeys}) are safe to run. A
2896
+ * `null`/array/primitive config (e.g. a JSON file that is just `null`, or a module
2897
+ * `configure()` returning null) must NOT reach those scans — they'd throw on
2898
+ * `hasOwnProperty`/`Object.keys`; the entry points instead hand it straight to
2899
+ * `rawGthConfigSchema.safeParse`, which reports a clean "expected object" error.
2900
+ */
2901
+ export declare function isRecordConfig(value: unknown): value is Record<string, unknown>;
456
2902
  /**
457
2903
  * Return the top-level keys present in `raw` that are not part of the known config
458
- * surface. Deprecated aliases should be pre-mapped away first (see
459
- * {@link preMapDeprecatedConfigNames}) so they do not show up here.
2904
+ * surface. KNOWN deprecated names are rejected earlier by {@link findDeprecatedConfigIssues}
2905
+ * (the entry points short-circuit on those), so a key that reaches here is a genuinely
2906
+ * unknown key (a likely typo) that only warrants a warning.
460
2907
  */
461
2908
  export declare function findUnknownTopLevelKeys(raw: Record<string, unknown>): string[];
462
2909
  /**
@@ -464,18 +2911,90 @@ export declare function findUnknownTopLevelKeys(raw: Record<string, unknown>): s
464
2911
  * becomes a line ` - <path>: <message>`, with `(root)` for top-level issues.
465
2912
  */
466
2913
  export declare function formatConfigValidationError(error: z.ZodError): string;
2914
+ /** A single deprecated-config-shape rejection: the offending `path` and the migration message. */
2915
+ export interface DeprecatedConfigIssue {
2916
+ /** Dotted path of the offending key (e.g. `pr`, `commands.pr.contentProvider`). */
2917
+ path: string;
2918
+ /** Human message naming the canonical replacement + migration path. */
2919
+ message: string;
2920
+ }
467
2921
  /**
468
- * B3one-way pre-map of deprecated config key names to their canonical names, at
469
- * the config root AND per-command. Mutates `raw` in place (it is always a freshly
470
- * loaded config layer) and returns it alongside a list of deprecation warnings the
471
- * caller should emit via `displayWarning`. Canonical names win when both are
472
- * present; the deprecated key is always removed so it does not later surface as an
473
- * "unknown top-level key".
2922
+ * GS2-28detect the removed pre-2.0 config shapes on the RAW input (read-only; no
2923
+ * mutation), returning one {@link DeprecatedConfigIssue} per occurrence. A non-empty
2924
+ * result is a HARD validation failure: 2.0 dropped back-compat coercion, so an old shape
2925
+ * must error and point at the fix rather than be silently remapped or ignored.
2926
+ *
2927
+ * Detects:
2928
+ * - (A) a COMMAND name ({@link COMMAND_KEYS}) at the config ROOT — must move under `commands.<cmd>`;
2929
+ * - (C) a deprecated `*Provider*` name ({@link DEPRECATED_ROOT_PAIRS} at root,
2930
+ * {@link DEPRECATED_COMMAND_PAIRS} per command) — must use its `*Source*` replacement;
2931
+ * - (D, CFG-18) a removed per-command key folded into another ({@link REMOVED_COMMAND_KEYS}, e.g.
2932
+ * `commands.<cmd>.devTools` → configure under `builtInTools`);
2933
+ * - (E, CFG-26) a retired `run_shell_command` approval knob ({@link RETIRED_SHELL_TOOL_PAIRS}) at
2934
+ * EITHER `builtInTools.run_shell_command.*` or `commands.<cmd>.builtInTools.run_shell_command.*`
2935
+ * — each message names the `approvals.*` key that replaced it;
2936
+ * - (F, CFG-27) a retired `approvals` key or `mode` value ({@link RETIRED_APPROVALS_KEYS},
2937
+ * {@link RETIRED_APPROVAL_MODES}) at EITHER `approvals.*` or `commands.<cmd>.approvals.*` —
2938
+ * each message names the rung that replaced it;
2939
+ * - (G, EXT-114) a retired `agent.backend` value ({@link RETIRED_AGENT_BACKENDS}) — the message
2940
+ * names the surviving backend and what the retired one took with it.
2941
+ *
2942
+ * Runs on the raw input specifically so nested `commands.*.contentProvider` is still visible
2943
+ * (zod's per-command `z.object` would strip it before any schema-embedded check could fire).
2944
+ * A genuinely-unknown key is NOT flagged here (it stays a warn-only unknown key), preserving
2945
+ * the deliberate typo-tolerance.
474
2946
  */
475
- export declare function preMapDeprecatedConfigNames<T extends Record<string, unknown>>(raw: T): {
476
- config: T;
477
- warnings: string[];
478
- };
2947
+ export declare function findDeprecatedConfigIssues(raw: Record<string, unknown>): DeprecatedConfigIssue[];
2948
+ /**
2949
+ * EXT-71 §3.1 — every hard error the rule grammar defines, found on the RAW input: each entry in
2950
+ * `allow`/`deny`/`escalate` validated with a path that names the offending field
2951
+ * ({@link collectApprovalEntryIssues}), the `approvals.mcp` block ({@link collectMcpApprovalsIssues}),
2952
+ * and the two `mcpServers` keys no rule can refer to — `*` ({@link RESERVED_MCP_SERVER_NAME}, which
2953
+ * an entry already reads as "every server") and the empty name
2954
+ * ({@link UNNAMEABLE_MCP_SERVER_NAME}, which no entry's `server` field can hold). Both need to see
2955
+ * `mcpServers`, a sibling of `approvals` rather than a field of it.
2956
+ *
2957
+ * All of them are HARD errors, reported the same way {@link findDeprecatedConfigIssues} reports
2958
+ * its own, and — like it — this runs BEFORE the schema parse so the precise message is the only
2959
+ * one the user sees.
2960
+ *
2961
+ * PURE: it only reads the object. Kept separate from {@link findDeprecatedConfigIssues} because
2962
+ * these are not removed pre-2.0 shapes; they are rules of the current grammar.
2963
+ */
2964
+ export declare function findApprovalsGrammarIssues(raw: Record<string, unknown>): DeprecatedConfigIssue[];
2965
+ /**
2966
+ * CFG-26 — one `approvals.rater` reference found in a raw config, with the dotted config path it
2967
+ * was found at (`approvals.rater` or `commands.<name>.approvals.rater`).
2968
+ */
2969
+ export interface RaterProfileRef {
2970
+ /** Dotted config path of the `rater` key, for the error message. */
2971
+ path: string;
2972
+ /** The profile name as written. */
2973
+ profile: string;
2974
+ }
2975
+ /**
2976
+ * CFG-26 — collect every `approvals.rater` in a raw config (root + each `commands.<name>`).
2977
+ * CFG-27 flattened the key: it is a BARE identity-profile name, not `rater.profile`.
2978
+ *
2979
+ * PURE — it only reads the object; the caller decides whether each name RESOLVES. That split is
2980
+ * deliberate: profile resolution needs the filesystem, and `schema.ts` must stay pure so
2981
+ * `z.toJSONSchema` and every spec that validates a config object stay cwd-independent. The loader
2982
+ * pairs this with `resolveIdentityProfileConfigPath` to enforce the GS2-62 rule that an
2983
+ * unresolvable profile is a hard error, never a silent fallback to the main model.
2984
+ */
2985
+ export declare function findApprovalsRaterProfiles(raw: Record<string, unknown>): RaterProfileRef[];
2986
+ /**
2987
+ * CFG-26 — the ONE message for an `approvals.rater.profile` that does not resolve. Shared by the
2988
+ * loader (which hard-exits a real run) and {@link validateRawGthConfig} (which backs
2989
+ * `gth config validate`), so the validator can never green-light a config the runtime refuses.
2990
+ */
2991
+ export declare function unresolvedRaterProfileMessage(ref: RaterProfileRef, searchedDir?: string): string;
2992
+ /**
2993
+ * Render {@link DeprecatedConfigIssue}s as the same ` - <path>: <message>` block used for
2994
+ * Zod validation errors, so a deprecated-shape rejection reads identically to a type-mismatch
2995
+ * rejection (loader wraps it with `Invalid configuration in <source>:`).
2996
+ */
2997
+ export declare function formatDeprecatedConfigIssues(issues: ReadonlyArray<DeprecatedConfigIssue>): string;
479
2998
  /**
480
2999
  * Generate the JSON Schema for the raw config from {@link rawGthConfigSchema} using
481
3000
  * zod 4's native `z.toJSONSchema`. The output is committed to
@@ -488,10 +3007,24 @@ export declare function generateConfigJsonSchema(): Record<string, unknown>;
488
3007
  * loader's `validateRawConfigLayer` (which warns + `exit`s inline): `gth config validate`
489
3008
  * uses it to render its own output and choose its own exit code.
490
3009
  */
3010
+ export interface RawConfigValidationOptions {
3011
+ /**
3012
+ * CFG-26 — resolves an identity profile NAME to "does it exist?". Supplied by the loader
3013
+ * (`resolveIdentityProfileConfigPath`); omitted by pure/in-memory callers, which then skip the
3014
+ * `approvals.rater.profile` existence check.
3015
+ */
3016
+ resolveProfile?: (profile: string) => boolean;
3017
+ /**
3018
+ * Renders the directory {@link resolveProfile} searched, for the failure message. Supplied by the
3019
+ * loader, which alone knows whether this layer's profiles resolve in the project tree or under
3020
+ * `~/.gsloth`; `undefined` (from the hook or the field) means the project location.
3021
+ */
3022
+ describeProfileDir?: (profile: string) => string | undefined;
3023
+ }
491
3024
  export interface RawConfigValidationResult {
492
3025
  /** True when the config parses against the schema (unknown keys do NOT make it false). */
493
3026
  ok: boolean;
494
- /** Non-fatal advisories: deprecated-name remaps (B3) and unknown top-level keys. */
3027
+ /** Non-fatal advisories: unknown top-level keys (likely typos). Deprecated shapes are hard errors, not warnings. */
495
3028
  warnings: string[];
496
3029
  /** Present only when `ok` is false: the path-scoped, multi-line validation message. */
497
3030
  errorMessage?: string;
@@ -499,11 +3032,11 @@ export interface RawConfigValidationResult {
499
3032
  /**
500
3033
  * Validate a freshly-loaded raw config object against {@link rawGthConfigSchema} and
501
3034
  * report the outcome as data (a pure function — no `displayWarning`/`exit`). Mirrors the
502
- * loader's policy: deprecated key names are pre-mapped (each yielding a warning), unknown
503
- * top-level keys warn but do not fail, and a genuine type mismatch on a known field fails
504
- * with a path-scoped message.
3035
+ * loader's policy: a removed pre-2.0 shape (a top-level command key or a deprecated
3036
+ * `*Provider*` name) is a HARD failure that names the fix, unknown top-level keys warn but
3037
+ * do not fail, and a genuine type mismatch on a known field fails with a path-scoped message.
505
3038
  *
506
- * A shallow copy is taken before the (mutating) deprecated-name pre-map so the caller's
507
- * top-level object is not modified.
3039
+ * Read-only: `findDeprecatedConfigIssues`, `findUnknownTopLevelKeys` and `safeParse` never
3040
+ * mutate `raw`, so no defensive copy is needed.
508
3041
  */
509
- export declare function validateRawGthConfig(raw: Record<string, unknown>): RawConfigValidationResult;
3042
+ export declare function validateRawGthConfig(raw: Record<string, unknown>, options?: RawConfigValidationOptions): RawConfigValidationResult;