@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
@@ -1,14 +1,33 @@
1
+ import { type PackageAuditEntry, type PackageAuditMode } from "../../coding/registry/audit-mode.js";
1
2
  import type { PrismaClient } from "#prisma";
3
+ import type { RunTranscriptRecorder } from "../../coding/transcript/recorder.js";
4
+ import { type McpToolPin } from "../../core/mcp-tools.js";
2
5
  import { type CodingProvider } from "../../coding/provider.js";
6
+ import { type TopUpOutcome } from "../../core/budget-topup.js";
3
7
  import type { IssueTrackerRegistry } from "../issue-tracker/types.js";
4
8
  import { type RepoAccessGate } from "../../core/repo-access.js";
5
9
  import { type CodingRunObserver } from "../../coding/observability.js";
6
- import { type CodingRunResult } from "../../coding/protocol.js";
10
+ import { type CodingRunResult, type DependencyCacheReport } from "../../coding/protocol.js";
7
11
  import type { ProxyModelTerms, ProxyProtocol } from "../coding-proxy/types.js";
8
- import type { JobHandle, JobResourceLimits, WorkspaceJobLauncher } from "../jobs/types.js";
9
- import type { VcsProvider } from "../vcs/types.js";
12
+ import { type BudgetEventView } from "../../core/budget-events.js";
13
+ import { type JobHandle, type JobResourceLimits, type WorkspaceJobLauncher } from "../jobs/types.js";
14
+ import type { DescriptionWriteOutcome, VcsProvider } from "../vcs/types.js";
10
15
  import type { CodingImageSelector, ExecutionRecoveryResult, Executor, PersistedExecutionHandle } from "./types.js";
11
- import type { RelatedPullRequestEntry } from "../vcs/github.js";
16
+ import { type DescriptionBaseline, type RelatedPullRequestEntry } from "../vcs/github.js";
17
+ /** The longest a no-change fix round's description refresh may hold up the run's terminal write. */
18
+ export declare const DESCRIPTION_REFRESH_TIMEOUT_MS = 60000;
19
+ /**
20
+ * After the cluster refuses a run's launch for capacity, how long this executor leaves the run
21
+ * waiting in the queue before trying it again (drainCodingQueue starts it every tick meanwhile).
22
+ */
23
+ export declare const CAPACITY_RETRY_BACKOFF_MS = 60000;
24
+ /**
25
+ * What requeueAfterCapacityRefusal did: "requeued" the run waits in the queue again; "not_owned"
26
+ * the attempt no longer owns the run (another took it, or it ended), and nothing changed;
27
+ * "spend_recorded" its proxy session has spend against it, so nothing changed and the caller
28
+ * fails the run instead.
29
+ */
30
+ export type CapacityRequeueOutcome = "requeued" | "not_owned" | "spend_recorded";
12
31
  /**
13
32
  * Claude Code's commands run in its tool runner, which never reports back through the agent, so the
14
33
  * host rewrites registry-proxy download URLs in collected lockfiles itself (the Codex driver does it
@@ -21,15 +40,77 @@ export interface CodingRunRecord {
21
40
  resultBranch?: string;
22
41
  /** The commit the run started from. */
23
42
  baseSha?: string;
43
+ /** The worker's dependency cache report (CodingWorkerOutput.dependencyCache), on a run that used it. */
44
+ dependencyCacheResult?: DependencyCacheReport;
45
+ /** This run's pull request description outcome (descriptionOutcomeLabel); absent = not attempted. */
46
+ prDescriptionOutcome?: string;
47
+ /** A fresh run that wrote its PR's description: the hash, on its own (root) row. */
48
+ prDescriptionSha256?: string;
49
+ /** With prDescriptionSha256: the run whose text the description carries (the fresh run itself). */
50
+ prDescriptionRunId?: string;
51
+ }
52
+ /** The stored form of a description outcome: written, replaced, refreshed:<reason>, unchanged, edited_by_hand, skipped:<reason>. */
53
+ export declare function descriptionOutcomeLabel(outcome: DescriptionWriteOutcome): string;
54
+ /**
55
+ * What the root run of a legacy pull request (no recorded description hash)
56
+ * stored, from which the description it wrote is rebuilt. Raw stored values:
57
+ * the executor validates them.
58
+ */
59
+ export interface LegacyDescriptionSource {
60
+ repository: string;
61
+ baseRef: string;
62
+ headRef: string;
63
+ /** The root run's final message (CodingRun.result.summary); absent = nothing to rebuild. */
64
+ summary?: string;
65
+ /** CodingRun.result.tests, as stored. */
66
+ tests?: unknown;
67
+ /** CodingRun.dependencyCacheResult, as stored. */
68
+ dependencyCache?: unknown;
69
+ issueProvider?: string | null;
70
+ issueKey?: string | null;
24
71
  }
72
+ /**
73
+ * Where a continuation's pull request came from, to find the issue it was
74
+ * opened for: the root run's tracker issue, and the mention status (issue or
75
+ * pull request number) of the nearest run above the root that has one.
76
+ */
77
+ export interface LinkedIssueSource {
78
+ issueProvider?: string | null;
79
+ issueKey?: string | null;
80
+ /** `issueMention`: that run was started by a mention on an issue (isIssueMentionTask), not on a pull request. */
81
+ hostStatus?: {
82
+ provider: string;
83
+ repository: string;
84
+ number: number;
85
+ issueMention?: boolean;
86
+ } | null;
87
+ }
88
+ /** An issue to read for a continuation's task. */
89
+ export type LinkedIssueRef = {
90
+ provider: "github";
91
+ repository: string;
92
+ number: number;
93
+ } | {
94
+ provider: "jira";
95
+ key: string;
96
+ };
97
+ /** The longest reading the linked issue may hold up a continuation's launch. */
98
+ export declare const LINKED_ISSUE_READ_TIMEOUT_MS = 15000;
99
+ /** The store's description baseline; `legacySource` only on a legacy pull request. */
100
+ export type StoredDescriptionBaseline = DescriptionBaseline & {
101
+ legacySource?: LegacyDescriptionSource;
102
+ };
25
103
  export interface ContainerRunSnapshot {
26
104
  runId: string;
105
+ agentId: string;
27
106
  status: string;
28
107
  agentKind: string;
29
108
  /** Human-readable agent name (e.g. "knock-knock-implement") -- surfaced in continuation status notifications. */
30
109
  agentName: string;
31
110
  ownerId: string | null;
32
111
  task: string;
112
+ /** The run's raw request (no standing instructions); absent on older runs. */
113
+ request?: string;
33
114
  repository: string;
34
115
  baseRef: string;
35
116
  headRef: string;
@@ -49,6 +130,13 @@ export interface ContainerRunSnapshot {
49
130
  budgetUsd: number;
50
131
  /** The agent's own per-run budget; `budgetUsd` is less when its budget group had less left. */
51
132
  agentBudgetUsd?: number;
133
+ /** The run's budget before the agent's allowed overrun (CodingRun.budgetBaseUsd); absent for older runs. */
134
+ budgetBaseUsd?: number;
135
+ /**
136
+ * The most the run may spend through overrun top-ups (CodingRun.budgetLimitUsd); `budgetUsd` is
137
+ * what it has been granted so far. Absent for older runs and runs without an allowed overrun.
138
+ */
139
+ budgetLimitUsd?: number;
52
140
  budgetGroupName?: string | null;
53
141
  tokensIn: number;
54
142
  tokensOut: number;
@@ -63,12 +151,20 @@ export interface ContainerRunSnapshot {
63
151
  workspaceDiskMb: number | null;
64
152
  /** Admin-requested debug trace, fixed at dispatch (CodingRun.debugTrace). */
65
153
  debugTrace?: boolean;
154
+ /** The traced run's trace cap in MiB, fixed at dispatch (CodingRun.debugTraceMaxMb); null = the worker default. */
155
+ debugTraceMaxMb?: number | null;
66
156
  /** Claude Code turn limit, fixed at dispatch (CodingRun.maxTurns); null = the worker default. */
67
157
  maxTurns?: number | null;
158
+ /** Claude Code output tokens per reply, fixed at dispatch (CodingRun.maxOutputTokens); null = the worker default. */
159
+ maxOutputTokens?: number | null;
68
160
  /** Load the repo's agent skills, fixed at dispatch (CodingRun.repoSkills); absent on older snapshots = true. */
69
161
  repoSkills?: boolean;
70
162
  /** Claude Code loading mode, fixed at dispatch (CodingRun.claudeBareMode); absent on older snapshots = true. */
71
163
  claudeBareMode?: boolean;
164
+ /** Dependency cache, fixed at dispatch (CodingRun.dependencyCache); absent on older snapshots = false. */
165
+ dependencyCache?: boolean;
166
+ /** Session resume, fixed at dispatch (CodingRun.sessionResume); absent on older snapshots = false. */
167
+ sessionResume?: boolean;
72
168
  /** Coding-run services resolved at dispatch (CodingRun.services); parsed with parseStoredServices. */
73
169
  services?: unknown;
74
170
  /** The terminal failure category, once the run has one (CodingRun.failureCategory). */
@@ -77,6 +173,12 @@ export interface ContainerRunSnapshot {
77
173
  profileRepository: string | null;
78
174
  /** How the profile's repository was authorized (CodingAgentProfile.repositoryAuthorizedVia). */
79
175
  repositoryAuthorizedVia: string | null;
176
+ /** The run's repository was chosen from the agent's list (CodingRun.viaRepositoryLink). */
177
+ viaRepositoryLink: boolean;
178
+ /** How the agent's current write link for the run's repository was authorized; null when there is none. */
179
+ repositoryLinkAuthorizedVia: string | null;
180
+ /** The agent's write link for the run's repository still exists (always false for a run not made via a link). */
181
+ repositoryLinkExists: boolean;
80
182
  /** The run's catalog entry recorded at dispatch (Run.pricingSnapshot); null on runs from before the catalog. */
81
183
  pricingVersion: string | null;
82
184
  pricingSnapshot: unknown;
@@ -98,6 +200,18 @@ export interface ContainerExecutionStore {
98
200
  */
99
201
  markQueued?(runId: string): Promise<void>;
100
202
  persistHandle(runId: string, claimId: string, handle: JobHandle): Promise<void>;
203
+ /**
204
+ * Returns a run whose launch the backend refused for capacity (JobCapacityError) to the coding
205
+ * queue: pending, no job handle, no proxy session, and queuedAt the run's dispatch time, so it
206
+ * keeps its place and CODING_QUEUE_TIMEOUT_SEC still counts from when it first waited. Only while
207
+ * the caller still owns it (the provisioning claim, or the planned handle it persisted — all
208
+ * recovery has after a crash), and only when its session has no spend; otherwise it changes
209
+ * nothing and says why. Optional: without it the refused run fails.
210
+ */
211
+ requeueAfterCapacityRefusal?(runId: string, owned: {
212
+ claimId?: string;
213
+ planned?: JobHandle;
214
+ }): Promise<CapacityRequeueOutcome>;
101
215
  heartbeat(runId: string): Promise<void>;
102
216
  /**
103
217
  * The pull requests already opened for the same request as this run (same
@@ -105,8 +219,62 @@ export interface ContainerExecutionStore {
105
219
  * Related pull requests section. Optional: without it no section is written.
106
220
  */
107
221
  relatedPullRequests?(runId: string): Promise<RelatedPullRequestEntry[]>;
222
+ /**
223
+ * The root run's record of the PR description wardby last wrote, for a fix
224
+ * round's description update. Optional: without it fix rounds leave the
225
+ * description alone.
226
+ */
227
+ pullRequestDescriptionBaseline?(rootRunId: string): Promise<StoredDescriptionBaseline>;
228
+ /**
229
+ * The runs that pushed to the root run's pull request (the root, then its
230
+ * continuations whose result pushed, oldest first), for the cumulative
231
+ * Packages section. Optional: without it the section lists this run's only.
232
+ */
233
+ pullRequestRunIds?(rootRunId: string): Promise<string[]>;
234
+ /**
235
+ * Whether wardby marked the root run's pull request ready for review
236
+ * (CodingRun.markedReadyAt). Optional: the fallback when the host's draft
237
+ * state is unknown; without it the pull request counts as a draft.
238
+ */
239
+ pullRequestMarkedReady?(rootRunId: string): Promise<boolean>;
240
+ /**
241
+ * Where the root run's pull request came from (see LinkedIssueSource).
242
+ * Optional: without it continuations get no issue text.
243
+ */
244
+ linkedIssueSource?(rootRunId: string): Promise<LinkedIssueSource>;
245
+ /**
246
+ * Compare-and-set of the root run's description hash and author run: writes
247
+ * only while the root still records `expectedSha256` (null = none). False
248
+ * when another write got there first.
249
+ */
250
+ recordPullRequestDescription?(input: {
251
+ rootRunId: string;
252
+ expectedSha256: string | null;
253
+ sha256: string;
254
+ agentTextRunId: string;
255
+ }): Promise<boolean>;
108
256
  complete(runId: string, status: "succeeded" | "budget_exhausted", result: CodingRunResult, record?: CodingRunRecord): Promise<void>;
109
- terminate(runId: string, status: "failed" | "refused" | "lost" | "budget_exhausted" | "cancelled", error: string, audit?: CodingFailureAudit): Promise<void>;
257
+ terminate(runId: string, status: "failed" | "refused" | "lost" | "budget_exhausted" | "cancelled", error: string, audit?: CodingFailureAudit): Promise<boolean>;
258
+ /**
259
+ * Copies the proxy session's first budget refusal (CodingProxySession.budgetRefusal, written by the
260
+ * proxy, which has no access to RunBudgetEvent) into the run's budget events, once per run, whatever
261
+ * status the run ends with. A session that never recorded one adds nothing. Optional: without it no
262
+ * event is written.
263
+ */
264
+ recordBudgetRefusal?(runId: string, sessionId: string): Promise<void>;
265
+ /** The run's recorded budget refusal with names filled in, or null. Optional: without it no event is shown. */
266
+ budgetEvent?(runId: string): Promise<{
267
+ event: BudgetEventView;
268
+ agentName: string;
269
+ } | null>;
270
+ /**
271
+ * Grants a run with an overrun limit one top-up when it is close to its grant and its budget group
272
+ * and run tree have room (budget-topup.ts). Optional: without it a run stops at its base.
273
+ */
274
+ topUpBudget?(runId: string): Promise<{
275
+ outcome: TopUpOutcome;
276
+ near?: boolean;
277
+ }>;
110
278
  }
111
279
  export interface CodingFailureAudit {
112
280
  failureCategory: string;
@@ -126,12 +294,35 @@ export declare class PrismaContainerExecutionStore implements ContainerExecution
126
294
  private get hasTrackers();
127
295
  load(runId: string): Promise<ContainerRunSnapshot | null>;
128
296
  relatedPullRequests(runId: string): Promise<RelatedPullRequestEntry[]>;
297
+ pullRequestMarkedReady(rootRunId: string): Promise<boolean>;
298
+ pullRequestDescriptionBaseline(rootRunId: string): Promise<StoredDescriptionBaseline>;
299
+ linkedIssueSource(rootRunId: string): Promise<LinkedIssueSource>;
300
+ pullRequestRunIds(rootRunId: string): Promise<string[]>;
301
+ recordPullRequestDescription(input: {
302
+ rootRunId: string;
303
+ expectedSha256: string | null;
304
+ sha256: string;
305
+ agentTextRunId: string;
306
+ }): Promise<boolean>;
129
307
  claimProvisioning(runId: string, claimId: string): Promise<ProvisioningClaim>;
130
308
  markQueued(runId: string): Promise<void>;
309
+ requeueAfterCapacityRefusal(runId: string, owned: {
310
+ claimId?: string;
311
+ planned?: JobHandle;
312
+ }): Promise<CapacityRequeueOutcome>;
131
313
  persistHandle(runId: string, claimId: string, handle: JobHandle): Promise<void>;
132
314
  heartbeat(runId: string): Promise<void>;
133
315
  complete(runId: string, status: "succeeded" | "budget_exhausted", result: CodingRunResult, record?: CodingRunRecord): Promise<void>;
134
- terminate(runId: string, status: "failed" | "refused" | "lost" | "budget_exhausted" | "cancelled", error: string, audit?: CodingFailureAudit): Promise<void>;
316
+ recordBudgetRefusal(runId: string, sessionId: string): Promise<void>;
317
+ budgetEvent(runId: string): Promise<{
318
+ event: BudgetEventView;
319
+ agentName: string;
320
+ } | null>;
321
+ topUpBudget(runId: string): Promise<{
322
+ outcome: TopUpOutcome;
323
+ near?: boolean;
324
+ }>;
325
+ terminate(runId: string, status: "failed" | "refused" | "lost" | "budget_exhausted" | "cancelled", error: string, audit?: CodingFailureAudit): Promise<boolean>;
135
326
  }
136
327
  export interface CodingSessionController {
137
328
  createSession(input: {
@@ -143,6 +334,10 @@ export interface CodingSessionController {
143
334
  budgetUsd: number;
144
335
  /** The run's catalog entry; the proxy prices and shapes the run's requests from it. */
145
336
  terms?: ProxyModelTerms;
337
+ /** The run's pinned MCP tools; set with mcpTokenHash, only when the agent has at least one. */
338
+ mcpTools?: McpToolPin[];
339
+ /** The hash of the run's MCP token (src/coding/mcp-token.ts); the token itself stays in the vault. */
340
+ mcpTokenHash?: string;
146
341
  }): Promise<{
147
342
  id: string;
148
343
  capability: string;
@@ -153,19 +348,38 @@ export interface CodingSessionController {
153
348
  /** The code of the first model-provider failure the proxy relayed for this session, if any. */
154
349
  upstreamFailure?(sessionId: string): Promise<string | null>;
155
350
  }
156
- /** Plain capabilities live only for the short provisioning window. */
351
+ /**
352
+ * Plain capabilities live only for the short provisioning window. A run with MCP tools keeps its
353
+ * MCP token here too, next to the capability, so the launcher delivers it the same way; both are
354
+ * deleted together.
355
+ */
157
356
  export declare class RunCapabilityVault {
158
357
  private readonly values;
358
+ private readonly mcpTokens;
159
359
  set(runId: string, capability: string): void;
160
360
  get(runId: string): Promise<string>;
361
+ setMcpToken(runId: string, token: string): void;
362
+ /** The run's MCP token; undefined for a run without MCP tools (and once the launch is over). */
363
+ mcpToken(runId: string): Promise<string | undefined>;
161
364
  delete(runId: string): void;
162
365
  }
163
366
  export interface ContainerExecutorOptions {
367
+ /** Session resume: stores a run's transcript before its job is removed. Absent = never captured. */
368
+ transcripts?: Pick<RunTranscriptRecorder, "record">;
164
369
  store: ContainerExecutionStore;
165
370
  jobs: WorkspaceJobLauncher;
166
371
  vcs: VcsProvider;
167
372
  sessions: CodingSessionController;
168
373
  capabilities: RunCapabilityVault;
374
+ /**
375
+ * The agent's MCP tool pins (composition wires loadMcpToolPins; [] when WARDBY_MCP_SERVERS=off).
376
+ * Absent = no coding run gets MCP tools. A run with pins gets an MCP token, delivered as
377
+ * WARDBY_MCP_TOKEN; one without gets neither. `readOnlyOnly` comes from the run's dispatched
378
+ * provider (isCodexCoding(run.provider)), never the agent's current profile.
379
+ */
380
+ mcpToolPins?: (agentId: string, options: {
381
+ readOnlyOnly: boolean;
382
+ }) => Promise<McpToolPin[]>;
169
383
  artifactRoot: string;
170
384
  /**
171
385
  * The Codex worker for the "node" toolchain (CODING_WORKER_IMAGE). Optional on a Claude-only
@@ -218,6 +432,16 @@ export interface ContainerExecutorOptions {
218
432
  * reporting failure must never fail the run itself.
219
433
  */
220
434
  registryReport?: (runId: string) => Promise<RegistryReport>;
435
+ /**
436
+ * Reads an issue's title and body for a continuation's task (composition
437
+ * wires the review host's issue read and the issue tracker). Null when it
438
+ * isn't an issue (a pull request number) or can't be found. Optional:
439
+ * without it continuations get no issue text.
440
+ */
441
+ readLinkedIssue?: (ref: LinkedIssueRef) => Promise<{
442
+ title: string;
443
+ body: string;
444
+ } | null>;
221
445
  /** Browse URL for an issue of a tracker provider (composition wires the issue-tracker registry); undefined when unconfigured. */
222
446
  issueUrl?: (provider: string, key: string) => string | undefined;
223
447
  /**
@@ -227,18 +451,26 @@ export interface ContainerExecutorOptions {
227
451
  */
228
452
  repoAccess: RepoAccessGate;
229
453
  }
230
- /** A run's deduplicated served packages and refusals (see summarizeRegistryFetches). */
454
+ /** A run's deduplicated served packages and refusals (see summarizeRegistryFetches), and its package audit. */
455
+ /** The poll interval, at most, while a run with an overrun limit is near its grant. */
456
+ export declare const TOP_UP_NEAR_POLL_MS = 1000;
231
457
  export interface RegistryReport {
232
458
  packages: Array<{
233
459
  ecosystem: string;
234
460
  name: string;
235
461
  version: string;
462
+ acceptedAdvisories?: string[];
236
463
  }>;
237
464
  packageRefusals: Array<{
238
465
  ecosystem: string;
239
466
  name: string;
240
467
  reason: string;
468
+ listingOnly?: boolean;
241
469
  }>;
470
+ /** The run's package audit mode (CodingRun.packageAuditMode); absent when it was off. */
471
+ packageAuditMode?: PackageAuditMode;
472
+ /** What the registry served only because of it (summarizePackageAudit entries). */
473
+ packageAudit?: PackageAuditEntry[];
242
474
  }
243
475
  export declare class ContainerExecutor implements Executor {
244
476
  private readonly options;
@@ -248,6 +480,11 @@ export declare class ContainerExecutor implements Executor {
248
480
  private readonly now;
249
481
  private readonly observer;
250
482
  private readonly startedAt;
483
+ /**
484
+ * When the cluster last refused each queued run's launch for capacity (this.now() ms). Per
485
+ * process: another replica's drain may start the run again inside the backoff.
486
+ */
487
+ private readonly capacityRefusedAt;
251
488
  constructor(options: ContainerExecutorOptions);
252
489
  start(runId: string): Promise<void>;
253
490
  stop(runId: string, reason?: string): Promise<void>;
@@ -285,14 +522,118 @@ export declare class ContainerExecutor implements Executor {
285
522
  * access. Throws RepoAccessError (refused before anything is cloned).
286
523
  */
287
524
  private authorizeRepository;
288
- /** The originating issue for the PR title/body: control-plane data from the CodingRun row, key re-validated. */
525
+ /**
526
+ * The CodingRun's recorded issue as the Related section shows it (a Jira or
527
+ * GitHub issue): control-plane data from the CodingRun row, key re-validated.
528
+ */
529
+ private recordedIssue;
530
+ /**
531
+ * The originating tracker issue for the PR title/body. A GitHub issue is not
532
+ * one: its line comes from issueSourceFor (`From issue #N`).
533
+ */
289
534
  private issueFor;
535
+ /**
536
+ * The PR title/body's originating issue, whichever system it is in: the
537
+ * CodingRun's tracker issue (issueFor), else the GitHub issue in the same
538
+ * repository whose mention started the run tree (`From issue #N`). Read from
539
+ * the root run, so a continuation's rebuilt body keeps the root's line.
540
+ * Never throws: a failed lookup gives no issue line.
541
+ */
542
+ private issueSourceFor;
290
543
  /** The new PR's Related pull requests input: earlier PRs of the same request, then this one. Never throws. */
291
544
  private relatedFor;
292
545
  /** The run's stored model terms; a run from before the catalog resolves them from the current catalog. */
293
546
  private modelTerms;
547
+ /**
548
+ * `launched`: the run's job was already launched (it is running, or done and
549
+ * only its push is left). The cost check applies only before launch: one
550
+ * reply can cost more than its hold, so a launched run may already be past
551
+ * its limit, and its finished work is still delivered.
552
+ */
294
553
  private preflight;
295
554
  private finishTerminal;
555
+ /** Whether the run's workspace merged its pull request's target branch (PreparedWorkspace.targetMerge). */
556
+ private mergedTargetBranch;
557
+ /**
558
+ * Pushes a finished job's changes: copies the job's workspace into the run's,
559
+ * then, right before finalizeChanges pushes, checks again that the owner still
560
+ * has access and that the run was not stopped meanwhile. Shared by a finished
561
+ * run and one stopped at its budget; throws whatever stops the push.
562
+ */
563
+ private pushChanges;
564
+ /**
565
+ * A run stopped at its budget whose worker exited cleanly keeps its changes so
566
+ * far: they are pushed as the usual draft (or branch), with a summary that says
567
+ * the work is unfinished. A fresh pull request's description starts with that
568
+ * summary; a continuation leaves its pull request's description alone (the
569
+ * status comment says the run stopped), and pushes nothing onto a pull request
570
+ * that is no longer a draft. Null when there was nothing to push or the push
571
+ * failed or was skipped for any reason: the run then ends out of budget without
572
+ * them. Once pushed, the pushed outcome is always returned. Throws only when the
573
+ * run was stopped meanwhile (the stop wrote its terminal row).
574
+ */
575
+ private keepStoppedChanges;
576
+ /**
577
+ * The pull request description a continuation run is about to replace, for
578
+ * its task. Undefined for a fresh run or when it cannot be loaded: the run
579
+ * goes ahead without the note.
580
+ */
581
+ private currentDescriptionText;
582
+ /**
583
+ * The issue a continuation's pull request was opened for, read for its task
584
+ * the way the first run had it: the root run's Jira issue, else the GitHub
585
+ * issue whose mention started the work (same repository), else the issue the
586
+ * description wardby last wrote closes (same repository). Each candidate is
587
+ * read in turn until one is an issue. Undefined for a fresh or local run, or
588
+ * on any failure: the run goes ahead without it.
589
+ */
590
+ private linkedIssueFor;
591
+ private readLinkedIssue;
592
+ /**
593
+ * A fix round's description baseline (null: no description flow -- a fresh
594
+ * run, or a store without it). Never throws: a load failure is recorded as
595
+ * skipped:error and the push goes ahead without a description update.
596
+ */
597
+ /**
598
+ * Whether a continuation's pull request is still a draft: the host's answer
599
+ * when it has one, else the root run's record of wardby marking it ready.
600
+ * A failed record lookup counts as not a draft (nothing unfinished is pushed).
601
+ */
602
+ private continuationStillDraft;
603
+ private descriptionStateFor;
604
+ /**
605
+ * A legacy pull request's description as its root run wrote it, rebuilt from
606
+ * stored records (the final message, tests, packages, dependency cache line
607
+ * and issue line; the Related section is not hashed), and hashed. Undefined
608
+ * when the root stored no final message, or on any failure: the description
609
+ * then counts as edited, the safe direction. A lock file line the root's
610
+ * refusal warning may have carried is not stored, so such a description
611
+ * never matches.
612
+ */
613
+ private legacyDescriptionSha256;
614
+ /**
615
+ * The Packages section's input: on a continuation, every package installed
616
+ * by the runs that pushed to the pull request plus this run (merged in run
617
+ * order); refusals are this run's only, since they describe the current
618
+ * state. A fresh run, or a failed listing, reports this run's alone.
619
+ */
620
+ private pullRequestRegistryReport;
621
+ /**
622
+ * The run's description columns for store.complete. A fresh run that wrote
623
+ * its PR records the hash on its own (root) row; a fix round that wrote or
624
+ * kept wardby's text compare-and-sets the root's hash. Never throws.
625
+ */
626
+ private recordDescription;
627
+ /**
628
+ * refreshDescriptionWithoutPush, capped at DESCRIPTION_REFRESH_TIMEOUT_MS so a
629
+ * slow host cannot hold up store.complete; a timeout is skipped:error.
630
+ */
631
+ private refreshDescriptionInTime;
632
+ /**
633
+ * A fix round that changed nothing still re-derives its PR description (no
634
+ * push). Never throws: any failure is recorded as skipped:error.
635
+ */
636
+ private refreshDescriptionWithoutPush;
296
637
  /** Runs the onCodingRunTerminal hook; nothing it does, throws, or rejects reaches the caller. */
297
638
  private notifyTerminal;
298
639
  /** The package report is informational: any failure loading it (a
@@ -325,7 +666,27 @@ export declare class ContainerExecutor implements Executor {
325
666
  supportsCodingServices(provider: CodingProvider): boolean;
326
667
  /** Delegates to the job launcher's own warm-up (Executor.warmUp); a no-op for a launcher without one. */
327
668
  warmUp(): Promise<void>;
669
+ /**
670
+ * Throws coding_run_no_longer_active once something else made the run terminal (a stop's
671
+ * cancellation fence): nothing may then be pushed, opened, or rewritten on the host for it.
672
+ */
673
+ private requireActive;
328
674
  private requireCurrent;
675
+ /**
676
+ * Recovery's half of a capacity refusal: the launcher recorded it, but the process died before the
677
+ * store put the run back in the queue. The planned handle the attempt persisted is the ownership
678
+ * proof; the run waits in the queue again, never reported ended.
679
+ */
680
+ private finishCapacityRequeue;
681
+ /**
682
+ * After drainCodingQueue failed a queued run (coding_queue_timeout): releases what an earlier
683
+ * attempt the cluster refused left behind, as stop() does for a queued run. A refused
684
+ * continuation already marked its pull request as being worked on; that check is finished
685
+ * here. Best effort; the artifact is removed only where this process wrote it.
686
+ */
687
+ cleanupQueueTimeout(runId: string): Promise<void>;
688
+ private recordCapacityRefusal;
689
+ private inCapacityBackoff;
329
690
  /**
330
691
  * False when the launcher reports this run's job would not fit the cluster right now; the run
331
692
  * is then queued and drainCodingQueue retries it. Launchers and stores without the hooks, and
@@ -336,9 +697,27 @@ export declare class ContainerExecutor implements Executor {
336
697
  private credentialRef;
337
698
  private writeInput;
338
699
  private artifactPath;
700
+ /**
701
+ * A continuation's pull request from the run record alone, for the host-side
702
+ * finish signals when the workspace is gone (another control-plane process
703
+ * launched the run). Null for a fresh run: it has no pull request yet.
704
+ */
705
+ private continuationTargetOf;
706
+ /**
707
+ * Session resume: never throws, never changes the run's outcome. The recorder redacts; only a status
708
+ * code is logged. The run capability is already gone from the vault, so it is not passed (the recorder
709
+ * removes its fixed token shape).
710
+ */
711
+ private recordTranscript;
339
712
  private preflightForCleanup;
340
713
  private abandon;
341
714
  private cleanupTerminal;
715
+ /**
716
+ * Records the session's budget refusal on the run, at every ending: a run the proxy refused once may
717
+ * still finish, fail for another reason, or be stopped. A session with no refusal adds nothing.
718
+ * Best effort; never throws.
719
+ */
720
+ private recordRefusal;
342
721
  /** Whether the proxy refused this run's session for budget. Never throws. */
343
722
  private outOfBudget;
344
723
  /** The model-provider failure the proxy relayed for this run's session, classified. Never throws. */
@@ -350,6 +729,8 @@ export declare class ContainerExecutor implements Executor {
350
729
  * still logged under its diagnostic id.
351
730
  */
352
731
  private providerFailureOf;
732
+ /** The overrun sentence for a finished run that spent past its base budget, as status details. */
733
+ private overrunDetails;
353
734
  /** The host-safe sentence for a run that ran out of budget. */
354
735
  private budgetSentence;
355
736
  /**
@@ -372,3 +753,7 @@ export declare class ContainerExecutor implements Executor {
372
753
  }
373
754
  /** Operator-facing failure text: the message plus its cause chain, redacted. */
374
755
  export declare function describeFailure(error: unknown, depth?: number): string;
756
+ /** The agent's MCP tool pins could not be read at launch (a database error): the run fails, nothing launched. */
757
+ export declare const MCP_PINS_UNAVAILABLE_ERROR = "coding_mcp_pins_unavailable";
758
+ /** Its category: the run's error is coding_failure_mcp_pins_unavailable:<diagnostic id>. */
759
+ export declare const MCP_PINS_UNAVAILABLE_CATEGORY = "mcp_pins_unavailable";