@gaunt-sloth/core 2.0.0-alpha.4 → 2.0.0-alpha.40

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 (289) hide show
  1. package/README.md +71 -20
  2. package/dist/config/colour.d.ts +38 -0
  3. package/dist/config/colour.js +36 -0
  4. package/dist/config/colour.js.map +1 -0
  5. package/dist/config/configDiscovery.d.ts +79 -0
  6. package/dist/config/configDiscovery.js +80 -0
  7. package/dist/config/configDiscovery.js.map +1 -0
  8. package/dist/config/defaults.d.ts +21 -21
  9. package/dist/config/defaults.js +11 -9
  10. package/dist/config/defaults.js.map +1 -1
  11. package/dist/config/filesystem-tools.d.ts +41 -0
  12. package/dist/config/filesystem-tools.js +56 -0
  13. package/dist/config/filesystem-tools.js.map +1 -0
  14. package/dist/config/jsonc.d.ts +12 -0
  15. package/dist/config/jsonc.js +41 -0
  16. package/dist/config/jsonc.js.map +1 -0
  17. package/dist/config/loader.d.ts +165 -6
  18. package/dist/config/loader.js +963 -109
  19. package/dist/config/loader.js.map +1 -1
  20. package/dist/config/mouse.d.ts +50 -0
  21. package/dist/config/mouse.js +44 -0
  22. package/dist/config/mouse.js.map +1 -0
  23. package/dist/config/profiles.d.ts +68 -0
  24. package/dist/config/profiles.js +93 -0
  25. package/dist/config/profiles.js.map +1 -0
  26. package/dist/config/providerKeys.d.ts +69 -0
  27. package/dist/config/providerKeys.js +69 -0
  28. package/dist/config/providerKeys.js.map +1 -0
  29. package/dist/config/schema.d.ts +2695 -130
  30. package/dist/config/schema.js +1385 -68
  31. package/dist/config/schema.js.map +1 -1
  32. package/dist/config/shell-policy.d.ts +899 -111
  33. package/dist/config/shell-policy.js +800 -70
  34. package/dist/config/shell-policy.js.map +1 -1
  35. package/dist/config/tool-descriptions.d.ts +211 -0
  36. package/dist/config/tool-descriptions.js +272 -0
  37. package/dist/config/tool-descriptions.js.map +1 -0
  38. package/dist/config/types.d.ts +372 -34
  39. package/dist/config/types.js +1 -0
  40. package/dist/config/types.js.map +1 -1
  41. package/dist/config.d.ts +35 -1
  42. package/dist/config.js +16 -1
  43. package/dist/config.js.map +1 -1
  44. package/dist/constants.d.ts +45 -0
  45. package/dist/constants.js +45 -0
  46. package/dist/constants.js.map +1 -1
  47. package/dist/core/GthAbstractAgent.d.ts +190 -11
  48. package/dist/core/GthAbstractAgent.js +551 -35
  49. package/dist/core/GthAbstractAgent.js.map +1 -1
  50. package/dist/core/GthAgentRunner.d.ts +565 -57
  51. package/dist/core/GthAgentRunner.js +1546 -140
  52. package/dist/core/GthAgentRunner.js.map +1 -1
  53. package/dist/core/GthLangChainAgent.d.ts +117 -2
  54. package/dist/core/GthLangChainAgent.js +644 -18
  55. package/dist/core/GthLangChainAgent.js.map +1 -1
  56. package/dist/core/approvals/annotations.d.ts +122 -0
  57. package/dist/core/approvals/annotations.js +137 -0
  58. package/dist/core/approvals/annotations.js.map +1 -0
  59. package/dist/core/approvals/grants.d.ts +216 -0
  60. package/dist/core/approvals/grants.js +469 -0
  61. package/dist/core/approvals/grants.js.map +1 -0
  62. package/dist/core/approvals/matcher.d.ts +202 -0
  63. package/dist/core/approvals/matcher.js +267 -0
  64. package/dist/core/approvals/matcher.js.map +1 -0
  65. package/dist/core/approvals/mcpSubjects.d.ts +40 -0
  66. package/dist/core/approvals/mcpSubjects.js +99 -0
  67. package/dist/core/approvals/mcpSubjects.js.map +1 -0
  68. package/dist/core/approvals/promptHeader.d.ts +28 -0
  69. package/dist/core/approvals/promptHeader.js +62 -0
  70. package/dist/core/approvals/promptHeader.js.map +1 -0
  71. package/dist/core/approvals/toolAnnotationSources.d.ts +105 -0
  72. package/dist/core/approvals/toolAnnotationSources.js +277 -0
  73. package/dist/core/approvals/toolAnnotationSources.js.map +1 -0
  74. package/dist/core/approvals/toolHost.d.ts +46 -0
  75. package/dist/core/approvals/toolHost.js +108 -0
  76. package/dist/core/approvals/toolHost.js.map +1 -0
  77. package/dist/core/debugCapture.d.ts +74 -0
  78. package/dist/core/debugCapture.js +100 -0
  79. package/dist/core/debugCapture.js.map +1 -0
  80. package/dist/core/gthLeanAgentFactory.d.ts +9 -0
  81. package/dist/core/gthLeanAgentFactory.js +10 -0
  82. package/dist/core/gthLeanAgentFactory.js.map +1 -0
  83. package/dist/core/launchBanner.d.ts +127 -0
  84. package/dist/core/launchBanner.js +414 -0
  85. package/dist/core/launchBanner.js.map +1 -0
  86. package/dist/core/modelLabel.d.ts +19 -0
  87. package/dist/core/modelLabel.js +26 -0
  88. package/dist/core/modelLabel.js.map +1 -0
  89. package/dist/core/plainToolIndication.d.ts +15 -0
  90. package/dist/core/plainToolIndication.js +174 -0
  91. package/dist/core/plainToolIndication.js.map +1 -0
  92. package/dist/core/reasoningBlocks.d.ts +65 -0
  93. package/dist/core/reasoningBlocks.js +103 -0
  94. package/dist/core/reasoningBlocks.js.map +1 -0
  95. package/dist/core/refusal.d.ts +53 -0
  96. package/dist/core/refusal.js +133 -0
  97. package/dist/core/refusal.js.map +1 -0
  98. package/dist/core/runHeader.d.ts +38 -0
  99. package/dist/core/runHeader.js +42 -0
  100. package/dist/core/runHeader.js.map +1 -0
  101. package/dist/core/runStats.d.ts +52 -0
  102. package/dist/core/runStats.js +118 -0
  103. package/dist/core/runStats.js.map +1 -0
  104. package/dist/core/shell/ShellCommandFailedError.d.ts +53 -0
  105. package/dist/core/shell/ShellCommandFailedError.js +67 -0
  106. package/dist/core/shell/ShellCommandFailedError.js.map +1 -0
  107. package/dist/core/shell/abstention.d.ts +88 -0
  108. package/dist/core/shell/abstention.js +184 -0
  109. package/dist/core/shell/abstention.js.map +1 -0
  110. package/dist/core/shell/approvalCapture.d.ts +271 -0
  111. package/dist/core/shell/approvalCapture.js +108 -0
  112. package/dist/core/shell/approvalCapture.js.map +1 -0
  113. package/dist/core/shell/approvalStop.d.ts +123 -0
  114. package/dist/core/shell/approvalStop.js +269 -0
  115. package/dist/core/shell/approvalStop.js.map +1 -0
  116. package/dist/core/shell/arity.d.ts +6 -0
  117. package/dist/core/shell/arity.js +20 -6
  118. package/dist/core/shell/arity.js.map +1 -1
  119. package/dist/core/shell/denylist.d.ts +11 -0
  120. package/dist/core/shell/denylist.js +37 -0
  121. package/dist/core/shell/denylist.js.map +1 -0
  122. package/dist/core/shell/escalationSeverity.d.ts +141 -0
  123. package/dist/core/shell/escalationSeverity.js +89 -0
  124. package/dist/core/shell/escalationSeverity.js.map +1 -0
  125. package/dist/core/shell/framing.d.ts +190 -0
  126. package/dist/core/shell/framing.js +633 -0
  127. package/dist/core/shell/framing.js.map +1 -0
  128. package/dist/core/shell/hardline.d.ts +103 -0
  129. package/dist/core/shell/hardline.js +780 -0
  130. package/dist/core/shell/hardline.js.map +1 -0
  131. package/dist/core/shell/negotiation.d.ts +328 -0
  132. package/dist/core/shell/negotiation.js +488 -0
  133. package/dist/core/shell/negotiation.js.map +1 -0
  134. package/dist/core/shell/normalize.d.ts +44 -4
  135. package/dist/core/shell/normalize.js +61 -7
  136. package/dist/core/shell/normalize.js.map +1 -1
  137. package/dist/core/shell/openWorld.d.ts +263 -0
  138. package/dist/core/shell/openWorld.js +1188 -0
  139. package/dist/core/shell/openWorld.js.map +1 -0
  140. package/dist/core/shell/rater.d.ts +873 -0
  141. package/dist/core/shell/rater.js +1454 -0
  142. package/dist/core/shell/rater.js.map +1 -0
  143. package/dist/core/shell/raterModel.d.ts +41 -0
  144. package/dist/core/shell/raterModel.js +51 -0
  145. package/dist/core/shell/raterModel.js.map +1 -0
  146. package/dist/core/shell/raterVocabulary.d.ts +121 -0
  147. package/dist/core/shell/raterVocabulary.js +116 -0
  148. package/dist/core/shell/raterVocabulary.js.map +1 -0
  149. package/dist/core/shell/rejection.d.ts +69 -0
  150. package/dist/core/shell/rejection.js +38 -0
  151. package/dist/core/shell/rejection.js.map +1 -0
  152. package/dist/core/toolCallRepair/grammar.d.ts +41 -0
  153. package/dist/core/toolCallRepair/grammar.js +116 -0
  154. package/dist/core/toolCallRepair/grammar.js.map +1 -0
  155. package/dist/core/toolCallRepair/index.d.ts +2 -0
  156. package/dist/core/toolCallRepair/index.js +7 -0
  157. package/dist/core/toolCallRepair/index.js.map +1 -0
  158. package/dist/core/toolCallRepair/payload.d.ts +36 -0
  159. package/dist/core/toolCallRepair/payload.js +341 -0
  160. package/dist/core/toolCallRepair/payload.js.map +1 -0
  161. package/dist/core/toolCallRepair/promote.d.ts +45 -0
  162. package/dist/core/toolCallRepair/promote.js +90 -0
  163. package/dist/core/toolCallRepair/promote.js.map +1 -0
  164. package/dist/core/toolDisplay.d.ts +123 -0
  165. package/dist/core/toolDisplay.js +451 -0
  166. package/dist/core/toolDisplay.js.map +1 -0
  167. package/dist/core/toolOutputChannel.d.ts +95 -0
  168. package/dist/core/toolOutputChannel.js +165 -0
  169. package/dist/core/toolOutputChannel.js.map +1 -0
  170. package/dist/core/types.d.ts +378 -16
  171. package/dist/core/types.js.map +1 -1
  172. package/dist/history/historyFormat.d.ts +28 -0
  173. package/dist/history/historyFormat.js +127 -0
  174. package/dist/history/historyFormat.js.map +1 -0
  175. package/dist/history/historyStore.d.ts +198 -0
  176. package/dist/history/historyStore.js +482 -0
  177. package/dist/history/historyStore.js.map +1 -0
  178. package/dist/history/recordSession.d.ts +37 -0
  179. package/dist/history/recordSession.js +56 -0
  180. package/dist/history/recordSession.js.map +1 -0
  181. package/dist/index.d.ts +4 -0
  182. package/dist/index.js +4 -0
  183. package/dist/index.js.map +1 -1
  184. package/dist/providers/anthropic.d.ts +1 -1
  185. package/dist/providers/anthropic.js +17 -10
  186. package/dist/providers/anthropic.js.map +1 -1
  187. package/dist/providers/configurationPassthrough.d.ts +107 -0
  188. package/dist/providers/configurationPassthrough.js +148 -0
  189. package/dist/providers/configurationPassthrough.js.map +1 -0
  190. package/dist/providers/deepseek.d.ts +1 -1
  191. package/dist/providers/deepseek.js +5 -10
  192. package/dist/providers/deepseek.js.map +1 -1
  193. package/dist/providers/geminiSchemaSanitizer.d.ts +55 -0
  194. package/dist/providers/geminiSchemaSanitizer.js +347 -0
  195. package/dist/providers/geminiSchemaSanitizer.js.map +1 -0
  196. package/dist/providers/geminiThinking.d.ts +60 -0
  197. package/dist/providers/geminiThinking.js +92 -0
  198. package/dist/providers/geminiThinking.js.map +1 -0
  199. package/dist/providers/google-genai.d.ts +1 -1
  200. package/dist/providers/google-genai.js +23 -11
  201. package/dist/providers/google-genai.js.map +1 -1
  202. package/dist/providers/groq.d.ts +1 -1
  203. package/dist/providers/groq.js +17 -10
  204. package/dist/providers/groq.js.map +1 -1
  205. package/dist/providers/huggingface.d.ts +25 -0
  206. package/dist/providers/huggingface.js +69 -0
  207. package/dist/providers/huggingface.js.map +1 -0
  208. package/dist/providers/modelCatalog.d.ts +109 -0
  209. package/dist/providers/modelCatalog.js +245 -0
  210. package/dist/providers/modelCatalog.js.map +1 -0
  211. package/dist/providers/modelDiscovery.d.ts +153 -6
  212. package/dist/providers/modelDiscovery.js +295 -41
  213. package/dist/providers/modelDiscovery.js.map +1 -1
  214. package/dist/providers/ollama.d.ts +19 -5
  215. package/dist/providers/ollama.js +72 -52
  216. package/dist/providers/ollama.js.map +1 -1
  217. package/dist/providers/openai.d.ts +1 -1
  218. package/dist/providers/openai.js +39 -10
  219. package/dist/providers/openai.js.map +1 -1
  220. package/dist/providers/openrouter.d.ts +27 -5
  221. package/dist/providers/openrouter.js +88 -36
  222. package/dist/providers/openrouter.js.map +1 -1
  223. package/dist/providers/vertexai.d.ts +1 -1
  224. package/dist/providers/vertexai.js +24 -11
  225. package/dist/providers/vertexai.js.map +1 -1
  226. package/dist/providers/xai.d.ts +1 -1
  227. package/dist/providers/xai.js +25 -10
  228. package/dist/providers/xai.js.map +1 -1
  229. package/dist/runtime/askStructured.d.ts +105 -0
  230. package/dist/runtime/askStructured.js +120 -0
  231. package/dist/runtime/askStructured.js.map +1 -0
  232. package/dist/runtime/conversation.d.ts +64 -0
  233. package/dist/runtime/conversation.js +171 -0
  234. package/dist/runtime/conversation.js.map +1 -0
  235. package/dist/runtime/singleShot.d.ts +39 -5
  236. package/dist/runtime/singleShot.js +115 -36
  237. package/dist/runtime/singleShot.js.map +1 -1
  238. package/dist/runtime/structuredOutput.d.ts +104 -0
  239. package/dist/runtime/structuredOutput.js +393 -0
  240. package/dist/runtime/structuredOutput.js.map +1 -0
  241. package/dist/utils/ProgressIndicator.d.ts +21 -0
  242. package/dist/utils/ProgressIndicator.js +30 -3
  243. package/dist/utils/ProgressIndicator.js.map +1 -1
  244. package/dist/utils/aiignoreUtils.js.map +1 -1
  245. package/dist/utils/binaryOutputUtils.js.map +1 -1
  246. package/dist/utils/consoleUtils.d.ts +95 -0
  247. package/dist/utils/consoleUtils.js +112 -2
  248. package/dist/utils/consoleUtils.js.map +1 -1
  249. package/dist/utils/crashHandler.d.ts +87 -0
  250. package/dist/utils/crashHandler.js +128 -0
  251. package/dist/utils/crashHandler.js.map +1 -0
  252. package/dist/utils/debugDump.d.ts +134 -0
  253. package/dist/utils/debugDump.js +381 -0
  254. package/dist/utils/debugDump.js.map +1 -0
  255. package/dist/utils/debugUtils.d.ts +13 -4
  256. package/dist/utils/debugUtils.js +36 -13
  257. package/dist/utils/debugUtils.js.map +1 -1
  258. package/dist/utils/displayWidth.d.ts +53 -0
  259. package/dist/utils/displayWidth.js +195 -0
  260. package/dist/utils/displayWidth.js.map +1 -0
  261. package/dist/utils/fileUtils.d.ts +20 -1
  262. package/dist/utils/fileUtils.js +35 -2
  263. package/dist/utils/fileUtils.js.map +1 -1
  264. package/dist/utils/llmUtils.d.ts +39 -8
  265. package/dist/utils/llmUtils.js +76 -8
  266. package/dist/utils/llmUtils.js.map +1 -1
  267. package/dist/utils/redactSecrets.d.ts +63 -0
  268. package/dist/utils/redactSecrets.js +286 -0
  269. package/dist/utils/redactSecrets.js.map +1 -0
  270. package/dist/utils/systemPromptNotes.d.ts +222 -0
  271. package/dist/utils/systemPromptNotes.js +338 -0
  272. package/dist/utils/systemPromptNotes.js.map +1 -0
  273. package/dist/utils/systemUtils.d.ts +18 -1
  274. package/dist/utils/systemUtils.js +38 -3
  275. package/dist/utils/systemUtils.js.map +1 -1
  276. package/dist/utils/toolMatching.d.ts +30 -0
  277. package/dist/utils/toolMatching.js +44 -0
  278. package/dist/utils/toolMatching.js.map +1 -0
  279. package/dist/utils/untrustedText.d.ts +86 -0
  280. package/dist/utils/untrustedText.js +101 -0
  281. package/dist/utils/untrustedText.js.map +1 -0
  282. package/package.json +21 -6
  283. package/schema/gsloth-config.schema.json +1979 -353
  284. package/dist/core/shell/allowlist.d.ts +0 -75
  285. package/dist/core/shell/allowlist.js +0 -187
  286. package/dist/core/shell/allowlist.js.map +0 -1
  287. package/dist/core/shell/judge.d.ts +0 -161
  288. package/dist/core/shell/judge.js +0 -261
  289. 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,13 +224,26 @@ 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>;
228
+ agent: z.ZodOptional<z.ZodObject<{
229
+ backend: z.ZodOptional<z.ZodEnum<{
230
+ lean: "lean";
231
+ }>>;
232
+ }, z.core.$strip>>;
233
+ history: z.ZodOptional<z.ZodObject<{
234
+ enabled: z.ZodOptional<z.ZodBoolean>;
235
+ dbPath: z.ZodOptional<z.ZodString>;
236
+ }, z.core.$strip>>;
237
+ memory: z.ZodOptional<z.ZodObject<{
238
+ enabled: z.ZodOptional<z.ZodBoolean>;
239
+ }, z.core.$strip>>;
43
240
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
44
241
  type: z.ZodEnum<{
242
+ audio: "audio";
45
243
  binary: "binary";
244
+ file: "file";
46
245
  image: "image";
47
- audio: "audio";
48
246
  video: "video";
49
- file: "file";
50
247
  }>;
51
248
  extensions: z.ZodArray<z.ZodString>;
52
249
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -56,7 +253,64 @@ export declare const rawGthConfigSchema: z.ZodObject<{
56
253
  requirementSource: z.ZodOptional<z.ZodString>;
57
254
  contentSourceConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
58
255
  requirementSourceConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
59
- 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>>;
60
314
  identityProfile: z.ZodOptional<z.ZodString>;
61
315
  includeCurrentDateAfterGuidelines: z.ZodOptional<z.ZodBoolean>;
62
316
  organization: z.ZodOptional<z.ZodObject<{
@@ -64,14 +318,292 @@ export declare const rawGthConfigSchema: z.ZodObject<{
64
318
  locale: z.ZodOptional<z.ZodString>;
65
319
  timezone: z.ZodOptional<z.ZodString>;
66
320
  }, z.core.$strip>>;
67
- projectReviewInstructions: z.ZodOptional<z.ZodString>;
68
321
  noDefaultPrompts: z.ZodOptional<z.ZodBoolean>;
69
322
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
70
323
  all: "all";
71
- read: "read";
72
324
  none: "none";
325
+ read: "read";
73
326
  }>]>>;
74
- 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>]>>;
75
607
  tools: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
76
608
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
77
609
  middleware: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
@@ -79,6 +611,8 @@ export declare const rawGthConfigSchema: z.ZodObject<{
79
611
  writeOutputToFile: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
80
612
  writeBinaryOutputsToFile: z.ZodOptional<z.ZodBoolean>;
81
613
  useColour: z.ZodOptional<z.ZodBoolean>;
614
+ useMouse: z.ZodOptional<z.ZodBoolean>;
615
+ tui: z.ZodOptional<z.ZodBoolean>;
82
616
  streamSessionInferenceLog: z.ZodOptional<z.ZodBoolean>;
83
617
  canInterruptInferenceWithEsc: z.ZodOptional<z.ZodBoolean>;
84
618
  debugLog: z.ZodOptional<z.ZodBoolean>;
@@ -92,13 +626,17 @@ export declare const rawGthConfigSchema: z.ZodObject<{
92
626
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
93
627
  "absolute-paths": "absolute-paths";
94
628
  "directory-traversal": "directory-traversal";
95
- "shell-injection": "shell-injection";
96
629
  "null-bytes": "null-bytes";
630
+ "shell-injection": "shell-injection";
97
631
  }>>>;
98
632
  }, z.core.$strip>>>;
99
633
  timeout: z.ZodOptional<z.ZodNumber>;
100
634
  }, z.core.$strip>>>;
101
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>>;
102
640
  a2aAgents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
103
641
  builtInToolsConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
104
642
  aiignore: z.ZodOptional<z.ZodObject<{
@@ -111,10 +649,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
111
649
  requirementSource: z.ZodOptional<z.ZodString>;
112
650
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
113
651
  all: "all";
114
- read: "read";
115
652
  none: "none";
653
+ read: "read";
116
654
  }>]>>;
117
- 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>]>>;
118
935
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
119
936
  command: z.ZodString;
120
937
  description: z.ZodString;
@@ -123,8 +940,8 @@ export declare const rawGthConfigSchema: z.ZodObject<{
123
940
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
124
941
  "absolute-paths": "absolute-paths";
125
942
  "directory-traversal": "directory-traversal";
126
- "shell-injection": "shell-injection";
127
943
  "null-bytes": "null-bytes";
944
+ "shell-injection": "shell-injection";
128
945
  }>>>;
129
946
  }, z.core.$strip>>>;
130
947
  timeout: z.ZodOptional<z.ZodNumber>;
@@ -140,11 +957,11 @@ export declare const rawGthConfigSchema: z.ZodObject<{
140
957
  }, z.core.$strip>>;
141
958
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
142
959
  type: z.ZodEnum<{
960
+ audio: "audio";
143
961
  binary: "binary";
962
+ file: "file";
144
963
  image: "image";
145
- audio: "audio";
146
964
  video: "video";
147
- file: "file";
148
965
  }>;
149
966
  extensions: z.ZodArray<z.ZodString>;
150
967
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -156,10 +973,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
156
973
  requirementSource: z.ZodOptional<z.ZodString>;
157
974
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
158
975
  all: "all";
159
- read: "read";
160
976
  none: "none";
977
+ read: "read";
161
978
  }>]>>;
162
- 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>]>>;
163
1259
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
164
1260
  command: z.ZodString;
165
1261
  description: z.ZodString;
@@ -168,8 +1264,8 @@ export declare const rawGthConfigSchema: z.ZodObject<{
168
1264
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
169
1265
  "absolute-paths": "absolute-paths";
170
1266
  "directory-traversal": "directory-traversal";
171
- "shell-injection": "shell-injection";
172
1267
  "null-bytes": "null-bytes";
1268
+ "shell-injection": "shell-injection";
173
1269
  }>>>;
174
1270
  }, z.core.$strip>>>;
175
1271
  timeout: z.ZodOptional<z.ZodNumber>;
@@ -184,11 +1280,11 @@ export declare const rawGthConfigSchema: z.ZodObject<{
184
1280
  }, z.core.$strip>>;
185
1281
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
186
1282
  type: z.ZodEnum<{
1283
+ audio: "audio";
187
1284
  binary: "binary";
1285
+ file: "file";
188
1286
  image: "image";
189
- audio: "audio";
190
1287
  video: "video";
191
- file: "file";
192
1288
  }>;
193
1289
  extensions: z.ZodArray<z.ZodString>;
194
1290
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -198,10 +1294,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
198
1294
  ask: z.ZodOptional<z.ZodObject<{
199
1295
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
200
1296
  all: "all";
201
- read: "read";
202
1297
  none: "none";
1298
+ read: "read";
203
1299
  }>]>>;
204
- 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>]>>;
205
1580
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
206
1581
  command: z.ZodString;
207
1582
  description: z.ZodString;
@@ -210,45 +1585,20 @@ export declare const rawGthConfigSchema: z.ZodObject<{
210
1585
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
211
1586
  "absolute-paths": "absolute-paths";
212
1587
  "directory-traversal": "directory-traversal";
213
- "shell-injection": "shell-injection";
214
1588
  "null-bytes": "null-bytes";
1589
+ "shell-injection": "shell-injection";
215
1590
  }>>>;
216
1591
  }, z.core.$strip>>>;
217
1592
  timeout: z.ZodOptional<z.ZodNumber>;
218
1593
  }, z.core.$strip>>]>>;
219
1594
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
220
- devTools: z.ZodOptional<z.ZodObject<{
221
- run_tests: z.ZodOptional<z.ZodString>;
222
- run_lint: z.ZodOptional<z.ZodString>;
223
- run_build: z.ZodOptional<z.ZodString>;
224
- run_single_test: z.ZodOptional<z.ZodString>;
225
- shell: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
226
- enabled: z.ZodOptional<z.ZodBoolean>;
227
- timeout: z.ZodOptional<z.ZodNumber>;
228
- maxOutputBytes: z.ZodOptional<z.ZodNumber>;
229
- allowlist: z.ZodOptional<z.ZodBoolean>;
230
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
231
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
232
- enabled: z.ZodOptional<z.ZodBoolean>;
233
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
234
- blockHigh: z.ZodOptional<z.ZodBoolean>;
235
- model: z.ZodOptional<z.ZodObject<{
236
- type: z.ZodOptional<z.ZodString>;
237
- model: z.ZodOptional<z.ZodString>;
238
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
239
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
240
- }, z.core.$loose>>;
241
- }, z.core.$strip>]>>;
242
- }, z.core.$strip>]>>;
243
- shellYolo: z.ZodOptional<z.ZodBoolean>;
244
- }, z.core.$strip>>;
245
1595
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
246
1596
  type: z.ZodEnum<{
1597
+ audio: "audio";
247
1598
  binary: "binary";
1599
+ file: "file";
248
1600
  image: "image";
249
- audio: "audio";
250
1601
  video: "video";
251
- file: "file";
252
1602
  }>;
253
1603
  extensions: z.ZodArray<z.ZodString>;
254
1604
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -258,10 +1608,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
258
1608
  chat: z.ZodOptional<z.ZodObject<{
259
1609
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
260
1610
  all: "all";
261
- read: "read";
262
1611
  none: "none";
1612
+ read: "read";
263
1613
  }>]>>;
264
- 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>]>>;
265
1894
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
266
1895
  command: z.ZodString;
267
1896
  description: z.ZodString;
@@ -270,8 +1899,8 @@ export declare const rawGthConfigSchema: z.ZodObject<{
270
1899
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
271
1900
  "absolute-paths": "absolute-paths";
272
1901
  "directory-traversal": "directory-traversal";
273
- "shell-injection": "shell-injection";
274
1902
  "null-bytes": "null-bytes";
1903
+ "shell-injection": "shell-injection";
275
1904
  }>>>;
276
1905
  }, z.core.$strip>>>;
277
1906
  timeout: z.ZodOptional<z.ZodNumber>;
@@ -279,11 +1908,11 @@ export declare const rawGthConfigSchema: z.ZodObject<{
279
1908
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
280
1909
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
281
1910
  type: z.ZodEnum<{
1911
+ audio: "audio";
282
1912
  binary: "binary";
1913
+ file: "file";
283
1914
  image: "image";
284
- audio: "audio";
285
1915
  video: "video";
286
- file: "file";
287
1916
  }>;
288
1917
  extensions: z.ZodArray<z.ZodString>;
289
1918
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -293,10 +1922,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
293
1922
  code: z.ZodOptional<z.ZodObject<{
294
1923
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
295
1924
  all: "all";
296
- read: "read";
297
1925
  none: "none";
1926
+ read: "read";
298
1927
  }>]>>;
299
- 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>]>>;
300
2208
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
301
2209
  command: z.ZodString;
302
2210
  description: z.ZodString;
@@ -305,45 +2213,20 @@ export declare const rawGthConfigSchema: z.ZodObject<{
305
2213
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
306
2214
  "absolute-paths": "absolute-paths";
307
2215
  "directory-traversal": "directory-traversal";
308
- "shell-injection": "shell-injection";
309
2216
  "null-bytes": "null-bytes";
2217
+ "shell-injection": "shell-injection";
310
2218
  }>>>;
311
2219
  }, z.core.$strip>>>;
312
2220
  timeout: z.ZodOptional<z.ZodNumber>;
313
2221
  }, z.core.$strip>>]>>;
314
2222
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
315
- devTools: z.ZodOptional<z.ZodObject<{
316
- run_tests: z.ZodOptional<z.ZodString>;
317
- run_lint: z.ZodOptional<z.ZodString>;
318
- run_build: z.ZodOptional<z.ZodString>;
319
- run_single_test: z.ZodOptional<z.ZodString>;
320
- shell: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
321
- enabled: z.ZodOptional<z.ZodBoolean>;
322
- timeout: z.ZodOptional<z.ZodNumber>;
323
- maxOutputBytes: z.ZodOptional<z.ZodNumber>;
324
- allowlist: z.ZodOptional<z.ZodBoolean>;
325
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
326
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
327
- enabled: z.ZodOptional<z.ZodBoolean>;
328
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
329
- blockHigh: z.ZodOptional<z.ZodBoolean>;
330
- model: z.ZodOptional<z.ZodObject<{
331
- type: z.ZodOptional<z.ZodString>;
332
- model: z.ZodOptional<z.ZodString>;
333
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
334
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
335
- }, z.core.$loose>>;
336
- }, z.core.$strip>]>>;
337
- }, z.core.$strip>]>>;
338
- shellYolo: z.ZodOptional<z.ZodBoolean>;
339
- }, z.core.$strip>>;
340
2223
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
341
2224
  type: z.ZodEnum<{
2225
+ audio: "audio";
342
2226
  binary: "binary";
2227
+ file: "file";
343
2228
  image: "image";
344
- audio: "audio";
345
2229
  video: "video";
346
- file: "file";
347
2230
  }>;
348
2231
  extensions: z.ZodArray<z.ZodString>;
349
2232
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -353,10 +2236,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
353
2236
  exec: z.ZodOptional<z.ZodObject<{
354
2237
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
355
2238
  all: "all";
356
- read: "read";
357
2239
  none: "none";
2240
+ read: "read";
358
2241
  }>]>>;
359
- 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>]>>;
360
2522
  customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
361
2523
  command: z.ZodString;
362
2524
  description: z.ZodString;
@@ -365,45 +2527,20 @@ export declare const rawGthConfigSchema: z.ZodObject<{
365
2527
  allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
366
2528
  "absolute-paths": "absolute-paths";
367
2529
  "directory-traversal": "directory-traversal";
368
- "shell-injection": "shell-injection";
369
2530
  "null-bytes": "null-bytes";
2531
+ "shell-injection": "shell-injection";
370
2532
  }>>>;
371
2533
  }, z.core.$strip>>>;
372
2534
  timeout: z.ZodOptional<z.ZodNumber>;
373
2535
  }, z.core.$strip>>]>>;
374
2536
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
375
- devTools: z.ZodOptional<z.ZodObject<{
376
- run_tests: z.ZodOptional<z.ZodString>;
377
- run_lint: z.ZodOptional<z.ZodString>;
378
- run_build: z.ZodOptional<z.ZodString>;
379
- run_single_test: z.ZodOptional<z.ZodString>;
380
- shell: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
381
- enabled: z.ZodOptional<z.ZodBoolean>;
382
- timeout: z.ZodOptional<z.ZodNumber>;
383
- maxOutputBytes: z.ZodOptional<z.ZodNumber>;
384
- allowlist: z.ZodOptional<z.ZodBoolean>;
385
- persistAllowlist: z.ZodOptional<z.ZodBoolean>;
386
- judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
387
- enabled: z.ZodOptional<z.ZodBoolean>;
388
- autoApproveLow: z.ZodOptional<z.ZodBoolean>;
389
- blockHigh: z.ZodOptional<z.ZodBoolean>;
390
- model: z.ZodOptional<z.ZodObject<{
391
- type: z.ZodOptional<z.ZodString>;
392
- model: z.ZodOptional<z.ZodString>;
393
- configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
394
- apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
395
- }, z.core.$loose>>;
396
- }, z.core.$strip>]>>;
397
- }, z.core.$strip>]>>;
398
- shellYolo: z.ZodOptional<z.ZodBoolean>;
399
- }, z.core.$strip>>;
400
2537
  binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
401
2538
  type: z.ZodEnum<{
2539
+ audio: "audio";
402
2540
  binary: "binary";
2541
+ file: "file";
403
2542
  image: "image";
404
- audio: "audio";
405
2543
  video: "video";
406
- file: "file";
407
2544
  }>;
408
2545
  extensions: z.ZodArray<z.ZodString>;
409
2546
  maxSize: z.ZodOptional<z.ZodNumber>;
@@ -413,10 +2550,289 @@ export declare const rawGthConfigSchema: z.ZodObject<{
413
2550
  api: z.ZodOptional<z.ZodObject<{
414
2551
  filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
415
2552
  all: "all";
416
- read: "read";
417
2553
  none: "none";
2554
+ read: "read";
418
2555
  }>]>>;
419
- 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>]>>;
420
2836
  port: z.ZodOptional<z.ZodNumber>;
421
2837
  cors: z.ZodOptional<z.ZodObject<{
422
2838
  allowOrigin: z.ZodOptional<z.ZodString>;
@@ -425,9 +2841,43 @@ export declare const rawGthConfigSchema: z.ZodObject<{
425
2841
  }, z.core.$strip>>;
426
2842
  }, z.core.$strip>>;
427
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>>;
428
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>>;
429
2861
  allowDirs: z.ZodOptional<z.ZodArray<z.ZodString>>;
430
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>>>;
431
2881
  }, z.core.$loose>;
432
2882
  /**
433
2883
  * Type inferred from {@link rawGthConfigSchema}. This is additive and intentionally
@@ -440,10 +2890,20 @@ export type RawGthConfigInput = z.infer<typeof rawGthConfigSchema>;
440
2890
  * never drift from {@link rawGthConfigSchema}. Includes `$schema`.
441
2891
  */
442
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>;
443
2902
  /**
444
2903
  * Return the top-level keys present in `raw` that are not part of the known config
445
- * surface. Deprecated aliases should be pre-mapped away first (see
446
- * {@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.
447
2907
  */
448
2908
  export declare function findUnknownTopLevelKeys(raw: Record<string, unknown>): string[];
449
2909
  /**
@@ -451,21 +2911,126 @@ export declare function findUnknownTopLevelKeys(raw: Record<string, unknown>): s
451
2911
  * becomes a line ` - <path>: <message>`, with `(root)` for top-level issues.
452
2912
  */
453
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
+ }
454
2921
  /**
455
- * B3one-way pre-map of deprecated config key names to their canonical names, at
456
- * the config root AND per-command. Mutates `raw` in place (it is always a freshly
457
- * loaded config layer) and returns it alongside a list of deprecation warnings the
458
- * caller should emit via `displayWarning`. Canonical names win when both are
459
- * present; the deprecated key is always removed so it does not later surface as an
460
- * "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.
461
2946
  */
462
- export declare function preMapDeprecatedConfigNames<T extends Record<string, unknown>>(raw: T): {
463
- config: T;
464
- warnings: string[];
465
- };
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): 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;
466
2998
  /**
467
2999
  * Generate the JSON Schema for the raw config from {@link rawGthConfigSchema} using
468
3000
  * zod 4's native `z.toJSONSchema`. The output is committed to
469
3001
  * `packages/core/schema/gsloth-config.schema.json` and asserted by a golden test.
470
3002
  */
471
3003
  export declare function generateConfigJsonSchema(): Record<string, unknown>;
3004
+ /**
3005
+ * The structured outcome of validating a single raw config layer, WITHOUT any side
3006
+ * effects (no console output, no `exit`). This is the read-side counterpart to the
3007
+ * loader's `validateRawConfigLayer` (which warns + `exit`s inline): `gth config validate`
3008
+ * uses it to render its own output and choose its own exit code.
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
+ export interface RawConfigValidationResult {
3019
+ /** True when the config parses against the schema (unknown keys do NOT make it false). */
3020
+ ok: boolean;
3021
+ /** Non-fatal advisories: unknown top-level keys (likely typos). Deprecated shapes are hard errors, not warnings. */
3022
+ warnings: string[];
3023
+ /** Present only when `ok` is false: the path-scoped, multi-line validation message. */
3024
+ errorMessage?: string;
3025
+ }
3026
+ /**
3027
+ * Validate a freshly-loaded raw config object against {@link rawGthConfigSchema} and
3028
+ * report the outcome as data (a pure function — no `displayWarning`/`exit`). Mirrors the
3029
+ * loader's policy: a removed pre-2.0 shape (a top-level command key or a deprecated
3030
+ * `*Provider*` name) is a HARD failure that names the fix, unknown top-level keys warn but
3031
+ * do not fail, and a genuine type mismatch on a known field fails with a path-scoped message.
3032
+ *
3033
+ * Read-only: `findDeprecatedConfigIssues`, `findUnknownTopLevelKeys` and `safeParse` never
3034
+ * mutate `raw`, so no defensive copy is needed.
3035
+ */
3036
+ export declare function validateRawGthConfig(raw: Record<string, unknown>, options?: RawConfigValidationOptions): RawConfigValidationResult;