@oxagen/cli 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/dist/agent/__tests__/judge.test.js +11 -6
  2. package/dist/agent/__tests__/judge.test.js.map +1 -1
  3. package/dist/agent/__tests__/loop-errors.test.js +32 -1
  4. package/dist/agent/__tests__/loop-errors.test.js.map +1 -1
  5. package/dist/agent/__tests__/loop-gating.test.d.ts +2 -0
  6. package/dist/agent/__tests__/loop-gating.test.d.ts.map +1 -0
  7. package/dist/agent/__tests__/loop-gating.test.js +94 -0
  8. package/dist/agent/__tests__/loop-gating.test.js.map +1 -0
  9. package/dist/agent/__tests__/model-router.test.js +16 -0
  10. package/dist/agent/__tests__/model-router.test.js.map +1 -1
  11. package/dist/agent/__tests__/permissions.test.d.ts +2 -0
  12. package/dist/agent/__tests__/permissions.test.d.ts.map +1 -0
  13. package/dist/agent/__tests__/permissions.test.js +206 -0
  14. package/dist/agent/__tests__/permissions.test.js.map +1 -0
  15. package/dist/agent/__tests__/pipeline-telemetry.test.d.ts +2 -0
  16. package/dist/agent/__tests__/pipeline-telemetry.test.d.ts.map +1 -0
  17. package/dist/agent/__tests__/pipeline-telemetry.test.js +158 -0
  18. package/dist/agent/__tests__/pipeline-telemetry.test.js.map +1 -0
  19. package/dist/agent/__tests__/pipeline.test.js +12 -3
  20. package/dist/agent/__tests__/pipeline.test.js.map +1 -1
  21. package/dist/agent/__tests__/rate-card.test.d.ts +2 -0
  22. package/dist/agent/__tests__/rate-card.test.d.ts.map +1 -0
  23. package/dist/agent/__tests__/rate-card.test.js +69 -0
  24. package/dist/agent/__tests__/rate-card.test.js.map +1 -0
  25. package/dist/agent/__tests__/system-prompt.test.d.ts +2 -0
  26. package/dist/agent/__tests__/system-prompt.test.d.ts.map +1 -0
  27. package/dist/agent/__tests__/system-prompt.test.js +29 -0
  28. package/dist/agent/__tests__/system-prompt.test.js.map +1 -0
  29. package/dist/agent/__tests__/trace-format-verbose.test.d.ts +2 -0
  30. package/dist/agent/__tests__/trace-format-verbose.test.d.ts.map +1 -0
  31. package/dist/agent/__tests__/trace-format-verbose.test.js +93 -0
  32. package/dist/agent/__tests__/trace-format-verbose.test.js.map +1 -0
  33. package/dist/agent/__tests__/verbose-log.test.d.ts +2 -0
  34. package/dist/agent/__tests__/verbose-log.test.d.ts.map +1 -0
  35. package/dist/agent/__tests__/verbose-log.test.js +69 -0
  36. package/dist/agent/__tests__/verbose-log.test.js.map +1 -0
  37. package/dist/agent/evaluator.d.ts.map +1 -1
  38. package/dist/agent/evaluator.js +8 -4
  39. package/dist/agent/evaluator.js.map +1 -1
  40. package/dist/agent/fleet/orchestrator.d.ts +5 -0
  41. package/dist/agent/fleet/orchestrator.d.ts.map +1 -1
  42. package/dist/agent/fleet/orchestrator.js +3 -0
  43. package/dist/agent/fleet/orchestrator.js.map +1 -1
  44. package/dist/agent/fleet/types.d.ts +2 -0
  45. package/dist/agent/fleet/types.d.ts.map +1 -1
  46. package/dist/agent/judge.d.ts +11 -3
  47. package/dist/agent/judge.d.ts.map +1 -1
  48. package/dist/agent/judge.js +15 -3
  49. package/dist/agent/judge.js.map +1 -1
  50. package/dist/agent/loop.d.ts +35 -0
  51. package/dist/agent/loop.d.ts.map +1 -1
  52. package/dist/agent/loop.js +147 -48
  53. package/dist/agent/loop.js.map +1 -1
  54. package/dist/agent/model-router.d.ts +5 -19
  55. package/dist/agent/model-router.d.ts.map +1 -1
  56. package/dist/agent/model-router.js +19 -42
  57. package/dist/agent/model-router.js.map +1 -1
  58. package/dist/agent/permissions.d.ts +103 -0
  59. package/dist/agent/permissions.d.ts.map +1 -0
  60. package/dist/agent/permissions.js +245 -0
  61. package/dist/agent/permissions.js.map +1 -0
  62. package/dist/agent/pipeline.d.ts +13 -3
  63. package/dist/agent/pipeline.d.ts.map +1 -1
  64. package/dist/agent/pipeline.js +66 -15
  65. package/dist/agent/pipeline.js.map +1 -1
  66. package/dist/agent/planner.d.ts +3 -0
  67. package/dist/agent/planner.d.ts.map +1 -1
  68. package/dist/agent/planner.js +14 -1
  69. package/dist/agent/planner.js.map +1 -1
  70. package/dist/agent/prompt-enhancer.d.ts +9 -0
  71. package/dist/agent/prompt-enhancer.d.ts.map +1 -1
  72. package/dist/agent/prompt-enhancer.js +23 -1
  73. package/dist/agent/prompt-enhancer.js.map +1 -1
  74. package/dist/agent/rate-card.d.ts +77 -0
  75. package/dist/agent/rate-card.d.ts.map +1 -0
  76. package/dist/agent/rate-card.js +99 -0
  77. package/dist/agent/rate-card.js.map +1 -0
  78. package/dist/agent/system-prompt.d.ts +5 -0
  79. package/dist/agent/system-prompt.d.ts.map +1 -1
  80. package/dist/agent/system-prompt.js +13 -4
  81. package/dist/agent/system-prompt.js.map +1 -1
  82. package/dist/agent/tools.d.ts +8 -4
  83. package/dist/agent/tools.d.ts.map +1 -1
  84. package/dist/agent/tools.js +35 -4
  85. package/dist/agent/tools.js.map +1 -1
  86. package/dist/agent/trace-format.d.ts +7 -0
  87. package/dist/agent/trace-format.d.ts.map +1 -1
  88. package/dist/agent/trace-format.js +114 -0
  89. package/dist/agent/trace-format.js.map +1 -1
  90. package/dist/agent/trace.d.ts +59 -0
  91. package/dist/agent/trace.d.ts.map +1 -1
  92. package/dist/agent/verbose-log.d.ts +8 -0
  93. package/dist/agent/verbose-log.d.ts.map +1 -0
  94. package/dist/agent/verbose-log.js +53 -0
  95. package/dist/agent/verbose-log.js.map +1 -0
  96. package/dist/agents/__tests__/loader.test.d.ts +2 -0
  97. package/dist/agents/__tests__/loader.test.d.ts.map +1 -0
  98. package/dist/agents/__tests__/loader.test.js +88 -0
  99. package/dist/agents/__tests__/loader.test.js.map +1 -0
  100. package/dist/agents/__tests__/tools.test.d.ts +2 -0
  101. package/dist/agents/__tests__/tools.test.d.ts.map +1 -0
  102. package/dist/agents/__tests__/tools.test.js +40 -0
  103. package/dist/agents/__tests__/tools.test.js.map +1 -0
  104. package/dist/agents/index.d.ts +12 -0
  105. package/dist/agents/index.d.ts.map +1 -0
  106. package/dist/agents/index.js +4 -0
  107. package/dist/agents/index.js.map +1 -0
  108. package/dist/agents/loader.d.ts +25 -0
  109. package/dist/agents/loader.d.ts.map +1 -0
  110. package/dist/agents/loader.js +133 -0
  111. package/dist/agents/loader.js.map +1 -0
  112. package/dist/agents/tools.d.ts +14 -0
  113. package/dist/agents/tools.d.ts.map +1 -0
  114. package/dist/agents/tools.js +21 -0
  115. package/dist/agents/tools.js.map +1 -0
  116. package/dist/agents/types.d.ts +27 -0
  117. package/dist/agents/types.d.ts.map +1 -0
  118. package/dist/agents/types.js +11 -0
  119. package/dist/agents/types.js.map +1 -0
  120. package/dist/agents/write.d.ts +10 -0
  121. package/dist/agents/write.d.ts.map +1 -0
  122. package/dist/agents/write.js +28 -0
  123. package/dist/agents/write.js.map +1 -0
  124. package/dist/commands/__tests__/agent.test.d.ts +2 -0
  125. package/dist/commands/__tests__/agent.test.d.ts.map +1 -0
  126. package/dist/commands/__tests__/agent.test.js +82 -0
  127. package/dist/commands/__tests__/agent.test.js.map +1 -0
  128. package/dist/commands/__tests__/command.test.d.ts +2 -0
  129. package/dist/commands/__tests__/command.test.d.ts.map +1 -0
  130. package/dist/commands/__tests__/command.test.js +73 -0
  131. package/dist/commands/__tests__/command.test.js.map +1 -0
  132. package/dist/commands/__tests__/cost.test.d.ts +2 -0
  133. package/dist/commands/__tests__/cost.test.d.ts.map +1 -0
  134. package/dist/commands/__tests__/cost.test.js +139 -0
  135. package/dist/commands/__tests__/cost.test.js.map +1 -0
  136. package/dist/commands/__tests__/graph.pull.test.d.ts +2 -0
  137. package/dist/commands/__tests__/graph.pull.test.d.ts.map +1 -0
  138. package/dist/commands/__tests__/graph.pull.test.js +259 -0
  139. package/dist/commands/__tests__/graph.pull.test.js.map +1 -0
  140. package/dist/commands/__tests__/mcp.test.d.ts +2 -0
  141. package/dist/commands/__tests__/mcp.test.d.ts.map +1 -0
  142. package/dist/commands/__tests__/mcp.test.js +88 -0
  143. package/dist/commands/__tests__/mcp.test.js.map +1 -0
  144. package/dist/commands/__tests__/rules.test.d.ts +2 -0
  145. package/dist/commands/__tests__/rules.test.d.ts.map +1 -0
  146. package/dist/commands/__tests__/rules.test.js +95 -0
  147. package/dist/commands/__tests__/rules.test.js.map +1 -0
  148. package/dist/commands/__tests__/settings.test.d.ts +2 -0
  149. package/dist/commands/__tests__/settings.test.d.ts.map +1 -0
  150. package/dist/commands/__tests__/settings.test.js +83 -0
  151. package/dist/commands/__tests__/settings.test.js.map +1 -0
  152. package/dist/commands/agent.d.ts +15 -0
  153. package/dist/commands/agent.d.ts.map +1 -0
  154. package/dist/commands/agent.js +58 -0
  155. package/dist/commands/agent.js.map +1 -0
  156. package/dist/commands/command.d.ts +17 -0
  157. package/dist/commands/command.d.ts.map +1 -0
  158. package/dist/commands/command.js +74 -0
  159. package/dist/commands/command.js.map +1 -0
  160. package/dist/commands/config.js.map +1 -1
  161. package/dist/commands/cost.d.ts +10 -0
  162. package/dist/commands/cost.d.ts.map +1 -0
  163. package/dist/commands/cost.js +140 -0
  164. package/dist/commands/cost.js.map +1 -0
  165. package/dist/commands/graph.pull.d.ts +15 -0
  166. package/dist/commands/graph.pull.d.ts.map +1 -0
  167. package/dist/commands/graph.pull.js +137 -0
  168. package/dist/commands/graph.pull.js.map +1 -0
  169. package/dist/commands/graph.status.d.ts +10 -0
  170. package/dist/commands/graph.status.d.ts.map +1 -0
  171. package/dist/commands/graph.status.js +75 -0
  172. package/dist/commands/graph.status.js.map +1 -0
  173. package/dist/commands/mcp.d.ts +18 -0
  174. package/dist/commands/mcp.d.ts.map +1 -0
  175. package/dist/commands/mcp.js +183 -0
  176. package/dist/commands/mcp.js.map +1 -0
  177. package/dist/commands/rules.d.ts +19 -0
  178. package/dist/commands/rules.d.ts.map +1 -0
  179. package/dist/commands/rules.js +96 -0
  180. package/dist/commands/rules.js.map +1 -0
  181. package/dist/commands/settings.d.ts +10 -0
  182. package/dist/commands/settings.d.ts.map +1 -0
  183. package/dist/commands/settings.js +117 -0
  184. package/dist/commands/settings.js.map +1 -0
  185. package/dist/index.js +297 -1
  186. package/dist/index.js.map +1 -1
  187. package/dist/lib/config.d.ts +2 -0
  188. package/dist/lib/config.d.ts.map +1 -1
  189. package/dist/lib/config.js.map +1 -1
  190. package/dist/mcp/__tests__/client.test.d.ts +2 -0
  191. package/dist/mcp/__tests__/client.test.d.ts.map +1 -0
  192. package/dist/mcp/__tests__/client.test.js +101 -0
  193. package/dist/mcp/__tests__/client.test.js.map +1 -0
  194. package/dist/mcp/client.d.ts +89 -0
  195. package/dist/mcp/client.d.ts.map +1 -0
  196. package/dist/mcp/client.js +201 -0
  197. package/dist/mcp/client.js.map +1 -0
  198. package/dist/repl/__tests__/components.test.js +50 -1
  199. package/dist/repl/__tests__/components.test.js.map +1 -1
  200. package/dist/repl/components.d.ts +18 -1
  201. package/dist/repl/components.d.ts.map +1 -1
  202. package/dist/repl/components.js +32 -2
  203. package/dist/repl/components.js.map +1 -1
  204. package/dist/repl/interactive.d.ts +5 -0
  205. package/dist/repl/interactive.d.ts.map +1 -1
  206. package/dist/repl/interactive.js +124 -11
  207. package/dist/repl/interactive.js.map +1 -1
  208. package/dist/repl/one-shot.d.ts +16 -0
  209. package/dist/repl/one-shot.d.ts.map +1 -1
  210. package/dist/repl/one-shot.js +71 -1
  211. package/dist/repl/one-shot.js.map +1 -1
  212. package/dist/rules/__tests__/enforce.test.d.ts +2 -0
  213. package/dist/rules/__tests__/enforce.test.d.ts.map +1 -0
  214. package/dist/rules/__tests__/enforce.test.js +58 -0
  215. package/dist/rules/__tests__/enforce.test.js.map +1 -0
  216. package/dist/rules/__tests__/loader.test.d.ts +2 -0
  217. package/dist/rules/__tests__/loader.test.d.ts.map +1 -0
  218. package/dist/rules/__tests__/loader.test.js +54 -0
  219. package/dist/rules/__tests__/loader.test.js.map +1 -0
  220. package/dist/rules/enforce.d.ts +23 -0
  221. package/dist/rules/enforce.d.ts.map +1 -0
  222. package/dist/rules/enforce.js +36 -0
  223. package/dist/rules/enforce.js.map +1 -0
  224. package/dist/rules/index.d.ts +10 -0
  225. package/dist/rules/index.d.ts.map +1 -0
  226. package/dist/rules/index.js +4 -0
  227. package/dist/rules/index.js.map +1 -0
  228. package/dist/rules/loader.d.ts +10 -0
  229. package/dist/rules/loader.d.ts.map +1 -0
  230. package/dist/rules/loader.js +77 -0
  231. package/dist/rules/loader.js.map +1 -0
  232. package/dist/rules/types.d.ts +39 -0
  233. package/dist/rules/types.d.ts.map +1 -0
  234. package/dist/rules/types.js +16 -0
  235. package/dist/rules/types.js.map +1 -0
  236. package/dist/rules/write.d.ts +10 -0
  237. package/dist/rules/write.d.ts.map +1 -0
  238. package/dist/rules/write.js +28 -0
  239. package/dist/rules/write.js.map +1 -0
  240. package/dist/settings/__tests__/gate.test.d.ts +2 -0
  241. package/dist/settings/__tests__/gate.test.d.ts.map +1 -0
  242. package/dist/settings/__tests__/gate.test.js +137 -0
  243. package/dist/settings/__tests__/gate.test.js.map +1 -0
  244. package/dist/settings/__tests__/hooks.test.d.ts +2 -0
  245. package/dist/settings/__tests__/hooks.test.d.ts.map +1 -0
  246. package/dist/settings/__tests__/hooks.test.js +103 -0
  247. package/dist/settings/__tests__/hooks.test.js.map +1 -0
  248. package/dist/settings/__tests__/mcp-write.test.d.ts +2 -0
  249. package/dist/settings/__tests__/mcp-write.test.d.ts.map +1 -0
  250. package/dist/settings/__tests__/mcp-write.test.js +77 -0
  251. package/dist/settings/__tests__/mcp-write.test.js.map +1 -0
  252. package/dist/settings/__tests__/permissions-gate.test.d.ts +2 -0
  253. package/dist/settings/__tests__/permissions-gate.test.d.ts.map +1 -0
  254. package/dist/settings/__tests__/permissions-gate.test.js +75 -0
  255. package/dist/settings/__tests__/permissions-gate.test.js.map +1 -0
  256. package/dist/settings/__tests__/resolve.test.d.ts +2 -0
  257. package/dist/settings/__tests__/resolve.test.d.ts.map +1 -0
  258. package/dist/settings/__tests__/resolve.test.js +109 -0
  259. package/dist/settings/__tests__/resolve.test.js.map +1 -0
  260. package/dist/settings/__tests__/runtime.test.d.ts +2 -0
  261. package/dist/settings/__tests__/runtime.test.d.ts.map +1 -0
  262. package/dist/settings/__tests__/runtime.test.js +72 -0
  263. package/dist/settings/__tests__/runtime.test.js.map +1 -0
  264. package/dist/settings/__tests__/schema.test.d.ts +2 -0
  265. package/dist/settings/__tests__/schema.test.d.ts.map +1 -0
  266. package/dist/settings/__tests__/schema.test.js +55 -0
  267. package/dist/settings/__tests__/schema.test.js.map +1 -0
  268. package/dist/settings/__tests__/write.test.d.ts +2 -0
  269. package/dist/settings/__tests__/write.test.d.ts.map +1 -0
  270. package/dist/settings/__tests__/write.test.js +61 -0
  271. package/dist/settings/__tests__/write.test.js.map +1 -0
  272. package/dist/settings/gate.d.ts +34 -0
  273. package/dist/settings/gate.d.ts.map +1 -0
  274. package/dist/settings/gate.js +50 -0
  275. package/dist/settings/gate.js.map +1 -0
  276. package/dist/settings/hooks.d.ts +26 -0
  277. package/dist/settings/hooks.d.ts.map +1 -0
  278. package/dist/settings/hooks.js +115 -0
  279. package/dist/settings/hooks.js.map +1 -0
  280. package/dist/settings/index.d.ts +23 -0
  281. package/dist/settings/index.d.ts.map +1 -0
  282. package/dist/settings/index.js +23 -0
  283. package/dist/settings/index.js.map +1 -0
  284. package/dist/settings/mcp-write.d.ts +41 -0
  285. package/dist/settings/mcp-write.d.ts.map +1 -0
  286. package/dist/settings/mcp-write.js +61 -0
  287. package/dist/settings/mcp-write.js.map +1 -0
  288. package/dist/settings/permissions-gate.d.ts +19 -0
  289. package/dist/settings/permissions-gate.d.ts.map +1 -0
  290. package/dist/settings/permissions-gate.js +103 -0
  291. package/dist/settings/permissions-gate.js.map +1 -0
  292. package/dist/settings/resolve.d.ts +37 -0
  293. package/dist/settings/resolve.d.ts.map +1 -0
  294. package/dist/settings/resolve.js +169 -0
  295. package/dist/settings/resolve.js.map +1 -0
  296. package/dist/settings/runtime.d.ts +28 -0
  297. package/dist/settings/runtime.d.ts.map +1 -0
  298. package/dist/settings/runtime.js +45 -0
  299. package/dist/settings/runtime.js.map +1 -0
  300. package/dist/settings/schema.d.ts +1387 -0
  301. package/dist/settings/schema.d.ts.map +1 -0
  302. package/dist/settings/schema.js +146 -0
  303. package/dist/settings/schema.js.map +1 -0
  304. package/dist/settings/write.d.ts +37 -0
  305. package/dist/settings/write.d.ts.map +1 -0
  306. package/dist/settings/write.js +85 -0
  307. package/dist/settings/write.js.map +1 -0
  308. package/dist/slash/__tests__/expand.test.d.ts +2 -0
  309. package/dist/slash/__tests__/expand.test.d.ts.map +1 -0
  310. package/dist/slash/__tests__/expand.test.js +44 -0
  311. package/dist/slash/__tests__/expand.test.js.map +1 -0
  312. package/dist/slash/__tests__/loader.test.d.ts +2 -0
  313. package/dist/slash/__tests__/loader.test.d.ts.map +1 -0
  314. package/dist/slash/__tests__/loader.test.js +48 -0
  315. package/dist/slash/__tests__/loader.test.js.map +1 -0
  316. package/dist/slash/expand.d.ts +32 -0
  317. package/dist/slash/expand.d.ts.map +1 -0
  318. package/dist/slash/expand.js +48 -0
  319. package/dist/slash/expand.js.map +1 -0
  320. package/dist/slash/index.d.ts +11 -0
  321. package/dist/slash/index.d.ts.map +1 -0
  322. package/dist/slash/index.js +4 -0
  323. package/dist/slash/index.js.map +1 -0
  324. package/dist/slash/loader.d.ts +10 -0
  325. package/dist/slash/loader.d.ts.map +1 -0
  326. package/dist/slash/loader.js +64 -0
  327. package/dist/slash/loader.js.map +1 -0
  328. package/dist/slash/types.d.ts +24 -0
  329. package/dist/slash/types.d.ts.map +1 -0
  330. package/dist/slash/types.js +11 -0
  331. package/dist/slash/types.js.map +1 -0
  332. package/dist/slash/write.d.ts +10 -0
  333. package/dist/slash/write.d.ts.map +1 -0
  334. package/dist/slash/write.js +26 -0
  335. package/dist/slash/write.js.map +1 -0
  336. package/dist/tui/fleet-view/index.d.ts.map +1 -1
  337. package/dist/tui/fleet-view/index.js +5 -1
  338. package/dist/tui/fleet-view/index.js.map +1 -1
  339. package/package.json +5 -1
@@ -0,0 +1,1387 @@
1
+ /**
2
+ * schema.ts — The unified `settings.json` schema that drives the Oxagen CLI.
3
+ *
4
+ * This is the CLI harness spine: a single file format, resolved across three
5
+ * scopes (see resolve.ts), that configures the CLI's behavior the way Claude
6
+ * Code's `settings.json` does. Sections:
7
+ *
8
+ * - model default gateway model slug for the agent loop
9
+ * - apiUrl Oxagen platform API base URL
10
+ * - env environment variables made available to the session
11
+ * - permissions allow/deny rules + default mode for the agent's local tools
12
+ * - hooks shell commands fired on lifecycle events (SessionStart /
13
+ * PreToolUse / PostToolUse) — PreToolUse can block a tool
14
+ * - mcpServers external MCP server definitions (reused from @oxagen/mcp-config)
15
+ * - toolVisibility per-MCP-server tool include/exclude (reused from @oxagen/mcp-config)
16
+ *
17
+ * Credentials (token / org / workspace / gatewayKey) intentionally do NOT live
18
+ * here — they stay in the user-only `config.json` credential store so a project
19
+ * `settings.json` is safe to commit. This mirrors Claude Code, which keeps
20
+ * `.credentials.json` separate from `settings.json`.
21
+ *
22
+ * The MCP sections deliberately reuse the schemas from `@oxagen/mcp-config` so a
23
+ * single `settings.json` validates identically here and in the platform agent
24
+ * runtime that already reads MCP servers from the same file — no second source
25
+ * of truth, no drift.
26
+ */
27
+ import { z } from "zod";
28
+ /**
29
+ * Permission mode when no explicit allow/deny rule matches a tool call.
30
+ *
31
+ * - "default" / "acceptEdits" → allow unless a deny rule matches
32
+ * - "deny" → block unless an allow rule matches (deny-by-default)
33
+ * - "bypassPermissions" → allow everything (deny rules still take priority)
34
+ *
35
+ * Enforced for the agent's local tools in gate.ts. (Interactive "ask"/"plan"
36
+ * prompting lands with the MCP-client PR; only the modes enforced today are
37
+ * accepted here so the schema never advertises behavior that does not exist.)
38
+ */
39
+ export declare const permissionModeSchema: z.ZodEnum<["default", "acceptEdits", "deny", "bypassPermissions"]>;
40
+ export type PermissionMode = z.infer<typeof permissionModeSchema>;
41
+ /**
42
+ * Permission rules for the agent's local tools, in Claude Code's rule syntax:
43
+ *
44
+ * "Bash" → the whole bash tool
45
+ * "Bash(git*)" → bash commands matching the glob `git*`
46
+ * "Write" → any file write
47
+ * "Write(src/**)" → writes whose path matches `src/**`
48
+ * "Read(.env*)" → reads whose path matches `.env*`
49
+ * "mcp__github__*" → (reserved for the MCP gate) any tool on the `github` server
50
+ *
51
+ * `deny` always wins over `allow` at the same scope. The MCP-specific
52
+ * `defaultMcpPolicy` / `mcpServers` fields are carried through unchanged so the
53
+ * same `permissions` object also feeds @oxagen/mcp-config's per-server gate when
54
+ * the MCP client lands.
55
+ */
56
+ export declare const permissionsSchema: z.ZodObject<{
57
+ /** Mode applied when no allow/deny rule matches. Default: "default". */
58
+ defaultMode: z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "deny", "bypassPermissions"]>>;
59
+ /** Rules that explicitly permit a tool call (escape hatch from deny mode). */
60
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
61
+ /** Rules that explicitly block a tool call. Highest priority. */
62
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
63
+ /** Global default policy for MCP tool invocations. */
64
+ defaultMcpPolicy: z.ZodOptional<z.ZodEnum<["allow", "deny", "ask"]>>;
65
+ /** Per-MCP-server permission overrides, keyed by server name. */
66
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
67
+ defaultPolicy: z.ZodOptional<z.ZodEnum<["allow", "deny", "ask"]>>;
68
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
69
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ allow?: string[] | undefined;
72
+ deny?: string[] | undefined;
73
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
74
+ }, {
75
+ allow?: string[] | undefined;
76
+ deny?: string[] | undefined;
77
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
78
+ }>>>;
79
+ }, "strip", z.ZodTypeAny, {
80
+ allow?: string[] | undefined;
81
+ deny?: string[] | undefined;
82
+ defaultMcpPolicy?: "ask" | "allow" | "deny" | undefined;
83
+ mcpServers?: Record<string, {
84
+ allow?: string[] | undefined;
85
+ deny?: string[] | undefined;
86
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
87
+ }> | undefined;
88
+ defaultMode?: "default" | "acceptEdits" | "deny" | "bypassPermissions" | undefined;
89
+ }, {
90
+ allow?: string[] | undefined;
91
+ deny?: string[] | undefined;
92
+ defaultMcpPolicy?: "ask" | "allow" | "deny" | undefined;
93
+ mcpServers?: Record<string, {
94
+ allow?: string[] | undefined;
95
+ deny?: string[] | undefined;
96
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
97
+ }> | undefined;
98
+ defaultMode?: "default" | "acceptEdits" | "deny" | "bypassPermissions" | undefined;
99
+ }>;
100
+ export type Permissions = z.infer<typeof permissionsSchema>;
101
+ /** Lifecycle events a hook can fire on. */
102
+ export declare const HOOK_EVENTS: readonly ["SessionStart", "PreToolUse", "PostToolUse"];
103
+ export type HookEvent = (typeof HOOK_EVENTS)[number];
104
+ /** A single shell command a hook runs. */
105
+ export declare const hookActionSchema: z.ZodObject<{
106
+ /** Only "command" hooks are supported. */
107
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
108
+ /** Shell command. Receives the event payload as JSON on stdin. */
109
+ command: z.ZodString;
110
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
111
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ type: "command";
114
+ command: string;
115
+ timeoutMs?: number | undefined;
116
+ }, {
117
+ command: string;
118
+ type?: "command" | undefined;
119
+ timeoutMs?: number | undefined;
120
+ }>;
121
+ export type HookAction = z.infer<typeof hookActionSchema>;
122
+ /**
123
+ * A matcher groups hook actions under a tool-name pattern. For PreToolUse /
124
+ * PostToolUse, `matcher` is a glob over the tool name (e.g. "bash",
125
+ * "write_file", "*"). For SessionStart it is ignored (all actions run).
126
+ */
127
+ export declare const hookMatcherSchema: z.ZodObject<{
128
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
129
+ matcher: z.ZodOptional<z.ZodString>;
130
+ /** Actions to run when this matcher matches. */
131
+ hooks: z.ZodArray<z.ZodObject<{
132
+ /** Only "command" hooks are supported. */
133
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
134
+ /** Shell command. Receives the event payload as JSON on stdin. */
135
+ command: z.ZodString;
136
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
137
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ type: "command";
140
+ command: string;
141
+ timeoutMs?: number | undefined;
142
+ }, {
143
+ command: string;
144
+ type?: "command" | undefined;
145
+ timeoutMs?: number | undefined;
146
+ }>, "many">;
147
+ }, "strip", z.ZodTypeAny, {
148
+ hooks: {
149
+ type: "command";
150
+ command: string;
151
+ timeoutMs?: number | undefined;
152
+ }[];
153
+ matcher?: string | undefined;
154
+ }, {
155
+ hooks: {
156
+ command: string;
157
+ type?: "command" | undefined;
158
+ timeoutMs?: number | undefined;
159
+ }[];
160
+ matcher?: string | undefined;
161
+ }>;
162
+ export type HookMatcher = z.infer<typeof hookMatcherSchema>;
163
+ /** Hooks keyed by lifecycle event. */
164
+ export declare const hooksSchema: z.ZodObject<{
165
+ SessionStart: z.ZodOptional<z.ZodArray<z.ZodObject<{
166
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
167
+ matcher: z.ZodOptional<z.ZodString>;
168
+ /** Actions to run when this matcher matches. */
169
+ hooks: z.ZodArray<z.ZodObject<{
170
+ /** Only "command" hooks are supported. */
171
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
172
+ /** Shell command. Receives the event payload as JSON on stdin. */
173
+ command: z.ZodString;
174
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
175
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
176
+ }, "strip", z.ZodTypeAny, {
177
+ type: "command";
178
+ command: string;
179
+ timeoutMs?: number | undefined;
180
+ }, {
181
+ command: string;
182
+ type?: "command" | undefined;
183
+ timeoutMs?: number | undefined;
184
+ }>, "many">;
185
+ }, "strip", z.ZodTypeAny, {
186
+ hooks: {
187
+ type: "command";
188
+ command: string;
189
+ timeoutMs?: number | undefined;
190
+ }[];
191
+ matcher?: string | undefined;
192
+ }, {
193
+ hooks: {
194
+ command: string;
195
+ type?: "command" | undefined;
196
+ timeoutMs?: number | undefined;
197
+ }[];
198
+ matcher?: string | undefined;
199
+ }>, "many">>;
200
+ PreToolUse: z.ZodOptional<z.ZodArray<z.ZodObject<{
201
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
202
+ matcher: z.ZodOptional<z.ZodString>;
203
+ /** Actions to run when this matcher matches. */
204
+ hooks: z.ZodArray<z.ZodObject<{
205
+ /** Only "command" hooks are supported. */
206
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
207
+ /** Shell command. Receives the event payload as JSON on stdin. */
208
+ command: z.ZodString;
209
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
210
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
211
+ }, "strip", z.ZodTypeAny, {
212
+ type: "command";
213
+ command: string;
214
+ timeoutMs?: number | undefined;
215
+ }, {
216
+ command: string;
217
+ type?: "command" | undefined;
218
+ timeoutMs?: number | undefined;
219
+ }>, "many">;
220
+ }, "strip", z.ZodTypeAny, {
221
+ hooks: {
222
+ type: "command";
223
+ command: string;
224
+ timeoutMs?: number | undefined;
225
+ }[];
226
+ matcher?: string | undefined;
227
+ }, {
228
+ hooks: {
229
+ command: string;
230
+ type?: "command" | undefined;
231
+ timeoutMs?: number | undefined;
232
+ }[];
233
+ matcher?: string | undefined;
234
+ }>, "many">>;
235
+ PostToolUse: z.ZodOptional<z.ZodArray<z.ZodObject<{
236
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
237
+ matcher: z.ZodOptional<z.ZodString>;
238
+ /** Actions to run when this matcher matches. */
239
+ hooks: z.ZodArray<z.ZodObject<{
240
+ /** Only "command" hooks are supported. */
241
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
242
+ /** Shell command. Receives the event payload as JSON on stdin. */
243
+ command: z.ZodString;
244
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
245
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
246
+ }, "strip", z.ZodTypeAny, {
247
+ type: "command";
248
+ command: string;
249
+ timeoutMs?: number | undefined;
250
+ }, {
251
+ command: string;
252
+ type?: "command" | undefined;
253
+ timeoutMs?: number | undefined;
254
+ }>, "many">;
255
+ }, "strip", z.ZodTypeAny, {
256
+ hooks: {
257
+ type: "command";
258
+ command: string;
259
+ timeoutMs?: number | undefined;
260
+ }[];
261
+ matcher?: string | undefined;
262
+ }, {
263
+ hooks: {
264
+ command: string;
265
+ type?: "command" | undefined;
266
+ timeoutMs?: number | undefined;
267
+ }[];
268
+ matcher?: string | undefined;
269
+ }>, "many">>;
270
+ }, "strip", z.ZodTypeAny, {
271
+ SessionStart?: {
272
+ hooks: {
273
+ type: "command";
274
+ command: string;
275
+ timeoutMs?: number | undefined;
276
+ }[];
277
+ matcher?: string | undefined;
278
+ }[] | undefined;
279
+ PreToolUse?: {
280
+ hooks: {
281
+ type: "command";
282
+ command: string;
283
+ timeoutMs?: number | undefined;
284
+ }[];
285
+ matcher?: string | undefined;
286
+ }[] | undefined;
287
+ PostToolUse?: {
288
+ hooks: {
289
+ type: "command";
290
+ command: string;
291
+ timeoutMs?: number | undefined;
292
+ }[];
293
+ matcher?: string | undefined;
294
+ }[] | undefined;
295
+ }, {
296
+ SessionStart?: {
297
+ hooks: {
298
+ command: string;
299
+ type?: "command" | undefined;
300
+ timeoutMs?: number | undefined;
301
+ }[];
302
+ matcher?: string | undefined;
303
+ }[] | undefined;
304
+ PreToolUse?: {
305
+ hooks: {
306
+ command: string;
307
+ type?: "command" | undefined;
308
+ timeoutMs?: number | undefined;
309
+ }[];
310
+ matcher?: string | undefined;
311
+ }[] | undefined;
312
+ PostToolUse?: {
313
+ hooks: {
314
+ command: string;
315
+ type?: "command" | undefined;
316
+ timeoutMs?: number | undefined;
317
+ }[];
318
+ matcher?: string | undefined;
319
+ }[] | undefined;
320
+ }>;
321
+ export type Hooks = z.infer<typeof hooksSchema>;
322
+ /**
323
+ * A named agent declared inline in settings.json (an alternative to a markdown
324
+ * file under `.oxagen/agents/`). `prompt` is the system prompt; `tools` is the
325
+ * permission-syntax allowlist (omit to inherit every tool).
326
+ */
327
+ export declare const inlineAgentSchema: z.ZodObject<{
328
+ description: z.ZodOptional<z.ZodString>;
329
+ prompt: z.ZodString;
330
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
331
+ model: z.ZodOptional<z.ZodString>;
332
+ }, "strip", z.ZodTypeAny, {
333
+ prompt: string;
334
+ model?: string | undefined;
335
+ description?: string | undefined;
336
+ tools?: string[] | undefined;
337
+ }, {
338
+ prompt: string;
339
+ model?: string | undefined;
340
+ description?: string | undefined;
341
+ tools?: string[] | undefined;
342
+ }>;
343
+ export type InlineAgent = z.infer<typeof inlineAgentSchema>;
344
+ export declare const oxagenSettingsSchema: z.ZodObject<{
345
+ /** Optional JSON-Schema reference for editor autocompletion. */
346
+ $schema: z.ZodOptional<z.ZodString>;
347
+ /** Default gateway model slug for the agent loop (e.g. "anthropic/claude-sonnet-4.6"). */
348
+ model: z.ZodOptional<z.ZodString>;
349
+ /** Oxagen platform API base URL (overrides config.json; env still wins). */
350
+ apiUrl: z.ZodOptional<z.ZodString>;
351
+ /** Environment variables exported into the session (fills only unset vars; shell wins). */
352
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
353
+ /** Allow/deny rules + default mode for the agent's local tools. */
354
+ permissions: z.ZodOptional<z.ZodObject<{
355
+ /** Mode applied when no allow/deny rule matches. Default: "default". */
356
+ defaultMode: z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "deny", "bypassPermissions"]>>;
357
+ /** Rules that explicitly permit a tool call (escape hatch from deny mode). */
358
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
359
+ /** Rules that explicitly block a tool call. Highest priority. */
360
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
361
+ /** Global default policy for MCP tool invocations. */
362
+ defaultMcpPolicy: z.ZodOptional<z.ZodEnum<["allow", "deny", "ask"]>>;
363
+ /** Per-MCP-server permission overrides, keyed by server name. */
364
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
365
+ defaultPolicy: z.ZodOptional<z.ZodEnum<["allow", "deny", "ask"]>>;
366
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
367
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
368
+ }, "strip", z.ZodTypeAny, {
369
+ allow?: string[] | undefined;
370
+ deny?: string[] | undefined;
371
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
372
+ }, {
373
+ allow?: string[] | undefined;
374
+ deny?: string[] | undefined;
375
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
376
+ }>>>;
377
+ }, "strip", z.ZodTypeAny, {
378
+ allow?: string[] | undefined;
379
+ deny?: string[] | undefined;
380
+ defaultMcpPolicy?: "ask" | "allow" | "deny" | undefined;
381
+ mcpServers?: Record<string, {
382
+ allow?: string[] | undefined;
383
+ deny?: string[] | undefined;
384
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
385
+ }> | undefined;
386
+ defaultMode?: "default" | "acceptEdits" | "deny" | "bypassPermissions" | undefined;
387
+ }, {
388
+ allow?: string[] | undefined;
389
+ deny?: string[] | undefined;
390
+ defaultMcpPolicy?: "ask" | "allow" | "deny" | undefined;
391
+ mcpServers?: Record<string, {
392
+ allow?: string[] | undefined;
393
+ deny?: string[] | undefined;
394
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
395
+ }> | undefined;
396
+ defaultMode?: "default" | "acceptEdits" | "deny" | "bypassPermissions" | undefined;
397
+ }>>;
398
+ /** Shell commands fired on lifecycle events. */
399
+ hooks: z.ZodOptional<z.ZodObject<{
400
+ SessionStart: z.ZodOptional<z.ZodArray<z.ZodObject<{
401
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
402
+ matcher: z.ZodOptional<z.ZodString>;
403
+ /** Actions to run when this matcher matches. */
404
+ hooks: z.ZodArray<z.ZodObject<{
405
+ /** Only "command" hooks are supported. */
406
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
407
+ /** Shell command. Receives the event payload as JSON on stdin. */
408
+ command: z.ZodString;
409
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
410
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
411
+ }, "strip", z.ZodTypeAny, {
412
+ type: "command";
413
+ command: string;
414
+ timeoutMs?: number | undefined;
415
+ }, {
416
+ command: string;
417
+ type?: "command" | undefined;
418
+ timeoutMs?: number | undefined;
419
+ }>, "many">;
420
+ }, "strip", z.ZodTypeAny, {
421
+ hooks: {
422
+ type: "command";
423
+ command: string;
424
+ timeoutMs?: number | undefined;
425
+ }[];
426
+ matcher?: string | undefined;
427
+ }, {
428
+ hooks: {
429
+ command: string;
430
+ type?: "command" | undefined;
431
+ timeoutMs?: number | undefined;
432
+ }[];
433
+ matcher?: string | undefined;
434
+ }>, "many">>;
435
+ PreToolUse: z.ZodOptional<z.ZodArray<z.ZodObject<{
436
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
437
+ matcher: z.ZodOptional<z.ZodString>;
438
+ /** Actions to run when this matcher matches. */
439
+ hooks: z.ZodArray<z.ZodObject<{
440
+ /** Only "command" hooks are supported. */
441
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
442
+ /** Shell command. Receives the event payload as JSON on stdin. */
443
+ command: z.ZodString;
444
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
445
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
446
+ }, "strip", z.ZodTypeAny, {
447
+ type: "command";
448
+ command: string;
449
+ timeoutMs?: number | undefined;
450
+ }, {
451
+ command: string;
452
+ type?: "command" | undefined;
453
+ timeoutMs?: number | undefined;
454
+ }>, "many">;
455
+ }, "strip", z.ZodTypeAny, {
456
+ hooks: {
457
+ type: "command";
458
+ command: string;
459
+ timeoutMs?: number | undefined;
460
+ }[];
461
+ matcher?: string | undefined;
462
+ }, {
463
+ hooks: {
464
+ command: string;
465
+ type?: "command" | undefined;
466
+ timeoutMs?: number | undefined;
467
+ }[];
468
+ matcher?: string | undefined;
469
+ }>, "many">>;
470
+ PostToolUse: z.ZodOptional<z.ZodArray<z.ZodObject<{
471
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
472
+ matcher: z.ZodOptional<z.ZodString>;
473
+ /** Actions to run when this matcher matches. */
474
+ hooks: z.ZodArray<z.ZodObject<{
475
+ /** Only "command" hooks are supported. */
476
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
477
+ /** Shell command. Receives the event payload as JSON on stdin. */
478
+ command: z.ZodString;
479
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
480
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
481
+ }, "strip", z.ZodTypeAny, {
482
+ type: "command";
483
+ command: string;
484
+ timeoutMs?: number | undefined;
485
+ }, {
486
+ command: string;
487
+ type?: "command" | undefined;
488
+ timeoutMs?: number | undefined;
489
+ }>, "many">;
490
+ }, "strip", z.ZodTypeAny, {
491
+ hooks: {
492
+ type: "command";
493
+ command: string;
494
+ timeoutMs?: number | undefined;
495
+ }[];
496
+ matcher?: string | undefined;
497
+ }, {
498
+ hooks: {
499
+ command: string;
500
+ type?: "command" | undefined;
501
+ timeoutMs?: number | undefined;
502
+ }[];
503
+ matcher?: string | undefined;
504
+ }>, "many">>;
505
+ }, "strip", z.ZodTypeAny, {
506
+ SessionStart?: {
507
+ hooks: {
508
+ type: "command";
509
+ command: string;
510
+ timeoutMs?: number | undefined;
511
+ }[];
512
+ matcher?: string | undefined;
513
+ }[] | undefined;
514
+ PreToolUse?: {
515
+ hooks: {
516
+ type: "command";
517
+ command: string;
518
+ timeoutMs?: number | undefined;
519
+ }[];
520
+ matcher?: string | undefined;
521
+ }[] | undefined;
522
+ PostToolUse?: {
523
+ hooks: {
524
+ type: "command";
525
+ command: string;
526
+ timeoutMs?: number | undefined;
527
+ }[];
528
+ matcher?: string | undefined;
529
+ }[] | undefined;
530
+ }, {
531
+ SessionStart?: {
532
+ hooks: {
533
+ command: string;
534
+ type?: "command" | undefined;
535
+ timeoutMs?: number | undefined;
536
+ }[];
537
+ matcher?: string | undefined;
538
+ }[] | undefined;
539
+ PreToolUse?: {
540
+ hooks: {
541
+ command: string;
542
+ type?: "command" | undefined;
543
+ timeoutMs?: number | undefined;
544
+ }[];
545
+ matcher?: string | undefined;
546
+ }[] | undefined;
547
+ PostToolUse?: {
548
+ hooks: {
549
+ command: string;
550
+ type?: "command" | undefined;
551
+ timeoutMs?: number | undefined;
552
+ }[];
553
+ matcher?: string | undefined;
554
+ }[] | undefined;
555
+ }>>;
556
+ /** External MCP server definitions, keyed by name. */
557
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<"transport", [z.ZodObject<{
558
+ transport: z.ZodLiteral<"streamable-http">;
559
+ url: z.ZodString;
560
+ auth: z.ZodDefault<z.ZodEnum<["oauth", "bearer", "header", "none"]>>;
561
+ oauthServerUrl: z.ZodOptional<z.ZodString>;
562
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
563
+ envToken: z.ZodOptional<z.ZodString>;
564
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
565
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
566
+ disabled: z.ZodOptional<z.ZodBoolean>;
567
+ }, "strip", z.ZodTypeAny, {
568
+ transport: "streamable-http";
569
+ url: string;
570
+ auth: "none" | "oauth" | "bearer" | "header";
571
+ headers?: Record<string, string> | undefined;
572
+ oauthServerUrl?: string | undefined;
573
+ scopes?: string[] | undefined;
574
+ envToken?: string | undefined;
575
+ env?: Record<string, string> | undefined;
576
+ disabled?: boolean | undefined;
577
+ }, {
578
+ transport: "streamable-http";
579
+ url: string;
580
+ headers?: Record<string, string> | undefined;
581
+ auth?: "none" | "oauth" | "bearer" | "header" | undefined;
582
+ oauthServerUrl?: string | undefined;
583
+ scopes?: string[] | undefined;
584
+ envToken?: string | undefined;
585
+ env?: Record<string, string> | undefined;
586
+ disabled?: boolean | undefined;
587
+ }>, z.ZodObject<{
588
+ transport: z.ZodLiteral<"sse">;
589
+ url: z.ZodString;
590
+ auth: z.ZodDefault<z.ZodEnum<["oauth", "bearer", "header", "none"]>>;
591
+ oauthServerUrl: z.ZodOptional<z.ZodString>;
592
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
593
+ envToken: z.ZodOptional<z.ZodString>;
594
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
595
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
596
+ disabled: z.ZodOptional<z.ZodBoolean>;
597
+ }, "strip", z.ZodTypeAny, {
598
+ transport: "sse";
599
+ url: string;
600
+ auth: "none" | "oauth" | "bearer" | "header";
601
+ headers?: Record<string, string> | undefined;
602
+ oauthServerUrl?: string | undefined;
603
+ scopes?: string[] | undefined;
604
+ envToken?: string | undefined;
605
+ env?: Record<string, string> | undefined;
606
+ disabled?: boolean | undefined;
607
+ }, {
608
+ transport: "sse";
609
+ url: string;
610
+ headers?: Record<string, string> | undefined;
611
+ auth?: "none" | "oauth" | "bearer" | "header" | undefined;
612
+ oauthServerUrl?: string | undefined;
613
+ scopes?: string[] | undefined;
614
+ envToken?: string | undefined;
615
+ env?: Record<string, string> | undefined;
616
+ disabled?: boolean | undefined;
617
+ }>, z.ZodObject<{
618
+ transport: z.ZodLiteral<"stdio">;
619
+ command: z.ZodString;
620
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
621
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
622
+ cwd: z.ZodOptional<z.ZodString>;
623
+ disabled: z.ZodOptional<z.ZodBoolean>;
624
+ }, "strip", z.ZodTypeAny, {
625
+ args: string[];
626
+ command: string;
627
+ transport: "stdio";
628
+ cwd?: string | undefined;
629
+ env?: Record<string, string> | undefined;
630
+ disabled?: boolean | undefined;
631
+ }, {
632
+ command: string;
633
+ transport: "stdio";
634
+ cwd?: string | undefined;
635
+ args?: string[] | undefined;
636
+ env?: Record<string, string> | undefined;
637
+ disabled?: boolean | undefined;
638
+ }>, z.ZodObject<{
639
+ transport: z.ZodLiteral<"websocket">;
640
+ url: z.ZodString;
641
+ auth: z.ZodDefault<z.ZodEnum<["bearer", "header", "none"]>>;
642
+ envToken: z.ZodOptional<z.ZodString>;
643
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
644
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
645
+ disabled: z.ZodOptional<z.ZodBoolean>;
646
+ }, "strip", z.ZodTypeAny, {
647
+ transport: "websocket";
648
+ url: string;
649
+ auth: "none" | "bearer" | "header";
650
+ headers?: Record<string, string> | undefined;
651
+ envToken?: string | undefined;
652
+ env?: Record<string, string> | undefined;
653
+ disabled?: boolean | undefined;
654
+ }, {
655
+ transport: "websocket";
656
+ url: string;
657
+ headers?: Record<string, string> | undefined;
658
+ auth?: "none" | "bearer" | "header" | undefined;
659
+ envToken?: string | undefined;
660
+ env?: Record<string, string> | undefined;
661
+ disabled?: boolean | undefined;
662
+ }>]>>>;
663
+ /** Per-MCP-server tool visibility, keyed by server name. */
664
+ toolVisibility: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
665
+ include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
666
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
667
+ }, "strip", z.ZodTypeAny, {
668
+ include?: string[] | undefined;
669
+ exclude?: string[] | undefined;
670
+ }, {
671
+ include?: string[] | undefined;
672
+ exclude?: string[] | undefined;
673
+ }>>>;
674
+ /** Inline named agent definitions, keyed by agent name. */
675
+ agents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
676
+ description: z.ZodOptional<z.ZodString>;
677
+ prompt: z.ZodString;
678
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
679
+ model: z.ZodOptional<z.ZodString>;
680
+ }, "strip", z.ZodTypeAny, {
681
+ prompt: string;
682
+ model?: string | undefined;
683
+ description?: string | undefined;
684
+ tools?: string[] | undefined;
685
+ }, {
686
+ prompt: string;
687
+ model?: string | undefined;
688
+ description?: string | undefined;
689
+ tools?: string[] | undefined;
690
+ }>>>;
691
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
692
+ /** Optional JSON-Schema reference for editor autocompletion. */
693
+ $schema: z.ZodOptional<z.ZodString>;
694
+ /** Default gateway model slug for the agent loop (e.g. "anthropic/claude-sonnet-4.6"). */
695
+ model: z.ZodOptional<z.ZodString>;
696
+ /** Oxagen platform API base URL (overrides config.json; env still wins). */
697
+ apiUrl: z.ZodOptional<z.ZodString>;
698
+ /** Environment variables exported into the session (fills only unset vars; shell wins). */
699
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
700
+ /** Allow/deny rules + default mode for the agent's local tools. */
701
+ permissions: z.ZodOptional<z.ZodObject<{
702
+ /** Mode applied when no allow/deny rule matches. Default: "default". */
703
+ defaultMode: z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "deny", "bypassPermissions"]>>;
704
+ /** Rules that explicitly permit a tool call (escape hatch from deny mode). */
705
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
706
+ /** Rules that explicitly block a tool call. Highest priority. */
707
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
708
+ /** Global default policy for MCP tool invocations. */
709
+ defaultMcpPolicy: z.ZodOptional<z.ZodEnum<["allow", "deny", "ask"]>>;
710
+ /** Per-MCP-server permission overrides, keyed by server name. */
711
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
712
+ defaultPolicy: z.ZodOptional<z.ZodEnum<["allow", "deny", "ask"]>>;
713
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
714
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
715
+ }, "strip", z.ZodTypeAny, {
716
+ allow?: string[] | undefined;
717
+ deny?: string[] | undefined;
718
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
719
+ }, {
720
+ allow?: string[] | undefined;
721
+ deny?: string[] | undefined;
722
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
723
+ }>>>;
724
+ }, "strip", z.ZodTypeAny, {
725
+ allow?: string[] | undefined;
726
+ deny?: string[] | undefined;
727
+ defaultMcpPolicy?: "ask" | "allow" | "deny" | undefined;
728
+ mcpServers?: Record<string, {
729
+ allow?: string[] | undefined;
730
+ deny?: string[] | undefined;
731
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
732
+ }> | undefined;
733
+ defaultMode?: "default" | "acceptEdits" | "deny" | "bypassPermissions" | undefined;
734
+ }, {
735
+ allow?: string[] | undefined;
736
+ deny?: string[] | undefined;
737
+ defaultMcpPolicy?: "ask" | "allow" | "deny" | undefined;
738
+ mcpServers?: Record<string, {
739
+ allow?: string[] | undefined;
740
+ deny?: string[] | undefined;
741
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
742
+ }> | undefined;
743
+ defaultMode?: "default" | "acceptEdits" | "deny" | "bypassPermissions" | undefined;
744
+ }>>;
745
+ /** Shell commands fired on lifecycle events. */
746
+ hooks: z.ZodOptional<z.ZodObject<{
747
+ SessionStart: z.ZodOptional<z.ZodArray<z.ZodObject<{
748
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
749
+ matcher: z.ZodOptional<z.ZodString>;
750
+ /** Actions to run when this matcher matches. */
751
+ hooks: z.ZodArray<z.ZodObject<{
752
+ /** Only "command" hooks are supported. */
753
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
754
+ /** Shell command. Receives the event payload as JSON on stdin. */
755
+ command: z.ZodString;
756
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
757
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
758
+ }, "strip", z.ZodTypeAny, {
759
+ type: "command";
760
+ command: string;
761
+ timeoutMs?: number | undefined;
762
+ }, {
763
+ command: string;
764
+ type?: "command" | undefined;
765
+ timeoutMs?: number | undefined;
766
+ }>, "many">;
767
+ }, "strip", z.ZodTypeAny, {
768
+ hooks: {
769
+ type: "command";
770
+ command: string;
771
+ timeoutMs?: number | undefined;
772
+ }[];
773
+ matcher?: string | undefined;
774
+ }, {
775
+ hooks: {
776
+ command: string;
777
+ type?: "command" | undefined;
778
+ timeoutMs?: number | undefined;
779
+ }[];
780
+ matcher?: string | undefined;
781
+ }>, "many">>;
782
+ PreToolUse: z.ZodOptional<z.ZodArray<z.ZodObject<{
783
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
784
+ matcher: z.ZodOptional<z.ZodString>;
785
+ /** Actions to run when this matcher matches. */
786
+ hooks: z.ZodArray<z.ZodObject<{
787
+ /** Only "command" hooks are supported. */
788
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
789
+ /** Shell command. Receives the event payload as JSON on stdin. */
790
+ command: z.ZodString;
791
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
792
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
793
+ }, "strip", z.ZodTypeAny, {
794
+ type: "command";
795
+ command: string;
796
+ timeoutMs?: number | undefined;
797
+ }, {
798
+ command: string;
799
+ type?: "command" | undefined;
800
+ timeoutMs?: number | undefined;
801
+ }>, "many">;
802
+ }, "strip", z.ZodTypeAny, {
803
+ hooks: {
804
+ type: "command";
805
+ command: string;
806
+ timeoutMs?: number | undefined;
807
+ }[];
808
+ matcher?: string | undefined;
809
+ }, {
810
+ hooks: {
811
+ command: string;
812
+ type?: "command" | undefined;
813
+ timeoutMs?: number | undefined;
814
+ }[];
815
+ matcher?: string | undefined;
816
+ }>, "many">>;
817
+ PostToolUse: z.ZodOptional<z.ZodArray<z.ZodObject<{
818
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
819
+ matcher: z.ZodOptional<z.ZodString>;
820
+ /** Actions to run when this matcher matches. */
821
+ hooks: z.ZodArray<z.ZodObject<{
822
+ /** Only "command" hooks are supported. */
823
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
824
+ /** Shell command. Receives the event payload as JSON on stdin. */
825
+ command: z.ZodString;
826
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
827
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
828
+ }, "strip", z.ZodTypeAny, {
829
+ type: "command";
830
+ command: string;
831
+ timeoutMs?: number | undefined;
832
+ }, {
833
+ command: string;
834
+ type?: "command" | undefined;
835
+ timeoutMs?: number | undefined;
836
+ }>, "many">;
837
+ }, "strip", z.ZodTypeAny, {
838
+ hooks: {
839
+ type: "command";
840
+ command: string;
841
+ timeoutMs?: number | undefined;
842
+ }[];
843
+ matcher?: string | undefined;
844
+ }, {
845
+ hooks: {
846
+ command: string;
847
+ type?: "command" | undefined;
848
+ timeoutMs?: number | undefined;
849
+ }[];
850
+ matcher?: string | undefined;
851
+ }>, "many">>;
852
+ }, "strip", z.ZodTypeAny, {
853
+ SessionStart?: {
854
+ hooks: {
855
+ type: "command";
856
+ command: string;
857
+ timeoutMs?: number | undefined;
858
+ }[];
859
+ matcher?: string | undefined;
860
+ }[] | undefined;
861
+ PreToolUse?: {
862
+ hooks: {
863
+ type: "command";
864
+ command: string;
865
+ timeoutMs?: number | undefined;
866
+ }[];
867
+ matcher?: string | undefined;
868
+ }[] | undefined;
869
+ PostToolUse?: {
870
+ hooks: {
871
+ type: "command";
872
+ command: string;
873
+ timeoutMs?: number | undefined;
874
+ }[];
875
+ matcher?: string | undefined;
876
+ }[] | undefined;
877
+ }, {
878
+ SessionStart?: {
879
+ hooks: {
880
+ command: string;
881
+ type?: "command" | undefined;
882
+ timeoutMs?: number | undefined;
883
+ }[];
884
+ matcher?: string | undefined;
885
+ }[] | undefined;
886
+ PreToolUse?: {
887
+ hooks: {
888
+ command: string;
889
+ type?: "command" | undefined;
890
+ timeoutMs?: number | undefined;
891
+ }[];
892
+ matcher?: string | undefined;
893
+ }[] | undefined;
894
+ PostToolUse?: {
895
+ hooks: {
896
+ command: string;
897
+ type?: "command" | undefined;
898
+ timeoutMs?: number | undefined;
899
+ }[];
900
+ matcher?: string | undefined;
901
+ }[] | undefined;
902
+ }>>;
903
+ /** External MCP server definitions, keyed by name. */
904
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<"transport", [z.ZodObject<{
905
+ transport: z.ZodLiteral<"streamable-http">;
906
+ url: z.ZodString;
907
+ auth: z.ZodDefault<z.ZodEnum<["oauth", "bearer", "header", "none"]>>;
908
+ oauthServerUrl: z.ZodOptional<z.ZodString>;
909
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
910
+ envToken: z.ZodOptional<z.ZodString>;
911
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
912
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
913
+ disabled: z.ZodOptional<z.ZodBoolean>;
914
+ }, "strip", z.ZodTypeAny, {
915
+ transport: "streamable-http";
916
+ url: string;
917
+ auth: "none" | "oauth" | "bearer" | "header";
918
+ headers?: Record<string, string> | undefined;
919
+ oauthServerUrl?: string | undefined;
920
+ scopes?: string[] | undefined;
921
+ envToken?: string | undefined;
922
+ env?: Record<string, string> | undefined;
923
+ disabled?: boolean | undefined;
924
+ }, {
925
+ transport: "streamable-http";
926
+ url: string;
927
+ headers?: Record<string, string> | undefined;
928
+ auth?: "none" | "oauth" | "bearer" | "header" | undefined;
929
+ oauthServerUrl?: string | undefined;
930
+ scopes?: string[] | undefined;
931
+ envToken?: string | undefined;
932
+ env?: Record<string, string> | undefined;
933
+ disabled?: boolean | undefined;
934
+ }>, z.ZodObject<{
935
+ transport: z.ZodLiteral<"sse">;
936
+ url: z.ZodString;
937
+ auth: z.ZodDefault<z.ZodEnum<["oauth", "bearer", "header", "none"]>>;
938
+ oauthServerUrl: z.ZodOptional<z.ZodString>;
939
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
940
+ envToken: z.ZodOptional<z.ZodString>;
941
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
942
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
943
+ disabled: z.ZodOptional<z.ZodBoolean>;
944
+ }, "strip", z.ZodTypeAny, {
945
+ transport: "sse";
946
+ url: string;
947
+ auth: "none" | "oauth" | "bearer" | "header";
948
+ headers?: Record<string, string> | undefined;
949
+ oauthServerUrl?: string | undefined;
950
+ scopes?: string[] | undefined;
951
+ envToken?: string | undefined;
952
+ env?: Record<string, string> | undefined;
953
+ disabled?: boolean | undefined;
954
+ }, {
955
+ transport: "sse";
956
+ url: string;
957
+ headers?: Record<string, string> | undefined;
958
+ auth?: "none" | "oauth" | "bearer" | "header" | undefined;
959
+ oauthServerUrl?: string | undefined;
960
+ scopes?: string[] | undefined;
961
+ envToken?: string | undefined;
962
+ env?: Record<string, string> | undefined;
963
+ disabled?: boolean | undefined;
964
+ }>, z.ZodObject<{
965
+ transport: z.ZodLiteral<"stdio">;
966
+ command: z.ZodString;
967
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
968
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
969
+ cwd: z.ZodOptional<z.ZodString>;
970
+ disabled: z.ZodOptional<z.ZodBoolean>;
971
+ }, "strip", z.ZodTypeAny, {
972
+ args: string[];
973
+ command: string;
974
+ transport: "stdio";
975
+ cwd?: string | undefined;
976
+ env?: Record<string, string> | undefined;
977
+ disabled?: boolean | undefined;
978
+ }, {
979
+ command: string;
980
+ transport: "stdio";
981
+ cwd?: string | undefined;
982
+ args?: string[] | undefined;
983
+ env?: Record<string, string> | undefined;
984
+ disabled?: boolean | undefined;
985
+ }>, z.ZodObject<{
986
+ transport: z.ZodLiteral<"websocket">;
987
+ url: z.ZodString;
988
+ auth: z.ZodDefault<z.ZodEnum<["bearer", "header", "none"]>>;
989
+ envToken: z.ZodOptional<z.ZodString>;
990
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
991
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
992
+ disabled: z.ZodOptional<z.ZodBoolean>;
993
+ }, "strip", z.ZodTypeAny, {
994
+ transport: "websocket";
995
+ url: string;
996
+ auth: "none" | "bearer" | "header";
997
+ headers?: Record<string, string> | undefined;
998
+ envToken?: string | undefined;
999
+ env?: Record<string, string> | undefined;
1000
+ disabled?: boolean | undefined;
1001
+ }, {
1002
+ transport: "websocket";
1003
+ url: string;
1004
+ headers?: Record<string, string> | undefined;
1005
+ auth?: "none" | "bearer" | "header" | undefined;
1006
+ envToken?: string | undefined;
1007
+ env?: Record<string, string> | undefined;
1008
+ disabled?: boolean | undefined;
1009
+ }>]>>>;
1010
+ /** Per-MCP-server tool visibility, keyed by server name. */
1011
+ toolVisibility: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1012
+ include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1013
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1014
+ }, "strip", z.ZodTypeAny, {
1015
+ include?: string[] | undefined;
1016
+ exclude?: string[] | undefined;
1017
+ }, {
1018
+ include?: string[] | undefined;
1019
+ exclude?: string[] | undefined;
1020
+ }>>>;
1021
+ /** Inline named agent definitions, keyed by agent name. */
1022
+ agents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1023
+ description: z.ZodOptional<z.ZodString>;
1024
+ prompt: z.ZodString;
1025
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1026
+ model: z.ZodOptional<z.ZodString>;
1027
+ }, "strip", z.ZodTypeAny, {
1028
+ prompt: string;
1029
+ model?: string | undefined;
1030
+ description?: string | undefined;
1031
+ tools?: string[] | undefined;
1032
+ }, {
1033
+ prompt: string;
1034
+ model?: string | undefined;
1035
+ description?: string | undefined;
1036
+ tools?: string[] | undefined;
1037
+ }>>>;
1038
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1039
+ /** Optional JSON-Schema reference for editor autocompletion. */
1040
+ $schema: z.ZodOptional<z.ZodString>;
1041
+ /** Default gateway model slug for the agent loop (e.g. "anthropic/claude-sonnet-4.6"). */
1042
+ model: z.ZodOptional<z.ZodString>;
1043
+ /** Oxagen platform API base URL (overrides config.json; env still wins). */
1044
+ apiUrl: z.ZodOptional<z.ZodString>;
1045
+ /** Environment variables exported into the session (fills only unset vars; shell wins). */
1046
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1047
+ /** Allow/deny rules + default mode for the agent's local tools. */
1048
+ permissions: z.ZodOptional<z.ZodObject<{
1049
+ /** Mode applied when no allow/deny rule matches. Default: "default". */
1050
+ defaultMode: z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "deny", "bypassPermissions"]>>;
1051
+ /** Rules that explicitly permit a tool call (escape hatch from deny mode). */
1052
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1053
+ /** Rules that explicitly block a tool call. Highest priority. */
1054
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1055
+ /** Global default policy for MCP tool invocations. */
1056
+ defaultMcpPolicy: z.ZodOptional<z.ZodEnum<["allow", "deny", "ask"]>>;
1057
+ /** Per-MCP-server permission overrides, keyed by server name. */
1058
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1059
+ defaultPolicy: z.ZodOptional<z.ZodEnum<["allow", "deny", "ask"]>>;
1060
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1061
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1062
+ }, "strip", z.ZodTypeAny, {
1063
+ allow?: string[] | undefined;
1064
+ deny?: string[] | undefined;
1065
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
1066
+ }, {
1067
+ allow?: string[] | undefined;
1068
+ deny?: string[] | undefined;
1069
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
1070
+ }>>>;
1071
+ }, "strip", z.ZodTypeAny, {
1072
+ allow?: string[] | undefined;
1073
+ deny?: string[] | undefined;
1074
+ defaultMcpPolicy?: "ask" | "allow" | "deny" | undefined;
1075
+ mcpServers?: Record<string, {
1076
+ allow?: string[] | undefined;
1077
+ deny?: string[] | undefined;
1078
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
1079
+ }> | undefined;
1080
+ defaultMode?: "default" | "acceptEdits" | "deny" | "bypassPermissions" | undefined;
1081
+ }, {
1082
+ allow?: string[] | undefined;
1083
+ deny?: string[] | undefined;
1084
+ defaultMcpPolicy?: "ask" | "allow" | "deny" | undefined;
1085
+ mcpServers?: Record<string, {
1086
+ allow?: string[] | undefined;
1087
+ deny?: string[] | undefined;
1088
+ defaultPolicy?: "ask" | "allow" | "deny" | undefined;
1089
+ }> | undefined;
1090
+ defaultMode?: "default" | "acceptEdits" | "deny" | "bypassPermissions" | undefined;
1091
+ }>>;
1092
+ /** Shell commands fired on lifecycle events. */
1093
+ hooks: z.ZodOptional<z.ZodObject<{
1094
+ SessionStart: z.ZodOptional<z.ZodArray<z.ZodObject<{
1095
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
1096
+ matcher: z.ZodOptional<z.ZodString>;
1097
+ /** Actions to run when this matcher matches. */
1098
+ hooks: z.ZodArray<z.ZodObject<{
1099
+ /** Only "command" hooks are supported. */
1100
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
1101
+ /** Shell command. Receives the event payload as JSON on stdin. */
1102
+ command: z.ZodString;
1103
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
1104
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
1105
+ }, "strip", z.ZodTypeAny, {
1106
+ type: "command";
1107
+ command: string;
1108
+ timeoutMs?: number | undefined;
1109
+ }, {
1110
+ command: string;
1111
+ type?: "command" | undefined;
1112
+ timeoutMs?: number | undefined;
1113
+ }>, "many">;
1114
+ }, "strip", z.ZodTypeAny, {
1115
+ hooks: {
1116
+ type: "command";
1117
+ command: string;
1118
+ timeoutMs?: number | undefined;
1119
+ }[];
1120
+ matcher?: string | undefined;
1121
+ }, {
1122
+ hooks: {
1123
+ command: string;
1124
+ type?: "command" | undefined;
1125
+ timeoutMs?: number | undefined;
1126
+ }[];
1127
+ matcher?: string | undefined;
1128
+ }>, "many">>;
1129
+ PreToolUse: z.ZodOptional<z.ZodArray<z.ZodObject<{
1130
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
1131
+ matcher: z.ZodOptional<z.ZodString>;
1132
+ /** Actions to run when this matcher matches. */
1133
+ hooks: z.ZodArray<z.ZodObject<{
1134
+ /** Only "command" hooks are supported. */
1135
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
1136
+ /** Shell command. Receives the event payload as JSON on stdin. */
1137
+ command: z.ZodString;
1138
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
1139
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
1140
+ }, "strip", z.ZodTypeAny, {
1141
+ type: "command";
1142
+ command: string;
1143
+ timeoutMs?: number | undefined;
1144
+ }, {
1145
+ command: string;
1146
+ type?: "command" | undefined;
1147
+ timeoutMs?: number | undefined;
1148
+ }>, "many">;
1149
+ }, "strip", z.ZodTypeAny, {
1150
+ hooks: {
1151
+ type: "command";
1152
+ command: string;
1153
+ timeoutMs?: number | undefined;
1154
+ }[];
1155
+ matcher?: string | undefined;
1156
+ }, {
1157
+ hooks: {
1158
+ command: string;
1159
+ type?: "command" | undefined;
1160
+ timeoutMs?: number | undefined;
1161
+ }[];
1162
+ matcher?: string | undefined;
1163
+ }>, "many">>;
1164
+ PostToolUse: z.ZodOptional<z.ZodArray<z.ZodObject<{
1165
+ /** Glob over the tool name. Omit (or "*") to match every tool. */
1166
+ matcher: z.ZodOptional<z.ZodString>;
1167
+ /** Actions to run when this matcher matches. */
1168
+ hooks: z.ZodArray<z.ZodObject<{
1169
+ /** Only "command" hooks are supported. */
1170
+ type: z.ZodDefault<z.ZodLiteral<"command">>;
1171
+ /** Shell command. Receives the event payload as JSON on stdin. */
1172
+ command: z.ZodString;
1173
+ /** Per-hook timeout in milliseconds (default 60000, max 600000). */
1174
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
1175
+ }, "strip", z.ZodTypeAny, {
1176
+ type: "command";
1177
+ command: string;
1178
+ timeoutMs?: number | undefined;
1179
+ }, {
1180
+ command: string;
1181
+ type?: "command" | undefined;
1182
+ timeoutMs?: number | undefined;
1183
+ }>, "many">;
1184
+ }, "strip", z.ZodTypeAny, {
1185
+ hooks: {
1186
+ type: "command";
1187
+ command: string;
1188
+ timeoutMs?: number | undefined;
1189
+ }[];
1190
+ matcher?: string | undefined;
1191
+ }, {
1192
+ hooks: {
1193
+ command: string;
1194
+ type?: "command" | undefined;
1195
+ timeoutMs?: number | undefined;
1196
+ }[];
1197
+ matcher?: string | undefined;
1198
+ }>, "many">>;
1199
+ }, "strip", z.ZodTypeAny, {
1200
+ SessionStart?: {
1201
+ hooks: {
1202
+ type: "command";
1203
+ command: string;
1204
+ timeoutMs?: number | undefined;
1205
+ }[];
1206
+ matcher?: string | undefined;
1207
+ }[] | undefined;
1208
+ PreToolUse?: {
1209
+ hooks: {
1210
+ type: "command";
1211
+ command: string;
1212
+ timeoutMs?: number | undefined;
1213
+ }[];
1214
+ matcher?: string | undefined;
1215
+ }[] | undefined;
1216
+ PostToolUse?: {
1217
+ hooks: {
1218
+ type: "command";
1219
+ command: string;
1220
+ timeoutMs?: number | undefined;
1221
+ }[];
1222
+ matcher?: string | undefined;
1223
+ }[] | undefined;
1224
+ }, {
1225
+ SessionStart?: {
1226
+ hooks: {
1227
+ command: string;
1228
+ type?: "command" | undefined;
1229
+ timeoutMs?: number | undefined;
1230
+ }[];
1231
+ matcher?: string | undefined;
1232
+ }[] | undefined;
1233
+ PreToolUse?: {
1234
+ hooks: {
1235
+ command: string;
1236
+ type?: "command" | undefined;
1237
+ timeoutMs?: number | undefined;
1238
+ }[];
1239
+ matcher?: string | undefined;
1240
+ }[] | undefined;
1241
+ PostToolUse?: {
1242
+ hooks: {
1243
+ command: string;
1244
+ type?: "command" | undefined;
1245
+ timeoutMs?: number | undefined;
1246
+ }[];
1247
+ matcher?: string | undefined;
1248
+ }[] | undefined;
1249
+ }>>;
1250
+ /** External MCP server definitions, keyed by name. */
1251
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<"transport", [z.ZodObject<{
1252
+ transport: z.ZodLiteral<"streamable-http">;
1253
+ url: z.ZodString;
1254
+ auth: z.ZodDefault<z.ZodEnum<["oauth", "bearer", "header", "none"]>>;
1255
+ oauthServerUrl: z.ZodOptional<z.ZodString>;
1256
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1257
+ envToken: z.ZodOptional<z.ZodString>;
1258
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1259
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1260
+ disabled: z.ZodOptional<z.ZodBoolean>;
1261
+ }, "strip", z.ZodTypeAny, {
1262
+ transport: "streamable-http";
1263
+ url: string;
1264
+ auth: "none" | "oauth" | "bearer" | "header";
1265
+ headers?: Record<string, string> | undefined;
1266
+ oauthServerUrl?: string | undefined;
1267
+ scopes?: string[] | undefined;
1268
+ envToken?: string | undefined;
1269
+ env?: Record<string, string> | undefined;
1270
+ disabled?: boolean | undefined;
1271
+ }, {
1272
+ transport: "streamable-http";
1273
+ url: string;
1274
+ headers?: Record<string, string> | undefined;
1275
+ auth?: "none" | "oauth" | "bearer" | "header" | undefined;
1276
+ oauthServerUrl?: string | undefined;
1277
+ scopes?: string[] | undefined;
1278
+ envToken?: string | undefined;
1279
+ env?: Record<string, string> | undefined;
1280
+ disabled?: boolean | undefined;
1281
+ }>, z.ZodObject<{
1282
+ transport: z.ZodLiteral<"sse">;
1283
+ url: z.ZodString;
1284
+ auth: z.ZodDefault<z.ZodEnum<["oauth", "bearer", "header", "none"]>>;
1285
+ oauthServerUrl: z.ZodOptional<z.ZodString>;
1286
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1287
+ envToken: z.ZodOptional<z.ZodString>;
1288
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1289
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1290
+ disabled: z.ZodOptional<z.ZodBoolean>;
1291
+ }, "strip", z.ZodTypeAny, {
1292
+ transport: "sse";
1293
+ url: string;
1294
+ auth: "none" | "oauth" | "bearer" | "header";
1295
+ headers?: Record<string, string> | undefined;
1296
+ oauthServerUrl?: string | undefined;
1297
+ scopes?: string[] | undefined;
1298
+ envToken?: string | undefined;
1299
+ env?: Record<string, string> | undefined;
1300
+ disabled?: boolean | undefined;
1301
+ }, {
1302
+ transport: "sse";
1303
+ url: string;
1304
+ headers?: Record<string, string> | undefined;
1305
+ auth?: "none" | "oauth" | "bearer" | "header" | undefined;
1306
+ oauthServerUrl?: string | undefined;
1307
+ scopes?: string[] | undefined;
1308
+ envToken?: string | undefined;
1309
+ env?: Record<string, string> | undefined;
1310
+ disabled?: boolean | undefined;
1311
+ }>, z.ZodObject<{
1312
+ transport: z.ZodLiteral<"stdio">;
1313
+ command: z.ZodString;
1314
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1315
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1316
+ cwd: z.ZodOptional<z.ZodString>;
1317
+ disabled: z.ZodOptional<z.ZodBoolean>;
1318
+ }, "strip", z.ZodTypeAny, {
1319
+ args: string[];
1320
+ command: string;
1321
+ transport: "stdio";
1322
+ cwd?: string | undefined;
1323
+ env?: Record<string, string> | undefined;
1324
+ disabled?: boolean | undefined;
1325
+ }, {
1326
+ command: string;
1327
+ transport: "stdio";
1328
+ cwd?: string | undefined;
1329
+ args?: string[] | undefined;
1330
+ env?: Record<string, string> | undefined;
1331
+ disabled?: boolean | undefined;
1332
+ }>, z.ZodObject<{
1333
+ transport: z.ZodLiteral<"websocket">;
1334
+ url: z.ZodString;
1335
+ auth: z.ZodDefault<z.ZodEnum<["bearer", "header", "none"]>>;
1336
+ envToken: z.ZodOptional<z.ZodString>;
1337
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1338
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1339
+ disabled: z.ZodOptional<z.ZodBoolean>;
1340
+ }, "strip", z.ZodTypeAny, {
1341
+ transport: "websocket";
1342
+ url: string;
1343
+ auth: "none" | "bearer" | "header";
1344
+ headers?: Record<string, string> | undefined;
1345
+ envToken?: string | undefined;
1346
+ env?: Record<string, string> | undefined;
1347
+ disabled?: boolean | undefined;
1348
+ }, {
1349
+ transport: "websocket";
1350
+ url: string;
1351
+ headers?: Record<string, string> | undefined;
1352
+ auth?: "none" | "bearer" | "header" | undefined;
1353
+ envToken?: string | undefined;
1354
+ env?: Record<string, string> | undefined;
1355
+ disabled?: boolean | undefined;
1356
+ }>]>>>;
1357
+ /** Per-MCP-server tool visibility, keyed by server name. */
1358
+ toolVisibility: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1359
+ include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1360
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1361
+ }, "strip", z.ZodTypeAny, {
1362
+ include?: string[] | undefined;
1363
+ exclude?: string[] | undefined;
1364
+ }, {
1365
+ include?: string[] | undefined;
1366
+ exclude?: string[] | undefined;
1367
+ }>>>;
1368
+ /** Inline named agent definitions, keyed by agent name. */
1369
+ agents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1370
+ description: z.ZodOptional<z.ZodString>;
1371
+ prompt: z.ZodString;
1372
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1373
+ model: z.ZodOptional<z.ZodString>;
1374
+ }, "strip", z.ZodTypeAny, {
1375
+ prompt: string;
1376
+ model?: string | undefined;
1377
+ description?: string | undefined;
1378
+ tools?: string[] | undefined;
1379
+ }, {
1380
+ prompt: string;
1381
+ model?: string | undefined;
1382
+ description?: string | undefined;
1383
+ tools?: string[] | undefined;
1384
+ }>>>;
1385
+ }, z.ZodTypeAny, "passthrough">>;
1386
+ export type OxagenSettings = z.infer<typeof oxagenSettingsSchema>;
1387
+ //# sourceMappingURL=schema.d.ts.map