@gaunt-sloth/core 2.0.0-alpha.3 → 2.0.0-alpha.31

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