@wardby/cli 0.5.2 → 0.6.0

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 (411) hide show
  1. package/.env.example +33 -0
  2. package/README.md +25 -14
  3. package/dist/claude-coding-worker/context.d.ts +22 -0
  4. package/dist/claude-coding-worker/context.js +92 -0
  5. package/dist/claude-coding-worker/driver.d.ts +7 -1
  6. package/dist/claude-coding-worker/driver.js +38 -5
  7. package/dist/claude-coding-worker/sdk.js +13 -4
  8. package/dist/cli-help.d.ts +1 -1
  9. package/dist/cli-help.js +5 -2
  10. package/dist/cli-native-mode.d.ts +9 -0
  11. package/dist/cli-native-mode.js +20 -0
  12. package/dist/cli.d.ts +3 -1
  13. package/dist/cli.js +141 -5
  14. package/dist/coding/claude-context.d.ts +45 -0
  15. package/dist/coding/claude-context.js +434 -0
  16. package/dist/coding/local-git.js +9 -1
  17. package/dist/coding/profile.d.ts +12 -0
  18. package/dist/coding/profile.js +6 -0
  19. package/dist/coding/protocol.d.ts +104 -0
  20. package/dist/coding/protocol.js +87 -3
  21. package/dist/coding/registry/pypi.d.ts +25 -1
  22. package/dist/coding/registry/pypi.js +140 -16
  23. package/dist/coding/registry/types.d.ts +17 -3
  24. package/dist/coding-worker/artifact.d.ts +8 -0
  25. package/dist/coding-worker/artifact.js +2 -2
  26. package/dist/coding-worker/driver.js +2 -0
  27. package/dist/coding-worker/sdk.d.ts +6 -0
  28. package/dist/coding-worker/sdk.js +1 -0
  29. package/dist/coding-worker/skills.d.ts +23 -0
  30. package/dist/coding-worker/skills.js +117 -0
  31. package/dist/coding-worker/types.d.ts +2 -0
  32. package/dist/config/github-allowed-accounts.d.ts +15 -0
  33. package/dist/config/github-allowed-accounts.js +36 -0
  34. package/dist/config/low-power.d.ts +12 -0
  35. package/dist/config/low-power.js +18 -0
  36. package/dist/config/mobile.d.ts +12 -0
  37. package/dist/config/mobile.js +18 -0
  38. package/dist/config/providers.d.ts +56 -2
  39. package/dist/config/providers.js +92 -6
  40. package/dist/core/db.d.ts +16 -6
  41. package/dist/core/db.js +12 -10
  42. package/dist/core/dispatch.d.ts +11 -0
  43. package/dist/core/dispatch.js +36 -1
  44. package/dist/core/engine-native.js +9 -5
  45. package/dist/core/host-events.d.ts +49 -3
  46. package/dist/core/host-events.js +289 -15
  47. package/dist/core/http-runtime.js +13 -6
  48. package/dist/core/issue-bridge.js +42 -2
  49. package/dist/core/issue-events.js +12 -1
  50. package/dist/core/issue-status.js +14 -3
  51. package/dist/core/merge-order-check.d.ts +129 -0
  52. package/dist/core/merge-order-check.js +336 -0
  53. package/dist/core/notification-dispatcher.d.ts +70 -0
  54. package/dist/core/notification-dispatcher.js +368 -0
  55. package/dist/core/notification-templates.d.ts +25 -0
  56. package/dist/core/notification-templates.js +105 -0
  57. package/dist/core/notifications.d.ts +10 -0
  58. package/dist/core/notifications.js +38 -0
  59. package/dist/core/pg-auth.d.ts +22 -0
  60. package/dist/core/pg-auth.js +152 -0
  61. package/dist/core/power-composition.d.ts +16 -0
  62. package/dist/core/power-composition.js +37 -0
  63. package/dist/core/power-idle.d.ts +14 -0
  64. package/dist/core/power-idle.js +30 -0
  65. package/dist/core/power.d.ts +71 -0
  66. package/dist/core/power.js +202 -0
  67. package/dist/core/reconciler.d.ts +4 -2
  68. package/dist/core/reconciler.js +29 -5
  69. package/dist/core/related-pull-requests.d.ts +48 -4
  70. package/dist/core/related-pull-requests.js +113 -11
  71. package/dist/core/repo-access.d.ts +15 -0
  72. package/dist/core/repo-access.js +66 -0
  73. package/dist/core/review-fix.d.ts +37 -0
  74. package/dist/core/review-fix.js +207 -6
  75. package/dist/core/review-host-tools.d.ts +20 -0
  76. package/dist/core/review-host-tools.js +58 -2
  77. package/dist/core/runner.d.ts +336 -3
  78. package/dist/core/runner.js +894 -317
  79. package/dist/core/secret-broker-config.d.ts +103 -0
  80. package/dist/core/secret-broker-config.js +112 -0
  81. package/dist/core/secrets.d.ts +39 -4
  82. package/dist/core/secrets.js +148 -40
  83. package/dist/core/workflow-event-recorder.d.ts +14 -0
  84. package/dist/core/workflow-event-recorder.js +120 -0
  85. package/dist/core/workflow-events.d.ts +82 -0
  86. package/dist/core/workflow-events.js +44 -0
  87. package/dist/core/workflow-run-events.d.ts +16 -0
  88. package/dist/core/workflow-run-events.js +40 -0
  89. package/dist/generated/prisma/browser.d.ts +58 -0
  90. package/dist/generated/prisma/client.d.ts +58 -0
  91. package/dist/generated/prisma/commonInputTypes.d.ts +150 -0
  92. package/dist/generated/prisma/enums.d.ts +27 -0
  93. package/dist/generated/prisma/enums.js +23 -0
  94. package/dist/generated/prisma/internal/class.d.ts +88 -0
  95. package/dist/generated/prisma/internal/class.js +4 -4
  96. package/dist/generated/prisma/internal/prismaNamespace.d.ts +772 -1
  97. package/dist/generated/prisma/internal/prismaNamespace.js +135 -4
  98. package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +139 -0
  99. package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +135 -4
  100. package/dist/generated/prisma/models/Agent.d.ts +360 -1
  101. package/dist/generated/prisma/models/CodingAgentProfile.d.ts +73 -1
  102. package/dist/generated/prisma/models/CodingRun.d.ts +205 -1
  103. package/dist/generated/prisma/models/DeferredReview.d.ts +78 -1
  104. package/dist/generated/prisma/models/NativeGatewayCall.d.ts +1675 -0
  105. package/dist/generated/prisma/models/NativeGatewayCall.js +1 -0
  106. package/dist/generated/prisma/models/NativeGatewaySession.d.ts +1517 -0
  107. package/dist/generated/prisma/models/NativeGatewaySession.js +1 -0
  108. package/dist/generated/prisma/models/NativeWarmWorker.d.ts +1296 -0
  109. package/dist/generated/prisma/models/NativeWarmWorker.js +1 -0
  110. package/dist/generated/prisma/models/NotificationChannel.d.ts +1543 -0
  111. package/dist/generated/prisma/models/NotificationChannel.js +1 -0
  112. package/dist/generated/prisma/models/NotificationDelivery.d.ts +1502 -0
  113. package/dist/generated/prisma/models/NotificationDelivery.js +1 -0
  114. package/dist/generated/prisma/models/NotificationThread.d.ts +1090 -0
  115. package/dist/generated/prisma/models/NotificationThread.js +1 -0
  116. package/dist/generated/prisma/models/Run.d.ts +826 -1
  117. package/dist/generated/prisma/models/RunHostCheck.d.ts +36 -1
  118. package/dist/generated/prisma/models/Secret.d.ts +37 -1
  119. package/dist/generated/prisma/models/SecretBrokerChange.d.ts +1101 -0
  120. package/dist/generated/prisma/models/SecretBrokerChange.js +1 -0
  121. package/dist/generated/prisma/models/WorkflowEvent.d.ts +1422 -0
  122. package/dist/generated/prisma/models/WorkflowEvent.js +1 -0
  123. package/dist/generated/prisma/models.d.ts +8 -0
  124. package/dist/help/build.js +4 -2
  125. package/dist/help/catalog.d.ts +1 -1
  126. package/dist/help/catalog.js +31 -6
  127. package/dist/help-index.json +1492 -113
  128. package/dist/import/create.js +17 -0
  129. package/dist/import/neutral-schema.d.ts +6 -2
  130. package/dist/import/neutral-schema.js +2 -0
  131. package/dist/mcp/auth/access.d.ts +1 -0
  132. package/dist/mcp/auth/ownership.d.ts +1 -1
  133. package/dist/mcp/auth/repo-authorization.js +14 -0
  134. package/dist/mcp/auth/resource-server.d.ts +2 -1
  135. package/dist/mcp/auth/resource-server.js +7 -2
  136. package/dist/mcp/auth/self-hosted/browser.d.ts +1 -1
  137. package/dist/mcp/auth/self-hosted/browser.js +19 -6
  138. package/dist/mcp/context.d.ts +6 -0
  139. package/dist/mcp/host-events/github-ingress.d.ts +23 -1
  140. package/dist/mcp/host-events/github-ingress.js +68 -0
  141. package/dist/mcp/index.d.ts +13 -0
  142. package/dist/mcp/index.js +59 -10
  143. package/dist/mcp/tools/agents.js +83 -12
  144. package/dist/mcp/tools/notification-channels.d.ts +2 -0
  145. package/dist/mcp/tools/notification-channels.js +293 -0
  146. package/dist/mcp/tools/power.d.ts +2 -0
  147. package/dist/mcp/tools/power.js +77 -0
  148. package/dist/mcp/tools/runs.d.ts +0 -6
  149. package/dist/mcp/tools/runs.js +7 -2
  150. package/dist/mcp/tools/secret-broker-compat.d.ts +12 -0
  151. package/dist/mcp/tools/secret-broker-compat.js +23 -0
  152. package/dist/mcp/tools/secret-elicitation-form.d.ts +22 -2
  153. package/dist/mcp/tools/secret-elicitation-form.js +200 -10
  154. package/dist/mcp/tools/secret-elicitation-server.js +8 -1
  155. package/dist/mcp/tools/secret-elicitation.d.ts +38 -3
  156. package/dist/mcp/tools/secret-elicitation.js +110 -12
  157. package/dist/mcp/tools/secrets.js +184 -7
  158. package/dist/mcp/tools/tools.d.ts +1 -1
  159. package/dist/mcp/tools/tools.js +22 -2
  160. package/dist/native-worker/composition.d.ts +23 -0
  161. package/dist/native-worker/composition.js +77 -0
  162. package/dist/native-worker/docker-isolation.d.ts +65 -0
  163. package/dist/native-worker/docker-isolation.js +183 -0
  164. package/dist/native-worker/docker-launcher.d.ts +74 -0
  165. package/dist/native-worker/docker-launcher.js +237 -0
  166. package/dist/native-worker/gateway-server.d.ts +39 -0
  167. package/dist/native-worker/gateway-server.js +315 -0
  168. package/dist/native-worker/gateway.d.ts +44 -0
  169. package/dist/native-worker/gateway.js +197 -0
  170. package/dist/native-worker/http-server.d.ts +22 -0
  171. package/dist/native-worker/http-server.js +109 -0
  172. package/dist/native-worker/http-transport.d.ts +17 -0
  173. package/dist/native-worker/http-transport.js +88 -0
  174. package/dist/native-worker/kubernetes-isolation.d.ts +90 -0
  175. package/dist/native-worker/kubernetes-isolation.js +218 -0
  176. package/dist/native-worker/kubernetes-launcher.d.ts +102 -0
  177. package/dist/native-worker/kubernetes-launcher.js +335 -0
  178. package/dist/native-worker/launch.d.ts +45 -0
  179. package/dist/native-worker/launch.js +44 -0
  180. package/dist/native-worker/ledger.d.ts +109 -0
  181. package/dist/native-worker/ledger.js +192 -0
  182. package/dist/native-worker/loopback.d.ts +12 -0
  183. package/dist/native-worker/loopback.js +49 -0
  184. package/dist/native-worker/main.d.ts +7 -0
  185. package/dist/native-worker/main.js +74 -0
  186. package/dist/native-worker/protocol.d.ts +744 -0
  187. package/dist/native-worker/protocol.js +200 -0
  188. package/dist/native-worker/sandbox-executor.d.ts +68 -0
  189. package/dist/native-worker/sandbox-executor.js +210 -0
  190. package/dist/native-worker/stdio.d.ts +29 -0
  191. package/dist/native-worker/stdio.js +188 -0
  192. package/dist/native-worker/warm-delivery.d.ts +16 -0
  193. package/dist/native-worker/warm-delivery.js +33 -0
  194. package/dist/native-worker/warm-pool-ledger.d.ts +39 -0
  195. package/dist/native-worker/warm-pool-ledger.js +73 -0
  196. package/dist/native-worker/warm-pool.d.ts +107 -0
  197. package/dist/native-worker/warm-pool.js +283 -0
  198. package/dist/native-worker/worker.d.ts +17 -0
  199. package/dist/native-worker/worker.js +115 -0
  200. package/dist/providers/auth/authorization-server.d.ts +3 -0
  201. package/dist/providers/auth/index.js +2 -0
  202. package/dist/providers/auth/self-hosted.d.ts +13 -1
  203. package/dist/providers/auth/self-hosted.js +54 -4
  204. package/dist/providers/chat/fake.d.ts +46 -0
  205. package/dist/providers/chat/fake.js +39 -0
  206. package/dist/providers/chat/index.d.ts +4 -0
  207. package/dist/providers/chat/index.js +8 -0
  208. package/dist/providers/chat/slack.d.ts +37 -0
  209. package/dist/providers/chat/slack.js +105 -0
  210. package/dist/providers/chat/types.d.ts +42 -0
  211. package/dist/providers/chat/types.js +19 -0
  212. package/dist/providers/coding-proxy/mock-upstream.d.ts +33 -0
  213. package/dist/providers/coding-proxy/mock-upstream.js +116 -0
  214. package/dist/providers/coding-proxy/registry/prisma-store.d.ts +3 -0
  215. package/dist/providers/coding-proxy/registry/prisma-store.js +17 -0
  216. package/dist/providers/coding-proxy/registry/service.d.ts +4 -0
  217. package/dist/providers/coding-proxy/registry/service.js +20 -3
  218. package/dist/providers/coding-proxy/registry/store.d.ts +18 -1
  219. package/dist/providers/coding-proxy/registry/store.js +33 -0
  220. package/dist/providers/coding-proxy/runtime.js +12 -1
  221. package/dist/providers/coding-proxy/types.d.ts +2 -0
  222. package/dist/providers/engine/types.d.ts +19 -0
  223. package/dist/providers/engine/types.js +22 -0
  224. package/dist/providers/executor/composition.d.ts +24 -1
  225. package/dist/providers/executor/composition.js +39 -6
  226. package/dist/providers/executor/container.d.ts +24 -1
  227. package/dist/providers/executor/container.js +101 -11
  228. package/dist/providers/executor/dbos.d.ts +42 -0
  229. package/dist/providers/executor/dbos.js +118 -12
  230. package/dist/providers/executor/deferred.d.ts +56 -0
  231. package/dist/providers/executor/deferred.js +119 -0
  232. package/dist/providers/executor/routing.d.ts +37 -10
  233. package/dist/providers/executor/routing.js +73 -32
  234. package/dist/providers/executor/types.d.ts +12 -0
  235. package/dist/providers/jobs/docker.js +3 -3
  236. package/dist/providers/jobs/fake-kubernetes-api.d.ts +21 -2
  237. package/dist/providers/jobs/fake-kubernetes-api.js +42 -1
  238. package/dist/providers/jobs/kubernetes-api.d.ts +17 -1
  239. package/dist/providers/jobs/kubernetes-api.js +7 -0
  240. package/dist/providers/jobs/kubernetes-client.d.ts +10 -1
  241. package/dist/providers/jobs/kubernetes-client.js +52 -3
  242. package/dist/providers/jobs/kubernetes-dry-run-fixture.d.ts +6 -1
  243. package/dist/providers/jobs/kubernetes-dry-run-fixture.js +6 -3
  244. package/dist/providers/jobs/kubernetes-isolation.d.ts +16 -1
  245. package/dist/providers/jobs/kubernetes-isolation.js +58 -5
  246. package/dist/providers/jobs/kubernetes-platform.d.ts +4 -1
  247. package/dist/providers/jobs/kubernetes-platform.js +38 -1
  248. package/dist/providers/jobs/kubernetes-preflight.d.ts +2 -1
  249. package/dist/providers/jobs/kubernetes-preflight.js +4 -2
  250. package/dist/providers/jobs/kubernetes.d.ts +56 -7
  251. package/dist/providers/jobs/kubernetes.js +117 -36
  252. package/dist/providers/jobs/metadata-probes.d.ts +11 -0
  253. package/dist/providers/jobs/metadata-probes.js +13 -0
  254. package/dist/providers/jobs/types.d.ts +9 -0
  255. package/dist/providers/llm/openai.js +0 -1
  256. package/dist/providers/review-host/github.d.ts +11 -1
  257. package/dist/providers/review-host/github.js +50 -0
  258. package/dist/providers/review-host/types.d.ts +23 -0
  259. package/dist/providers/vcs/github.d.ts +32 -6
  260. package/dist/providers/vcs/github.js +74 -16
  261. package/dist/quickstart/coding-db.js +14 -2
  262. package/dist/quickstart/coding-doctor.d.ts +3 -0
  263. package/dist/quickstart/coding-doctor.js +3 -0
  264. package/dist/quickstart/coding-images.d.ts +9 -0
  265. package/dist/quickstart/coding-images.js +39 -0
  266. package/dist/quickstart/coding-seed.d.ts +20 -1
  267. package/dist/quickstart/coding-seed.js +96 -7
  268. package/dist/quickstart/coding.d.ts +2 -0
  269. package/dist/quickstart/coding.js +75 -3
  270. package/dist/quickstart/config.d.ts +2 -0
  271. package/dist/quickstart/config.js +4 -0
  272. package/dist/quickstart/images.d.ts +13 -0
  273. package/dist/quickstart/images.js +80 -12
  274. package/dist/quickstart/index.d.ts +0 -2
  275. package/dist/quickstart/index.js +10 -14
  276. package/dist/quickstart/manifests.d.ts +56 -0
  277. package/dist/quickstart/manifests.js +523 -0
  278. package/dist/quickstart/python-detect.d.ts +10 -0
  279. package/dist/quickstart/python-detect.js +32 -0
  280. package/dist/quickstart/repo-packages.d.ts +10 -0
  281. package/dist/quickstart/repo-packages.js +132 -0
  282. package/dist/quickstart/reviewer-prompt.d.ts +12 -0
  283. package/dist/quickstart/reviewer-prompt.js +84 -0
  284. package/dist/quickstart/scenarios.d.ts +19 -0
  285. package/dist/quickstart/scenarios.js +28 -0
  286. package/dist/quickstart/sync-reviewer-prompt.d.ts +1 -0
  287. package/dist/quickstart/sync-reviewer-prompt.js +10 -0
  288. package/dist/quickstart-images.json +1 -1
  289. package/dist/sandbox/brokered-fetch.d.ts +23 -0
  290. package/dist/sandbox/brokered-fetch.js +37 -0
  291. package/dist/sandbox/host-functions.d.ts +34 -0
  292. package/dist/sandbox/host-functions.js +144 -80
  293. package/dist/sandbox/prelude.js +7 -1
  294. package/dist/sandbox/run-in-sandbox.d.ts +19 -0
  295. package/dist/sandbox/run-in-sandbox.js +28 -10
  296. package/dist/sandbox/safe-fetch.d.ts +2 -0
  297. package/dist/sandbox/safe-fetch.js +3 -1
  298. package/dist/sandbox/secret-broker-sigv4.d.ts +2 -0
  299. package/dist/sandbox/secret-broker-sigv4.js +49 -0
  300. package/dist/sandbox/secret-broker.d.ts +34 -0
  301. package/dist/sandbox/secret-broker.js +162 -0
  302. package/dist/sandbox/user-tool.d.ts +14 -0
  303. package/dist/sandbox/user-tool.js +32 -0
  304. package/dist/serve.js +18 -0
  305. package/dist/viewer/api-schema.d.ts +214 -18
  306. package/dist/viewer/api-schema.js +22 -0
  307. package/dist/viewer/build-schemas.js +4 -1
  308. package/dist/viewer/event-bus.d.ts +6 -0
  309. package/dist/viewer/event-bus.js +16 -7
  310. package/dist/viewer/graph.d.ts +5 -2
  311. package/dist/viewer/graph.js +7 -2
  312. package/dist/viewer/http.d.ts +0 -1
  313. package/dist/viewer/http.js +2 -2
  314. package/dist/viewer/infra.js +25 -2
  315. package/dist/viewer/limits.d.ts +4 -0
  316. package/dist/viewer/limits.js +4 -0
  317. package/dist/viewer/openapi.d.ts +15 -0
  318. package/dist/viewer/openapi.js +172 -0
  319. package/docs/README.md +7 -0
  320. package/docs/agent-recipes.md +57 -8
  321. package/docs/architecture-runtime.md +16 -1
  322. package/docs/code-review-agents.md +139 -5
  323. package/docs/coding-agent-setup.md +127 -2
  324. package/docs/coding-packages.md +105 -5
  325. package/docs/coding-services.md +3 -1
  326. package/docs/coding-worker-byo-images.md +239 -2
  327. package/docs/coding-worker-isolation.md +88 -23
  328. package/docs/getting-started-gke.md +225 -9
  329. package/docs/getting-started-identity-provider.md +21 -10
  330. package/docs/getting-started.md +140 -11
  331. package/docs/jira-agents.md +5 -1
  332. package/docs/knowledge.md +11 -0
  333. package/docs/native-sandbox.md +635 -0
  334. package/docs/release-verification.md +9 -0
  335. package/docs/security-deployment.md +113 -12
  336. package/docs/slack-notifications.md +252 -0
  337. package/docs/tool-secrets.md +252 -0
  338. package/docs/viewer-api.md +46 -5
  339. package/docs/viewer-api.openapi.yml +1404 -0
  340. package/help/admin-viewer.md +6 -2
  341. package/help/agent-recipes.md +27 -0
  342. package/help/architecture-agent.md +136 -0
  343. package/help/brokered-secrets.md +79 -0
  344. package/help/build-claude-code-image.md +131 -0
  345. package/help/build-worker-image.md +195 -0
  346. package/help/code-review-agents.md +68 -6
  347. package/help/coding-packages.md +31 -2
  348. package/help/creating-agents.md +14 -0
  349. package/help/deploy-gke.md +37 -6
  350. package/help/deployment-targets.md +24 -13
  351. package/help/errors/coding-provider-not-configured.md +2 -2
  352. package/help/errors/database-auth-invalid.md +28 -0
  353. package/help/errors/github-account-not-allowed.md +25 -0
  354. package/help/errors/low-power-disabled.md +29 -0
  355. package/help/errors/low-power-scale-forbidden.md +35 -0
  356. package/help/errors/low-power-wake-timeout.md +30 -0
  357. package/help/errors/mobile-disabled.md +31 -0
  358. package/help/errors/native-sandbox-capacity.md +22 -0
  359. package/help/errors/native-sandbox-deadline-exceeded.md +19 -0
  360. package/help/errors/native-sandbox-docker-failed.md +20 -0
  361. package/help/errors/native-sandbox-gateway-unavailable.md +21 -0
  362. package/help/errors/native-sandbox-image-not-pinned.md +19 -0
  363. package/help/errors/native-sandbox-isolation-mismatch.md +20 -0
  364. package/help/errors/native-sandbox-network-unenforced.md +22 -0
  365. package/help/errors/native-sandbox-requires-catalog.md +31 -0
  366. package/help/errors/native-sandbox-unavailable.md +19 -0
  367. package/help/errors/native-sandbox-warm-delivery-failed.md +21 -0
  368. package/help/errors/native-sandbox-worker-exited.md +20 -0
  369. package/help/errors/native-sandbox-worker-lost.md +20 -0
  370. package/help/errors/native-sandbox-worker-unready.md +22 -0
  371. package/help/errors/secret-broker-body-invalid.md +26 -0
  372. package/help/errors/secret-broker-changed.md +20 -0
  373. package/help/errors/secret-broker-config-invalid.md +30 -0
  374. package/help/errors/secret-broker-conflict.md +27 -0
  375. package/help/errors/secret-broker-destination-denied.md +28 -0
  376. package/help/errors/secret-broker-value-invalid.md +28 -0
  377. package/help/errors/secret-brokered.md +24 -0
  378. package/help/errors/secret-not-brokered.md +25 -0
  379. package/help/errors/slack-auth-failed.md +48 -0
  380. package/help/errors/slack-channel-unreachable.md +39 -0
  381. package/help/errors/slack-not-configured.md +33 -0
  382. package/help/getting-started.md +18 -0
  383. package/help/github.md +18 -1
  384. package/help/identity-and-access.md +5 -1
  385. package/help/local-repositories.md +35 -5
  386. package/help/low-power-mode.md +125 -0
  387. package/help/merge-order-check.md +117 -0
  388. package/help/mobile-app.md +54 -0
  389. package/help/native-sandbox.md +136 -0
  390. package/help/observability.md +8 -0
  391. package/help/related-pull-requests.md +70 -9
  392. package/help/repo-instructions-and-skills.md +91 -0
  393. package/help/review-fix-rounds.md +10 -0
  394. package/help/slack-notifications.md +62 -0
  395. package/help/troubleshooting/coding-workers.md +21 -0
  396. package/package.json +13 -5
  397. package/prisma/migrations/20261009000003_native_execution_mode/migration.sql +12 -0
  398. package/prisma/migrations/20261009000004_native_gateway_ledger/migration.sql +65 -0
  399. package/prisma/migrations/20261009000005_native_gateway_call_child_agent/migration.sql +5 -0
  400. package/prisma/migrations/20261009000006_run_deferred_start_stop/migration.sql +14 -0
  401. package/prisma/migrations/20261009000007_native_gateway_network_ready/migration.sql +5 -0
  402. package/prisma/migrations/20261010000001_workflow_notifications/migration.sql +99 -0
  403. package/prisma/migrations/20261011000001_native_gateway_session_status_index/migration.sql +2 -0
  404. package/prisma/migrations/20261012000001_native_warm_worker/migration.sql +32 -0
  405. package/prisma/migrations/20261013000001_coding_run_merge_order/migration.sql +2 -0
  406. package/prisma/migrations/20261013000001_secret_broker/migration.sql +17 -0
  407. package/prisma/migrations/20261013000002_deferred_review_request/migration.sql +4 -0
  408. package/prisma/migrations/20261014000000_repo_skills/migration.sql +15 -0
  409. package/prisma/migrations/20261015000001_coding_run_merge_order_index/migration.sql +2 -0
  410. package/prisma/migrations/20261015000002_no_change_rereview/migration.sql +2 -0
  411. package/prisma/schema.prisma +362 -91
@@ -0,0 +1,744 @@
1
+ /**
2
+ * The native sandbox worker contract, version 1 (docs/private native sandbox
3
+ * plan, phase 2). The worker runs the unchanged NativeEngine; everything it
4
+ * needs from outside — model calls, built-in tools, privileged sandbox
5
+ * bridges, progress, streamed text, and the terminal result — is a call to the
6
+ * trusted gateway. The worker is untrusted: the gateway validates every
7
+ * request against these schemas, and nothing in WorkerInput can carry a
8
+ * secret value or a credential.
9
+ *
10
+ * Transport-neutral: the same messages travel in-process (loopback), over a
11
+ * child process's stdio, and (phase 3) over HTTP.
12
+ */
13
+ import { z } from "zod";
14
+ export declare const NATIVE_WORKER_PROTOCOL_VERSION = 1;
15
+ /** Above the sandbox's 12 MiB bridge-result cap, plus envelope. */
16
+ export declare const MAX_MESSAGE_BYTES: number;
17
+ export type ProtocolErrorCode = "unsupported_protocol_version" | "message_too_large" | "message_not_json" | "message_invalid";
18
+ export declare class ProtocolError extends Error {
19
+ readonly code: ProtocolErrorCode;
20
+ constructor(code: ProtocolErrorCode, message?: string);
21
+ }
22
+ /** Errors the gateway returns for a call; the worker treats them as final for that call. */
23
+ export type GatewayErrorCode =
24
+ /** The run is no longer pending/running, or its task was cancelled: stop. */
25
+ "run_not_drivable"
26
+ /** This callId was already used for a call that is still in flight or not replayable. */
27
+ | "duplicate_call"
28
+ /** A name the run is not allowed to use (unknown tool, bridge, or built-in). */
29
+ | "not_allowed" | "invalid_request"
30
+ /** A privileged bridge failed; `message` is what the tool sees, as in-process. */
31
+ | "bridge_error"
32
+ /** The run's budget cannot cover another model call (the gateway's reservation was refused). */
33
+ | "budget_exhausted"
34
+ /** The worker's network isolation is not proven yet: retry shortly. */
35
+ | "not_ready" | "internal";
36
+ export declare class GatewayError extends Error {
37
+ readonly code: GatewayErrorCode;
38
+ constructor(code: GatewayErrorCode, message: string);
39
+ }
40
+ export declare const LlmRequestSchema: z.ZodObject<{
41
+ model: z.ZodString;
42
+ messages: z.ZodArray<z.ZodObject<{
43
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
44
+ content: z.ZodString;
45
+ toolCallId: z.ZodOptional<z.ZodString>;
46
+ name: z.ZodOptional<z.ZodString>;
47
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
48
+ id: z.ZodString;
49
+ name: z.ZodString;
50
+ argsJson: z.ZodString;
51
+ }, "strict", z.ZodTypeAny, {
52
+ name: string;
53
+ id: string;
54
+ argsJson: string;
55
+ }, {
56
+ name: string;
57
+ id: string;
58
+ argsJson: string;
59
+ }>, "many">>;
60
+ }, "strict", z.ZodTypeAny, {
61
+ content: string;
62
+ role: "system" | "user" | "assistant" | "tool";
63
+ name?: string | undefined;
64
+ toolCallId?: string | undefined;
65
+ toolCalls?: {
66
+ name: string;
67
+ id: string;
68
+ argsJson: string;
69
+ }[] | undefined;
70
+ }, {
71
+ content: string;
72
+ role: "system" | "user" | "assistant" | "tool";
73
+ name?: string | undefined;
74
+ toolCallId?: string | undefined;
75
+ toolCalls?: {
76
+ name: string;
77
+ id: string;
78
+ argsJson: string;
79
+ }[] | undefined;
80
+ }>, "many">;
81
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
82
+ name: z.ZodString;
83
+ description: z.ZodString;
84
+ parameters: z.ZodRecord<z.ZodString, z.ZodUnknown>;
85
+ }, "strict", z.ZodTypeAny, {
86
+ name: string;
87
+ description: string;
88
+ parameters: Record<string, unknown>;
89
+ }, {
90
+ name: string;
91
+ description: string;
92
+ parameters: Record<string, unknown>;
93
+ }>, "many">>;
94
+ maxTokens: z.ZodOptional<z.ZodNumber>;
95
+ temperature: z.ZodOptional<z.ZodNumber>;
96
+ stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
97
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
98
+ }, "strict", z.ZodTypeAny, {
99
+ model: string;
100
+ messages: {
101
+ content: string;
102
+ role: "system" | "user" | "assistant" | "tool";
103
+ name?: string | undefined;
104
+ toolCallId?: string | undefined;
105
+ toolCalls?: {
106
+ name: string;
107
+ id: string;
108
+ argsJson: string;
109
+ }[] | undefined;
110
+ }[];
111
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
112
+ tools?: {
113
+ name: string;
114
+ description: string;
115
+ parameters: Record<string, unknown>;
116
+ }[] | undefined;
117
+ temperature?: number | undefined;
118
+ maxTokens?: number | undefined;
119
+ stopSequences?: string[] | undefined;
120
+ }, {
121
+ model: string;
122
+ messages: {
123
+ content: string;
124
+ role: "system" | "user" | "assistant" | "tool";
125
+ name?: string | undefined;
126
+ toolCallId?: string | undefined;
127
+ toolCalls?: {
128
+ name: string;
129
+ id: string;
130
+ argsJson: string;
131
+ }[] | undefined;
132
+ }[];
133
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
134
+ tools?: {
135
+ name: string;
136
+ description: string;
137
+ parameters: Record<string, unknown>;
138
+ }[] | undefined;
139
+ temperature?: number | undefined;
140
+ maxTokens?: number | undefined;
141
+ stopSequences?: string[] | undefined;
142
+ }>;
143
+ export declare const LlmStreamEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
144
+ type: z.ZodLiteral<"text">;
145
+ delta: z.ZodString;
146
+ }, "strict", z.ZodTypeAny, {
147
+ type: "text";
148
+ delta: string;
149
+ }, {
150
+ type: "text";
151
+ delta: string;
152
+ }>, z.ZodObject<{
153
+ type: z.ZodLiteral<"tool_call">;
154
+ id: z.ZodString;
155
+ name: z.ZodString;
156
+ argsJson: z.ZodString;
157
+ }, "strict", z.ZodTypeAny, {
158
+ name: string;
159
+ type: "tool_call";
160
+ id: string;
161
+ argsJson: string;
162
+ }, {
163
+ name: string;
164
+ type: "tool_call";
165
+ id: string;
166
+ argsJson: string;
167
+ }>, z.ZodObject<{
168
+ type: z.ZodLiteral<"done">;
169
+ stopReason: z.ZodString;
170
+ usage: z.ZodObject<{
171
+ inputTokens: z.ZodNumber;
172
+ outputTokens: z.ZodNumber;
173
+ cachedInputTokens: z.ZodOptional<z.ZodNumber>;
174
+ cacheWriteTokens: z.ZodOptional<z.ZodNumber>;
175
+ costUsd: z.ZodNumber;
176
+ }, "strict", z.ZodTypeAny, {
177
+ costUsd: number;
178
+ inputTokens: number;
179
+ outputTokens: number;
180
+ cacheWriteTokens?: number | undefined;
181
+ cachedInputTokens?: number | undefined;
182
+ }, {
183
+ costUsd: number;
184
+ inputTokens: number;
185
+ outputTokens: number;
186
+ cacheWriteTokens?: number | undefined;
187
+ cachedInputTokens?: number | undefined;
188
+ }>;
189
+ }, "strict", z.ZodTypeAny, {
190
+ type: "done";
191
+ usage: {
192
+ costUsd: number;
193
+ inputTokens: number;
194
+ outputTokens: number;
195
+ cacheWriteTokens?: number | undefined;
196
+ cachedInputTokens?: number | undefined;
197
+ };
198
+ stopReason: string;
199
+ }, {
200
+ type: "done";
201
+ usage: {
202
+ costUsd: number;
203
+ inputTokens: number;
204
+ outputTokens: number;
205
+ cacheWriteTokens?: number | undefined;
206
+ cachedInputTokens?: number | undefined;
207
+ };
208
+ stopReason: string;
209
+ }>]>;
210
+ /** Everything the worker is given, once, at start. No secret values and no credentials. */
211
+ export declare const WorkerInputSchema: z.ZodObject<{
212
+ v: z.ZodLiteral<1>;
213
+ runId: z.ZodString;
214
+ agent: z.ZodObject<{
215
+ systemPrompt: z.ZodString;
216
+ model: z.ZodString;
217
+ budgetUsd: z.ZodNumber;
218
+ maxTurns: z.ZodNumber;
219
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
220
+ untrustedContext: z.ZodOptional<z.ZodString>;
221
+ }, "strict", z.ZodTypeAny, {
222
+ model: string;
223
+ budgetUsd: number;
224
+ maxTurns: number;
225
+ systemPrompt: string;
226
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
227
+ untrustedContext?: string | undefined;
228
+ }, {
229
+ model: string;
230
+ budgetUsd: number;
231
+ maxTurns: number;
232
+ systemPrompt: string;
233
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
234
+ untrustedContext?: string | undefined;
235
+ }>;
236
+ tools: z.ZodArray<z.ZodObject<{
237
+ name: z.ZodString;
238
+ description: z.ZodString;
239
+ jsonSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
240
+ }, "strict", z.ZodTypeAny, {
241
+ name: string;
242
+ description: string;
243
+ jsonSchema: Record<string, unknown>;
244
+ }, {
245
+ name: string;
246
+ description: string;
247
+ jsonSchema: Record<string, unknown>;
248
+ }>, "many">;
249
+ /** Names the gateway serves (memory, repo_*, jira_*, sub-agent memory, delegate_to_*). */
250
+ builtinTools: z.ZodArray<z.ZodString, "many">;
251
+ /** User tools the worker runs itself, by name. */
252
+ userTools: z.ZodRecord<z.ZodString, z.ZodObject<{
253
+ code: z.ZodString;
254
+ paramsZod: z.ZodString;
255
+ }, "strict", z.ZodTypeAny, {
256
+ code: string;
257
+ paramsZod: string;
258
+ }, {
259
+ code: string;
260
+ paramsZod: string;
261
+ }>>;
262
+ /** Tool names whose calls in one turn may run at the same time (delegations, when opted in). */
263
+ runsConcurrently: z.ZodArray<z.ZodString, "many">;
264
+ /** The run's pinned catalog entry, so the engine's local budget checks price without a network call. */
265
+ pricing: z.ZodObject<{
266
+ provider: z.ZodString;
267
+ modelId: z.ZodString;
268
+ encoding: z.ZodEnum<["cl100k_base", "o200k_base"]>;
269
+ inputPerMTok: z.ZodNumber;
270
+ outputPerMTok: z.ZodNumber;
271
+ cachedInputPerMTok: z.ZodNumber;
272
+ cacheWritePerMTok: z.ZodNumber;
273
+ efforts: z.ZodArray<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>, "many">;
274
+ thinkingMode: z.ZodString;
275
+ }, "strict", z.ZodTypeAny, {
276
+ provider: string;
277
+ modelId: string;
278
+ encoding: "cl100k_base" | "o200k_base";
279
+ inputPerMTok: number;
280
+ outputPerMTok: number;
281
+ cachedInputPerMTok: number;
282
+ cacheWritePerMTok: number;
283
+ efforts: ("low" | "medium" | "high" | "xhigh" | "max")[];
284
+ thinkingMode: string;
285
+ }, {
286
+ provider: string;
287
+ modelId: string;
288
+ encoding: "cl100k_base" | "o200k_base";
289
+ inputPerMTok: number;
290
+ outputPerMTok: number;
291
+ cachedInputPerMTok: number;
292
+ cacheWritePerMTok: number;
293
+ efforts: ("low" | "medium" | "high" | "xhigh" | "max")[];
294
+ thinkingMode: string;
295
+ }>;
296
+ /**
297
+ * Where and how to reach the HTTP gateway. Absent: the gateway is on this process's stdio.
298
+ * The capability is given once, here, on the worker's stdin; it is never in its environment,
299
+ * argv, or the server's stored snapshot (only its hash is stored).
300
+ */
301
+ gateway: z.ZodOptional<z.ZodObject<{
302
+ url: z.ZodString;
303
+ capability: z.ZodString;
304
+ }, "strict", z.ZodTypeAny, {
305
+ url: string;
306
+ capability: string;
307
+ }, {
308
+ url: string;
309
+ capability: string;
310
+ }>>;
311
+ }, "strict", z.ZodTypeAny, {
312
+ runId: string;
313
+ agent: {
314
+ model: string;
315
+ budgetUsd: number;
316
+ maxTurns: number;
317
+ systemPrompt: string;
318
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
319
+ untrustedContext?: string | undefined;
320
+ };
321
+ tools: {
322
+ name: string;
323
+ description: string;
324
+ jsonSchema: Record<string, unknown>;
325
+ }[];
326
+ v: 1;
327
+ builtinTools: string[];
328
+ userTools: Record<string, {
329
+ code: string;
330
+ paramsZod: string;
331
+ }>;
332
+ runsConcurrently: string[];
333
+ pricing: {
334
+ provider: string;
335
+ modelId: string;
336
+ encoding: "cl100k_base" | "o200k_base";
337
+ inputPerMTok: number;
338
+ outputPerMTok: number;
339
+ cachedInputPerMTok: number;
340
+ cacheWritePerMTok: number;
341
+ efforts: ("low" | "medium" | "high" | "xhigh" | "max")[];
342
+ thinkingMode: string;
343
+ };
344
+ gateway?: {
345
+ url: string;
346
+ capability: string;
347
+ } | undefined;
348
+ }, {
349
+ runId: string;
350
+ agent: {
351
+ model: string;
352
+ budgetUsd: number;
353
+ maxTurns: number;
354
+ systemPrompt: string;
355
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
356
+ untrustedContext?: string | undefined;
357
+ };
358
+ tools: {
359
+ name: string;
360
+ description: string;
361
+ jsonSchema: Record<string, unknown>;
362
+ }[];
363
+ v: 1;
364
+ builtinTools: string[];
365
+ userTools: Record<string, {
366
+ code: string;
367
+ paramsZod: string;
368
+ }>;
369
+ runsConcurrently: string[];
370
+ pricing: {
371
+ provider: string;
372
+ modelId: string;
373
+ encoding: "cl100k_base" | "o200k_base";
374
+ inputPerMTok: number;
375
+ outputPerMTok: number;
376
+ cachedInputPerMTok: number;
377
+ cacheWritePerMTok: number;
378
+ efforts: ("low" | "medium" | "high" | "xhigh" | "max")[];
379
+ thinkingMode: string;
380
+ };
381
+ gateway?: {
382
+ url: string;
383
+ capability: string;
384
+ } | undefined;
385
+ }>;
386
+ export type WorkerInput = z.infer<typeof WorkerInputSchema>;
387
+ /** Each gateway method and its params. */
388
+ export declare const GatewayParamsSchemas: {
389
+ readonly "llm.stream": z.ZodObject<{
390
+ request: z.ZodObject<{
391
+ model: z.ZodString;
392
+ messages: z.ZodArray<z.ZodObject<{
393
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
394
+ content: z.ZodString;
395
+ toolCallId: z.ZodOptional<z.ZodString>;
396
+ name: z.ZodOptional<z.ZodString>;
397
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
398
+ id: z.ZodString;
399
+ name: z.ZodString;
400
+ argsJson: z.ZodString;
401
+ }, "strict", z.ZodTypeAny, {
402
+ name: string;
403
+ id: string;
404
+ argsJson: string;
405
+ }, {
406
+ name: string;
407
+ id: string;
408
+ argsJson: string;
409
+ }>, "many">>;
410
+ }, "strict", z.ZodTypeAny, {
411
+ content: string;
412
+ role: "system" | "user" | "assistant" | "tool";
413
+ name?: string | undefined;
414
+ toolCallId?: string | undefined;
415
+ toolCalls?: {
416
+ name: string;
417
+ id: string;
418
+ argsJson: string;
419
+ }[] | undefined;
420
+ }, {
421
+ content: string;
422
+ role: "system" | "user" | "assistant" | "tool";
423
+ name?: string | undefined;
424
+ toolCallId?: string | undefined;
425
+ toolCalls?: {
426
+ name: string;
427
+ id: string;
428
+ argsJson: string;
429
+ }[] | undefined;
430
+ }>, "many">;
431
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
432
+ name: z.ZodString;
433
+ description: z.ZodString;
434
+ parameters: z.ZodRecord<z.ZodString, z.ZodUnknown>;
435
+ }, "strict", z.ZodTypeAny, {
436
+ name: string;
437
+ description: string;
438
+ parameters: Record<string, unknown>;
439
+ }, {
440
+ name: string;
441
+ description: string;
442
+ parameters: Record<string, unknown>;
443
+ }>, "many">>;
444
+ maxTokens: z.ZodOptional<z.ZodNumber>;
445
+ temperature: z.ZodOptional<z.ZodNumber>;
446
+ stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
447
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
448
+ }, "strict", z.ZodTypeAny, {
449
+ model: string;
450
+ messages: {
451
+ content: string;
452
+ role: "system" | "user" | "assistant" | "tool";
453
+ name?: string | undefined;
454
+ toolCallId?: string | undefined;
455
+ toolCalls?: {
456
+ name: string;
457
+ id: string;
458
+ argsJson: string;
459
+ }[] | undefined;
460
+ }[];
461
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
462
+ tools?: {
463
+ name: string;
464
+ description: string;
465
+ parameters: Record<string, unknown>;
466
+ }[] | undefined;
467
+ temperature?: number | undefined;
468
+ maxTokens?: number | undefined;
469
+ stopSequences?: string[] | undefined;
470
+ }, {
471
+ model: string;
472
+ messages: {
473
+ content: string;
474
+ role: "system" | "user" | "assistant" | "tool";
475
+ name?: string | undefined;
476
+ toolCallId?: string | undefined;
477
+ toolCalls?: {
478
+ name: string;
479
+ id: string;
480
+ argsJson: string;
481
+ }[] | undefined;
482
+ }[];
483
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
484
+ tools?: {
485
+ name: string;
486
+ description: string;
487
+ parameters: Record<string, unknown>;
488
+ }[] | undefined;
489
+ temperature?: number | undefined;
490
+ maxTokens?: number | undefined;
491
+ stopSequences?: string[] | undefined;
492
+ }>;
493
+ }, "strict", z.ZodTypeAny, {
494
+ request: {
495
+ model: string;
496
+ messages: {
497
+ content: string;
498
+ role: "system" | "user" | "assistant" | "tool";
499
+ name?: string | undefined;
500
+ toolCallId?: string | undefined;
501
+ toolCalls?: {
502
+ name: string;
503
+ id: string;
504
+ argsJson: string;
505
+ }[] | undefined;
506
+ }[];
507
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
508
+ tools?: {
509
+ name: string;
510
+ description: string;
511
+ parameters: Record<string, unknown>;
512
+ }[] | undefined;
513
+ temperature?: number | undefined;
514
+ maxTokens?: number | undefined;
515
+ stopSequences?: string[] | undefined;
516
+ };
517
+ }, {
518
+ request: {
519
+ model: string;
520
+ messages: {
521
+ content: string;
522
+ role: "system" | "user" | "assistant" | "tool";
523
+ name?: string | undefined;
524
+ toolCallId?: string | undefined;
525
+ toolCalls?: {
526
+ name: string;
527
+ id: string;
528
+ argsJson: string;
529
+ }[] | undefined;
530
+ }[];
531
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
532
+ tools?: {
533
+ name: string;
534
+ description: string;
535
+ parameters: Record<string, unknown>;
536
+ }[] | undefined;
537
+ temperature?: number | undefined;
538
+ maxTokens?: number | undefined;
539
+ stopSequences?: string[] | undefined;
540
+ };
541
+ }>;
542
+ readonly "llm.countTokens": z.ZodObject<{
543
+ model: z.ZodString;
544
+ messages: z.ZodArray<z.ZodObject<{
545
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
546
+ content: z.ZodString;
547
+ toolCallId: z.ZodOptional<z.ZodString>;
548
+ name: z.ZodOptional<z.ZodString>;
549
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
550
+ id: z.ZodString;
551
+ name: z.ZodString;
552
+ argsJson: z.ZodString;
553
+ }, "strict", z.ZodTypeAny, {
554
+ name: string;
555
+ id: string;
556
+ argsJson: string;
557
+ }, {
558
+ name: string;
559
+ id: string;
560
+ argsJson: string;
561
+ }>, "many">>;
562
+ }, "strict", z.ZodTypeAny, {
563
+ content: string;
564
+ role: "system" | "user" | "assistant" | "tool";
565
+ name?: string | undefined;
566
+ toolCallId?: string | undefined;
567
+ toolCalls?: {
568
+ name: string;
569
+ id: string;
570
+ argsJson: string;
571
+ }[] | undefined;
572
+ }, {
573
+ content: string;
574
+ role: "system" | "user" | "assistant" | "tool";
575
+ name?: string | undefined;
576
+ toolCallId?: string | undefined;
577
+ toolCalls?: {
578
+ name: string;
579
+ id: string;
580
+ argsJson: string;
581
+ }[] | undefined;
582
+ }>, "many">;
583
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
584
+ name: z.ZodString;
585
+ description: z.ZodString;
586
+ parameters: z.ZodRecord<z.ZodString, z.ZodUnknown>;
587
+ }, "strict", z.ZodTypeAny, {
588
+ name: string;
589
+ description: string;
590
+ parameters: Record<string, unknown>;
591
+ }, {
592
+ name: string;
593
+ description: string;
594
+ parameters: Record<string, unknown>;
595
+ }>, "many">>;
596
+ }, "strict", z.ZodTypeAny, {
597
+ model: string;
598
+ messages: {
599
+ content: string;
600
+ role: "system" | "user" | "assistant" | "tool";
601
+ name?: string | undefined;
602
+ toolCallId?: string | undefined;
603
+ toolCalls?: {
604
+ name: string;
605
+ id: string;
606
+ argsJson: string;
607
+ }[] | undefined;
608
+ }[];
609
+ tools?: {
610
+ name: string;
611
+ description: string;
612
+ parameters: Record<string, unknown>;
613
+ }[] | undefined;
614
+ }, {
615
+ model: string;
616
+ messages: {
617
+ content: string;
618
+ role: "system" | "user" | "assistant" | "tool";
619
+ name?: string | undefined;
620
+ toolCallId?: string | undefined;
621
+ toolCalls?: {
622
+ name: string;
623
+ id: string;
624
+ argsJson: string;
625
+ }[] | undefined;
626
+ }[];
627
+ tools?: {
628
+ name: string;
629
+ description: string;
630
+ parameters: Record<string, unknown>;
631
+ }[] | undefined;
632
+ }>;
633
+ readonly "builtin.call": z.ZodObject<{
634
+ name: z.ZodString;
635
+ argsJson: z.ZodString;
636
+ }, "strict", z.ZodTypeAny, {
637
+ name: string;
638
+ argsJson: string;
639
+ }, {
640
+ name: string;
641
+ argsJson: string;
642
+ }>;
643
+ /** `invocation` names one tool call, so its bridges share one privileged host (secret redaction is per call). */
644
+ readonly "host.call": z.ZodObject<{
645
+ tool: z.ZodString;
646
+ invocation: z.ZodString;
647
+ bridge: z.ZodString;
648
+ argsJson: z.ZodString;
649
+ }, "strict", z.ZodTypeAny, {
650
+ tool: string;
651
+ bridge: string;
652
+ argsJson: string;
653
+ invocation: string;
654
+ }, {
655
+ tool: string;
656
+ bridge: string;
657
+ argsJson: string;
658
+ invocation: string;
659
+ }>;
660
+ readonly progress: z.ZodObject<{
661
+ turns: z.ZodNumber;
662
+ usage: z.ZodObject<{
663
+ tokensIn: z.ZodNumber;
664
+ tokensOut: z.ZodNumber;
665
+ costUsd: z.ZodNumber;
666
+ }, "strict", z.ZodTypeAny, {
667
+ tokensIn: number;
668
+ tokensOut: number;
669
+ costUsd: number;
670
+ }, {
671
+ tokensIn: number;
672
+ tokensOut: number;
673
+ costUsd: number;
674
+ }>;
675
+ }, "strict", z.ZodTypeAny, {
676
+ usage: {
677
+ tokensIn: number;
678
+ tokensOut: number;
679
+ costUsd: number;
680
+ };
681
+ turns: number;
682
+ }, {
683
+ usage: {
684
+ tokensIn: number;
685
+ tokensOut: number;
686
+ costUsd: number;
687
+ };
688
+ turns: number;
689
+ }>;
690
+ readonly text: z.ZodObject<{
691
+ seq: z.ZodNumber;
692
+ delta: z.ZodString;
693
+ }, "strict", z.ZodTypeAny, {
694
+ delta: string;
695
+ seq: number;
696
+ }, {
697
+ delta: string;
698
+ seq: number;
699
+ }>;
700
+ readonly finish: z.ZodObject<{
701
+ status: z.ZodEnum<["succeeded", "budget_exhausted", "refused", "failed"]>;
702
+ finalText: z.ZodString;
703
+ turns: z.ZodNumber;
704
+ error: z.ZodOptional<z.ZodString>;
705
+ }, "strict", z.ZodTypeAny, {
706
+ status: "failed" | "budget_exhausted" | "succeeded" | "refused";
707
+ finalText: string;
708
+ turns: number;
709
+ error?: string | undefined;
710
+ }, {
711
+ status: "failed" | "budget_exhausted" | "succeeded" | "refused";
712
+ finalText: string;
713
+ turns: number;
714
+ error?: string | undefined;
715
+ }>;
716
+ };
717
+ export type GatewayMethod = keyof typeof GatewayParamsSchemas;
718
+ export type GatewayParams<M extends GatewayMethod> = z.infer<(typeof GatewayParamsSchemas)[M]>;
719
+ export declare const GatewayRequestSchema: z.ZodObject<{
720
+ v: z.ZodLiteral<1>;
721
+ runId: z.ZodString;
722
+ callId: z.ZodString;
723
+ method: z.ZodEnum<["text" | "finish" | "llm.stream" | "llm.countTokens" | "builtin.call" | "host.call" | "progress", ...("text" | "finish" | "llm.stream" | "llm.countTokens" | "builtin.call" | "host.call" | "progress")[]]>;
724
+ params: z.ZodUnknown;
725
+ }, "strict", z.ZodTypeAny, {
726
+ runId: string;
727
+ method: "text" | "finish" | "llm.stream" | "llm.countTokens" | "builtin.call" | "host.call" | "progress";
728
+ v: 1;
729
+ callId: string;
730
+ params?: unknown;
731
+ }, {
732
+ runId: string;
733
+ method: "text" | "finish" | "llm.stream" | "llm.countTokens" | "builtin.call" | "host.call" | "progress";
734
+ v: 1;
735
+ callId: string;
736
+ params?: unknown;
737
+ }>;
738
+ export type GatewayRequest = z.infer<typeof GatewayRequestSchema>;
739
+ /** Rejects before parsing a message too large to accept. */
740
+ export declare function assertMessageSize(text: string): void;
741
+ /** Parses a JSON message text with the size cap, version check, and schema. */
742
+ export declare function parseMessage<T>(text: string, schema: z.ZodType<T>): T;
743
+ /** A gateway request's params, validated for its method. */
744
+ export declare function parseParams<M extends GatewayMethod>(method: M, params: unknown): GatewayParams<M>;