airlock-bot 0.0.1 → 0.2.2

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 (342) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +337 -0
  3. package/airlock.service +27 -0
  4. package/dist/allowlist/engine.d.ts +9 -0
  5. package/dist/allowlist/engine.d.ts.map +1 -0
  6. package/dist/allowlist/engine.js +24 -0
  7. package/dist/allowlist/engine.js.map +1 -0
  8. package/dist/allowlist/pattern.d.ts +13 -0
  9. package/dist/allowlist/pattern.d.ts.map +1 -0
  10. package/dist/allowlist/pattern.js +33 -0
  11. package/dist/allowlist/pattern.js.map +1 -0
  12. package/dist/audit/api.d.ts +7 -0
  13. package/dist/audit/api.d.ts.map +1 -0
  14. package/dist/audit/api.js +31 -0
  15. package/dist/audit/api.js.map +1 -0
  16. package/dist/audit/db.d.ts +44 -0
  17. package/dist/audit/db.d.ts.map +1 -0
  18. package/dist/audit/db.js +121 -0
  19. package/dist/audit/db.js.map +1 -0
  20. package/dist/audit/logger.d.ts +25 -0
  21. package/dist/audit/logger.d.ts.map +1 -0
  22. package/dist/audit/logger.js +58 -0
  23. package/dist/audit/logger.js.map +1 -0
  24. package/dist/audit/redactor.d.ts +5 -0
  25. package/dist/audit/redactor.d.ts.map +1 -0
  26. package/dist/audit/redactor.js +27 -0
  27. package/dist/audit/redactor.js.map +1 -0
  28. package/dist/backend/cli/adapter.d.ts +23 -0
  29. package/dist/backend/cli/adapter.d.ts.map +1 -0
  30. package/dist/backend/cli/adapter.js +176 -0
  31. package/dist/backend/cli/adapter.js.map +1 -0
  32. package/dist/backend/cli/builder.d.ts +3 -0
  33. package/dist/backend/cli/builder.d.ts.map +1 -0
  34. package/dist/backend/cli/builder.js +52 -0
  35. package/dist/backend/cli/builder.js.map +1 -0
  36. package/dist/backend/cli/escaper.d.ts +2 -0
  37. package/dist/backend/cli/escaper.d.ts.map +1 -0
  38. package/dist/backend/cli/escaper.js +8 -0
  39. package/dist/backend/cli/escaper.js.map +1 -0
  40. package/dist/backend/exec-adapter.d.ts +13 -0
  41. package/dist/backend/exec-adapter.d.ts.map +1 -0
  42. package/dist/backend/exec-adapter.js +39 -0
  43. package/dist/backend/exec-adapter.js.map +1 -0
  44. package/dist/backend/factory.d.ts +9 -0
  45. package/dist/backend/factory.d.ts.map +1 -0
  46. package/dist/backend/factory.js +35 -0
  47. package/dist/backend/factory.js.map +1 -0
  48. package/dist/backend/http-adapter.d.ts +15 -0
  49. package/dist/backend/http-adapter.d.ts.map +1 -0
  50. package/dist/backend/http-adapter.js +39 -0
  51. package/dist/backend/http-adapter.js.map +1 -0
  52. package/dist/backend/mcp-adapter.d.ts +14 -0
  53. package/dist/backend/mcp-adapter.d.ts.map +1 -0
  54. package/dist/backend/mcp-adapter.js +38 -0
  55. package/dist/backend/mcp-adapter.js.map +1 -0
  56. package/dist/backend/openapi/adapter.d.ts +17 -0
  57. package/dist/backend/openapi/adapter.d.ts.map +1 -0
  58. package/dist/backend/openapi/adapter.js +144 -0
  59. package/dist/backend/openapi/adapter.js.map +1 -0
  60. package/dist/backend/openapi/parser.d.ts +21 -0
  61. package/dist/backend/openapi/parser.d.ts.map +1 -0
  62. package/dist/backend/openapi/parser.js +145 -0
  63. package/dist/backend/openapi/parser.js.map +1 -0
  64. package/dist/backend/types.d.ts +9 -0
  65. package/dist/backend/types.d.ts.map +1 -0
  66. package/dist/backend/types.js +2 -0
  67. package/dist/backend/types.js.map +1 -0
  68. package/dist/config/loader.d.ts +12 -0
  69. package/dist/config/loader.d.ts.map +1 -0
  70. package/dist/config/loader.js +178 -0
  71. package/dist/config/loader.js.map +1 -0
  72. package/dist/config/profiles.d.ts +12 -0
  73. package/dist/config/profiles.d.ts.map +1 -0
  74. package/dist/config/profiles.js +34 -0
  75. package/dist/config/profiles.js.map +1 -0
  76. package/dist/config/schema.d.ts +2034 -0
  77. package/dist/config/schema.d.ts.map +1 -0
  78. package/dist/config/schema.js +257 -0
  79. package/dist/config/schema.js.map +1 -0
  80. package/dist/config/watcher.d.ts +11 -0
  81. package/dist/config/watcher.d.ts.map +1 -0
  82. package/dist/config/watcher.js +39 -0
  83. package/dist/config/watcher.js.map +1 -0
  84. package/dist/configure-agent/cli.d.ts +2 -0
  85. package/dist/configure-agent/cli.d.ts.map +1 -0
  86. package/dist/configure-agent/cli.js +390 -0
  87. package/dist/configure-agent/cli.js.map +1 -0
  88. package/dist/discover/cli.d.ts +2 -0
  89. package/dist/discover/cli.d.ts.map +1 -0
  90. package/dist/discover/cli.js +97 -0
  91. package/dist/discover/cli.js.map +1 -0
  92. package/dist/discover/index.d.ts +19 -0
  93. package/dist/discover/index.d.ts.map +1 -0
  94. package/dist/discover/index.js +70 -0
  95. package/dist/discover/index.js.map +1 -0
  96. package/dist/discover/openapi.d.ts +9 -0
  97. package/dist/discover/openapi.d.ts.map +1 -0
  98. package/dist/discover/openapi.js +47 -0
  99. package/dist/discover/openapi.js.map +1 -0
  100. package/dist/discover/strategies/fig.d.ts +29 -0
  101. package/dist/discover/strategies/fig.d.ts.map +1 -0
  102. package/dist/discover/strategies/fig.js +82 -0
  103. package/dist/discover/strategies/fig.js.map +1 -0
  104. package/dist/discover/strategies/help-parser.d.ts +21 -0
  105. package/dist/discover/strategies/help-parser.d.ts.map +1 -0
  106. package/dist/discover/strategies/help-parser.js +121 -0
  107. package/dist/discover/strategies/help-parser.js.map +1 -0
  108. package/dist/discover/writer.d.ts +5 -0
  109. package/dist/discover/writer.d.ts.map +1 -0
  110. package/dist/discover/writer.js +14 -0
  111. package/dist/discover/writer.js.map +1 -0
  112. package/dist/gateway.d.ts +20 -0
  113. package/dist/gateway.d.ts.map +1 -0
  114. package/dist/gateway.js +125 -0
  115. package/dist/gateway.js.map +1 -0
  116. package/dist/hitl/api.d.ts +7 -0
  117. package/dist/hitl/api.d.ts.map +1 -0
  118. package/dist/hitl/api.js +35 -0
  119. package/dist/hitl/api.js.map +1 -0
  120. package/dist/hitl/batcher.d.ts +11 -0
  121. package/dist/hitl/batcher.d.ts.map +1 -0
  122. package/dist/hitl/batcher.js +37 -0
  123. package/dist/hitl/batcher.js.map +1 -0
  124. package/dist/hitl/engine.d.ts +36 -0
  125. package/dist/hitl/engine.d.ts.map +1 -0
  126. package/dist/hitl/engine.js +150 -0
  127. package/dist/hitl/engine.js.map +1 -0
  128. package/dist/hitl/formatter.d.ts +4 -0
  129. package/dist/hitl/formatter.d.ts.map +1 -0
  130. package/dist/hitl/formatter.js +31 -0
  131. package/dist/hitl/formatter.js.map +1 -0
  132. package/dist/hitl/parser.d.ts +7 -0
  133. package/dist/hitl/parser.d.ts.map +1 -0
  134. package/dist/hitl/parser.js +17 -0
  135. package/dist/hitl/parser.js.map +1 -0
  136. package/dist/hitl/provider-factory.d.ts +4 -0
  137. package/dist/hitl/provider-factory.d.ts.map +1 -0
  138. package/dist/hitl/provider-factory.js +42 -0
  139. package/dist/hitl/provider-factory.js.map +1 -0
  140. package/dist/hitl/providers/composite.d.ts +9 -0
  141. package/dist/hitl/providers/composite.d.ts.map +1 -0
  142. package/dist/hitl/providers/composite.js +23 -0
  143. package/dist/hitl/providers/composite.js.map +1 -0
  144. package/dist/hitl/providers/dashboard.d.ts +17 -0
  145. package/dist/hitl/providers/dashboard.d.ts.map +1 -0
  146. package/dist/hitl/providers/dashboard.js +210 -0
  147. package/dist/hitl/providers/dashboard.js.map +1 -0
  148. package/dist/hitl/providers/macos.d.ts +10 -0
  149. package/dist/hitl/providers/macos.d.ts.map +1 -0
  150. package/dist/hitl/providers/macos.js +65 -0
  151. package/dist/hitl/providers/macos.js.map +1 -0
  152. package/dist/hitl/providers/openclaw.d.ts +21 -0
  153. package/dist/hitl/providers/openclaw.d.ts.map +1 -0
  154. package/dist/hitl/providers/openclaw.js +106 -0
  155. package/dist/hitl/providers/openclaw.js.map +1 -0
  156. package/dist/hitl/providers/slack.d.ts +12 -0
  157. package/dist/hitl/providers/slack.d.ts.map +1 -0
  158. package/dist/hitl/providers/slack.js +24 -0
  159. package/dist/hitl/providers/slack.js.map +1 -0
  160. package/dist/hitl/providers/stdio.d.ts +12 -0
  161. package/dist/hitl/providers/stdio.d.ts.map +1 -0
  162. package/dist/hitl/providers/stdio.js +41 -0
  163. package/dist/hitl/providers/stdio.js.map +1 -0
  164. package/dist/hitl/providers/telegram.d.ts +22 -0
  165. package/dist/hitl/providers/telegram.d.ts.map +1 -0
  166. package/dist/hitl/providers/telegram.js +87 -0
  167. package/dist/hitl/providers/telegram.js.map +1 -0
  168. package/dist/hitl/providers/tui.d.ts +16 -0
  169. package/dist/hitl/providers/tui.d.ts.map +1 -0
  170. package/dist/hitl/providers/tui.js +169 -0
  171. package/dist/hitl/providers/tui.js.map +1 -0
  172. package/dist/hitl/providers/types.d.ts +18 -0
  173. package/dist/hitl/providers/types.d.ts.map +1 -0
  174. package/dist/hitl/providers/types.js +2 -0
  175. package/dist/hitl/providers/types.js.map +1 -0
  176. package/dist/hitl/providers/webhook.d.ts +13 -0
  177. package/dist/hitl/providers/webhook.d.ts.map +1 -0
  178. package/dist/hitl/providers/webhook.js +27 -0
  179. package/dist/hitl/providers/webhook.js.map +1 -0
  180. package/dist/index.d.ts +3 -0
  181. package/dist/index.d.ts.map +1 -0
  182. package/dist/index.js +115 -0
  183. package/dist/index.js.map +1 -0
  184. package/dist/middleware/chain-builder.d.ts +16 -0
  185. package/dist/middleware/chain-builder.d.ts.map +1 -0
  186. package/dist/middleware/chain-builder.js +139 -0
  187. package/dist/middleware/chain-builder.js.map +1 -0
  188. package/dist/middleware/compose.d.ts +3 -0
  189. package/dist/middleware/compose.d.ts.map +1 -0
  190. package/dist/middleware/compose.js +15 -0
  191. package/dist/middleware/compose.js.map +1 -0
  192. package/dist/middleware/core/allowlist.d.ts +3 -0
  193. package/dist/middleware/core/allowlist.d.ts.map +1 -0
  194. package/dist/middleware/core/allowlist.js +23 -0
  195. package/dist/middleware/core/allowlist.js.map +1 -0
  196. package/dist/middleware/core/exec-policy.d.ts +3 -0
  197. package/dist/middleware/core/exec-policy.d.ts.map +1 -0
  198. package/dist/middleware/core/exec-policy.js +30 -0
  199. package/dist/middleware/core/exec-policy.js.map +1 -0
  200. package/dist/middleware/core/execute.d.ts +3 -0
  201. package/dist/middleware/core/execute.d.ts.map +1 -0
  202. package/dist/middleware/core/execute.js +35 -0
  203. package/dist/middleware/core/execute.js.map +1 -0
  204. package/dist/middleware/core/hitl-gate.d.ts +3 -0
  205. package/dist/middleware/core/hitl-gate.d.ts.map +1 -0
  206. package/dist/middleware/core/hitl-gate.js +38 -0
  207. package/dist/middleware/core/hitl-gate.js.map +1 -0
  208. package/dist/middleware/core/rate-limiter.d.ts +10 -0
  209. package/dist/middleware/core/rate-limiter.d.ts.map +1 -0
  210. package/dist/middleware/core/rate-limiter.js +32 -0
  211. package/dist/middleware/core/rate-limiter.js.map +1 -0
  212. package/dist/middleware/core/schema-validator.d.ts +3 -0
  213. package/dist/middleware/core/schema-validator.d.ts.map +1 -0
  214. package/dist/middleware/core/schema-validator.js +31 -0
  215. package/dist/middleware/core/schema-validator.js.map +1 -0
  216. package/dist/middleware/detectors/injection-detector.d.ts +12 -0
  217. package/dist/middleware/detectors/injection-detector.d.ts.map +1 -0
  218. package/dist/middleware/detectors/injection-detector.js +129 -0
  219. package/dist/middleware/detectors/injection-detector.js.map +1 -0
  220. package/dist/middleware/detectors/sensitivity-classifier.d.ts +12 -0
  221. package/dist/middleware/detectors/sensitivity-classifier.d.ts.map +1 -0
  222. package/dist/middleware/detectors/sensitivity-classifier.js +125 -0
  223. package/dist/middleware/detectors/sensitivity-classifier.js.map +1 -0
  224. package/dist/middleware/post/canary-token-injector.d.ts +10 -0
  225. package/dist/middleware/post/canary-token-injector.d.ts.map +1 -0
  226. package/dist/middleware/post/canary-token-injector.js +53 -0
  227. package/dist/middleware/post/canary-token-injector.js.map +1 -0
  228. package/dist/middleware/post/output-injection-detector.d.ts +7 -0
  229. package/dist/middleware/post/output-injection-detector.d.ts.map +1 -0
  230. package/dist/middleware/post/output-injection-detector.js +46 -0
  231. package/dist/middleware/post/output-injection-detector.js.map +1 -0
  232. package/dist/middleware/post/output-size-limiter.d.ts +7 -0
  233. package/dist/middleware/post/output-size-limiter.d.ts.map +1 -0
  234. package/dist/middleware/post/output-size-limiter.js +47 -0
  235. package/dist/middleware/post/output-size-limiter.js.map +1 -0
  236. package/dist/middleware/post/output-summarizer.d.ts +15 -0
  237. package/dist/middleware/post/output-summarizer.d.ts.map +1 -0
  238. package/dist/middleware/post/output-summarizer.js +38 -0
  239. package/dist/middleware/post/output-summarizer.js.map +1 -0
  240. package/dist/middleware/post/strip-query-params.d.ts +3 -0
  241. package/dist/middleware/post/strip-query-params.d.ts.map +1 -0
  242. package/dist/middleware/post/strip-query-params.js +22 -0
  243. package/dist/middleware/post/strip-query-params.js.map +1 -0
  244. package/dist/middleware/post/untrusted-envelope.d.ts +3 -0
  245. package/dist/middleware/post/untrusted-envelope.d.ts.map +1 -0
  246. package/dist/middleware/post/untrusted-envelope.js +10 -0
  247. package/dist/middleware/post/untrusted-envelope.js.map +1 -0
  248. package/dist/middleware/types.d.ts +32 -0
  249. package/dist/middleware/types.d.ts.map +1 -0
  250. package/dist/middleware/types.js +2 -0
  251. package/dist/middleware/types.js.map +1 -0
  252. package/dist/pool/http-client.d.ts +26 -0
  253. package/dist/pool/http-client.d.ts.map +1 -0
  254. package/dist/pool/http-client.js +109 -0
  255. package/dist/pool/http-client.js.map +1 -0
  256. package/dist/pool/oauth-provider.d.ts +34 -0
  257. package/dist/pool/oauth-provider.d.ts.map +1 -0
  258. package/dist/pool/oauth-provider.js +135 -0
  259. package/dist/pool/oauth-provider.js.map +1 -0
  260. package/dist/pool/pool.d.ts +30 -0
  261. package/dist/pool/pool.d.ts.map +1 -0
  262. package/dist/pool/pool.js +119 -0
  263. package/dist/pool/pool.js.map +1 -0
  264. package/dist/pool/required-mcps.d.ts +7 -0
  265. package/dist/pool/required-mcps.d.ts.map +1 -0
  266. package/dist/pool/required-mcps.js +18 -0
  267. package/dist/pool/required-mcps.js.map +1 -0
  268. package/dist/pool/sse-client.d.ts +22 -0
  269. package/dist/pool/sse-client.d.ts.map +1 -0
  270. package/dist/pool/sse-client.js +70 -0
  271. package/dist/pool/sse-client.js.map +1 -0
  272. package/dist/pool/stdio-client.d.ts +24 -0
  273. package/dist/pool/stdio-client.d.ts.map +1 -0
  274. package/dist/pool/stdio-client.js +77 -0
  275. package/dist/pool/stdio-client.js.map +1 -0
  276. package/dist/registry/registry.d.ts +19 -0
  277. package/dist/registry/registry.d.ts.map +1 -0
  278. package/dist/registry/registry.js +85 -0
  279. package/dist/registry/registry.js.map +1 -0
  280. package/dist/registry/sanitizer.d.ts +2 -0
  281. package/dist/registry/sanitizer.d.ts.map +1 -0
  282. package/dist/registry/sanitizer.js +31 -0
  283. package/dist/registry/sanitizer.js.map +1 -0
  284. package/dist/security/blocked-hosts.d.ts +6 -0
  285. package/dist/security/blocked-hosts.d.ts.map +1 -0
  286. package/dist/security/blocked-hosts.js +26 -0
  287. package/dist/security/blocked-hosts.js.map +1 -0
  288. package/dist/security/domain-allowlist.d.ts +7 -0
  289. package/dist/security/domain-allowlist.d.ts.map +1 -0
  290. package/dist/security/domain-allowlist.js +19 -0
  291. package/dist/security/domain-allowlist.js.map +1 -0
  292. package/dist/stdio-mode.d.ts +3 -0
  293. package/dist/stdio-mode.d.ts.map +1 -0
  294. package/dist/stdio-mode.js +130 -0
  295. package/dist/stdio-mode.js.map +1 -0
  296. package/dist/tools/exec.d.ts +20 -0
  297. package/dist/tools/exec.d.ts.map +1 -0
  298. package/dist/tools/exec.js +105 -0
  299. package/dist/tools/exec.js.map +1 -0
  300. package/dist/tools/http.d.ts +13 -0
  301. package/dist/tools/http.d.ts.map +1 -0
  302. package/dist/tools/http.js +99 -0
  303. package/dist/tools/http.js.map +1 -0
  304. package/dist/transport/agent-server.d.ts +26 -0
  305. package/dist/transport/agent-server.d.ts.map +1 -0
  306. package/dist/transport/agent-server.js +55 -0
  307. package/dist/transport/agent-server.js.map +1 -0
  308. package/dist/transport/mcp-normalizer.d.ts +9 -0
  309. package/dist/transport/mcp-normalizer.d.ts.map +1 -0
  310. package/dist/transport/mcp-normalizer.js +12 -0
  311. package/dist/transport/mcp-normalizer.js.map +1 -0
  312. package/dist/transport/sse-server.d.ts +7 -0
  313. package/dist/transport/sse-server.d.ts.map +1 -0
  314. package/dist/transport/sse-server.js +94 -0
  315. package/dist/transport/sse-server.js.map +1 -0
  316. package/dist/transport/stdio-server.d.ts +3 -0
  317. package/dist/transport/stdio-server.d.ts.map +1 -0
  318. package/dist/transport/stdio-server.js +12 -0
  319. package/dist/transport/stdio-server.js.map +1 -0
  320. package/dist/types.d.ts +15 -0
  321. package/dist/types.d.ts.map +1 -0
  322. package/dist/types.js +2 -0
  323. package/dist/types.js.map +1 -0
  324. package/dist/util/id.d.ts +5 -0
  325. package/dist/util/id.d.ts.map +1 -0
  326. package/dist/util/id.js +16 -0
  327. package/dist/util/id.js.map +1 -0
  328. package/dist/util/logger.d.ts +4 -0
  329. package/dist/util/logger.d.ts.map +1 -0
  330. package/dist/util/logger.js +24 -0
  331. package/dist/util/logger.js.map +1 -0
  332. package/dist/version.d.ts +2 -0
  333. package/dist/version.d.ts.map +1 -0
  334. package/dist/version.js +4 -0
  335. package/dist/version.js.map +1 -0
  336. package/examples/claude-code-setup.md +77 -0
  337. package/examples/gateway.yaml +118 -0
  338. package/examples/local-dev.yaml +41 -0
  339. package/examples/openclaw-setup.md +52 -0
  340. package/examples/profiles.yaml +103 -0
  341. package/package.json +80 -3
  342. package/schema.json +943 -0
@@ -0,0 +1,2034 @@
1
+ import { z } from 'zod';
2
+ export declare const McpServerConfig: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3
+ type: z.ZodLiteral<"stdio">;
4
+ command: z.ZodString;
5
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, string, string>>>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ type: "stdio";
9
+ command: string;
10
+ args: string[];
11
+ env?: Record<string, string> | undefined;
12
+ }, {
13
+ type: "stdio";
14
+ command: string;
15
+ args?: string[] | undefined;
16
+ env?: Record<string, string> | undefined;
17
+ }>, z.ZodObject<{
18
+ type: z.ZodLiteral<"sse">;
19
+ url: z.ZodString;
20
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ url: string;
23
+ type: "sse";
24
+ headers?: Record<string, string> | undefined;
25
+ }, {
26
+ url: string;
27
+ type: "sse";
28
+ headers?: Record<string, string> | undefined;
29
+ }>, z.ZodObject<{
30
+ type: z.ZodLiteral<"http">;
31
+ url: z.ZodString;
32
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
33
+ oauth: z.ZodDefault<z.ZodBoolean>;
34
+ oauth_callback_port: z.ZodDefault<z.ZodNumber>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ url: string;
37
+ type: "http";
38
+ oauth: boolean;
39
+ oauth_callback_port: number;
40
+ headers?: Record<string, string> | undefined;
41
+ }, {
42
+ url: string;
43
+ type: "http";
44
+ oauth?: boolean | undefined;
45
+ headers?: Record<string, string> | undefined;
46
+ oauth_callback_port?: number | undefined;
47
+ }>]>;
48
+ export type McpServerConfig = z.infer<typeof McpServerConfig>;
49
+ export declare const ProviderConfig: z.ZodUnion<[z.ZodLiteral<"builtin">, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
50
+ type: z.ZodLiteral<"stdio">;
51
+ command: z.ZodString;
52
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
53
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, string, string>>>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ type: "stdio";
56
+ command: string;
57
+ args: string[];
58
+ env?: Record<string, string> | undefined;
59
+ }, {
60
+ type: "stdio";
61
+ command: string;
62
+ args?: string[] | undefined;
63
+ env?: Record<string, string> | undefined;
64
+ }>, z.ZodObject<{
65
+ type: z.ZodLiteral<"sse">;
66
+ url: z.ZodString;
67
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
68
+ }, "strip", z.ZodTypeAny, {
69
+ url: string;
70
+ type: "sse";
71
+ headers?: Record<string, string> | undefined;
72
+ }, {
73
+ url: string;
74
+ type: "sse";
75
+ headers?: Record<string, string> | undefined;
76
+ }>, z.ZodObject<{
77
+ type: z.ZodLiteral<"http">;
78
+ url: z.ZodString;
79
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
80
+ oauth: z.ZodDefault<z.ZodBoolean>;
81
+ oauth_callback_port: z.ZodDefault<z.ZodNumber>;
82
+ }, "strip", z.ZodTypeAny, {
83
+ url: string;
84
+ type: "http";
85
+ oauth: boolean;
86
+ oauth_callback_port: number;
87
+ headers?: Record<string, string> | undefined;
88
+ }, {
89
+ url: string;
90
+ type: "http";
91
+ oauth?: boolean | undefined;
92
+ headers?: Record<string, string> | undefined;
93
+ oauth_callback_port?: number | undefined;
94
+ }>]>]>;
95
+ export type ProviderConfig = z.infer<typeof ProviderConfig>;
96
+ /** Extract only MCP server configs from the providers map */
97
+ export declare function getMcpConfigs(providers: Record<string, ProviderConfig>): Record<string, McpServerConfig>;
98
+ /** Extract the set of builtin provider names (e.g. "exec", "http") */
99
+ export declare function getBuiltinProviders(providers: Record<string, ProviderConfig>): Set<string>;
100
+ export declare const ToolOverride: z.ZodObject<{
101
+ description: z.ZodOptional<z.ZodString>;
102
+ }, "strip", z.ZodTypeAny, {
103
+ description?: string | undefined;
104
+ }, {
105
+ description?: string | undefined;
106
+ }>;
107
+ export declare const AgentExecConfig: z.ZodObject<{
108
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
109
+ ask: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
110
+ deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
111
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
112
+ default_timeout_ms: z.ZodDefault<z.ZodNumber>;
113
+ }, "strip", z.ZodTypeAny, {
114
+ env: Record<string, string>;
115
+ allow: string[];
116
+ ask: string[];
117
+ deny: string[];
118
+ default_timeout_ms: number;
119
+ }, {
120
+ env?: Record<string, string> | undefined;
121
+ allow?: string[] | undefined;
122
+ ask?: string[] | undefined;
123
+ deny?: string[] | undefined;
124
+ default_timeout_ms?: number | undefined;
125
+ }>;
126
+ export type AgentExecConfig = z.infer<typeof AgentExecConfig>;
127
+ export declare const AgentHttpConfig: z.ZodObject<{
128
+ domain_allowlist: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
129
+ max_response_bytes: z.ZodDefault<z.ZodNumber>;
130
+ timeout_ms: z.ZodDefault<z.ZodNumber>;
131
+ }, "strip", z.ZodTypeAny, {
132
+ domain_allowlist: string[];
133
+ max_response_bytes: number;
134
+ timeout_ms: number;
135
+ }, {
136
+ domain_allowlist?: string[] | undefined;
137
+ max_response_bytes?: number | undefined;
138
+ timeout_ms?: number | undefined;
139
+ }>;
140
+ export type AgentHttpConfig = z.infer<typeof AgentHttpConfig>;
141
+ export declare const MiddlewareItemConfig: z.ZodObject<{
142
+ name: z.ZodEnum<["schema-validator", "rate-limiter", "untrusted-envelope", "strip-query-params", "output-injection-detector", "canary-token-injector", "output-size-limiter", "output-summarizer", "injection-detector", "sensitivity-classifier"]>;
143
+ enabled: z.ZodDefault<z.ZodBoolean>;
144
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
145
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
146
+ max_requests: z.ZodOptional<z.ZodNumber>;
147
+ window_ms: z.ZodOptional<z.ZodNumber>;
148
+ per: z.ZodOptional<z.ZodEnum<["agent", "tool"]>>;
149
+ mode: z.ZodOptional<z.ZodEnum<["detect", "mangle", "escalate"]>>;
150
+ backend: z.ZodOptional<z.ZodEnum<["regex", "deberta", "heuristic", "llm"]>>;
151
+ inference_url: z.ZodOptional<z.ZodString>;
152
+ threshold: z.ZodOptional<z.ZodNumber>;
153
+ max_lines: z.ZodOptional<z.ZodNumber>;
154
+ max_chars: z.ZodOptional<z.ZodNumber>;
155
+ model: z.ZodOptional<z.ZodString>;
156
+ threshold_chars: z.ZodOptional<z.ZodNumber>;
157
+ }, "strict", z.ZodTypeAny, {
158
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
159
+ enabled: boolean;
160
+ model?: string | undefined;
161
+ tools?: string[] | undefined;
162
+ exclude?: string[] | undefined;
163
+ max_requests?: number | undefined;
164
+ window_ms?: number | undefined;
165
+ per?: "agent" | "tool" | undefined;
166
+ mode?: "detect" | "mangle" | "escalate" | undefined;
167
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
168
+ inference_url?: string | undefined;
169
+ threshold?: number | undefined;
170
+ max_lines?: number | undefined;
171
+ max_chars?: number | undefined;
172
+ threshold_chars?: number | undefined;
173
+ }, {
174
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
175
+ model?: string | undefined;
176
+ tools?: string[] | undefined;
177
+ enabled?: boolean | undefined;
178
+ exclude?: string[] | undefined;
179
+ max_requests?: number | undefined;
180
+ window_ms?: number | undefined;
181
+ per?: "agent" | "tool" | undefined;
182
+ mode?: "detect" | "mangle" | "escalate" | undefined;
183
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
184
+ inference_url?: string | undefined;
185
+ threshold?: number | undefined;
186
+ max_lines?: number | undefined;
187
+ max_chars?: number | undefined;
188
+ threshold_chars?: number | undefined;
189
+ }>;
190
+ export type MiddlewareItemConfig = z.infer<typeof MiddlewareItemConfig>;
191
+ export declare const AgentConfig: z.ZodObject<{
192
+ token: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
193
+ extends: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
194
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
195
+ ask: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
196
+ deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
197
+ tool_overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
198
+ description: z.ZodOptional<z.ZodString>;
199
+ }, "strip", z.ZodTypeAny, {
200
+ description?: string | undefined;
201
+ }, {
202
+ description?: string | undefined;
203
+ }>>>;
204
+ exec: z.ZodDefault<z.ZodObject<{
205
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
206
+ ask: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
207
+ deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
208
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
209
+ default_timeout_ms: z.ZodDefault<z.ZodNumber>;
210
+ }, "strip", z.ZodTypeAny, {
211
+ env: Record<string, string>;
212
+ allow: string[];
213
+ ask: string[];
214
+ deny: string[];
215
+ default_timeout_ms: number;
216
+ }, {
217
+ env?: Record<string, string> | undefined;
218
+ allow?: string[] | undefined;
219
+ ask?: string[] | undefined;
220
+ deny?: string[] | undefined;
221
+ default_timeout_ms?: number | undefined;
222
+ }>>;
223
+ http: z.ZodDefault<z.ZodObject<{
224
+ domain_allowlist: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
225
+ max_response_bytes: z.ZodDefault<z.ZodNumber>;
226
+ timeout_ms: z.ZodDefault<z.ZodNumber>;
227
+ }, "strip", z.ZodTypeAny, {
228
+ domain_allowlist: string[];
229
+ max_response_bytes: number;
230
+ timeout_ms: number;
231
+ }, {
232
+ domain_allowlist?: string[] | undefined;
233
+ max_response_bytes?: number | undefined;
234
+ timeout_ms?: number | undefined;
235
+ }>>;
236
+ middleware: z.ZodOptional<z.ZodArray<z.ZodObject<{
237
+ name: z.ZodEnum<["schema-validator", "rate-limiter", "untrusted-envelope", "strip-query-params", "output-injection-detector", "canary-token-injector", "output-size-limiter", "output-summarizer", "injection-detector", "sensitivity-classifier"]>;
238
+ enabled: z.ZodDefault<z.ZodBoolean>;
239
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
240
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
241
+ max_requests: z.ZodOptional<z.ZodNumber>;
242
+ window_ms: z.ZodOptional<z.ZodNumber>;
243
+ per: z.ZodOptional<z.ZodEnum<["agent", "tool"]>>;
244
+ mode: z.ZodOptional<z.ZodEnum<["detect", "mangle", "escalate"]>>;
245
+ backend: z.ZodOptional<z.ZodEnum<["regex", "deberta", "heuristic", "llm"]>>;
246
+ inference_url: z.ZodOptional<z.ZodString>;
247
+ threshold: z.ZodOptional<z.ZodNumber>;
248
+ max_lines: z.ZodOptional<z.ZodNumber>;
249
+ max_chars: z.ZodOptional<z.ZodNumber>;
250
+ model: z.ZodOptional<z.ZodString>;
251
+ threshold_chars: z.ZodOptional<z.ZodNumber>;
252
+ }, "strict", z.ZodTypeAny, {
253
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
254
+ enabled: boolean;
255
+ model?: string | undefined;
256
+ tools?: string[] | undefined;
257
+ exclude?: string[] | undefined;
258
+ max_requests?: number | undefined;
259
+ window_ms?: number | undefined;
260
+ per?: "agent" | "tool" | undefined;
261
+ mode?: "detect" | "mangle" | "escalate" | undefined;
262
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
263
+ inference_url?: string | undefined;
264
+ threshold?: number | undefined;
265
+ max_lines?: number | undefined;
266
+ max_chars?: number | undefined;
267
+ threshold_chars?: number | undefined;
268
+ }, {
269
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
270
+ model?: string | undefined;
271
+ tools?: string[] | undefined;
272
+ enabled?: boolean | undefined;
273
+ exclude?: string[] | undefined;
274
+ max_requests?: number | undefined;
275
+ window_ms?: number | undefined;
276
+ per?: "agent" | "tool" | undefined;
277
+ mode?: "detect" | "mangle" | "escalate" | undefined;
278
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
279
+ inference_url?: string | undefined;
280
+ threshold?: number | undefined;
281
+ max_lines?: number | undefined;
282
+ max_chars?: number | undefined;
283
+ threshold_chars?: number | undefined;
284
+ }>, "many">>;
285
+ }, "strip", z.ZodTypeAny, {
286
+ http: {
287
+ domain_allowlist: string[];
288
+ max_response_bytes: number;
289
+ timeout_ms: number;
290
+ };
291
+ allow: string[];
292
+ ask: string[];
293
+ deny: string[];
294
+ extends: string[];
295
+ tool_overrides: Record<string, {
296
+ description?: string | undefined;
297
+ }>;
298
+ exec: {
299
+ env: Record<string, string>;
300
+ allow: string[];
301
+ ask: string[];
302
+ deny: string[];
303
+ default_timeout_ms: number;
304
+ };
305
+ token?: string | undefined;
306
+ middleware?: {
307
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
308
+ enabled: boolean;
309
+ model?: string | undefined;
310
+ tools?: string[] | undefined;
311
+ exclude?: string[] | undefined;
312
+ max_requests?: number | undefined;
313
+ window_ms?: number | undefined;
314
+ per?: "agent" | "tool" | undefined;
315
+ mode?: "detect" | "mangle" | "escalate" | undefined;
316
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
317
+ inference_url?: string | undefined;
318
+ threshold?: number | undefined;
319
+ max_lines?: number | undefined;
320
+ max_chars?: number | undefined;
321
+ threshold_chars?: number | undefined;
322
+ }[] | undefined;
323
+ }, {
324
+ http?: {
325
+ domain_allowlist?: string[] | undefined;
326
+ max_response_bytes?: number | undefined;
327
+ timeout_ms?: number | undefined;
328
+ } | undefined;
329
+ allow?: string[] | undefined;
330
+ ask?: string[] | undefined;
331
+ deny?: string[] | undefined;
332
+ token?: string | undefined;
333
+ extends?: string[] | undefined;
334
+ tool_overrides?: Record<string, {
335
+ description?: string | undefined;
336
+ }> | undefined;
337
+ exec?: {
338
+ env?: Record<string, string> | undefined;
339
+ allow?: string[] | undefined;
340
+ ask?: string[] | undefined;
341
+ deny?: string[] | undefined;
342
+ default_timeout_ms?: number | undefined;
343
+ } | undefined;
344
+ middleware?: {
345
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
346
+ model?: string | undefined;
347
+ tools?: string[] | undefined;
348
+ enabled?: boolean | undefined;
349
+ exclude?: string[] | undefined;
350
+ max_requests?: number | undefined;
351
+ window_ms?: number | undefined;
352
+ per?: "agent" | "tool" | undefined;
353
+ mode?: "detect" | "mangle" | "escalate" | undefined;
354
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
355
+ inference_url?: string | undefined;
356
+ threshold?: number | undefined;
357
+ max_lines?: number | undefined;
358
+ max_chars?: number | undefined;
359
+ threshold_chars?: number | undefined;
360
+ }[] | undefined;
361
+ }>;
362
+ export type AgentConfig = z.infer<typeof AgentConfig>;
363
+ export declare const ProfileConfig: z.ZodObject<{
364
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
365
+ ask: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
366
+ }, "strip", z.ZodTypeAny, {
367
+ allow: string[];
368
+ ask: string[];
369
+ }, {
370
+ allow?: string[] | undefined;
371
+ ask?: string[] | undefined;
372
+ }>;
373
+ export type ProfileConfig = z.infer<typeof ProfileConfig>;
374
+ export declare const ApprovalProviderConfig: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
375
+ type: z.ZodLiteral<"telegram">;
376
+ bot_token: z.ZodEffects<z.ZodString, string, string>;
377
+ chat_id: z.ZodEffects<z.ZodString, string, string>;
378
+ }, "strip", z.ZodTypeAny, {
379
+ type: "telegram";
380
+ bot_token: string;
381
+ chat_id: string;
382
+ }, {
383
+ type: "telegram";
384
+ bot_token: string;
385
+ chat_id: string;
386
+ }>, z.ZodObject<{
387
+ type: z.ZodLiteral<"openclaw">;
388
+ gateway_url: z.ZodDefault<z.ZodString>;
389
+ token: z.ZodEffects<z.ZodString, string, string>;
390
+ session_key: z.ZodDefault<z.ZodString>;
391
+ }, "strip", z.ZodTypeAny, {
392
+ type: "openclaw";
393
+ token: string;
394
+ gateway_url: string;
395
+ session_key: string;
396
+ }, {
397
+ type: "openclaw";
398
+ token: string;
399
+ gateway_url?: string | undefined;
400
+ session_key?: string | undefined;
401
+ }>, z.ZodObject<{
402
+ type: z.ZodLiteral<"slack">;
403
+ webhook_url: z.ZodEffects<z.ZodString, string, string>;
404
+ }, "strip", z.ZodTypeAny, {
405
+ type: "slack";
406
+ webhook_url: string;
407
+ }, {
408
+ type: "slack";
409
+ webhook_url: string;
410
+ }>, z.ZodObject<{
411
+ type: z.ZodLiteral<"webhook">;
412
+ url: z.ZodEffects<z.ZodString, string, string>;
413
+ headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
414
+ }, "strip", z.ZodTypeAny, {
415
+ url: string;
416
+ type: "webhook";
417
+ headers: Record<string, string>;
418
+ }, {
419
+ url: string;
420
+ type: "webhook";
421
+ headers?: Record<string, string> | undefined;
422
+ }>, z.ZodObject<{
423
+ type: z.ZodLiteral<"tui">;
424
+ }, "strip", z.ZodTypeAny, {
425
+ type: "tui";
426
+ }, {
427
+ type: "tui";
428
+ }>, z.ZodObject<{
429
+ type: z.ZodLiteral<"macos">;
430
+ }, "strip", z.ZodTypeAny, {
431
+ type: "macos";
432
+ }, {
433
+ type: "macos";
434
+ }>, z.ZodObject<{
435
+ type: z.ZodLiteral<"dashboard">;
436
+ port: z.ZodDefault<z.ZodNumber>;
437
+ }, "strip", z.ZodTypeAny, {
438
+ type: "dashboard";
439
+ port: number;
440
+ }, {
441
+ type: "dashboard";
442
+ port?: number | undefined;
443
+ }>, z.ZodObject<{
444
+ type: z.ZodLiteral<"stdio">;
445
+ }, "strip", z.ZodTypeAny, {
446
+ type: "stdio";
447
+ }, {
448
+ type: "stdio";
449
+ }>]>;
450
+ export type ApprovalProviderConfig = z.infer<typeof ApprovalProviderConfig>;
451
+ export type HitlProviderConfig = ApprovalProviderConfig;
452
+ export declare const ApprovalsConfig: z.ZodObject<{
453
+ provider: z.ZodDefault<z.ZodUnion<[z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
454
+ type: z.ZodLiteral<"telegram">;
455
+ bot_token: z.ZodEffects<z.ZodString, string, string>;
456
+ chat_id: z.ZodEffects<z.ZodString, string, string>;
457
+ }, "strip", z.ZodTypeAny, {
458
+ type: "telegram";
459
+ bot_token: string;
460
+ chat_id: string;
461
+ }, {
462
+ type: "telegram";
463
+ bot_token: string;
464
+ chat_id: string;
465
+ }>, z.ZodObject<{
466
+ type: z.ZodLiteral<"openclaw">;
467
+ gateway_url: z.ZodDefault<z.ZodString>;
468
+ token: z.ZodEffects<z.ZodString, string, string>;
469
+ session_key: z.ZodDefault<z.ZodString>;
470
+ }, "strip", z.ZodTypeAny, {
471
+ type: "openclaw";
472
+ token: string;
473
+ gateway_url: string;
474
+ session_key: string;
475
+ }, {
476
+ type: "openclaw";
477
+ token: string;
478
+ gateway_url?: string | undefined;
479
+ session_key?: string | undefined;
480
+ }>, z.ZodObject<{
481
+ type: z.ZodLiteral<"slack">;
482
+ webhook_url: z.ZodEffects<z.ZodString, string, string>;
483
+ }, "strip", z.ZodTypeAny, {
484
+ type: "slack";
485
+ webhook_url: string;
486
+ }, {
487
+ type: "slack";
488
+ webhook_url: string;
489
+ }>, z.ZodObject<{
490
+ type: z.ZodLiteral<"webhook">;
491
+ url: z.ZodEffects<z.ZodString, string, string>;
492
+ headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
493
+ }, "strip", z.ZodTypeAny, {
494
+ url: string;
495
+ type: "webhook";
496
+ headers: Record<string, string>;
497
+ }, {
498
+ url: string;
499
+ type: "webhook";
500
+ headers?: Record<string, string> | undefined;
501
+ }>, z.ZodObject<{
502
+ type: z.ZodLiteral<"tui">;
503
+ }, "strip", z.ZodTypeAny, {
504
+ type: "tui";
505
+ }, {
506
+ type: "tui";
507
+ }>, z.ZodObject<{
508
+ type: z.ZodLiteral<"macos">;
509
+ }, "strip", z.ZodTypeAny, {
510
+ type: "macos";
511
+ }, {
512
+ type: "macos";
513
+ }>, z.ZodObject<{
514
+ type: z.ZodLiteral<"dashboard">;
515
+ port: z.ZodDefault<z.ZodNumber>;
516
+ }, "strip", z.ZodTypeAny, {
517
+ type: "dashboard";
518
+ port: number;
519
+ }, {
520
+ type: "dashboard";
521
+ port?: number | undefined;
522
+ }>, z.ZodObject<{
523
+ type: z.ZodLiteral<"stdio">;
524
+ }, "strip", z.ZodTypeAny, {
525
+ type: "stdio";
526
+ }, {
527
+ type: "stdio";
528
+ }>]>, z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
529
+ type: z.ZodLiteral<"telegram">;
530
+ bot_token: z.ZodEffects<z.ZodString, string, string>;
531
+ chat_id: z.ZodEffects<z.ZodString, string, string>;
532
+ }, "strip", z.ZodTypeAny, {
533
+ type: "telegram";
534
+ bot_token: string;
535
+ chat_id: string;
536
+ }, {
537
+ type: "telegram";
538
+ bot_token: string;
539
+ chat_id: string;
540
+ }>, z.ZodObject<{
541
+ type: z.ZodLiteral<"openclaw">;
542
+ gateway_url: z.ZodDefault<z.ZodString>;
543
+ token: z.ZodEffects<z.ZodString, string, string>;
544
+ session_key: z.ZodDefault<z.ZodString>;
545
+ }, "strip", z.ZodTypeAny, {
546
+ type: "openclaw";
547
+ token: string;
548
+ gateway_url: string;
549
+ session_key: string;
550
+ }, {
551
+ type: "openclaw";
552
+ token: string;
553
+ gateway_url?: string | undefined;
554
+ session_key?: string | undefined;
555
+ }>, z.ZodObject<{
556
+ type: z.ZodLiteral<"slack">;
557
+ webhook_url: z.ZodEffects<z.ZodString, string, string>;
558
+ }, "strip", z.ZodTypeAny, {
559
+ type: "slack";
560
+ webhook_url: string;
561
+ }, {
562
+ type: "slack";
563
+ webhook_url: string;
564
+ }>, z.ZodObject<{
565
+ type: z.ZodLiteral<"webhook">;
566
+ url: z.ZodEffects<z.ZodString, string, string>;
567
+ headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
568
+ }, "strip", z.ZodTypeAny, {
569
+ url: string;
570
+ type: "webhook";
571
+ headers: Record<string, string>;
572
+ }, {
573
+ url: string;
574
+ type: "webhook";
575
+ headers?: Record<string, string> | undefined;
576
+ }>, z.ZodObject<{
577
+ type: z.ZodLiteral<"tui">;
578
+ }, "strip", z.ZodTypeAny, {
579
+ type: "tui";
580
+ }, {
581
+ type: "tui";
582
+ }>, z.ZodObject<{
583
+ type: z.ZodLiteral<"macos">;
584
+ }, "strip", z.ZodTypeAny, {
585
+ type: "macos";
586
+ }, {
587
+ type: "macos";
588
+ }>, z.ZodObject<{
589
+ type: z.ZodLiteral<"dashboard">;
590
+ port: z.ZodDefault<z.ZodNumber>;
591
+ }, "strip", z.ZodTypeAny, {
592
+ type: "dashboard";
593
+ port: number;
594
+ }, {
595
+ type: "dashboard";
596
+ port?: number | undefined;
597
+ }>, z.ZodObject<{
598
+ type: z.ZodLiteral<"stdio">;
599
+ }, "strip", z.ZodTypeAny, {
600
+ type: "stdio";
601
+ }, {
602
+ type: "stdio";
603
+ }>]>, "many">]>>;
604
+ timeout_ms: z.ZodDefault<z.ZodNumber>;
605
+ batch_window_ms: z.ZodDefault<z.ZodNumber>;
606
+ }, "strip", z.ZodTypeAny, {
607
+ timeout_ms: number;
608
+ provider: {
609
+ type: "telegram";
610
+ bot_token: string;
611
+ chat_id: string;
612
+ } | {
613
+ type: "openclaw";
614
+ token: string;
615
+ gateway_url: string;
616
+ session_key: string;
617
+ } | {
618
+ type: "slack";
619
+ webhook_url: string;
620
+ } | {
621
+ url: string;
622
+ type: "webhook";
623
+ headers: Record<string, string>;
624
+ } | {
625
+ type: "tui";
626
+ } | {
627
+ type: "macos";
628
+ } | {
629
+ type: "dashboard";
630
+ port: number;
631
+ } | {
632
+ type: "stdio";
633
+ } | ({
634
+ type: "telegram";
635
+ bot_token: string;
636
+ chat_id: string;
637
+ } | {
638
+ type: "openclaw";
639
+ token: string;
640
+ gateway_url: string;
641
+ session_key: string;
642
+ } | {
643
+ type: "slack";
644
+ webhook_url: string;
645
+ } | {
646
+ url: string;
647
+ type: "webhook";
648
+ headers: Record<string, string>;
649
+ } | {
650
+ type: "tui";
651
+ } | {
652
+ type: "macos";
653
+ } | {
654
+ type: "dashboard";
655
+ port: number;
656
+ } | {
657
+ type: "stdio";
658
+ })[];
659
+ batch_window_ms: number;
660
+ }, {
661
+ timeout_ms?: number | undefined;
662
+ provider?: {
663
+ type: "telegram";
664
+ bot_token: string;
665
+ chat_id: string;
666
+ } | {
667
+ type: "openclaw";
668
+ token: string;
669
+ gateway_url?: string | undefined;
670
+ session_key?: string | undefined;
671
+ } | {
672
+ type: "slack";
673
+ webhook_url: string;
674
+ } | {
675
+ url: string;
676
+ type: "webhook";
677
+ headers?: Record<string, string> | undefined;
678
+ } | {
679
+ type: "tui";
680
+ } | {
681
+ type: "macos";
682
+ } | {
683
+ type: "dashboard";
684
+ port?: number | undefined;
685
+ } | {
686
+ type: "stdio";
687
+ } | ({
688
+ type: "telegram";
689
+ bot_token: string;
690
+ chat_id: string;
691
+ } | {
692
+ type: "openclaw";
693
+ token: string;
694
+ gateway_url?: string | undefined;
695
+ session_key?: string | undefined;
696
+ } | {
697
+ type: "slack";
698
+ webhook_url: string;
699
+ } | {
700
+ url: string;
701
+ type: "webhook";
702
+ headers?: Record<string, string> | undefined;
703
+ } | {
704
+ type: "tui";
705
+ } | {
706
+ type: "macos";
707
+ } | {
708
+ type: "dashboard";
709
+ port?: number | undefined;
710
+ } | {
711
+ type: "stdio";
712
+ })[] | undefined;
713
+ batch_window_ms?: number | undefined;
714
+ }>;
715
+ export type ApprovalsConfig = z.infer<typeof ApprovalsConfig>;
716
+ export type HitlConfig = ApprovalsConfig;
717
+ export declare const SecurityConfig: z.ZodObject<{
718
+ blocked_hosts: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
719
+ allowed_local: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
720
+ }, "strip", z.ZodTypeAny, {
721
+ blocked_hosts: string[];
722
+ allowed_local: string[];
723
+ }, {
724
+ blocked_hosts?: string[] | undefined;
725
+ allowed_local?: string[] | undefined;
726
+ }>;
727
+ export type SecurityConfig = z.infer<typeof SecurityConfig>;
728
+ export declare const AuditConfig: z.ZodObject<{
729
+ db_path: z.ZodDefault<z.ZodString>;
730
+ retention_days: z.ZodDefault<z.ZodNumber>;
731
+ redact_fields: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
732
+ }, "strip", z.ZodTypeAny, {
733
+ db_path: string;
734
+ retention_days: number;
735
+ redact_fields: string[];
736
+ }, {
737
+ db_path?: string | undefined;
738
+ retention_days?: number | undefined;
739
+ redact_fields?: string[] | undefined;
740
+ }>;
741
+ export type AuditConfig = z.infer<typeof AuditConfig>;
742
+ export declare const ServerConfig: z.ZodObject<{
743
+ port: z.ZodDefault<z.ZodNumber>;
744
+ host: z.ZodDefault<z.ZodString>;
745
+ api_secret: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
746
+ }, "strip", z.ZodTypeAny, {
747
+ port: number;
748
+ host: string;
749
+ api_secret?: string | undefined;
750
+ }, {
751
+ port?: number | undefined;
752
+ host?: string | undefined;
753
+ api_secret?: string | undefined;
754
+ }>;
755
+ export type ServerConfig = z.infer<typeof ServerConfig>;
756
+ export declare const CliParamConfig: z.ZodObject<{
757
+ type: z.ZodEnum<["string", "number", "boolean"]>;
758
+ flag: z.ZodOptional<z.ZodString>;
759
+ positional: z.ZodDefault<z.ZodBoolean>;
760
+ required: z.ZodDefault<z.ZodBoolean>;
761
+ default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
762
+ description: z.ZodOptional<z.ZodString>;
763
+ }, "strip", z.ZodTypeAny, {
764
+ type: "string" | "number" | "boolean";
765
+ required: boolean;
766
+ positional: boolean;
767
+ default?: string | number | boolean | undefined;
768
+ description?: string | undefined;
769
+ flag?: string | undefined;
770
+ }, {
771
+ type: "string" | "number" | "boolean";
772
+ default?: string | number | boolean | undefined;
773
+ description?: string | undefined;
774
+ required?: boolean | undefined;
775
+ flag?: string | undefined;
776
+ positional?: boolean | undefined;
777
+ }>;
778
+ export type CliParamConfig = z.infer<typeof CliParamConfig>;
779
+ export declare const CliCommandConfig: z.ZodObject<{
780
+ exec: z.ZodString;
781
+ description: z.ZodOptional<z.ZodString>;
782
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
783
+ type: z.ZodEnum<["string", "number", "boolean"]>;
784
+ flag: z.ZodOptional<z.ZodString>;
785
+ positional: z.ZodDefault<z.ZodBoolean>;
786
+ required: z.ZodDefault<z.ZodBoolean>;
787
+ default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
788
+ description: z.ZodOptional<z.ZodString>;
789
+ }, "strip", z.ZodTypeAny, {
790
+ type: "string" | "number" | "boolean";
791
+ required: boolean;
792
+ positional: boolean;
793
+ default?: string | number | boolean | undefined;
794
+ description?: string | undefined;
795
+ flag?: string | undefined;
796
+ }, {
797
+ type: "string" | "number" | "boolean";
798
+ default?: string | number | boolean | undefined;
799
+ description?: string | undefined;
800
+ required?: boolean | undefined;
801
+ flag?: string | undefined;
802
+ positional?: boolean | undefined;
803
+ }>>>;
804
+ cwd: z.ZodOptional<z.ZodString>;
805
+ timeout: z.ZodDefault<z.ZodNumber>;
806
+ }, "strip", z.ZodTypeAny, {
807
+ params: Record<string, {
808
+ type: "string" | "number" | "boolean";
809
+ required: boolean;
810
+ positional: boolean;
811
+ default?: string | number | boolean | undefined;
812
+ description?: string | undefined;
813
+ flag?: string | undefined;
814
+ }>;
815
+ timeout: number;
816
+ exec: string;
817
+ description?: string | undefined;
818
+ cwd?: string | undefined;
819
+ }, {
820
+ exec: string;
821
+ params?: Record<string, {
822
+ type: "string" | "number" | "boolean";
823
+ default?: string | number | boolean | undefined;
824
+ description?: string | undefined;
825
+ required?: boolean | undefined;
826
+ flag?: string | undefined;
827
+ positional?: boolean | undefined;
828
+ }> | undefined;
829
+ description?: string | undefined;
830
+ timeout?: number | undefined;
831
+ cwd?: string | undefined;
832
+ }>;
833
+ export type CliCommandConfig = z.infer<typeof CliCommandConfig>;
834
+ export declare const CliConfig: z.ZodObject<{
835
+ discovered: z.ZodOptional<z.ZodString>;
836
+ shell: z.ZodOptional<z.ZodString>;
837
+ cwd: z.ZodOptional<z.ZodString>;
838
+ max_output_bytes: z.ZodDefault<z.ZodNumber>;
839
+ commands: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
840
+ exec: z.ZodString;
841
+ description: z.ZodOptional<z.ZodString>;
842
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
843
+ type: z.ZodEnum<["string", "number", "boolean"]>;
844
+ flag: z.ZodOptional<z.ZodString>;
845
+ positional: z.ZodDefault<z.ZodBoolean>;
846
+ required: z.ZodDefault<z.ZodBoolean>;
847
+ default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
848
+ description: z.ZodOptional<z.ZodString>;
849
+ }, "strip", z.ZodTypeAny, {
850
+ type: "string" | "number" | "boolean";
851
+ required: boolean;
852
+ positional: boolean;
853
+ default?: string | number | boolean | undefined;
854
+ description?: string | undefined;
855
+ flag?: string | undefined;
856
+ }, {
857
+ type: "string" | "number" | "boolean";
858
+ default?: string | number | boolean | undefined;
859
+ description?: string | undefined;
860
+ required?: boolean | undefined;
861
+ flag?: string | undefined;
862
+ positional?: boolean | undefined;
863
+ }>>>;
864
+ cwd: z.ZodOptional<z.ZodString>;
865
+ timeout: z.ZodDefault<z.ZodNumber>;
866
+ }, "strip", z.ZodTypeAny, {
867
+ params: Record<string, {
868
+ type: "string" | "number" | "boolean";
869
+ required: boolean;
870
+ positional: boolean;
871
+ default?: string | number | boolean | undefined;
872
+ description?: string | undefined;
873
+ flag?: string | undefined;
874
+ }>;
875
+ timeout: number;
876
+ exec: string;
877
+ description?: string | undefined;
878
+ cwd?: string | undefined;
879
+ }, {
880
+ exec: string;
881
+ params?: Record<string, {
882
+ type: "string" | "number" | "boolean";
883
+ default?: string | number | boolean | undefined;
884
+ description?: string | undefined;
885
+ required?: boolean | undefined;
886
+ flag?: string | undefined;
887
+ positional?: boolean | undefined;
888
+ }> | undefined;
889
+ description?: string | undefined;
890
+ timeout?: number | undefined;
891
+ cwd?: string | undefined;
892
+ }>>>;
893
+ }, "strip", z.ZodTypeAny, {
894
+ max_output_bytes: number;
895
+ commands: Record<string, {
896
+ params: Record<string, {
897
+ type: "string" | "number" | "boolean";
898
+ required: boolean;
899
+ positional: boolean;
900
+ default?: string | number | boolean | undefined;
901
+ description?: string | undefined;
902
+ flag?: string | undefined;
903
+ }>;
904
+ timeout: number;
905
+ exec: string;
906
+ description?: string | undefined;
907
+ cwd?: string | undefined;
908
+ }>;
909
+ cwd?: string | undefined;
910
+ discovered?: string | undefined;
911
+ shell?: string | undefined;
912
+ }, {
913
+ cwd?: string | undefined;
914
+ discovered?: string | undefined;
915
+ shell?: string | undefined;
916
+ max_output_bytes?: number | undefined;
917
+ commands?: Record<string, {
918
+ exec: string;
919
+ params?: Record<string, {
920
+ type: "string" | "number" | "boolean";
921
+ default?: string | number | boolean | undefined;
922
+ description?: string | undefined;
923
+ required?: boolean | undefined;
924
+ flag?: string | undefined;
925
+ positional?: boolean | undefined;
926
+ }> | undefined;
927
+ description?: string | undefined;
928
+ timeout?: number | undefined;
929
+ cwd?: string | undefined;
930
+ }> | undefined;
931
+ }>;
932
+ export type CliConfig = z.infer<typeof CliConfig>;
933
+ export declare const ApiAuthConfig: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
934
+ type: z.ZodLiteral<"bearer">;
935
+ token: z.ZodEffects<z.ZodString, string, string>;
936
+ }, "strip", z.ZodTypeAny, {
937
+ type: "bearer";
938
+ token: string;
939
+ }, {
940
+ type: "bearer";
941
+ token: string;
942
+ }>, z.ZodObject<{
943
+ type: z.ZodLiteral<"header">;
944
+ name: z.ZodString;
945
+ value: z.ZodEffects<z.ZodString, string, string>;
946
+ }, "strip", z.ZodTypeAny, {
947
+ name: string;
948
+ type: "header";
949
+ value: string;
950
+ }, {
951
+ name: string;
952
+ type: "header";
953
+ value: string;
954
+ }>]>;
955
+ export type ApiAuthConfig = z.infer<typeof ApiAuthConfig>;
956
+ export declare const ApiConfig: z.ZodObject<{
957
+ spec: z.ZodString;
958
+ base_url: z.ZodOptional<z.ZodString>;
959
+ auth: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
960
+ type: z.ZodLiteral<"bearer">;
961
+ token: z.ZodEffects<z.ZodString, string, string>;
962
+ }, "strip", z.ZodTypeAny, {
963
+ type: "bearer";
964
+ token: string;
965
+ }, {
966
+ type: "bearer";
967
+ token: string;
968
+ }>, z.ZodObject<{
969
+ type: z.ZodLiteral<"header">;
970
+ name: z.ZodString;
971
+ value: z.ZodEffects<z.ZodString, string, string>;
972
+ }, "strip", z.ZodTypeAny, {
973
+ name: string;
974
+ type: "header";
975
+ value: string;
976
+ }, {
977
+ name: string;
978
+ type: "header";
979
+ value: string;
980
+ }>]>>;
981
+ include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
982
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
983
+ timeout_ms: z.ZodDefault<z.ZodNumber>;
984
+ max_response_bytes: z.ZodDefault<z.ZodNumber>;
985
+ }, "strip", z.ZodTypeAny, {
986
+ max_response_bytes: number;
987
+ timeout_ms: number;
988
+ spec: string;
989
+ exclude?: string[] | undefined;
990
+ base_url?: string | undefined;
991
+ auth?: {
992
+ type: "bearer";
993
+ token: string;
994
+ } | {
995
+ name: string;
996
+ type: "header";
997
+ value: string;
998
+ } | undefined;
999
+ include?: string[] | undefined;
1000
+ }, {
1001
+ spec: string;
1002
+ max_response_bytes?: number | undefined;
1003
+ timeout_ms?: number | undefined;
1004
+ exclude?: string[] | undefined;
1005
+ base_url?: string | undefined;
1006
+ auth?: {
1007
+ type: "bearer";
1008
+ token: string;
1009
+ } | {
1010
+ name: string;
1011
+ type: "header";
1012
+ value: string;
1013
+ } | undefined;
1014
+ include?: string[] | undefined;
1015
+ }>;
1016
+ export type ApiConfig = z.infer<typeof ApiConfig>;
1017
+ export declare const GatewayConfig: z.ZodObject<{
1018
+ providers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodLiteral<"builtin">, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1019
+ type: z.ZodLiteral<"stdio">;
1020
+ command: z.ZodString;
1021
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1022
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, string, string>>>;
1023
+ }, "strip", z.ZodTypeAny, {
1024
+ type: "stdio";
1025
+ command: string;
1026
+ args: string[];
1027
+ env?: Record<string, string> | undefined;
1028
+ }, {
1029
+ type: "stdio";
1030
+ command: string;
1031
+ args?: string[] | undefined;
1032
+ env?: Record<string, string> | undefined;
1033
+ }>, z.ZodObject<{
1034
+ type: z.ZodLiteral<"sse">;
1035
+ url: z.ZodString;
1036
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1037
+ }, "strip", z.ZodTypeAny, {
1038
+ url: string;
1039
+ type: "sse";
1040
+ headers?: Record<string, string> | undefined;
1041
+ }, {
1042
+ url: string;
1043
+ type: "sse";
1044
+ headers?: Record<string, string> | undefined;
1045
+ }>, z.ZodObject<{
1046
+ type: z.ZodLiteral<"http">;
1047
+ url: z.ZodString;
1048
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1049
+ oauth: z.ZodDefault<z.ZodBoolean>;
1050
+ oauth_callback_port: z.ZodDefault<z.ZodNumber>;
1051
+ }, "strip", z.ZodTypeAny, {
1052
+ url: string;
1053
+ type: "http";
1054
+ oauth: boolean;
1055
+ oauth_callback_port: number;
1056
+ headers?: Record<string, string> | undefined;
1057
+ }, {
1058
+ url: string;
1059
+ type: "http";
1060
+ oauth?: boolean | undefined;
1061
+ headers?: Record<string, string> | undefined;
1062
+ oauth_callback_port?: number | undefined;
1063
+ }>]>]>>>;
1064
+ profiles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1065
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1066
+ ask: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1067
+ }, "strip", z.ZodTypeAny, {
1068
+ allow: string[];
1069
+ ask: string[];
1070
+ }, {
1071
+ allow?: string[] | undefined;
1072
+ ask?: string[] | undefined;
1073
+ }>>>;
1074
+ clis: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1075
+ discovered: z.ZodOptional<z.ZodString>;
1076
+ shell: z.ZodOptional<z.ZodString>;
1077
+ cwd: z.ZodOptional<z.ZodString>;
1078
+ max_output_bytes: z.ZodDefault<z.ZodNumber>;
1079
+ commands: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1080
+ exec: z.ZodString;
1081
+ description: z.ZodOptional<z.ZodString>;
1082
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1083
+ type: z.ZodEnum<["string", "number", "boolean"]>;
1084
+ flag: z.ZodOptional<z.ZodString>;
1085
+ positional: z.ZodDefault<z.ZodBoolean>;
1086
+ required: z.ZodDefault<z.ZodBoolean>;
1087
+ default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1088
+ description: z.ZodOptional<z.ZodString>;
1089
+ }, "strip", z.ZodTypeAny, {
1090
+ type: "string" | "number" | "boolean";
1091
+ required: boolean;
1092
+ positional: boolean;
1093
+ default?: string | number | boolean | undefined;
1094
+ description?: string | undefined;
1095
+ flag?: string | undefined;
1096
+ }, {
1097
+ type: "string" | "number" | "boolean";
1098
+ default?: string | number | boolean | undefined;
1099
+ description?: string | undefined;
1100
+ required?: boolean | undefined;
1101
+ flag?: string | undefined;
1102
+ positional?: boolean | undefined;
1103
+ }>>>;
1104
+ cwd: z.ZodOptional<z.ZodString>;
1105
+ timeout: z.ZodDefault<z.ZodNumber>;
1106
+ }, "strip", z.ZodTypeAny, {
1107
+ params: Record<string, {
1108
+ type: "string" | "number" | "boolean";
1109
+ required: boolean;
1110
+ positional: boolean;
1111
+ default?: string | number | boolean | undefined;
1112
+ description?: string | undefined;
1113
+ flag?: string | undefined;
1114
+ }>;
1115
+ timeout: number;
1116
+ exec: string;
1117
+ description?: string | undefined;
1118
+ cwd?: string | undefined;
1119
+ }, {
1120
+ exec: string;
1121
+ params?: Record<string, {
1122
+ type: "string" | "number" | "boolean";
1123
+ default?: string | number | boolean | undefined;
1124
+ description?: string | undefined;
1125
+ required?: boolean | undefined;
1126
+ flag?: string | undefined;
1127
+ positional?: boolean | undefined;
1128
+ }> | undefined;
1129
+ description?: string | undefined;
1130
+ timeout?: number | undefined;
1131
+ cwd?: string | undefined;
1132
+ }>>>;
1133
+ }, "strip", z.ZodTypeAny, {
1134
+ max_output_bytes: number;
1135
+ commands: Record<string, {
1136
+ params: Record<string, {
1137
+ type: "string" | "number" | "boolean";
1138
+ required: boolean;
1139
+ positional: boolean;
1140
+ default?: string | number | boolean | undefined;
1141
+ description?: string | undefined;
1142
+ flag?: string | undefined;
1143
+ }>;
1144
+ timeout: number;
1145
+ exec: string;
1146
+ description?: string | undefined;
1147
+ cwd?: string | undefined;
1148
+ }>;
1149
+ cwd?: string | undefined;
1150
+ discovered?: string | undefined;
1151
+ shell?: string | undefined;
1152
+ }, {
1153
+ cwd?: string | undefined;
1154
+ discovered?: string | undefined;
1155
+ shell?: string | undefined;
1156
+ max_output_bytes?: number | undefined;
1157
+ commands?: Record<string, {
1158
+ exec: string;
1159
+ params?: Record<string, {
1160
+ type: "string" | "number" | "boolean";
1161
+ default?: string | number | boolean | undefined;
1162
+ description?: string | undefined;
1163
+ required?: boolean | undefined;
1164
+ flag?: string | undefined;
1165
+ positional?: boolean | undefined;
1166
+ }> | undefined;
1167
+ description?: string | undefined;
1168
+ timeout?: number | undefined;
1169
+ cwd?: string | undefined;
1170
+ }> | undefined;
1171
+ }>>>;
1172
+ apis: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1173
+ spec: z.ZodString;
1174
+ base_url: z.ZodOptional<z.ZodString>;
1175
+ auth: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1176
+ type: z.ZodLiteral<"bearer">;
1177
+ token: z.ZodEffects<z.ZodString, string, string>;
1178
+ }, "strip", z.ZodTypeAny, {
1179
+ type: "bearer";
1180
+ token: string;
1181
+ }, {
1182
+ type: "bearer";
1183
+ token: string;
1184
+ }>, z.ZodObject<{
1185
+ type: z.ZodLiteral<"header">;
1186
+ name: z.ZodString;
1187
+ value: z.ZodEffects<z.ZodString, string, string>;
1188
+ }, "strip", z.ZodTypeAny, {
1189
+ name: string;
1190
+ type: "header";
1191
+ value: string;
1192
+ }, {
1193
+ name: string;
1194
+ type: "header";
1195
+ value: string;
1196
+ }>]>>;
1197
+ include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1198
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1199
+ timeout_ms: z.ZodDefault<z.ZodNumber>;
1200
+ max_response_bytes: z.ZodDefault<z.ZodNumber>;
1201
+ }, "strip", z.ZodTypeAny, {
1202
+ max_response_bytes: number;
1203
+ timeout_ms: number;
1204
+ spec: string;
1205
+ exclude?: string[] | undefined;
1206
+ base_url?: string | undefined;
1207
+ auth?: {
1208
+ type: "bearer";
1209
+ token: string;
1210
+ } | {
1211
+ name: string;
1212
+ type: "header";
1213
+ value: string;
1214
+ } | undefined;
1215
+ include?: string[] | undefined;
1216
+ }, {
1217
+ spec: string;
1218
+ max_response_bytes?: number | undefined;
1219
+ timeout_ms?: number | undefined;
1220
+ exclude?: string[] | undefined;
1221
+ base_url?: string | undefined;
1222
+ auth?: {
1223
+ type: "bearer";
1224
+ token: string;
1225
+ } | {
1226
+ name: string;
1227
+ type: "header";
1228
+ value: string;
1229
+ } | undefined;
1230
+ include?: string[] | undefined;
1231
+ }>>>;
1232
+ agents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1233
+ token: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1234
+ extends: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1235
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1236
+ ask: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1237
+ deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1238
+ tool_overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1239
+ description: z.ZodOptional<z.ZodString>;
1240
+ }, "strip", z.ZodTypeAny, {
1241
+ description?: string | undefined;
1242
+ }, {
1243
+ description?: string | undefined;
1244
+ }>>>;
1245
+ exec: z.ZodDefault<z.ZodObject<{
1246
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1247
+ ask: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1248
+ deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1249
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1250
+ default_timeout_ms: z.ZodDefault<z.ZodNumber>;
1251
+ }, "strip", z.ZodTypeAny, {
1252
+ env: Record<string, string>;
1253
+ allow: string[];
1254
+ ask: string[];
1255
+ deny: string[];
1256
+ default_timeout_ms: number;
1257
+ }, {
1258
+ env?: Record<string, string> | undefined;
1259
+ allow?: string[] | undefined;
1260
+ ask?: string[] | undefined;
1261
+ deny?: string[] | undefined;
1262
+ default_timeout_ms?: number | undefined;
1263
+ }>>;
1264
+ http: z.ZodDefault<z.ZodObject<{
1265
+ domain_allowlist: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1266
+ max_response_bytes: z.ZodDefault<z.ZodNumber>;
1267
+ timeout_ms: z.ZodDefault<z.ZodNumber>;
1268
+ }, "strip", z.ZodTypeAny, {
1269
+ domain_allowlist: string[];
1270
+ max_response_bytes: number;
1271
+ timeout_ms: number;
1272
+ }, {
1273
+ domain_allowlist?: string[] | undefined;
1274
+ max_response_bytes?: number | undefined;
1275
+ timeout_ms?: number | undefined;
1276
+ }>>;
1277
+ middleware: z.ZodOptional<z.ZodArray<z.ZodObject<{
1278
+ name: z.ZodEnum<["schema-validator", "rate-limiter", "untrusted-envelope", "strip-query-params", "output-injection-detector", "canary-token-injector", "output-size-limiter", "output-summarizer", "injection-detector", "sensitivity-classifier"]>;
1279
+ enabled: z.ZodDefault<z.ZodBoolean>;
1280
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1281
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1282
+ max_requests: z.ZodOptional<z.ZodNumber>;
1283
+ window_ms: z.ZodOptional<z.ZodNumber>;
1284
+ per: z.ZodOptional<z.ZodEnum<["agent", "tool"]>>;
1285
+ mode: z.ZodOptional<z.ZodEnum<["detect", "mangle", "escalate"]>>;
1286
+ backend: z.ZodOptional<z.ZodEnum<["regex", "deberta", "heuristic", "llm"]>>;
1287
+ inference_url: z.ZodOptional<z.ZodString>;
1288
+ threshold: z.ZodOptional<z.ZodNumber>;
1289
+ max_lines: z.ZodOptional<z.ZodNumber>;
1290
+ max_chars: z.ZodOptional<z.ZodNumber>;
1291
+ model: z.ZodOptional<z.ZodString>;
1292
+ threshold_chars: z.ZodOptional<z.ZodNumber>;
1293
+ }, "strict", z.ZodTypeAny, {
1294
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
1295
+ enabled: boolean;
1296
+ model?: string | undefined;
1297
+ tools?: string[] | undefined;
1298
+ exclude?: string[] | undefined;
1299
+ max_requests?: number | undefined;
1300
+ window_ms?: number | undefined;
1301
+ per?: "agent" | "tool" | undefined;
1302
+ mode?: "detect" | "mangle" | "escalate" | undefined;
1303
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
1304
+ inference_url?: string | undefined;
1305
+ threshold?: number | undefined;
1306
+ max_lines?: number | undefined;
1307
+ max_chars?: number | undefined;
1308
+ threshold_chars?: number | undefined;
1309
+ }, {
1310
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
1311
+ model?: string | undefined;
1312
+ tools?: string[] | undefined;
1313
+ enabled?: boolean | undefined;
1314
+ exclude?: string[] | undefined;
1315
+ max_requests?: number | undefined;
1316
+ window_ms?: number | undefined;
1317
+ per?: "agent" | "tool" | undefined;
1318
+ mode?: "detect" | "mangle" | "escalate" | undefined;
1319
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
1320
+ inference_url?: string | undefined;
1321
+ threshold?: number | undefined;
1322
+ max_lines?: number | undefined;
1323
+ max_chars?: number | undefined;
1324
+ threshold_chars?: number | undefined;
1325
+ }>, "many">>;
1326
+ }, "strip", z.ZodTypeAny, {
1327
+ http: {
1328
+ domain_allowlist: string[];
1329
+ max_response_bytes: number;
1330
+ timeout_ms: number;
1331
+ };
1332
+ allow: string[];
1333
+ ask: string[];
1334
+ deny: string[];
1335
+ extends: string[];
1336
+ tool_overrides: Record<string, {
1337
+ description?: string | undefined;
1338
+ }>;
1339
+ exec: {
1340
+ env: Record<string, string>;
1341
+ allow: string[];
1342
+ ask: string[];
1343
+ deny: string[];
1344
+ default_timeout_ms: number;
1345
+ };
1346
+ token?: string | undefined;
1347
+ middleware?: {
1348
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
1349
+ enabled: boolean;
1350
+ model?: string | undefined;
1351
+ tools?: string[] | undefined;
1352
+ exclude?: string[] | undefined;
1353
+ max_requests?: number | undefined;
1354
+ window_ms?: number | undefined;
1355
+ per?: "agent" | "tool" | undefined;
1356
+ mode?: "detect" | "mangle" | "escalate" | undefined;
1357
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
1358
+ inference_url?: string | undefined;
1359
+ threshold?: number | undefined;
1360
+ max_lines?: number | undefined;
1361
+ max_chars?: number | undefined;
1362
+ threshold_chars?: number | undefined;
1363
+ }[] | undefined;
1364
+ }, {
1365
+ http?: {
1366
+ domain_allowlist?: string[] | undefined;
1367
+ max_response_bytes?: number | undefined;
1368
+ timeout_ms?: number | undefined;
1369
+ } | undefined;
1370
+ allow?: string[] | undefined;
1371
+ ask?: string[] | undefined;
1372
+ deny?: string[] | undefined;
1373
+ token?: string | undefined;
1374
+ extends?: string[] | undefined;
1375
+ tool_overrides?: Record<string, {
1376
+ description?: string | undefined;
1377
+ }> | undefined;
1378
+ exec?: {
1379
+ env?: Record<string, string> | undefined;
1380
+ allow?: string[] | undefined;
1381
+ ask?: string[] | undefined;
1382
+ deny?: string[] | undefined;
1383
+ default_timeout_ms?: number | undefined;
1384
+ } | undefined;
1385
+ middleware?: {
1386
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
1387
+ model?: string | undefined;
1388
+ tools?: string[] | undefined;
1389
+ enabled?: boolean | undefined;
1390
+ exclude?: string[] | undefined;
1391
+ max_requests?: number | undefined;
1392
+ window_ms?: number | undefined;
1393
+ per?: "agent" | "tool" | undefined;
1394
+ mode?: "detect" | "mangle" | "escalate" | undefined;
1395
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
1396
+ inference_url?: string | undefined;
1397
+ threshold?: number | undefined;
1398
+ max_lines?: number | undefined;
1399
+ max_chars?: number | undefined;
1400
+ threshold_chars?: number | undefined;
1401
+ }[] | undefined;
1402
+ }>>>;
1403
+ approvals: z.ZodDefault<z.ZodObject<{
1404
+ provider: z.ZodDefault<z.ZodUnion<[z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1405
+ type: z.ZodLiteral<"telegram">;
1406
+ bot_token: z.ZodEffects<z.ZodString, string, string>;
1407
+ chat_id: z.ZodEffects<z.ZodString, string, string>;
1408
+ }, "strip", z.ZodTypeAny, {
1409
+ type: "telegram";
1410
+ bot_token: string;
1411
+ chat_id: string;
1412
+ }, {
1413
+ type: "telegram";
1414
+ bot_token: string;
1415
+ chat_id: string;
1416
+ }>, z.ZodObject<{
1417
+ type: z.ZodLiteral<"openclaw">;
1418
+ gateway_url: z.ZodDefault<z.ZodString>;
1419
+ token: z.ZodEffects<z.ZodString, string, string>;
1420
+ session_key: z.ZodDefault<z.ZodString>;
1421
+ }, "strip", z.ZodTypeAny, {
1422
+ type: "openclaw";
1423
+ token: string;
1424
+ gateway_url: string;
1425
+ session_key: string;
1426
+ }, {
1427
+ type: "openclaw";
1428
+ token: string;
1429
+ gateway_url?: string | undefined;
1430
+ session_key?: string | undefined;
1431
+ }>, z.ZodObject<{
1432
+ type: z.ZodLiteral<"slack">;
1433
+ webhook_url: z.ZodEffects<z.ZodString, string, string>;
1434
+ }, "strip", z.ZodTypeAny, {
1435
+ type: "slack";
1436
+ webhook_url: string;
1437
+ }, {
1438
+ type: "slack";
1439
+ webhook_url: string;
1440
+ }>, z.ZodObject<{
1441
+ type: z.ZodLiteral<"webhook">;
1442
+ url: z.ZodEffects<z.ZodString, string, string>;
1443
+ headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1444
+ }, "strip", z.ZodTypeAny, {
1445
+ url: string;
1446
+ type: "webhook";
1447
+ headers: Record<string, string>;
1448
+ }, {
1449
+ url: string;
1450
+ type: "webhook";
1451
+ headers?: Record<string, string> | undefined;
1452
+ }>, z.ZodObject<{
1453
+ type: z.ZodLiteral<"tui">;
1454
+ }, "strip", z.ZodTypeAny, {
1455
+ type: "tui";
1456
+ }, {
1457
+ type: "tui";
1458
+ }>, z.ZodObject<{
1459
+ type: z.ZodLiteral<"macos">;
1460
+ }, "strip", z.ZodTypeAny, {
1461
+ type: "macos";
1462
+ }, {
1463
+ type: "macos";
1464
+ }>, z.ZodObject<{
1465
+ type: z.ZodLiteral<"dashboard">;
1466
+ port: z.ZodDefault<z.ZodNumber>;
1467
+ }, "strip", z.ZodTypeAny, {
1468
+ type: "dashboard";
1469
+ port: number;
1470
+ }, {
1471
+ type: "dashboard";
1472
+ port?: number | undefined;
1473
+ }>, z.ZodObject<{
1474
+ type: z.ZodLiteral<"stdio">;
1475
+ }, "strip", z.ZodTypeAny, {
1476
+ type: "stdio";
1477
+ }, {
1478
+ type: "stdio";
1479
+ }>]>, z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1480
+ type: z.ZodLiteral<"telegram">;
1481
+ bot_token: z.ZodEffects<z.ZodString, string, string>;
1482
+ chat_id: z.ZodEffects<z.ZodString, string, string>;
1483
+ }, "strip", z.ZodTypeAny, {
1484
+ type: "telegram";
1485
+ bot_token: string;
1486
+ chat_id: string;
1487
+ }, {
1488
+ type: "telegram";
1489
+ bot_token: string;
1490
+ chat_id: string;
1491
+ }>, z.ZodObject<{
1492
+ type: z.ZodLiteral<"openclaw">;
1493
+ gateway_url: z.ZodDefault<z.ZodString>;
1494
+ token: z.ZodEffects<z.ZodString, string, string>;
1495
+ session_key: z.ZodDefault<z.ZodString>;
1496
+ }, "strip", z.ZodTypeAny, {
1497
+ type: "openclaw";
1498
+ token: string;
1499
+ gateway_url: string;
1500
+ session_key: string;
1501
+ }, {
1502
+ type: "openclaw";
1503
+ token: string;
1504
+ gateway_url?: string | undefined;
1505
+ session_key?: string | undefined;
1506
+ }>, z.ZodObject<{
1507
+ type: z.ZodLiteral<"slack">;
1508
+ webhook_url: z.ZodEffects<z.ZodString, string, string>;
1509
+ }, "strip", z.ZodTypeAny, {
1510
+ type: "slack";
1511
+ webhook_url: string;
1512
+ }, {
1513
+ type: "slack";
1514
+ webhook_url: string;
1515
+ }>, z.ZodObject<{
1516
+ type: z.ZodLiteral<"webhook">;
1517
+ url: z.ZodEffects<z.ZodString, string, string>;
1518
+ headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1519
+ }, "strip", z.ZodTypeAny, {
1520
+ url: string;
1521
+ type: "webhook";
1522
+ headers: Record<string, string>;
1523
+ }, {
1524
+ url: string;
1525
+ type: "webhook";
1526
+ headers?: Record<string, string> | undefined;
1527
+ }>, z.ZodObject<{
1528
+ type: z.ZodLiteral<"tui">;
1529
+ }, "strip", z.ZodTypeAny, {
1530
+ type: "tui";
1531
+ }, {
1532
+ type: "tui";
1533
+ }>, z.ZodObject<{
1534
+ type: z.ZodLiteral<"macos">;
1535
+ }, "strip", z.ZodTypeAny, {
1536
+ type: "macos";
1537
+ }, {
1538
+ type: "macos";
1539
+ }>, z.ZodObject<{
1540
+ type: z.ZodLiteral<"dashboard">;
1541
+ port: z.ZodDefault<z.ZodNumber>;
1542
+ }, "strip", z.ZodTypeAny, {
1543
+ type: "dashboard";
1544
+ port: number;
1545
+ }, {
1546
+ type: "dashboard";
1547
+ port?: number | undefined;
1548
+ }>, z.ZodObject<{
1549
+ type: z.ZodLiteral<"stdio">;
1550
+ }, "strip", z.ZodTypeAny, {
1551
+ type: "stdio";
1552
+ }, {
1553
+ type: "stdio";
1554
+ }>]>, "many">]>>;
1555
+ timeout_ms: z.ZodDefault<z.ZodNumber>;
1556
+ batch_window_ms: z.ZodDefault<z.ZodNumber>;
1557
+ }, "strip", z.ZodTypeAny, {
1558
+ timeout_ms: number;
1559
+ provider: {
1560
+ type: "telegram";
1561
+ bot_token: string;
1562
+ chat_id: string;
1563
+ } | {
1564
+ type: "openclaw";
1565
+ token: string;
1566
+ gateway_url: string;
1567
+ session_key: string;
1568
+ } | {
1569
+ type: "slack";
1570
+ webhook_url: string;
1571
+ } | {
1572
+ url: string;
1573
+ type: "webhook";
1574
+ headers: Record<string, string>;
1575
+ } | {
1576
+ type: "tui";
1577
+ } | {
1578
+ type: "macos";
1579
+ } | {
1580
+ type: "dashboard";
1581
+ port: number;
1582
+ } | {
1583
+ type: "stdio";
1584
+ } | ({
1585
+ type: "telegram";
1586
+ bot_token: string;
1587
+ chat_id: string;
1588
+ } | {
1589
+ type: "openclaw";
1590
+ token: string;
1591
+ gateway_url: string;
1592
+ session_key: string;
1593
+ } | {
1594
+ type: "slack";
1595
+ webhook_url: string;
1596
+ } | {
1597
+ url: string;
1598
+ type: "webhook";
1599
+ headers: Record<string, string>;
1600
+ } | {
1601
+ type: "tui";
1602
+ } | {
1603
+ type: "macos";
1604
+ } | {
1605
+ type: "dashboard";
1606
+ port: number;
1607
+ } | {
1608
+ type: "stdio";
1609
+ })[];
1610
+ batch_window_ms: number;
1611
+ }, {
1612
+ timeout_ms?: number | undefined;
1613
+ provider?: {
1614
+ type: "telegram";
1615
+ bot_token: string;
1616
+ chat_id: string;
1617
+ } | {
1618
+ type: "openclaw";
1619
+ token: string;
1620
+ gateway_url?: string | undefined;
1621
+ session_key?: string | undefined;
1622
+ } | {
1623
+ type: "slack";
1624
+ webhook_url: string;
1625
+ } | {
1626
+ url: string;
1627
+ type: "webhook";
1628
+ headers?: Record<string, string> | undefined;
1629
+ } | {
1630
+ type: "tui";
1631
+ } | {
1632
+ type: "macos";
1633
+ } | {
1634
+ type: "dashboard";
1635
+ port?: number | undefined;
1636
+ } | {
1637
+ type: "stdio";
1638
+ } | ({
1639
+ type: "telegram";
1640
+ bot_token: string;
1641
+ chat_id: string;
1642
+ } | {
1643
+ type: "openclaw";
1644
+ token: string;
1645
+ gateway_url?: string | undefined;
1646
+ session_key?: string | undefined;
1647
+ } | {
1648
+ type: "slack";
1649
+ webhook_url: string;
1650
+ } | {
1651
+ url: string;
1652
+ type: "webhook";
1653
+ headers?: Record<string, string> | undefined;
1654
+ } | {
1655
+ type: "tui";
1656
+ } | {
1657
+ type: "macos";
1658
+ } | {
1659
+ type: "dashboard";
1660
+ port?: number | undefined;
1661
+ } | {
1662
+ type: "stdio";
1663
+ })[] | undefined;
1664
+ batch_window_ms?: number | undefined;
1665
+ }>>;
1666
+ security: z.ZodDefault<z.ZodObject<{
1667
+ blocked_hosts: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1668
+ allowed_local: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1669
+ }, "strip", z.ZodTypeAny, {
1670
+ blocked_hosts: string[];
1671
+ allowed_local: string[];
1672
+ }, {
1673
+ blocked_hosts?: string[] | undefined;
1674
+ allowed_local?: string[] | undefined;
1675
+ }>>;
1676
+ audit: z.ZodDefault<z.ZodObject<{
1677
+ db_path: z.ZodDefault<z.ZodString>;
1678
+ retention_days: z.ZodDefault<z.ZodNumber>;
1679
+ redact_fields: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1680
+ }, "strip", z.ZodTypeAny, {
1681
+ db_path: string;
1682
+ retention_days: number;
1683
+ redact_fields: string[];
1684
+ }, {
1685
+ db_path?: string | undefined;
1686
+ retention_days?: number | undefined;
1687
+ redact_fields?: string[] | undefined;
1688
+ }>>;
1689
+ server: z.ZodDefault<z.ZodObject<{
1690
+ port: z.ZodDefault<z.ZodNumber>;
1691
+ host: z.ZodDefault<z.ZodString>;
1692
+ api_secret: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1693
+ }, "strip", z.ZodTypeAny, {
1694
+ port: number;
1695
+ host: string;
1696
+ api_secret?: string | undefined;
1697
+ }, {
1698
+ port?: number | undefined;
1699
+ host?: string | undefined;
1700
+ api_secret?: string | undefined;
1701
+ }>>;
1702
+ }, "strip", z.ZodTypeAny, {
1703
+ providers: Record<string, {
1704
+ type: "stdio";
1705
+ command: string;
1706
+ args: string[];
1707
+ env?: Record<string, string> | undefined;
1708
+ } | {
1709
+ url: string;
1710
+ type: "sse";
1711
+ headers?: Record<string, string> | undefined;
1712
+ } | {
1713
+ url: string;
1714
+ type: "http";
1715
+ oauth: boolean;
1716
+ oauth_callback_port: number;
1717
+ headers?: Record<string, string> | undefined;
1718
+ } | "builtin">;
1719
+ profiles: Record<string, {
1720
+ allow: string[];
1721
+ ask: string[];
1722
+ }>;
1723
+ clis: Record<string, {
1724
+ max_output_bytes: number;
1725
+ commands: Record<string, {
1726
+ params: Record<string, {
1727
+ type: "string" | "number" | "boolean";
1728
+ required: boolean;
1729
+ positional: boolean;
1730
+ default?: string | number | boolean | undefined;
1731
+ description?: string | undefined;
1732
+ flag?: string | undefined;
1733
+ }>;
1734
+ timeout: number;
1735
+ exec: string;
1736
+ description?: string | undefined;
1737
+ cwd?: string | undefined;
1738
+ }>;
1739
+ cwd?: string | undefined;
1740
+ discovered?: string | undefined;
1741
+ shell?: string | undefined;
1742
+ }>;
1743
+ apis: Record<string, {
1744
+ max_response_bytes: number;
1745
+ timeout_ms: number;
1746
+ spec: string;
1747
+ exclude?: string[] | undefined;
1748
+ base_url?: string | undefined;
1749
+ auth?: {
1750
+ type: "bearer";
1751
+ token: string;
1752
+ } | {
1753
+ name: string;
1754
+ type: "header";
1755
+ value: string;
1756
+ } | undefined;
1757
+ include?: string[] | undefined;
1758
+ }>;
1759
+ agents: Record<string, {
1760
+ http: {
1761
+ domain_allowlist: string[];
1762
+ max_response_bytes: number;
1763
+ timeout_ms: number;
1764
+ };
1765
+ allow: string[];
1766
+ ask: string[];
1767
+ deny: string[];
1768
+ extends: string[];
1769
+ tool_overrides: Record<string, {
1770
+ description?: string | undefined;
1771
+ }>;
1772
+ exec: {
1773
+ env: Record<string, string>;
1774
+ allow: string[];
1775
+ ask: string[];
1776
+ deny: string[];
1777
+ default_timeout_ms: number;
1778
+ };
1779
+ token?: string | undefined;
1780
+ middleware?: {
1781
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
1782
+ enabled: boolean;
1783
+ model?: string | undefined;
1784
+ tools?: string[] | undefined;
1785
+ exclude?: string[] | undefined;
1786
+ max_requests?: number | undefined;
1787
+ window_ms?: number | undefined;
1788
+ per?: "agent" | "tool" | undefined;
1789
+ mode?: "detect" | "mangle" | "escalate" | undefined;
1790
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
1791
+ inference_url?: string | undefined;
1792
+ threshold?: number | undefined;
1793
+ max_lines?: number | undefined;
1794
+ max_chars?: number | undefined;
1795
+ threshold_chars?: number | undefined;
1796
+ }[] | undefined;
1797
+ }>;
1798
+ approvals: {
1799
+ timeout_ms: number;
1800
+ provider: {
1801
+ type: "telegram";
1802
+ bot_token: string;
1803
+ chat_id: string;
1804
+ } | {
1805
+ type: "openclaw";
1806
+ token: string;
1807
+ gateway_url: string;
1808
+ session_key: string;
1809
+ } | {
1810
+ type: "slack";
1811
+ webhook_url: string;
1812
+ } | {
1813
+ url: string;
1814
+ type: "webhook";
1815
+ headers: Record<string, string>;
1816
+ } | {
1817
+ type: "tui";
1818
+ } | {
1819
+ type: "macos";
1820
+ } | {
1821
+ type: "dashboard";
1822
+ port: number;
1823
+ } | {
1824
+ type: "stdio";
1825
+ } | ({
1826
+ type: "telegram";
1827
+ bot_token: string;
1828
+ chat_id: string;
1829
+ } | {
1830
+ type: "openclaw";
1831
+ token: string;
1832
+ gateway_url: string;
1833
+ session_key: string;
1834
+ } | {
1835
+ type: "slack";
1836
+ webhook_url: string;
1837
+ } | {
1838
+ url: string;
1839
+ type: "webhook";
1840
+ headers: Record<string, string>;
1841
+ } | {
1842
+ type: "tui";
1843
+ } | {
1844
+ type: "macos";
1845
+ } | {
1846
+ type: "dashboard";
1847
+ port: number;
1848
+ } | {
1849
+ type: "stdio";
1850
+ })[];
1851
+ batch_window_ms: number;
1852
+ };
1853
+ security: {
1854
+ blocked_hosts: string[];
1855
+ allowed_local: string[];
1856
+ };
1857
+ audit: {
1858
+ db_path: string;
1859
+ retention_days: number;
1860
+ redact_fields: string[];
1861
+ };
1862
+ server: {
1863
+ port: number;
1864
+ host: string;
1865
+ api_secret?: string | undefined;
1866
+ };
1867
+ }, {
1868
+ providers?: Record<string, {
1869
+ type: "stdio";
1870
+ command: string;
1871
+ args?: string[] | undefined;
1872
+ env?: Record<string, string> | undefined;
1873
+ } | {
1874
+ url: string;
1875
+ type: "sse";
1876
+ headers?: Record<string, string> | undefined;
1877
+ } | {
1878
+ url: string;
1879
+ type: "http";
1880
+ oauth?: boolean | undefined;
1881
+ headers?: Record<string, string> | undefined;
1882
+ oauth_callback_port?: number | undefined;
1883
+ } | "builtin"> | undefined;
1884
+ profiles?: Record<string, {
1885
+ allow?: string[] | undefined;
1886
+ ask?: string[] | undefined;
1887
+ }> | undefined;
1888
+ clis?: Record<string, {
1889
+ cwd?: string | undefined;
1890
+ discovered?: string | undefined;
1891
+ shell?: string | undefined;
1892
+ max_output_bytes?: number | undefined;
1893
+ commands?: Record<string, {
1894
+ exec: string;
1895
+ params?: Record<string, {
1896
+ type: "string" | "number" | "boolean";
1897
+ default?: string | number | boolean | undefined;
1898
+ description?: string | undefined;
1899
+ required?: boolean | undefined;
1900
+ flag?: string | undefined;
1901
+ positional?: boolean | undefined;
1902
+ }> | undefined;
1903
+ description?: string | undefined;
1904
+ timeout?: number | undefined;
1905
+ cwd?: string | undefined;
1906
+ }> | undefined;
1907
+ }> | undefined;
1908
+ apis?: Record<string, {
1909
+ spec: string;
1910
+ max_response_bytes?: number | undefined;
1911
+ timeout_ms?: number | undefined;
1912
+ exclude?: string[] | undefined;
1913
+ base_url?: string | undefined;
1914
+ auth?: {
1915
+ type: "bearer";
1916
+ token: string;
1917
+ } | {
1918
+ name: string;
1919
+ type: "header";
1920
+ value: string;
1921
+ } | undefined;
1922
+ include?: string[] | undefined;
1923
+ }> | undefined;
1924
+ agents?: Record<string, {
1925
+ http?: {
1926
+ domain_allowlist?: string[] | undefined;
1927
+ max_response_bytes?: number | undefined;
1928
+ timeout_ms?: number | undefined;
1929
+ } | undefined;
1930
+ allow?: string[] | undefined;
1931
+ ask?: string[] | undefined;
1932
+ deny?: string[] | undefined;
1933
+ token?: string | undefined;
1934
+ extends?: string[] | undefined;
1935
+ tool_overrides?: Record<string, {
1936
+ description?: string | undefined;
1937
+ }> | undefined;
1938
+ exec?: {
1939
+ env?: Record<string, string> | undefined;
1940
+ allow?: string[] | undefined;
1941
+ ask?: string[] | undefined;
1942
+ deny?: string[] | undefined;
1943
+ default_timeout_ms?: number | undefined;
1944
+ } | undefined;
1945
+ middleware?: {
1946
+ name: "schema-validator" | "rate-limiter" | "untrusted-envelope" | "strip-query-params" | "output-injection-detector" | "canary-token-injector" | "output-size-limiter" | "output-summarizer" | "injection-detector" | "sensitivity-classifier";
1947
+ model?: string | undefined;
1948
+ tools?: string[] | undefined;
1949
+ enabled?: boolean | undefined;
1950
+ exclude?: string[] | undefined;
1951
+ max_requests?: number | undefined;
1952
+ window_ms?: number | undefined;
1953
+ per?: "agent" | "tool" | undefined;
1954
+ mode?: "detect" | "mangle" | "escalate" | undefined;
1955
+ backend?: "regex" | "deberta" | "heuristic" | "llm" | undefined;
1956
+ inference_url?: string | undefined;
1957
+ threshold?: number | undefined;
1958
+ max_lines?: number | undefined;
1959
+ max_chars?: number | undefined;
1960
+ threshold_chars?: number | undefined;
1961
+ }[] | undefined;
1962
+ }> | undefined;
1963
+ approvals?: {
1964
+ timeout_ms?: number | undefined;
1965
+ provider?: {
1966
+ type: "telegram";
1967
+ bot_token: string;
1968
+ chat_id: string;
1969
+ } | {
1970
+ type: "openclaw";
1971
+ token: string;
1972
+ gateway_url?: string | undefined;
1973
+ session_key?: string | undefined;
1974
+ } | {
1975
+ type: "slack";
1976
+ webhook_url: string;
1977
+ } | {
1978
+ url: string;
1979
+ type: "webhook";
1980
+ headers?: Record<string, string> | undefined;
1981
+ } | {
1982
+ type: "tui";
1983
+ } | {
1984
+ type: "macos";
1985
+ } | {
1986
+ type: "dashboard";
1987
+ port?: number | undefined;
1988
+ } | {
1989
+ type: "stdio";
1990
+ } | ({
1991
+ type: "telegram";
1992
+ bot_token: string;
1993
+ chat_id: string;
1994
+ } | {
1995
+ type: "openclaw";
1996
+ token: string;
1997
+ gateway_url?: string | undefined;
1998
+ session_key?: string | undefined;
1999
+ } | {
2000
+ type: "slack";
2001
+ webhook_url: string;
2002
+ } | {
2003
+ url: string;
2004
+ type: "webhook";
2005
+ headers?: Record<string, string> | undefined;
2006
+ } | {
2007
+ type: "tui";
2008
+ } | {
2009
+ type: "macos";
2010
+ } | {
2011
+ type: "dashboard";
2012
+ port?: number | undefined;
2013
+ } | {
2014
+ type: "stdio";
2015
+ })[] | undefined;
2016
+ batch_window_ms?: number | undefined;
2017
+ } | undefined;
2018
+ security?: {
2019
+ blocked_hosts?: string[] | undefined;
2020
+ allowed_local?: string[] | undefined;
2021
+ } | undefined;
2022
+ audit?: {
2023
+ db_path?: string | undefined;
2024
+ retention_days?: number | undefined;
2025
+ redact_fields?: string[] | undefined;
2026
+ } | undefined;
2027
+ server?: {
2028
+ port?: number | undefined;
2029
+ host?: string | undefined;
2030
+ api_secret?: string | undefined;
2031
+ } | undefined;
2032
+ }>;
2033
+ export type GatewayConfig = z.infer<typeof GatewayConfig>;
2034
+ //# sourceMappingURL=schema.d.ts.map