@wardby/cli 0.6.0 → 0.8.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 (740) hide show
  1. package/.env.example +5 -5
  2. package/README.md +6 -1
  3. package/deploy/local/docker-compose.quickstart-coding.yml +19 -0
  4. package/dist/claude-coding-worker/driver.d.ts +33 -3
  5. package/dist/claude-coding-worker/driver.js +151 -21
  6. package/dist/claude-coding-worker/main.js +38 -6
  7. package/dist/claude-coding-worker/sdk.js +29 -2
  8. package/dist/claude-coding-worker/tool-socket.d.ts +27 -0
  9. package/dist/claude-coding-worker/tool-socket.js +111 -0
  10. package/dist/claude-coding-worker/transcript.d.ts +18 -0
  11. package/dist/claude-coding-worker/transcript.js +77 -0
  12. package/dist/claude-plugin/command.d.ts +61 -0
  13. package/dist/claude-plugin/command.js +376 -0
  14. package/dist/cli-help.d.ts +1 -1
  15. package/dist/cli-help.js +3 -1
  16. package/dist/cli.js +71 -13
  17. package/dist/coding/code-host.d.ts +16 -0
  18. package/dist/coding/code-host.js +60 -0
  19. package/dist/coding/continuation-wording.d.ts +35 -0
  20. package/dist/coding/continuation-wording.js +73 -0
  21. package/dist/coding/linked-issue-note.d.ts +23 -0
  22. package/dist/coding/linked-issue-note.js +47 -0
  23. package/dist/coding/mcp-token.d.ts +12 -0
  24. package/dist/coding/mcp-token.js +26 -0
  25. package/dist/coding/merge-wording.d.ts +28 -0
  26. package/dist/coding/merge-wording.js +78 -0
  27. package/dist/coding/pr-description-note.d.ts +9 -0
  28. package/dist/coding/pr-description-note.js +32 -0
  29. package/dist/coding/profile.d.ts +46 -126
  30. package/dist/coding/profile.js +45 -4
  31. package/dist/coding/protected-path-wording.d.ts +8 -0
  32. package/dist/coding/protected-path-wording.js +1 -1
  33. package/dist/coding/protocol.d.ts +264 -346
  34. package/dist/coding/protocol.js +237 -12
  35. package/dist/coding/redact.d.ts +3 -0
  36. package/dist/coding/redact.js +17 -0
  37. package/dist/coding/registry/allowlist.d.ts +12 -0
  38. package/dist/coding/registry/allowlist.js +14 -1
  39. package/dist/coding/registry/audit-mode.d.ts +153 -0
  40. package/dist/coding/registry/audit-mode.js +304 -0
  41. package/dist/coding/registry/lockfile-shared.d.ts +36 -0
  42. package/dist/coding/registry/lockfile-shared.js +128 -0
  43. package/dist/coding/registry/lockfiles.js +1 -1
  44. package/dist/coding/registry/npm-lockfile-formats.d.ts +11 -0
  45. package/dist/coding/registry/npm-lockfile-formats.js +41 -0
  46. package/dist/coding/registry/npm-lockfile.d.ts +8 -4
  47. package/dist/coding/registry/npm-lockfile.js +4 -6
  48. package/dist/coding/registry/npm.js +78 -8
  49. package/dist/coding/registry/pnpm-lockfile.d.ts +17 -0
  50. package/dist/coding/registry/pnpm-lockfile.js +189 -0
  51. package/dist/coding/registry/pypi-plan.d.ts +50 -0
  52. package/dist/coding/registry/pypi-plan.js +406 -0
  53. package/dist/coding/registry/pypi-requirements.d.ts +58 -0
  54. package/dist/coding/registry/pypi-requirements.js +155 -0
  55. package/dist/coding/registry/pypi.d.ts +3 -27
  56. package/dist/coding/registry/pypi.js +40 -154
  57. package/dist/coding/registry/refusal-hints.d.ts +20 -0
  58. package/dist/coding/registry/refusal-hints.js +61 -0
  59. package/dist/coding/registry/refusal-wording.d.ts +11 -0
  60. package/dist/coding/registry/refusal-wording.js +56 -0
  61. package/dist/coding/registry/report.d.ts +70 -8
  62. package/dist/coding/registry/report.js +112 -5
  63. package/dist/coding/registry/types.d.ts +58 -8
  64. package/dist/coding/registry/yarn-lockfile.d.ts +30 -0
  65. package/dist/coding/registry/yarn-lockfile.js +367 -0
  66. package/dist/coding/services/catalog.d.ts +37 -351
  67. package/dist/coding/transcript/claude-code.d.ts +13 -0
  68. package/dist/coding/transcript/claude-code.js +273 -0
  69. package/dist/coding/transcript/download-protocol.d.ts +30 -0
  70. package/dist/coding/transcript/download-protocol.js +18 -0
  71. package/dist/coding/transcript/format.d.ts +20 -0
  72. package/dist/coding/transcript/format.js +32 -0
  73. package/dist/coding/transcript/recorder.d.ts +52 -0
  74. package/dist/coding/transcript/recorder.js +225 -0
  75. package/dist/coding/transcript/resume/checkout.d.ts +31 -0
  76. package/dist/coding/transcript/resume/checkout.js +203 -0
  77. package/dist/coding/transcript/resume/command.d.ts +17 -0
  78. package/dist/coding/transcript/resume/command.js +176 -0
  79. package/dist/coding/transcript/resume/download.d.ts +20 -0
  80. package/dist/coding/transcript/resume/download.js +153 -0
  81. package/dist/coding/transcript/resume/launch.d.ts +38 -0
  82. package/dist/coding/transcript/resume/launch.js +128 -0
  83. package/dist/coding/transcript/resume/session-file.d.ts +13 -0
  84. package/dist/coding/transcript/resume/session-file.js +79 -0
  85. package/dist/coding/transcript/resume/stand-in.d.ts +11 -0
  86. package/dist/coding/transcript/resume/stand-in.js +49 -0
  87. package/dist/coding-worker/artifact.d.ts +8 -3
  88. package/dist/coding-worker/artifact.js +3 -1
  89. package/dist/coding-worker/debug-trace.d.ts +9 -6
  90. package/dist/coding-worker/debug-trace.js +16 -19
  91. package/dist/coding-worker/dependency-cache.d.mts +229 -0
  92. package/dist/coding-worker/dependency-cache.mjs +2123 -0
  93. package/dist/coding-worker/driver.d.ts +4 -3
  94. package/dist/coding-worker/driver.js +124 -39
  95. package/dist/coding-worker/errors.d.ts +1 -0
  96. package/dist/coding-worker/errors.js +32 -0
  97. package/dist/coding-worker/main.js +5 -1
  98. package/dist/coding-worker/mcp-config.d.ts +27 -0
  99. package/dist/coding-worker/mcp-config.js +32 -0
  100. package/dist/coding-worker/sdk.d.ts +36 -0
  101. package/dist/coding-worker/sdk.js +28 -1
  102. package/dist/coding-worker/task-note.d.ts +11 -0
  103. package/dist/coding-worker/task-note.js +13 -0
  104. package/dist/coding-worker/types.d.ts +15 -0
  105. package/dist/config/dependency-cache.d.ts +23 -0
  106. package/dist/config/dependency-cache.js +32 -0
  107. package/dist/config/mcp-call-limit.d.ts +8 -0
  108. package/dist/config/mcp-call-limit.js +18 -0
  109. package/dist/config/mcp-servers.d.ts +8 -0
  110. package/dist/config/mcp-servers.js +12 -0
  111. package/dist/config/providers.d.ts +12 -3
  112. package/dist/config/providers.js +55 -5
  113. package/dist/config/test-simulators.d.ts +92 -0
  114. package/dist/config/test-simulators.js +333 -0
  115. package/dist/config/tool-timeout.d.ts +1 -0
  116. package/dist/config/tool-timeout.js +18 -0
  117. package/dist/core/async-context.d.ts +2 -0
  118. package/dist/core/async-context.js +12 -0
  119. package/dist/core/budget-events.d.ts +108 -0
  120. package/dist/core/budget-events.js +346 -0
  121. package/dist/core/budget-groups.d.ts +50 -1
  122. package/dist/core/budget-groups.js +236 -27
  123. package/dist/core/budget-stopped-head.d.ts +46 -0
  124. package/dist/core/budget-stopped-head.js +81 -0
  125. package/dist/core/budget-topup.d.ts +51 -0
  126. package/dist/core/budget-topup.js +156 -0
  127. package/dist/core/budget-wording.d.ts +16 -2
  128. package/dist/core/budget-wording.js +40 -2
  129. package/dist/core/coding-mcp.d.ts +36 -0
  130. package/dist/core/coding-mcp.js +253 -0
  131. package/dist/core/coding-queue.d.ts +2 -1
  132. package/dist/core/coding-queue.js +7 -0
  133. package/dist/core/coding-repository.d.ts +46 -0
  134. package/dist/core/coding-repository.js +92 -0
  135. package/dist/core/cron.d.ts +19 -1
  136. package/dist/core/cron.js +17 -0
  137. package/dist/core/datastores.js +1 -1
  138. package/dist/core/deferred-coding.d.ts +14 -0
  139. package/dist/core/deferred-coding.js +62 -0
  140. package/dist/core/delegation-child.d.ts +25 -0
  141. package/dist/core/delegation-child.js +37 -0
  142. package/dist/core/delegation-slots.d.ts +27 -0
  143. package/dist/core/delegation-slots.js +44 -0
  144. package/dist/core/dispatch.d.ts +48 -2
  145. package/dist/core/dispatch.js +166 -66
  146. package/dist/core/engine-native.js +1 -1
  147. package/dist/core/error-code.d.ts +38 -0
  148. package/dist/core/error-code.js +169 -0
  149. package/dist/core/grants.d.ts +46 -8
  150. package/dist/core/grants.js +99 -8
  151. package/dist/core/host-events.d.ts +18 -2
  152. package/dist/core/host-events.js +291 -27
  153. package/dist/core/host-status.d.ts +85 -3
  154. package/dist/core/host-status.js +300 -22
  155. package/dist/core/issue-bridge.d.ts +50 -6
  156. package/dist/core/issue-bridge.js +124 -33
  157. package/dist/core/issue-events.d.ts +1 -1
  158. package/dist/core/issue-events.js +4 -10
  159. package/dist/core/issue-status.d.ts +1 -1
  160. package/dist/core/issue-status.js +58 -29
  161. package/dist/core/logger.d.ts +5 -0
  162. package/dist/core/logger.js +14 -1
  163. package/dist/core/lost-run-children.d.ts +6 -0
  164. package/dist/core/lost-run-children.js +32 -0
  165. package/dist/core/mark-ready.d.ts +34 -0
  166. package/dist/core/mark-ready.js +152 -0
  167. package/dist/core/markdown-code.d.ts +8 -0
  168. package/dist/core/markdown-code.js +107 -0
  169. package/dist/core/mcp-client/client.d.ts +47 -0
  170. package/dist/core/mcp-client/client.js +141 -0
  171. package/dist/core/mcp-client/jsonrpc.d.ts +15 -0
  172. package/dist/core/mcp-client/jsonrpc.js +54 -0
  173. package/dist/core/mcp-client/results.d.ts +13 -0
  174. package/dist/core/mcp-client/results.js +42 -0
  175. package/dist/core/mcp-servers.d.ts +90 -0
  176. package/dist/core/mcp-servers.js +230 -0
  177. package/dist/core/mcp-tools.d.ts +108 -0
  178. package/dist/core/mcp-tools.js +287 -0
  179. package/dist/core/memory-tools.js +7 -0
  180. package/dist/core/merge-order-check.d.ts +2 -1
  181. package/dist/core/merge-order-check.js +44 -18
  182. package/dist/core/notification-dispatcher.js +2 -1
  183. package/dist/core/notification-templates.d.ts +1 -7
  184. package/dist/core/notification-templates.js +36 -2
  185. package/dist/core/pull-request-state-sync.js +2 -2
  186. package/dist/core/reconciler.d.ts +4 -3
  187. package/dist/core/reconciler.js +8 -1
  188. package/dist/core/related-pull-requests.d.ts +11 -3
  189. package/dist/core/related-pull-requests.js +49 -20
  190. package/dist/core/reply-parts.d.ts +21 -0
  191. package/dist/core/reply-parts.js +73 -0
  192. package/dist/core/review-fix.d.ts +1 -1
  193. package/dist/core/review-fix.js +4 -3
  194. package/dist/core/review-host-checks.d.ts +1 -1
  195. package/dist/core/review-host-tools.d.ts +3 -0
  196. package/dist/core/review-host-tools.js +102 -14
  197. package/dist/core/review-reads.d.ts +55 -0
  198. package/dist/core/review-reads.js +233 -0
  199. package/dist/core/run-status.d.ts +12 -0
  200. package/dist/core/run-status.js +12 -0
  201. package/dist/core/runner.d.ts +145 -49
  202. package/dist/core/runner.js +719 -216
  203. package/dist/core/schedule-start.d.ts +12 -0
  204. package/dist/core/schedule-start.js +14 -0
  205. package/dist/core/secret-broker-config.d.ts +12 -74
  206. package/dist/core/secret-broker-config.js +1 -1
  207. package/dist/core/secret-guard.d.ts +49 -0
  208. package/dist/core/secret-guard.js +119 -0
  209. package/dist/core/secret-guarded-stores.d.ts +12 -0
  210. package/dist/core/secret-guarded-stores.js +41 -0
  211. package/dist/core/secret-spans.d.ts +50 -0
  212. package/dist/core/secret-spans.js +94 -0
  213. package/dist/core/secrets.d.ts +11 -1
  214. package/dist/core/secrets.js +27 -1
  215. package/dist/core/serializable-retry.d.ts +18 -0
  216. package/dist/core/serializable-retry.js +43 -0
  217. package/dist/core/stop-run.d.ts +46 -0
  218. package/dist/core/stop-run.js +61 -0
  219. package/dist/core/tool-admin.d.ts +5 -1
  220. package/dist/core/tool-admin.js +7 -2
  221. package/dist/core/tool-names.d.ts +13 -0
  222. package/dist/core/tool-names.js +20 -0
  223. package/dist/core/webhooks.d.ts +4 -0
  224. package/dist/core/webhooks.js +68 -49
  225. package/dist/core/workflow-events.d.ts +14 -2
  226. package/dist/core/workflow-events.js +4 -0
  227. package/dist/core/workflow-run-events.d.ts +5 -3
  228. package/dist/core/workflow-run-events.js +45 -9
  229. package/dist/core/zod-json-schema.d.ts +4 -0
  230. package/dist/core/zod-json-schema.js +39 -0
  231. package/dist/core/zod3-window.d.ts +35 -0
  232. package/dist/core/zod3-window.js +124 -0
  233. package/dist/generated/prisma/browser.d.ts +65 -3
  234. package/dist/generated/prisma/client.d.ts +65 -3
  235. package/dist/generated/prisma/commonInputTypes.d.ts +266 -106
  236. package/dist/generated/prisma/enums.d.ts +10 -0
  237. package/dist/generated/prisma/enums.js +8 -0
  238. package/dist/generated/prisma/internal/class.d.ts +110 -0
  239. package/dist/generated/prisma/internal/class.js +4 -4
  240. package/dist/generated/prisma/internal/prismaNamespace.d.ts +957 -9
  241. package/dist/generated/prisma/internal/prismaNamespace.js +166 -2
  242. package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +174 -0
  243. package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +166 -2
  244. package/dist/generated/prisma/models/Agent.d.ts +377 -8
  245. package/dist/generated/prisma/models/AgentMcpServer.d.ts +1412 -0
  246. package/dist/generated/prisma/models/AgentMcpServer.js +1 -0
  247. package/dist/generated/prisma/models/AgentRepository.d.ts +81 -1
  248. package/dist/generated/prisma/models/AuthUser.d.ts +1 -1
  249. package/dist/generated/prisma/models/CodingAgentProfile.d.ts +228 -7
  250. package/dist/generated/prisma/models/CodingProxyRequest.d.ts +207 -3
  251. package/dist/generated/prisma/models/CodingProxySession.d.ts +232 -2
  252. package/dist/generated/prisma/models/CodingRun.d.ts +1712 -1
  253. package/dist/generated/prisma/models/DependencySnapshot.d.ts +1668 -0
  254. package/dist/generated/prisma/models/DependencySnapshot.js +1 -0
  255. package/dist/generated/prisma/models/HostProvider.d.ts +2176 -0
  256. package/dist/generated/prisma/models/HostProvider.js +1 -0
  257. package/dist/generated/prisma/models/HostProviderCredential.d.ts +1285 -0
  258. package/dist/generated/prisma/models/HostProviderCredential.js +1 -0
  259. package/dist/generated/prisma/models/HostProviderOperation.d.ts +1470 -0
  260. package/dist/generated/prisma/models/HostProviderOperation.js +1 -0
  261. package/dist/generated/prisma/models/HostProviderTrustedAccount.d.ts +1145 -0
  262. package/dist/generated/prisma/models/HostProviderTrustedAccount.js +1 -0
  263. package/dist/generated/prisma/models/IssuePullRequest.d.ts +6 -2
  264. package/dist/generated/prisma/models/LocalReview.d.ts +40 -1
  265. package/dist/generated/prisma/models/McpServer.d.ts +1500 -0
  266. package/dist/generated/prisma/models/McpServer.js +1 -0
  267. package/dist/generated/prisma/models/NativeGatewayCall.d.ts +77 -1
  268. package/dist/generated/prisma/models/NativeGatewaySession.d.ts +35 -1
  269. package/dist/generated/prisma/models/Principal.d.ts +167 -0
  270. package/dist/generated/prisma/models/RegistryAllowance.d.ts +41 -1
  271. package/dist/generated/prisma/models/RegistryApprovedVersion.d.ts +75 -1
  272. package/dist/generated/prisma/models/RegistryAuditRecord.d.ts +1364 -0
  273. package/dist/generated/prisma/models/RegistryAuditRecord.js +1 -0
  274. package/dist/generated/prisma/models/ResourceGrant.d.ts +1 -1
  275. package/dist/generated/prisma/models/Run.d.ts +738 -2
  276. package/dist/generated/prisma/models/RunBudgetEvent.d.ts +1211 -0
  277. package/dist/generated/prisma/models/RunBudgetEvent.js +1 -0
  278. package/dist/generated/prisma/models/RunTranscript.d.ts +1339 -0
  279. package/dist/generated/prisma/models/RunTranscript.js +1 -0
  280. package/dist/generated/prisma/models/Secret.d.ts +387 -0
  281. package/dist/generated/prisma/models/Tool.d.ts +223 -1
  282. package/dist/generated/prisma/models.d.ts +10 -0
  283. package/dist/help/search.js +12 -3
  284. package/dist/help-index.json +2033 -110
  285. package/dist/import/create.js +48 -4
  286. package/dist/import/neutral-schema.d.ts +51 -281
  287. package/dist/import/neutral-schema.js +7 -4
  288. package/dist/knowledge/check.d.ts +1 -1
  289. package/dist/knowledge/cli.d.ts +11 -1
  290. package/dist/knowledge/cli.js +37 -4
  291. package/dist/knowledge/concept.d.ts +3 -19
  292. package/dist/knowledge/location.d.ts +31 -0
  293. package/dist/knowledge/location.js +78 -0
  294. package/dist/mcp/auth/access.d.ts +10 -2
  295. package/dist/mcp/auth/access.js +15 -1
  296. package/dist/mcp/auth/grants-cli.d.ts +6 -4
  297. package/dist/mcp/auth/grants-cli.js +42 -3
  298. package/dist/mcp/auth/ownership.d.ts +7 -7
  299. package/dist/mcp/auth/resource-server.d.ts +3 -1
  300. package/dist/mcp/auth/resource-server.js +17 -2
  301. package/dist/mcp/auth/self-hosted/credentials.d.ts +3 -3
  302. package/dist/mcp/auth/self-hosted/session.d.ts +2 -2
  303. package/dist/mcp/context.d.ts +3 -0
  304. package/dist/mcp/host-events/github-ingress.d.ts +2 -0
  305. package/dist/mcp/host-events/github-ingress.js +2 -1
  306. package/dist/mcp/index.d.ts +6 -0
  307. package/dist/mcp/index.js +69 -10
  308. package/dist/mcp/server.d.ts +13 -0
  309. package/dist/mcp/server.js +33 -14
  310. package/dist/mcp/tools/agents.d.ts +4 -0
  311. package/dist/mcp/tools/agents.js +295 -28
  312. package/dist/mcp/tools/datastore.js +17 -8
  313. package/dist/mcp/tools/grants.js +73 -29
  314. package/dist/mcp/tools/host-providers.d.ts +2 -0
  315. package/dist/mcp/tools/host-providers.js +215 -0
  316. package/dist/mcp/tools/mcp-servers.d.ts +26 -0
  317. package/dist/mcp/tools/mcp-servers.js +481 -0
  318. package/dist/mcp/tools/memory.js +11 -1
  319. package/dist/mcp/tools/notification-channels.js +2 -2
  320. package/dist/mcp/tools/packages.d.ts +2 -0
  321. package/dist/mcp/tools/packages.js +195 -0
  322. package/dist/mcp/tools/repositories.js +65 -12
  323. package/dist/mcp/tools/run-access.d.ts +16 -0
  324. package/dist/mcp/tools/run-access.js +25 -0
  325. package/dist/mcp/tools/run-transcript-download.d.ts +30 -0
  326. package/dist/mcp/tools/run-transcript-download.js +129 -0
  327. package/dist/mcp/tools/run-transcript.d.ts +19 -0
  328. package/dist/mcp/tools/run-transcript.js +70 -0
  329. package/dist/mcp/tools/runs.js +209 -27
  330. package/dist/mcp/tools/scheduling.js +3 -1
  331. package/dist/mcp/tools/secret-elicitation-form.js +5 -0
  332. package/dist/mcp/tools/secret-elicitation-server.d.ts +6 -0
  333. package/dist/mcp/tools/secret-elicitation-server.js +10 -61
  334. package/dist/mcp/tools/secret-elicitation.d.ts +2 -0
  335. package/dist/mcp/tools/secret-elicitation.js +25 -2
  336. package/dist/mcp/tools/secrets.js +40 -6
  337. package/dist/mcp/tools/stop-run.d.ts +2 -0
  338. package/dist/mcp/tools/stop-run.js +82 -0
  339. package/dist/mcp/tools/subagents.js +2 -2
  340. package/dist/mcp/tools/tools.d.ts +7 -5
  341. package/dist/mcp/tools/tools.js +64 -16
  342. package/dist/mcp/tools/trigger.js +28 -6
  343. package/dist/mcp/transport/http-limits.d.ts +2 -0
  344. package/dist/mcp/transport/http-limits.js +6 -2
  345. package/dist/mcp/transport/stdio-link-host.d.ts +20 -0
  346. package/dist/mcp/transport/stdio-link-host.js +67 -0
  347. package/dist/mcp/transport/streamable-http.d.ts +13 -0
  348. package/dist/mcp/transport/streamable-http.js +41 -1
  349. package/dist/mcp/webhooks/ingress.js +10 -0
  350. package/dist/native-worker/docker-launcher.d.ts +38 -2
  351. package/dist/native-worker/docker-launcher.js +65 -5
  352. package/dist/native-worker/gateway-server.d.ts +55 -3
  353. package/dist/native-worker/gateway-server.js +152 -34
  354. package/dist/native-worker/gateway.d.ts +29 -1
  355. package/dist/native-worker/gateway.js +74 -4
  356. package/dist/native-worker/http-server.d.ts +7 -1
  357. package/dist/native-worker/http-server.js +62 -7
  358. package/dist/native-worker/http-transport.js +1 -1
  359. package/dist/native-worker/kubernetes-launcher.d.ts +7 -3
  360. package/dist/native-worker/kubernetes-launcher.js +43 -3
  361. package/dist/native-worker/launch.d.ts +18 -1
  362. package/dist/native-worker/launch.js +6 -1
  363. package/dist/native-worker/ledger.d.ts +24 -4
  364. package/dist/native-worker/ledger.js +62 -8
  365. package/dist/native-worker/loopback.js +3 -8
  366. package/dist/native-worker/main.d.ts +2 -1
  367. package/dist/native-worker/main.js +14 -3
  368. package/dist/native-worker/protocol.d.ts +130 -577
  369. package/dist/native-worker/protocol.js +51 -2
  370. package/dist/native-worker/sandbox-executor.d.ts +17 -2
  371. package/dist/native-worker/sandbox-executor.js +78 -4
  372. package/dist/native-worker/stderr-redaction.d.ts +77 -0
  373. package/dist/native-worker/stderr-redaction.js +237 -0
  374. package/dist/native-worker/stdio.d.ts +1 -1
  375. package/dist/native-worker/stdio.js +6 -5
  376. package/dist/native-worker/warm-pool.d.ts +2 -2
  377. package/dist/native-worker/warm-pool.js +4 -4
  378. package/dist/native-worker/worker.js +28 -2
  379. package/dist/observability/metrics.js +6 -1
  380. package/dist/providers/auth/self-hosted.d.ts +1 -1
  381. package/dist/providers/coding-proxy/capability-hash.d.ts +2 -0
  382. package/dist/providers/coding-proxy/capability-hash.js +5 -0
  383. package/dist/providers/coding-proxy/dependency-cache/eviction.d.ts +29 -0
  384. package/dist/providers/coding-proxy/dependency-cache/eviction.js +87 -0
  385. package/dist/providers/coding-proxy/dependency-cache/key.d.ts +33 -0
  386. package/dist/providers/coding-proxy/dependency-cache/key.js +86 -0
  387. package/dist/providers/coding-proxy/dependency-cache/model-request-seal.d.ts +18 -0
  388. package/dist/providers/coding-proxy/dependency-cache/model-request-seal.js +40 -0
  389. package/dist/providers/coding-proxy/dependency-cache/prisma-store.d.ts +25 -0
  390. package/dist/providers/coding-proxy/dependency-cache/prisma-store.js +131 -0
  391. package/dist/providers/coding-proxy/dependency-cache/service.d.ts +70 -0
  392. package/dist/providers/coding-proxy/dependency-cache/service.js +409 -0
  393. package/dist/providers/coding-proxy/dependency-cache/store.d.ts +85 -0
  394. package/dist/providers/coding-proxy/dependency-cache/store.js +95 -0
  395. package/dist/providers/coding-proxy/hold.d.ts +32 -0
  396. package/dist/providers/coding-proxy/hold.js +86 -0
  397. package/dist/providers/coding-proxy/interrupted.d.ts +70 -0
  398. package/dist/providers/coding-proxy/interrupted.js +104 -0
  399. package/dist/providers/coding-proxy/mcp-route.d.ts +34 -0
  400. package/dist/providers/coding-proxy/mcp-route.js +166 -0
  401. package/dist/providers/coding-proxy/memory-ledger.d.ts +17 -2
  402. package/dist/providers/coding-proxy/memory-ledger.js +99 -8
  403. package/dist/providers/coding-proxy/metering.d.ts +16 -0
  404. package/dist/providers/coding-proxy/metering.js +27 -4
  405. package/dist/providers/coding-proxy/prisma-ledger.d.ts +16 -2
  406. package/dist/providers/coding-proxy/prisma-ledger.js +209 -69
  407. package/dist/providers/coding-proxy/proxy.d.ts +21 -2
  408. package/dist/providers/coding-proxy/proxy.js +300 -48
  409. package/dist/providers/coding-proxy/registry/audit.d.ts +53 -10
  410. package/dist/providers/coding-proxy/registry/audit.js +94 -17
  411. package/dist/providers/coding-proxy/registry/lockfile-parse-worker.d.ts +36 -0
  412. package/dist/providers/coding-proxy/registry/lockfile-parse-worker.js +67 -0
  413. package/dist/providers/coding-proxy/registry/lockfile-parse.d.ts +16 -0
  414. package/dist/providers/coding-proxy/registry/lockfile-parse.js +110 -0
  415. package/dist/providers/coding-proxy/registry/plan.d.ts +9 -0
  416. package/dist/providers/coding-proxy/registry/plan.js +201 -48
  417. package/dist/providers/coding-proxy/registry/prisma-store.d.ts +11 -5
  418. package/dist/providers/coding-proxy/registry/prisma-store.js +120 -17
  419. package/dist/providers/coding-proxy/registry/service.d.ts +97 -16
  420. package/dist/providers/coding-proxy/registry/service.js +579 -112
  421. package/dist/providers/coding-proxy/registry/store.d.ts +84 -9
  422. package/dist/providers/coding-proxy/registry/store.js +54 -1
  423. package/dist/providers/coding-proxy/runtime.d.ts +10 -0
  424. package/dist/providers/coding-proxy/runtime.js +109 -16
  425. package/dist/providers/coding-proxy/server.d.ts +9 -1
  426. package/dist/providers/coding-proxy/server.js +55 -1
  427. package/dist/providers/coding-proxy/types.d.ts +78 -1
  428. package/dist/providers/datastore/types.d.ts +5 -0
  429. package/dist/providers/engine/types.d.ts +17 -2
  430. package/dist/providers/engine/types.js +17 -0
  431. package/dist/providers/executor/composition.d.ts +10 -3
  432. package/dist/providers/executor/composition.js +52 -7
  433. package/dist/providers/executor/container.d.ts +394 -9
  434. package/dist/providers/executor/container.js +1210 -96
  435. package/dist/providers/executor/dbos-status.d.ts +31 -0
  436. package/dist/providers/executor/dbos-status.js +64 -0
  437. package/dist/providers/executor/dbos.d.ts +50 -1
  438. package/dist/providers/executor/dbos.js +207 -20
  439. package/dist/providers/executor/deferred.d.ts +12 -24
  440. package/dist/providers/executor/deferred.js +10 -29
  441. package/dist/providers/executor/in-process.d.ts +9 -1
  442. package/dist/providers/executor/in-process.js +14 -4
  443. package/dist/providers/executor/linked-issue-reader.d.ts +16 -0
  444. package/dist/providers/executor/linked-issue-reader.js +30 -0
  445. package/dist/providers/executor/routing.d.ts +2 -0
  446. package/dist/providers/executor/routing.js +4 -0
  447. package/dist/providers/executor/types.d.ts +13 -0
  448. package/dist/providers/host-tools/invoke.d.ts +37 -0
  449. package/dist/providers/host-tools/invoke.js +117 -0
  450. package/dist/providers/host-tools/operations.d.ts +65 -0
  451. package/dist/providers/host-tools/operations.js +149 -0
  452. package/dist/providers/host-tools/registry.d.ts +79 -0
  453. package/dist/providers/host-tools/registry.js +362 -0
  454. package/dist/providers/host-tools/request-guard.d.ts +17 -0
  455. package/dist/providers/host-tools/request-guard.js +99 -0
  456. package/dist/providers/host-tools/self-test.d.ts +64 -0
  457. package/dist/providers/host-tools/self-test.js +142 -0
  458. package/dist/providers/index.d.ts +2 -1
  459. package/dist/providers/issue-tracker/types.d.ts +17 -0
  460. package/dist/providers/issue-tracker/types.js +39 -1
  461. package/dist/providers/jobs/claude-tool-setup.d.ts +4 -0
  462. package/dist/providers/jobs/claude-tool-setup.js +5 -2
  463. package/dist/providers/jobs/docker-isolation.d.ts +10 -2
  464. package/dist/providers/jobs/docker-isolation.js +47 -8
  465. package/dist/providers/jobs/docker.d.ts +9 -0
  466. package/dist/providers/jobs/docker.js +60 -11
  467. package/dist/providers/jobs/fake-kubernetes-api.d.ts +2 -0
  468. package/dist/providers/jobs/fake-kubernetes-api.js +3 -0
  469. package/dist/providers/jobs/kubernetes-api.d.ts +8 -0
  470. package/dist/providers/jobs/kubernetes-api.js +10 -0
  471. package/dist/providers/jobs/kubernetes-client.js +10 -1
  472. package/dist/providers/jobs/kubernetes-isolation.d.ts +5 -1
  473. package/dist/providers/jobs/kubernetes-isolation.js +32 -3
  474. package/dist/providers/jobs/kubernetes.d.ts +11 -1
  475. package/dist/providers/jobs/kubernetes.js +111 -17
  476. package/dist/providers/jobs/types.d.ts +39 -0
  477. package/dist/providers/jobs/types.js +13 -1
  478. package/dist/providers/llm/anthropic.js +5 -1
  479. package/dist/providers/llm/bedrock.d.ts +0 -12
  480. package/dist/providers/llm/bedrock.js +4 -0
  481. package/dist/providers/llm/claude-messages.d.ts +3 -1
  482. package/dist/providers/llm/claude-messages.js +4 -1
  483. package/dist/providers/llm/claude-provider.d.ts +2 -2
  484. package/dist/providers/llm/claude-provider.js +2 -2
  485. package/dist/providers/llm/openai.d.ts +2 -2
  486. package/dist/providers/llm/openai.js +6 -2
  487. package/dist/providers/llm/routing.d.ts +2 -2
  488. package/dist/providers/llm/routing.js +2 -2
  489. package/dist/providers/llm/types.d.ts +12 -2
  490. package/dist/providers/review-host/github-events.d.ts +9 -1
  491. package/dist/providers/review-host/github-events.js +34 -12
  492. package/dist/providers/review-host/github.d.ts +29 -2
  493. package/dist/providers/review-host/github.js +224 -29
  494. package/dist/providers/review-host/local.d.ts +8 -4
  495. package/dist/providers/review-host/local.js +49 -31
  496. package/dist/providers/review-host/patch-pages.d.ts +41 -0
  497. package/dist/providers/review-host/patch-pages.js +176 -0
  498. package/dist/providers/review-host/review-format.d.ts +19 -1
  499. package/dist/providers/review-host/review-format.js +38 -7
  500. package/dist/providers/review-host/types.d.ts +140 -6
  501. package/dist/providers/review-host/types.js +9 -1
  502. package/dist/providers/storage/gcs.d.ts +63 -0
  503. package/dist/providers/storage/gcs.js +69 -0
  504. package/dist/providers/storage/index.d.ts +15 -0
  505. package/dist/providers/storage/index.js +14 -0
  506. package/dist/providers/storage/local.d.ts +24 -0
  507. package/dist/providers/storage/local.js +92 -0
  508. package/dist/providers/storage/meter.d.ts +14 -0
  509. package/dist/providers/storage/meter.js +34 -0
  510. package/dist/providers/storage/s3.d.ts +41 -0
  511. package/dist/providers/storage/s3.js +107 -0
  512. package/dist/providers/storage/types.d.ts +37 -3
  513. package/dist/providers/storage/types.js +21 -4
  514. package/dist/providers/vcs/git.d.ts +39 -4
  515. package/dist/providers/vcs/git.js +339 -26
  516. package/dist/providers/vcs/github-remote.d.ts +26 -3
  517. package/dist/providers/vcs/github-remote.js +124 -14
  518. package/dist/providers/vcs/github.d.ts +183 -44
  519. package/dist/providers/vcs/github.js +455 -56
  520. package/dist/providers/vcs/index.d.ts +1 -1
  521. package/dist/providers/vcs/index.js +9 -2
  522. package/dist/providers/vcs/pr-description.d.ts +127 -0
  523. package/dist/providers/vcs/pr-description.js +270 -0
  524. package/dist/providers/vcs/remote.d.ts +37 -1
  525. package/dist/providers/vcs/remote.js +7 -1
  526. package/dist/providers/vcs/routing.d.ts +16 -8
  527. package/dist/providers/vcs/routing.js +27 -6
  528. package/dist/providers/vcs/types.d.ts +150 -5
  529. package/dist/quickstart/coding-seed.d.ts +14 -3
  530. package/dist/quickstart/coding-seed.js +213 -4
  531. package/dist/quickstart/index.d.ts +5 -0
  532. package/dist/quickstart/index.js +21 -0
  533. package/dist/quickstart/reviewer-prompt.d.ts +1 -1
  534. package/dist/quickstart/reviewer-prompt.js +6 -6
  535. package/dist/quickstart-images.json +1 -1
  536. package/dist/sandbox/eval-core.d.ts +12 -2
  537. package/dist/sandbox/eval-core.js +20 -4
  538. package/dist/sandbox/generated/zod.bundle.js +62 -1
  539. package/dist/sandbox/generated/zod3.bundle.js +5 -0
  540. package/dist/sandbox/host-functions.d.ts +5 -0
  541. package/dist/sandbox/host-functions.js +13 -13
  542. package/dist/sandbox/limits.d.ts +4 -1
  543. package/dist/sandbox/limits.js +4 -1
  544. package/dist/sandbox/run-in-sandbox.d.ts +6 -0
  545. package/dist/sandbox/run-in-sandbox.js +14 -2
  546. package/dist/sandbox/safe-fetch.d.ts +2 -0
  547. package/dist/sandbox/safe-fetch.js +1 -1
  548. package/dist/sandbox/secret-broker.d.ts +1 -0
  549. package/dist/sandbox/secret-broker.js +4 -5
  550. package/dist/sandbox/tool-capabilities.d.ts +10 -30
  551. package/dist/sandbox/tool-timeout.d.ts +32 -0
  552. package/dist/sandbox/tool-timeout.js +52 -0
  553. package/dist/sandbox/user-tool.d.ts +8 -1
  554. package/dist/sandbox/user-tool.js +9 -3
  555. package/dist/sandbox/zod-params.d.ts +37 -5
  556. package/dist/sandbox/zod-params.js +181 -26
  557. package/dist/serve.js +8 -1
  558. package/dist/viewer/api-schema.d.ts +349 -2627
  559. package/dist/viewer/api-schema.js +7 -0
  560. package/dist/viewer/build-schemas.js +6 -2
  561. package/dist/viewer/graph.js +2 -1
  562. package/dist/viewer/openapi.js +2 -4
  563. package/dist/wardby-bin.js +15 -0
  564. package/docs/README.md +11 -1
  565. package/docs/agent-recipes.md +95 -24
  566. package/docs/architecture-runtime.md +1 -1
  567. package/docs/claude-code-plugin.md +164 -0
  568. package/docs/code-review-agents.md +557 -41
  569. package/docs/coding-agent-setup.md +566 -8
  570. package/docs/coding-packages.md +1033 -90
  571. package/docs/coding-services.md +27 -12
  572. package/docs/coding-worker-byo-images.md +24 -2
  573. package/docs/coding-worker-isolation.md +183 -37
  574. package/docs/debugging-agent-runs.md +242 -0
  575. package/docs/getting-started-gke.md +129 -141
  576. package/docs/getting-started-identity-provider.md +53 -38
  577. package/docs/getting-started.md +17 -0
  578. package/docs/host-providers.md +294 -0
  579. package/docs/jira-agents.md +17 -8
  580. package/docs/knowledge/blob-not-found-semantics.md +41 -0
  581. package/docs/knowledge/bounded-file-descriptor.md +52 -0
  582. package/docs/knowledge/delegation-admission-slots.md +52 -0
  583. package/docs/knowledge/http-dispatcher-bootstrap.md +61 -0
  584. package/docs/knowledge/import-rename-target.md +52 -0
  585. package/docs/knowledge/index.md +57 -0
  586. package/docs/knowledge/log.md +9 -0
  587. package/docs/knowledge/mcp-cancelled-task-precedence.md +41 -0
  588. package/docs/knowledge/mcp-http-prompt-discovery.md +41 -0
  589. package/docs/knowledge/mcp-schema-module-boundary.md +41 -0
  590. package/docs/knowledge/nullable-tool-uniqueness.md +52 -0
  591. package/docs/knowledge/overview-cli.md +74 -0
  592. package/docs/knowledge/overview-coding-proxy.md +72 -0
  593. package/docs/knowledge/overview-coding.md +72 -0
  594. package/docs/knowledge/overview-config.md +60 -0
  595. package/docs/knowledge/overview-core.md +72 -0
  596. package/docs/knowledge/overview-deploy.md +83 -0
  597. package/docs/knowledge/overview-mcp.md +61 -0
  598. package/docs/knowledge/overview-prisma.md +72 -0
  599. package/docs/knowledge/overview-providers.md +89 -0
  600. package/docs/knowledge/overview-sandbox.md +83 -0
  601. package/docs/knowledge/overview-surfaces.md +83 -0
  602. package/docs/knowledge/private-datastore-shared-boundary.md +54 -0
  603. package/docs/knowledge/proxy-settlement-projections.md +41 -0
  604. package/docs/knowledge/run-pricing-first-writer.md +43 -0
  605. package/docs/knowledge/schedule-claim-transaction.md +41 -0
  606. package/docs/knowledge/secret-entry-replica-contract.md +52 -0
  607. package/docs/knowledge/terminal-run-first-writer.md +41 -0
  608. package/docs/knowledge/transactional-agent-authorization.md +52 -0
  609. package/docs/knowledge/viewer-notify-write-isolation.md +30 -0
  610. package/docs/knowledge/warm-input-publication.md +30 -0
  611. package/docs/knowledge/workspace-staging-failure.md +54 -0
  612. package/docs/knowledge.md +54 -14
  613. package/docs/mcp-servers.md +254 -0
  614. package/docs/native-sandbox.md +143 -31
  615. package/docs/observability.md +4 -0
  616. package/docs/security-deployment.md +139 -29
  617. package/docs/slack-notifications.md +35 -19
  618. package/docs/tool-secrets.md +45 -10
  619. package/docs/viewer-api.md +6 -0
  620. package/docs/viewer-api.openapi.yml +1 -1
  621. package/help/admin-viewer.md +28 -2
  622. package/help/agent-recipes.md +33 -2
  623. package/help/architecture-agent.md +11 -6
  624. package/help/brokered-secrets.md +3 -0
  625. package/help/build-claude-code-image.md +1 -1
  626. package/help/build-worker-image.md +3 -1
  627. package/help/builder-agent.md +19 -6
  628. package/help/claude-code-run-pane.md +40 -0
  629. package/help/code-review-agents.md +177 -6
  630. package/help/coding-packages.md +156 -6
  631. package/help/cost-attribution.md +9 -5
  632. package/help/creating-agents.md +14 -1
  633. package/help/dependency-cache.md +143 -0
  634. package/help/deploy-gke.md +15 -8
  635. package/help/errors/budget-exhausted.md +187 -0
  636. package/help/errors/budget-group-exhausted.md +5 -1
  637. package/help/errors/coding-mcp-pins-unavailable.md +35 -0
  638. package/help/errors/coding-stream-quota-exceeded.md +33 -0
  639. package/help/errors/coding-workspace-disk-exceeds-limit.md +39 -0
  640. package/help/errors/continuation-closed.md +9 -12
  641. package/help/errors/database-auth-invalid.md +1 -1
  642. package/help/errors/delegation-conflict.md +24 -0
  643. package/help/errors/file-list-truncated.md +45 -0
  644. package/help/errors/full-read-required.md +49 -0
  645. package/help/errors/github-account-not-allowed.md +4 -0
  646. package/help/errors/graph-incomplete.md +43 -0
  647. package/help/errors/graph-limit.md +43 -0
  648. package/help/errors/host-provider-error.md +40 -0
  649. package/help/errors/host-tool-failed.md +36 -0
  650. package/help/errors/mcp-call-limit.md +22 -0
  651. package/help/errors/mcp-call-timeout.md +22 -0
  652. package/help/errors/mcp-server-auth-failed.md +22 -0
  653. package/help/errors/mcp-server-credentials-unavailable.md +45 -0
  654. package/help/errors/mcp-server-error.md +28 -0
  655. package/help/errors/mcp-server-unreachable.md +22 -0
  656. package/help/errors/mcp-servers-off.md +21 -0
  657. package/help/errors/mcp-tool-not-allowed.md +26 -0
  658. package/help/errors/mcp-tool-removed.md +22 -0
  659. package/help/errors/mcp-unavailable.md +25 -0
  660. package/help/errors/merge-conflict.md +49 -0
  661. package/help/errors/native-sandbox-capacity.md +1 -1
  662. package/help/errors/native-sandbox-deadline-exceeded.md +1 -1
  663. package/help/errors/native-sandbox-docker-failed.md +1 -1
  664. package/help/errors/native-sandbox-gateway-error.md +20 -0
  665. package/help/errors/native-sandbox-gateway-unavailable.md +1 -1
  666. package/help/errors/native-sandbox-image-not-pinned.md +1 -1
  667. package/help/errors/native-sandbox-isolation-mismatch.md +1 -1
  668. package/help/errors/native-sandbox-launch-abandoned.md +21 -0
  669. package/help/errors/native-sandbox-network-unenforced.md +1 -1
  670. package/help/errors/native-sandbox-requires-catalog.md +1 -1
  671. package/help/errors/native-sandbox-unavailable.md +1 -1
  672. package/help/errors/native-sandbox-warm-delivery-failed.md +1 -1
  673. package/help/errors/native-sandbox-worker-exited.md +4 -3
  674. package/help/errors/native-sandbox-worker-lost.md +1 -1
  675. package/help/errors/native-sandbox-worker-unready.md +1 -1
  676. package/help/errors/package-not-allowed-pending.md +52 -0
  677. package/help/errors/package-not-allowed.md +51 -0
  678. package/help/errors/package-refusals.md +43 -0
  679. package/help/errors/patch-cursor-malformed.md +31 -0
  680. package/help/errors/repository-not-listed.md +36 -0
  681. package/help/errors/repository-required.md +36 -0
  682. package/help/errors/run-lost.md +39 -0
  683. package/help/errors/run-transcript-download.md +44 -0
  684. package/help/errors/secret-in-value.md +69 -0
  685. package/help/errors/target-merge.md +40 -0
  686. package/help/errors/tool-timeout.md +38 -0
  687. package/help/fix-merge-conflicts.md +73 -0
  688. package/help/github-app-setup.md +132 -0
  689. package/help/github.md +22 -0
  690. package/help/host-providers.md +40 -0
  691. package/help/identity-and-access.md +6 -1
  692. package/help/jira.md +23 -6
  693. package/help/knowledge.md +16 -7
  694. package/help/local-repositories.md +1 -1
  695. package/help/low-power-mode.md +7 -1
  696. package/help/mcp-servers.md +73 -0
  697. package/help/mcp.md +7 -2
  698. package/help/merge-order-check.md +5 -0
  699. package/help/native-capabilities.md +55 -1
  700. package/help/native-sandbox.md +16 -2
  701. package/help/operating-agents.md +21 -0
  702. package/help/package-audit-mode.md +91 -0
  703. package/help/related-pull-requests.md +17 -10
  704. package/help/repo-instructions-and-skills.md +3 -1
  705. package/help/resume-runs-locally.md +134 -0
  706. package/help/review-fix-rounds.md +33 -1
  707. package/help/sharing-agents.md +59 -0
  708. package/help/slack-notifications.md +19 -5
  709. package/help/status-comments.md +31 -0
  710. package/help/stop-run.md +58 -0
  711. package/help/troubleshooting/budgets.md +28 -0
  712. package/help/troubleshooting/coding-workers.md +86 -7
  713. package/help/troubleshooting/debugging-agent-runs.md +29 -0
  714. package/package.json +18 -10
  715. package/prisma/migrations/20261016000000_registry_approved_accepted_advisories/migration.sql +3 -0
  716. package/prisma/migrations/20261016000001_mark_ready_when_passing/migration.sql +3 -0
  717. package/prisma/migrations/20261017000000_debug_trace_max_mb/migration.sql +4 -0
  718. package/prisma/migrations/20261018000000_dependency_cache/migration.sql +53 -0
  719. package/prisma/migrations/20261019000000_claude_max_output_tokens/migration.sql +5 -0
  720. package/prisma/migrations/20261021000000_pr_description_hash/migration.sql +4 -0
  721. package/prisma/migrations/20261022000000_dependency_snapshot_validation_metadata/migration.sql +4 -0
  722. package/prisma/migrations/20261023000000_package_audit_mode/migration.sql +27 -0
  723. package/prisma/migrations/20261024000000_budget_events/migration.sql +26 -0
  724. package/prisma/migrations/20261025000000_cache_aware_holds/migration.sql +9 -0
  725. package/prisma/migrations/20261026000000_budget_overrun/migration.sql +4 -0
  726. package/prisma/migrations/20261027000000_coding_run_request/migration.sql +1 -0
  727. package/prisma/migrations/20261028000000_native_gateway_review_reads/migration.sql +6 -0
  728. package/prisma/migrations/20261029000000_lead_survives_deploy/migration.sql +6 -0
  729. package/prisma/migrations/20261030000000_local_review_covered_sha/migration.sql +2 -0
  730. package/prisma/migrations/20261031000000_coding_run_budget_limit/migration.sql +9 -0
  731. package/prisma/migrations/20261101000000_run_transcripts/migration.sql +22 -0
  732. package/prisma/migrations/20261102000000_host_providers/migration.sql +56 -0
  733. package/prisma/migrations/20261104000000_coding_agent_repository_list/migration.sql +5 -0
  734. package/prisma/migrations/20261106000000_tool_timeout/migration.sql +4 -0
  735. package/prisma/migrations/20261107000000_mcp_servers/migration.sql +33 -0
  736. package/prisma/migrations/20261108000000_coding_mcp/migration.sql +5 -0
  737. package/prisma/migrations/20261109000000_task_run_index/migration.sql +3 -0
  738. package/prisma/schema.prisma +468 -109
  739. package/scripts/git-askpass.sh +1 -1
  740. package/dist/sandbox/generated/zod-to-json-schema.bundle.js +0 -5
@@ -3,7 +3,7 @@ id: troubleshooting/coding-workers
3
3
  title: Troubleshoot coding workers
4
4
  summary: Investigate coding-worker setup, isolation preflight, and safe failure handling.
5
5
  audience: operator
6
- tags: [coding-agents, docker, kubernetes, isolation, services]
6
+ tags: [coding-agents, get_run, request, requestUnavailable, quota, coding_queue_timeout, docker, kubernetes, isolation, services, debug-trace, debugTraceMinutes, debugTraceMaxMb, maxOutputTokens, output-tokens, claude-code, codex, memory, CODING_MEMORY_MB, CODING_CPUS, out-of-memory]
7
7
  appliesTo: >=0.2.1
8
8
  ---
9
9
 
@@ -54,14 +54,93 @@ raise `codingProfile.maxTurns` (up to 1000) with `update_agent` for the first,
54
54
  or narrow the task for the second. Codex runs have no turn limit. See
55
55
  [Coding run reached its turn limit](../errors/coding-turn-limit.md).
56
56
 
57
+ ## Claude Code replies that exceed the output token maximum
58
+
59
+ A Claude Code run caps each model reply at 32000 output tokens by default,
60
+ thinking included. When a reply needs more, Claude Code ends with an error
61
+ that the response exceeded the output token maximum and the run fails as a
62
+ stream failure. Raise `codingProfile.maxOutputTokens` (1024 to 128000; `null`
63
+ restores the default) with `update_agent`, for example
64
+ `{ "id": "<agent id>", "codingProfile": { "maxOutputTokens": 64000 } }`. The
65
+ coding proxy reserves `maxOutputTokens` × the model's output price against the
66
+ run's budget for every model request, so a higher value needs a larger
67
+ `budgetUsd`; a request whose reservation does not fit ends the run as
68
+ `budget_exhausted` (see the help article `errors/budget-exhausted`), so a small
69
+ budget runs out sooner. Codex agents refuse the
70
+ setting. The default and the setting need a Claude Code worker image from
71
+ Wardby 0.7.0 or later: an older pinned image still caps replies at 4096 tokens
72
+ and rejects a run whose agent sets `maxOutputTokens`.
73
+
74
+ ## Runs refused because the provider is out of credit
75
+
76
+ A diagnostic of `job_coding_stream_quota_exceeded` means the model provider
77
+ behind the coding proxy refused the run because its account is out of credit or
78
+ over a spend limit, not that the run's own budget ran out. Every run on that
79
+ account fails the same way until the limit is raised; see the help article
80
+ `errors/coding-stream-quota-exceeded`.
81
+
82
+ ## Runs that die while running checks (out of memory)
83
+
84
+ A run that fails with `coding_failure_executor` while it runs a linter, a type
85
+ check or a test suite has often run out of memory. Each coding pod gets
86
+ `CODING_MEMORY_MB` (2048 MiB by default) and `CODING_CPUS` (1 by default). In a
87
+ Codex run the agent and its commands share that pod. In a Claude Code run the
88
+ commands run in a tool-runner container limited to at most 512 MiB and 0.25 CPU.
89
+
90
+ 1. Turn on a debug trace (below) and run it again. A Node.js crash shows as
91
+ `Aborted` with exit code 134 in a command's output.
92
+ 2. Raise `CODING_MEMORY_MB` and `CODING_CPUS` on the control plane. On GKE, deploy
93
+ with `CODING_MEMORY_MB=6144 CODING_CPUS=2 deploy/gke/up.sh` (see the GKE deploy
94
+ guide). This applies to every coding run.
95
+ 3. For a Claude Code agent with heavy checks, run it on Codex instead, since raising
96
+ the pod's memory doesn't raise the tool runner's limit.
97
+
98
+ ## See what a run was asked to do
99
+
100
+ From Wardby 0.8.0, `get_run` returns a coding run's `request`: the task it
101
+ received from `trigger_agent`, a webhook or a lead, without the agent's standing
102
+ instructions. Use it to check what a lead told a coding agent. The agent's secret
103
+ values and token-shaped values are masked. If the secrets can't be read, you get
104
+ `requestUnavailable: true` instead of the text.
105
+
106
+ ## Debug trace
107
+
108
+ When a run's fixed error code or a slow run doesn't say enough, an admin can
109
+ trace the agent's runs for a while:
110
+ `update_agent { "id": "<agent id>", "codingProfile": { "debugTraceMinutes": 30 } }`.
111
+ Each run dispatched in that window writes its whole agent stream, redacted, to
112
+ its worker container's log under a `debugTrace` key. That covers Codex events,
113
+ or, for Claude Code (Wardby 0.7.0 or later), every Agent SDK message:
114
+ each command the agent ran with its output, the final usage and duration, plus
115
+ stream failures in full. For Claude Code, the time between a command's
116
+ `tool_use` and its `tool_result` line is how long that command took. A run's
117
+ trace stops at 2 MiB by default; set `codingProfile.debugTraceMaxMb` (1 to 64,
118
+ admin only) for more. The trace can hold prompts and repository content, so
119
+ keep it on briefly. See
120
+ [the debug trace section](../../docs/coding-worker-isolation.md#debug-trace)
121
+ for where the log lives and what is redacted.
122
+
57
123
  ## Runs that wait for cluster capacity
58
124
 
59
- On Kubernetes with `KUBERNETES_RESOURCE_QUOTA` set, a run whose pod would not
60
- fit the namespace quota stays `pending` with `codingQueuedAt` set, like a run
61
- over `CODING_MAX_CONCURRENT`, and starts once other runs finish. A run still
62
- waiting after `CODING_QUEUE_TIMEOUT_SEC` fails with `coding_queue_timeout`:
63
- raise the quota, lower the run pods' size, or lower `CODING_MAX_CONCURRENT` so
64
- fewer runs compete.
125
+ On Kubernetes, a run whose pod would not fit the namespace quota waits instead
126
+ of failing. With `KUBERNETES_RESOURCE_QUOTA` set, it is held before it starts;
127
+ without it, or if the quota fills up meanwhile, the cluster refuses the pod and
128
+ the run returns to the queue. Either way it stays `pending` with
129
+ `codingQueuedAt` set, like a run over `CODING_MAX_CONCURRENT`, and is retried
130
+ (a refused run no sooner than about a minute later). A refused run shows
131
+ `running` briefly, then `pending` again.
132
+
133
+ A run still waiting after `CODING_QUEUE_TIMEOUT_SEC` fails with
134
+ `coding_queue_timeout`. That can mean either the concurrency limit or the
135
+ namespace quota. To tell which, look for the control-plane log line
136
+ `coding run waiting for capacity: the cluster refused its pod` (quota), and run
137
+ `kubectl describe resourcequota -n <namespace>` to compare used against hard
138
+ limits. If the quota is full, raise it, lower the run pods' size, or lower
139
+ `CODING_MAX_CONCURRENT` so fewer runs compete; size the quota for
140
+ `CODING_MAX_CONCURRENT` times the run pod's requests. If the log line
141
+ `kubernetes_resource_quota_unconfigured` appears, set `KUBERNETES_RESOURCE_QUOTA`
142
+ to the named quota and grant the launcher `get` on it. See
143
+ [the queue section](../../docs/coding-worker-isolation.md#control-plane-configuration).
65
144
 
66
145
  A lead agent with `parallelDelegations` starts several coding runs together;
67
146
  expect some of them to queue when the lead fans out wider than the free slots.
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: troubleshooting/debugging-agent-runs
3
+ title: Debug an agent run
4
+ summary: Triage a run that failed, opened no pull request, or missed what you expected, using the MCP tools and GitHub without server logs.
5
+ audience: operator
6
+ tags: [debugging, triage, get_run, list_runs, failureCategory, diagnosticId, get_run_transcript, no_changes]
7
+ appliesTo: >=0.7.0
8
+ ---
9
+
10
+ # Debug an agent run
11
+
12
+ Find the run with `list_runs`, read it with `get_run`, then follow what you see.
13
+ Without an `agentId`, `list_runs` lists your runs across every agent (from
14
+ Wardby 0.8.0); add `active: true` or `since` to narrow it.
15
+
16
+ | What you see | What to check |
17
+ | ----------------------------- | -------------------------------------------------------------------------------------------------- |
18
+ | No run started | `list_repositories` on the router: is a link holding the trigger you used? |
19
+ | Failed or refused | `status`, `error`, `failureCategory` and the final text. Call `search_help` with the category |
20
+ | Lead ran, no coding run | The lead's final text, which should say why it didn't delegate |
21
+ | Succeeded, no pull request | `codingResult.outcome`: `no_changes`, `budget_exhausted`, or `branch_pushed` on a local repository |
22
+ | Pull request missed the point | The diff, the review, the original request, and `request` on `get_run` (from Wardby 0.8.0) |
23
+
24
+ A failed coding run's specific reason is only in the server log. Send an operator
25
+ the run ID and its `diagnosticId`. For Claude Code agents with `sessionResume` on,
26
+ `get_run_transcript` shows what the agent did; see
27
+ [Resume Claude Code runs locally](../resume-runs-locally.md).
28
+
29
+ The full guide is [Debugging an agent run](../../docs/debugging-agent-runs.md).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wardby/cli",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Self-hosted control plane for budget-guarded AI agents.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/wardby/wardby#readme",
@@ -58,7 +58,7 @@
58
58
  "build:help": "tsx src/help/build.ts",
59
59
  "sync:reviewer-prompt": "tsx src/quickstart/sync-reviewer-prompt.ts",
60
60
  "build:viewer-schemas": "tsx src/viewer/build-schemas.ts",
61
- "build": "npm run build:vendor && PRISMA_HIDE_UPDATE_MESSAGE=1 prisma generate && tsc -p tsconfig.build.json && npm run build:help",
61
+ "build": "npm run build:vendor && PRISMA_HIDE_UPDATE_MESSAGE=1 prisma generate && tsc -p tsconfig.build.json && node scripts/copy-build-modules.mjs && npm run build:help",
62
62
  "prepare": "npm run build:vendor && PRISMA_HIDE_UPDATE_MESSAGE=1 prisma generate",
63
63
  "prepack": "npm run build",
64
64
  "cli": "tsx --conditions=wardby-source src/wardby-bin.ts",
@@ -67,6 +67,7 @@
67
67
  "test": "npm run build:vendor && vitest run",
68
68
  "test:package": "node scripts/npm-package-acceptance.mjs",
69
69
  "test:contract": "vitest run --config vitest.contract.config.ts",
70
+ "test:release": "npm run build:vendor && vitest run --config vitest.release.config.ts",
70
71
  "test:kubernetes": "WARDBY_KUBERNETES_TEST=1 vitest run src/providers/jobs/kubernetes.integration.test.ts",
71
72
  "test:native-docker": "WARDBY_NATIVE_DOCKER_TEST=1 vitest run src/native-worker/docker.acceptance.test.ts",
72
73
  "test:native-kind": "WARDBY_NATIVE_KIND_TEST=1 vitest run src/native-worker/kubernetes.acceptance.test.ts",
@@ -100,12 +101,16 @@
100
101
  "@anthropic-ai/bedrock-sdk": "^0.33.4",
101
102
  "@anthropic-ai/sdk": "^0.124.0",
102
103
  "@aws-crypto/sha256-js": "4.0.0",
104
+ "@aws-sdk/client-s3": "3.1140.0",
105
+ "@aws-sdk/lib-storage": "3.1140.0",
103
106
  "@aws-sdk/rds-signer": "3.1140.0",
107
+ "@aws-sdk/s3-request-presigner": "3.1140.0",
104
108
  "@dbos-inc/dbos-sdk": "4.27.6",
109
+ "@google-cloud/storage": "8.2.0",
105
110
  "@kubernetes/client-node": "^2.0.0",
106
- "@modelcontextprotocol/client": "^2.3.1",
107
- "@modelcontextprotocol/node": "^2.0.0",
108
- "@modelcontextprotocol/server": "^2.0.0",
111
+ "@modelcontextprotocol/client": "^2.4.0",
112
+ "@modelcontextprotocol/node": "^2.1.2",
113
+ "@modelcontextprotocol/server": "^2.4.0",
109
114
  "@prisma/adapter-pg": "7.10.0",
110
115
  "@prisma/client": "7.10.0",
111
116
  "@prometheus-io/client": "^0.16.1",
@@ -124,11 +129,11 @@
124
129
  "pino": "^9.14.0",
125
130
  "quickjs-emscripten": "^0.32.0",
126
131
  "semver": "^7.8.5",
132
+ "smol-toml": "1.9.0",
127
133
  "tar-stream": "^3.2.1",
128
- "undici": "^8.7.0",
134
+ "undici": "^8.12.3",
129
135
  "yaml": "^2.9.1",
130
- "zod": "^3.25.76",
131
- "zod-to-json-schema": "^3.25.2"
136
+ "zod": "^4.6.7"
132
137
  },
133
138
  "devDependencies": {
134
139
  "@eslint/js": "^10.0.1",
@@ -148,10 +153,13 @@
148
153
  "tsx": "^4.19.0",
149
154
  "typescript": "^5.6.0",
150
155
  "typescript-eslint": "^8.69.0",
151
- "vitest": "^4.1.11"
156
+ "vitest": "^4.1.12",
157
+ "zod-to-json-schema": "^3.25.2"
152
158
  },
153
159
  "overrides": {
154
160
  "deepmerge-ts": "8.0.2",
155
- "mysql2": "3.24.4"
161
+ "minimatch": "11.0.3",
162
+ "mysql2": "3.24.4",
163
+ "uuid": "11.1.1"
156
164
  }
157
165
  }
@@ -0,0 +1,3 @@
1
+ -- Additive: the blocking advisories a run's packagePolicy.acceptedAdvisories
2
+ -- waived for a version its lockfile plan approved (empty when none).
3
+ ALTER TABLE "RegistryApprovedVersion" ADD COLUMN "acceptedAdvisories" TEXT[] DEFAULT ARRAY[]::TEXT[];
@@ -0,0 +1,3 @@
1
+ -- Additive: opt-in to mark Wardby's draft pull requests ready once they pass, claimed once per pull request.
2
+ ALTER TABLE "AgentRepository" ADD COLUMN "markReadyWhenPassing" BOOLEAN NOT NULL DEFAULT false;
3
+ ALTER TABLE "CodingRun" ADD COLUMN "markedReadyAt" TIMESTAMP(3);
@@ -0,0 +1,4 @@
1
+ -- Configurable per-run debug-trace cap: the profile carries the admin-set cap
2
+ -- (MiB), and each traced run records at dispatch the cap it used.
3
+ ALTER TABLE "CodingAgentProfile" ADD COLUMN "debugTraceMaxMb" INTEGER;
4
+ ALTER TABLE "CodingRun" ADD COLUMN "debugTraceMaxMb" INTEGER;
@@ -0,0 +1,53 @@
1
+ -- Additive: the run dependency cache. An agent flag snapshotted onto each
2
+ -- coding run, the run's reported cache result, the proxy session's approved
3
+ -- lock hashes and seal, and the snapshot metadata the coding proxy keeps.
4
+ -- A snapshot outlives the run that created it: createdByRunId is cleared, not
5
+ -- cascaded, when that run is deleted.
6
+
7
+ -- AlterTable
8
+ ALTER TABLE "CodingAgentProfile" ADD COLUMN "dependencyCache" BOOLEAN NOT NULL DEFAULT false;
9
+
10
+ -- AlterTable
11
+ ALTER TABLE "CodingRun" ADD COLUMN "dependencyCache" BOOLEAN NOT NULL DEFAULT false,
12
+ ADD COLUMN "dependencyCacheResult" JSONB;
13
+
14
+ -- AlterTable
15
+ ALTER TABLE "CodingProxySession" ADD COLUMN "dependencyCacheLockHashes" TEXT[] DEFAULT ARRAY[]::TEXT[],
16
+ ADD COLUMN "dependencyCacheSealedAt" TIMESTAMP(3);
17
+
18
+ -- CreateTable
19
+ CREATE TABLE "DependencySnapshot" (
20
+ "id" TEXT NOT NULL,
21
+ "ecosystem" TEXT NOT NULL,
22
+ "repository" TEXT NOT NULL,
23
+ "projectPath" TEXT NOT NULL DEFAULT '.',
24
+ "lockHash" TEXT NOT NULL,
25
+ "workerImage" TEXT NOT NULL,
26
+ "policyHash" TEXT NOT NULL,
27
+ "blobKey" TEXT NOT NULL,
28
+ "sha256" TEXT NOT NULL,
29
+ "sizeBytes" BIGINT NOT NULL,
30
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
31
+ "lastUsedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
32
+ "createdByRunId" TEXT,
33
+
34
+ CONSTRAINT "DependencySnapshot_pkey" PRIMARY KEY ("id")
35
+ );
36
+
37
+ -- CreateIndex
38
+ CREATE UNIQUE INDEX "DependencySnapshot_blobKey_key" ON "DependencySnapshot"("blobKey");
39
+
40
+ -- CreateIndex
41
+ CREATE UNIQUE INDEX "DependencySnapshot_ecosystem_repository_projectPath_lockHas_key" ON "DependencySnapshot"("ecosystem", "repository", "projectPath", "lockHash", "workerImage", "policyHash");
42
+
43
+ -- CreateIndex
44
+ CREATE INDEX "DependencySnapshot_ecosystem_repository_projectPath_workerI_idx" ON "DependencySnapshot"("ecosystem", "repository", "projectPath", "workerImage", "policyHash", "createdAt");
45
+
46
+ -- CreateIndex
47
+ CREATE INDEX "DependencySnapshot_lastUsedAt_idx" ON "DependencySnapshot"("lastUsedAt");
48
+
49
+ -- CreateIndex
50
+ CREATE INDEX "DependencySnapshot_createdByRunId_projectPath_idx" ON "DependencySnapshot"("createdByRunId", "projectPath");
51
+
52
+ -- AddForeignKey
53
+ ALTER TABLE "DependencySnapshot" ADD CONSTRAINT "DependencySnapshot_createdByRunId_fkey" FOREIGN KEY ("createdByRunId") REFERENCES "CodingRun"("runId") ON DELETE SET NULL ON UPDATE CASCADE;
@@ -0,0 +1,5 @@
1
+ -- Claude Code output tokens per model reply: the profile carries the agent's
2
+ -- setting, and each run records at dispatch the value it used. Null = the
3
+ -- worker default.
4
+ ALTER TABLE "CodingAgentProfile" ADD COLUMN "maxOutputTokens" INTEGER;
5
+ ALTER TABLE "CodingRun" ADD COLUMN "maxOutputTokens" INTEGER;
@@ -0,0 +1,4 @@
1
+ -- Additive: the pull request description Wardby last wrote (hash + author run, root rows only), and each run's description update outcome.
2
+ ALTER TABLE "CodingRun" ADD COLUMN "prDescriptionSha256" TEXT;
3
+ ALTER TABLE "CodingRun" ADD COLUMN "prDescriptionRunId" TEXT;
4
+ ALTER TABLE "CodingRun" ADD COLUMN "prDescriptionOutcome" TEXT;
@@ -0,0 +1,4 @@
1
+ ALTER TABLE "DependencySnapshot"
2
+ ADD COLUMN "archiveScanVersion" INTEGER,
3
+ ADD COLUMN "archiveEntries" INTEGER,
4
+ ADD COLUMN "unpackedBytes" BIGINT;
@@ -0,0 +1,27 @@
1
+ -- Package audit mode (docs/coding-packages.md#package-audit-mode): a timed
2
+ -- per-agent mode, fixed on each coding run at dispatch, and the run's record
3
+ -- of what the registry served only because of it.
4
+ CREATE TYPE "PackageAuditMode" AS ENUM ('audit', 'full');
5
+
6
+ ALTER TABLE "CodingAgentProfile" ADD COLUMN "packageAuditMode" "PackageAuditMode";
7
+ ALTER TABLE "CodingAgentProfile" ADD COLUMN "packageAuditUntil" TIMESTAMP(3);
8
+ ALTER TABLE "CodingRun" ADD COLUMN "packageAuditMode" "PackageAuditMode";
9
+ ALTER TABLE "RegistryAllowance" ADD COLUMN "auditedVia" TEXT;
10
+ ALTER TABLE "RegistryApprovedVersion" ADD COLUMN "audit" JSONB;
11
+
12
+ CREATE TABLE "RegistryAuditRecord" (
13
+ "runId" TEXT NOT NULL,
14
+ "ecosystem" TEXT NOT NULL,
15
+ "name" TEXT NOT NULL,
16
+ "version" TEXT NOT NULL,
17
+ "relation" TEXT NOT NULL,
18
+ "via" TEXT,
19
+ "sizeBytes" INTEGER,
20
+ "advisories" JSONB NOT NULL DEFAULT '[]',
21
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
22
+
23
+ CONSTRAINT "RegistryAuditRecord_pkey" PRIMARY KEY ("runId","ecosystem","name","version")
24
+ );
25
+
26
+ ALTER TABLE "RegistryAuditRecord" ADD CONSTRAINT "RegistryAuditRecord_runId_fkey"
27
+ FOREIGN KEY ("runId") REFERENCES "CodingRun"("runId") ON DELETE CASCADE ON UPDATE CASCADE;
@@ -0,0 +1,26 @@
1
+ -- Budget refusal records and estimated settlement of interrupted requests.
2
+
3
+ CREATE TYPE "RunBudgetEventKind" AS ENUM ('refused');
4
+
5
+ CREATE TABLE "RunBudgetEvent" (
6
+ "id" TEXT NOT NULL,
7
+ "runId" TEXT NOT NULL,
8
+ "kind" "RunBudgetEventKind" NOT NULL,
9
+ "limit" TEXT NOT NULL,
10
+ "at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
11
+ "details" JSONB NOT NULL,
12
+ CONSTRAINT "RunBudgetEvent_pkey" PRIMARY KEY ("id")
13
+ );
14
+
15
+ CREATE INDEX "RunBudgetEvent_runId_at_idx" ON "RunBudgetEvent"("runId", "at");
16
+
17
+ ALTER TABLE "RunBudgetEvent" ADD CONSTRAINT "RunBudgetEvent_runId_fkey"
18
+ FOREIGN KEY ("runId") REFERENCES "Run"("id") ON DELETE CASCADE ON UPDATE CASCADE;
19
+
20
+ ALTER TABLE "CodingRun" ADD COLUMN "budgetLimitedBy" TEXT;
21
+
22
+ ALTER TABLE "CodingProxyRequest" ADD COLUMN "costEstimated" BOOLEAN NOT NULL DEFAULT false;
23
+
24
+ ALTER TABLE "NativeGatewayCall" ADD COLUMN "costEstimated" BOOLEAN NOT NULL DEFAULT false;
25
+
26
+ ALTER TABLE "CodingProxySession" ADD COLUMN "budgetRefusal" JSONB;
@@ -0,0 +1,9 @@
1
+ -- Cache-aware holds: per-request size, ceiling, basis and conversation key.
2
+
3
+ ALTER TABLE "CodingProxyRequest" ADD COLUMN "requestBytes" INTEGER;
4
+ ALTER TABLE "CodingProxyRequest" ADD COLUMN "ceilingUsd" DECIMAL(18,10);
5
+ ALTER TABLE "CodingProxyRequest" ADD COLUMN "reservationBasis" TEXT;
6
+ ALTER TABLE "CodingProxyRequest" ADD COLUMN "conversationKey" TEXT;
7
+
8
+ CREATE INDEX "CodingProxyRequest_sessionId_conversationKey_idx"
9
+ ON "CodingProxyRequest"("sessionId", "conversationKey");
@@ -0,0 +1,4 @@
1
+ -- Per-agent allowed overrun (percent above budgetUsd) for coding runs, and the
2
+ -- pre-overrun budget recorded on each coding run.
3
+ ALTER TABLE "Agent" ADD COLUMN "allowedOverrunPercent" INTEGER NOT NULL DEFAULT 0;
4
+ ALTER TABLE "CodingRun" ADD COLUMN "budgetBaseUsd" DECIMAL(10,6);
@@ -0,0 +1 @@
1
+ ALTER TABLE "CodingRun" ADD COLUMN "request" TEXT;
@@ -0,0 +1,6 @@
1
+ -- Additive: what a native sandbox run's review tools have read (repo_pr_read pages and
2
+ -- repo_read_file reads), saved between gateway requests so repo_publish_review can refuse
3
+ -- unread_files. Null until the run reads a pull request.
4
+
5
+ -- AlterTable
6
+ ALTER TABLE "NativeGatewaySession" ADD COLUMN "reviewReads" JSONB;
@@ -0,0 +1,6 @@
1
+ -- A run's current DBOS workflow when a cross-version takeover forked it (null = the run id),
2
+ -- and the delegation call that created a child run.
3
+ ALTER TABLE "Run" ADD COLUMN "executionWorkflowId" TEXT;
4
+ ALTER TABLE "Run" ADD COLUMN "parentCallId" TEXT;
5
+
6
+ CREATE UNIQUE INDEX "Run_parentRunId_parentCallId_key" ON "Run"("parentRunId", "parentCallId");
@@ -0,0 +1,2 @@
1
+ -- The head a local review read every file of (null when it did not): repo_pr_read's lastCoveredSha.
2
+ ALTER TABLE "LocalReview" ADD COLUMN "coveredSha" TEXT;
@@ -0,0 +1,9 @@
1
+ -- Overrun from available room: a coding run reserves its base budget, and may
2
+ -- spend past it up to the limit recorded here only through top-ups its budget
3
+ -- group and run tree have room for. Null = no top-ups (older runs, or no
4
+ -- allowed overrun): the reservation is the run's limit, as before.
5
+ ALTER TABLE "CodingRun" ADD COLUMN "budgetLimitUsd" DECIMAL(10,6);
6
+
7
+ -- A top-up the group or run tree had no room for. Postgres 12+ allows ADD VALUE
8
+ -- inside a transaction as long as the new value is not used in the same one.
9
+ ALTER TYPE "RunBudgetEventKind" ADD VALUE 'overrun_unavailable';
@@ -0,0 +1,22 @@
1
+ -- Session resume: per-agent setting, per-run copy, and transcript metadata.
2
+ ALTER TABLE "CodingAgentProfile" ADD COLUMN "sessionResume" BOOLEAN NOT NULL DEFAULT false;
3
+ ALTER TABLE "CodingRun" ADD COLUMN "sessionResume" BOOLEAN NOT NULL DEFAULT false;
4
+
5
+ CREATE TABLE "RunTranscript" (
6
+ "runId" TEXT NOT NULL,
7
+ "provider" TEXT NOT NULL,
8
+ "status" TEXT NOT NULL,
9
+ "reason" TEXT,
10
+ "sessionId" TEXT,
11
+ "blobKey" TEXT,
12
+ "sizeBytes" INTEGER,
13
+ "sha256" TEXT,
14
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
15
+ "expiresAt" TIMESTAMP(3) NOT NULL,
16
+ CONSTRAINT "RunTranscript_pkey" PRIMARY KEY ("runId")
17
+ );
18
+
19
+ CREATE INDEX "RunTranscript_expiresAt_idx" ON "RunTranscript"("expiresAt");
20
+
21
+ ALTER TABLE "RunTranscript" ADD CONSTRAINT "RunTranscript_runId_fkey"
22
+ FOREIGN KEY ("runId") REFERENCES "Run"("id") ON DELETE CASCADE ON UPDATE CASCADE;
@@ -0,0 +1,56 @@
1
+ -- Tool-backed host providers: config and approved snapshots. No secret values.
2
+ CREATE TABLE "HostProvider" (
3
+ "name" TEXT NOT NULL,
4
+ "contractVersion" INTEGER NOT NULL,
5
+ "gitHost" TEXT NOT NULL,
6
+ "apiHosts" TEXT[],
7
+ "gitUsername" TEXT NOT NULL,
8
+ "pullRequestUrlTemplate" TEXT NOT NULL,
9
+ "repositoryApiPath" TEXT NOT NULL,
10
+ "permissionApiPath" TEXT,
11
+ "webhook" JSONB NOT NULL,
12
+ "webhookSecretId" TEXT NOT NULL,
13
+ "permissionSecretId" TEXT,
14
+ "createdById" TEXT NOT NULL,
15
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
16
+ "updatedAt" TIMESTAMP(3) NOT NULL,
17
+ CONSTRAINT "HostProvider_pkey" PRIMARY KEY ("name")
18
+ );
19
+
20
+ CREATE TABLE "HostProviderOperation" (
21
+ "provider" TEXT NOT NULL,
22
+ "operation" TEXT NOT NULL,
23
+ "toolId" TEXT,
24
+ "code" TEXT NOT NULL,
25
+ "paramsZod" TEXT NOT NULL,
26
+ "approvedById" TEXT NOT NULL,
27
+ "approvedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
28
+ CONSTRAINT "HostProviderOperation_pkey" PRIMARY KEY ("provider", "operation")
29
+ );
30
+
31
+ CREATE TABLE "HostProviderCredential" (
32
+ "id" TEXT NOT NULL,
33
+ "provider" TEXT NOT NULL,
34
+ "repositoryPattern" TEXT NOT NULL,
35
+ "secretId" TEXT NOT NULL,
36
+ "credentialKind" TEXT NOT NULL DEFAULT 'static',
37
+ CONSTRAINT "HostProviderCredential_pkey" PRIMARY KEY ("id")
38
+ );
39
+
40
+ CREATE TABLE "HostProviderTrustedAccount" (
41
+ "provider" TEXT NOT NULL,
42
+ "accountId" TEXT NOT NULL,
43
+ "addedById" TEXT NOT NULL,
44
+ "addedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
45
+ CONSTRAINT "HostProviderTrustedAccount_pkey" PRIMARY KEY ("provider", "accountId")
46
+ );
47
+
48
+ CREATE UNIQUE INDEX "HostProviderCredential_provider_repositoryPattern_key" ON "HostProviderCredential"("provider", "repositoryPattern");
49
+
50
+ ALTER TABLE "HostProvider" ADD CONSTRAINT "HostProvider_webhookSecretId_fkey" FOREIGN KEY ("webhookSecretId") REFERENCES "Secret"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
51
+ ALTER TABLE "HostProvider" ADD CONSTRAINT "HostProvider_permissionSecretId_fkey" FOREIGN KEY ("permissionSecretId") REFERENCES "Secret"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
52
+ ALTER TABLE "HostProviderOperation" ADD CONSTRAINT "HostProviderOperation_provider_fkey" FOREIGN KEY ("provider") REFERENCES "HostProvider"("name") ON DELETE CASCADE ON UPDATE CASCADE;
53
+ ALTER TABLE "HostProviderOperation" ADD CONSTRAINT "HostProviderOperation_toolId_fkey" FOREIGN KEY ("toolId") REFERENCES "Tool"("id") ON DELETE SET NULL ON UPDATE CASCADE;
54
+ ALTER TABLE "HostProviderCredential" ADD CONSTRAINT "HostProviderCredential_provider_fkey" FOREIGN KEY ("provider") REFERENCES "HostProvider"("name") ON DELETE CASCADE ON UPDATE CASCADE;
55
+ ALTER TABLE "HostProviderCredential" ADD CONSTRAINT "HostProviderCredential_secretId_fkey" FOREIGN KEY ("secretId") REFERENCES "Secret"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
56
+ ALTER TABLE "HostProviderTrustedAccount" ADD CONSTRAINT "HostProviderTrustedAccount_provider_fkey" FOREIGN KEY ("provider") REFERENCES "HostProvider"("name") ON DELETE CASCADE ON UPDATE CASCADE;
@@ -0,0 +1,5 @@
1
+ -- A coding agent may work in several repositories: each link can name its own base
2
+ -- branch, and a run records that its repository came from a link.
3
+ ALTER TABLE "AgentRepository" ADD COLUMN "baseRef" TEXT;
4
+ ALTER TABLE "CodingRun" ADD COLUMN "viaRepositoryLink" BOOLEAN NOT NULL DEFAULT false;
5
+ ALTER TABLE "NativeGatewayCall" ADD COLUMN "childRepository" TEXT;
@@ -0,0 +1,4 @@
1
+ -- A sandboxed tool may set its own time limit per call, in milliseconds. Null keeps the
2
+ -- default limit. A host provider's approved snapshot of a tool keeps the value it approved.
3
+ ALTER TABLE "Tool" ADD COLUMN "timeoutMs" INTEGER;
4
+ ALTER TABLE "HostProviderOperation" ADD COLUMN "timeoutMs" INTEGER;
@@ -0,0 +1,33 @@
1
+ -- Remote MCP servers an owner registers, and their attachments to native agents.
2
+ CREATE TABLE "McpServer" (
3
+ "id" TEXT NOT NULL,
4
+ "ownerId" TEXT NOT NULL,
5
+ "name" TEXT NOT NULL,
6
+ "url" TEXT NOT NULL,
7
+ "secretNames" TEXT[] DEFAULT ARRAY[]::TEXT[],
8
+ "toolSnapshot" JSONB NOT NULL DEFAULT '[]',
9
+ "snapshotAt" TIMESTAMP(3),
10
+ "serverInfo" JSONB,
11
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
12
+ "updatedAt" TIMESTAMP(3) NOT NULL,
13
+ CONSTRAINT "McpServer_pkey" PRIMARY KEY ("id")
14
+ );
15
+
16
+ CREATE TABLE "AgentMcpServer" (
17
+ "agentId" TEXT NOT NULL,
18
+ "serverId" TEXT NOT NULL,
19
+ "allowedTools" TEXT[],
20
+ "callTimeoutMs" INTEGER,
21
+ "attachedById" TEXT NOT NULL,
22
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
23
+ "updatedAt" TIMESTAMP(3) NOT NULL,
24
+ CONSTRAINT "AgentMcpServer_pkey" PRIMARY KEY ("agentId", "serverId")
25
+ );
26
+
27
+ CREATE UNIQUE INDEX "McpServer_ownerId_name_key" ON "McpServer"("ownerId", "name");
28
+ CREATE INDEX "McpServer_ownerId_idx" ON "McpServer"("ownerId");
29
+ CREATE INDEX "AgentMcpServer_serverId_idx" ON "AgentMcpServer"("serverId");
30
+
31
+ ALTER TABLE "McpServer" ADD CONSTRAINT "McpServer_ownerId_fkey" FOREIGN KEY ("ownerId") REFERENCES "Principal"("id") ON DELETE CASCADE ON UPDATE CASCADE;
32
+ ALTER TABLE "AgentMcpServer" ADD CONSTRAINT "AgentMcpServer_agentId_fkey" FOREIGN KEY ("agentId") REFERENCES "Agent"("id") ON DELETE CASCADE ON UPDATE CASCADE;
33
+ ALTER TABLE "AgentMcpServer" ADD CONSTRAINT "AgentMcpServer_serverId_fkey" FOREIGN KEY ("serverId") REFERENCES "McpServer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
@@ -0,0 +1,5 @@
1
+ -- Coding runs: pinned MCP tools, the MCP token's hash, and a call counter.
2
+ ALTER TABLE "CodingProxySession" ADD COLUMN "mcpTools" JSONB;
3
+ ALTER TABLE "CodingProxySession" ADD COLUMN "mcpTokenHash" TEXT;
4
+ ALTER TABLE "CodingProxySession" ADD COLUMN "mcpCallCount" INTEGER NOT NULL DEFAULT 0;
5
+ CREATE UNIQUE INDEX "CodingProxySession_mcpTokenHash_key" ON "CodingProxySession"("mcpTokenHash");
@@ -0,0 +1,3 @@
1
+ -- The run-drivability and cancelled-task lookups filter Task on (runId, status); the drivability
2
+ -- check runs on every coding MCP request.
3
+ CREATE INDEX "Task_runId_status_idx" ON "Task"("runId", "status");