@wardby/cli 0.5.3 → 0.7.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 (763) hide show
  1. package/.env.example +33 -0
  2. package/README.md +25 -14
  3. package/deploy/local/docker-compose.quickstart-coding.yml +13 -0
  4. package/dist/claude-coding-worker/context.d.ts +22 -0
  5. package/dist/claude-coding-worker/context.js +92 -0
  6. package/dist/claude-coding-worker/driver.d.ts +27 -3
  7. package/dist/claude-coding-worker/driver.js +161 -20
  8. package/dist/claude-coding-worker/main.js +34 -6
  9. package/dist/claude-coding-worker/sdk.js +25 -5
  10. package/dist/claude-coding-worker/tool-socket.d.ts +27 -0
  11. package/dist/claude-coding-worker/tool-socket.js +111 -0
  12. package/dist/claude-coding-worker/transcript.d.ts +18 -0
  13. package/dist/claude-coding-worker/transcript.js +77 -0
  14. package/dist/cli-help.d.ts +1 -1
  15. package/dist/cli-help.js +6 -2
  16. package/dist/cli-native-mode.d.ts +9 -0
  17. package/dist/cli-native-mode.js +20 -0
  18. package/dist/cli.d.ts +3 -1
  19. package/dist/cli.js +161 -11
  20. package/dist/coding/claude-context.d.ts +45 -0
  21. package/dist/coding/claude-context.js +434 -0
  22. package/dist/coding/continuation-wording.d.ts +35 -0
  23. package/dist/coding/continuation-wording.js +73 -0
  24. package/dist/coding/linked-issue-note.d.ts +23 -0
  25. package/dist/coding/linked-issue-note.js +47 -0
  26. package/dist/coding/merge-wording.d.ts +28 -0
  27. package/dist/coding/merge-wording.js +78 -0
  28. package/dist/coding/pr-description-note.d.ts +9 -0
  29. package/dist/coding/pr-description-note.js +32 -0
  30. package/dist/coding/profile.d.ts +50 -118
  31. package/dist/coding/profile.js +51 -4
  32. package/dist/coding/protected-path-wording.d.ts +8 -0
  33. package/dist/coding/protected-path-wording.js +1 -1
  34. package/dist/coding/protocol.d.ts +292 -270
  35. package/dist/coding/protocol.js +322 -15
  36. package/dist/coding/redact.d.ts +3 -0
  37. package/dist/coding/redact.js +12 -0
  38. package/dist/coding/registry/allowlist.d.ts +12 -0
  39. package/dist/coding/registry/allowlist.js +14 -1
  40. package/dist/coding/registry/audit-mode.d.ts +153 -0
  41. package/dist/coding/registry/audit-mode.js +304 -0
  42. package/dist/coding/registry/lockfile-shared.d.ts +36 -0
  43. package/dist/coding/registry/lockfile-shared.js +128 -0
  44. package/dist/coding/registry/lockfiles.js +1 -1
  45. package/dist/coding/registry/npm-lockfile-formats.d.ts +11 -0
  46. package/dist/coding/registry/npm-lockfile-formats.js +41 -0
  47. package/dist/coding/registry/npm-lockfile.d.ts +8 -4
  48. package/dist/coding/registry/npm-lockfile.js +4 -6
  49. package/dist/coding/registry/npm.js +78 -8
  50. package/dist/coding/registry/pnpm-lockfile.d.ts +17 -0
  51. package/dist/coding/registry/pnpm-lockfile.js +189 -0
  52. package/dist/coding/registry/pypi-plan.d.ts +50 -0
  53. package/dist/coding/registry/pypi-plan.js +406 -0
  54. package/dist/coding/registry/pypi-requirements.d.ts +58 -0
  55. package/dist/coding/registry/pypi-requirements.js +155 -0
  56. package/dist/coding/registry/pypi.d.ts +3 -27
  57. package/dist/coding/registry/pypi.js +40 -154
  58. package/dist/coding/registry/refusal-hints.d.ts +20 -0
  59. package/dist/coding/registry/refusal-hints.js +61 -0
  60. package/dist/coding/registry/refusal-wording.d.ts +11 -0
  61. package/dist/coding/registry/refusal-wording.js +56 -0
  62. package/dist/coding/registry/report.d.ts +70 -8
  63. package/dist/coding/registry/report.js +112 -5
  64. package/dist/coding/registry/types.d.ts +58 -8
  65. package/dist/coding/registry/yarn-lockfile.d.ts +30 -0
  66. package/dist/coding/registry/yarn-lockfile.js +367 -0
  67. package/dist/coding/services/catalog.d.ts +37 -351
  68. package/dist/coding/transcript/claude-code.d.ts +13 -0
  69. package/dist/coding/transcript/claude-code.js +273 -0
  70. package/dist/coding/transcript/download-protocol.d.ts +30 -0
  71. package/dist/coding/transcript/download-protocol.js +18 -0
  72. package/dist/coding/transcript/format.d.ts +20 -0
  73. package/dist/coding/transcript/format.js +32 -0
  74. package/dist/coding/transcript/recorder.d.ts +51 -0
  75. package/dist/coding/transcript/recorder.js +225 -0
  76. package/dist/coding/transcript/resume/checkout.d.ts +31 -0
  77. package/dist/coding/transcript/resume/checkout.js +203 -0
  78. package/dist/coding/transcript/resume/command.d.ts +17 -0
  79. package/dist/coding/transcript/resume/command.js +176 -0
  80. package/dist/coding/transcript/resume/download.d.ts +20 -0
  81. package/dist/coding/transcript/resume/download.js +153 -0
  82. package/dist/coding/transcript/resume/launch.d.ts +38 -0
  83. package/dist/coding/transcript/resume/launch.js +128 -0
  84. package/dist/coding/transcript/resume/session-file.d.ts +13 -0
  85. package/dist/coding/transcript/resume/session-file.js +79 -0
  86. package/dist/coding/transcript/resume/stand-in.d.ts +11 -0
  87. package/dist/coding/transcript/resume/stand-in.js +49 -0
  88. package/dist/coding-worker/artifact.d.ts +16 -3
  89. package/dist/coding-worker/artifact.js +5 -3
  90. package/dist/coding-worker/debug-trace.d.ts +6 -5
  91. package/dist/coding-worker/debug-trace.js +13 -18
  92. package/dist/coding-worker/dependency-cache.d.mts +229 -0
  93. package/dist/coding-worker/dependency-cache.mjs +2123 -0
  94. package/dist/coding-worker/driver.d.ts +4 -3
  95. package/dist/coding-worker/driver.js +118 -38
  96. package/dist/coding-worker/errors.d.ts +1 -0
  97. package/dist/coding-worker/errors.js +32 -0
  98. package/dist/coding-worker/sdk.d.ts +6 -0
  99. package/dist/coding-worker/sdk.js +1 -0
  100. package/dist/coding-worker/skills.d.ts +23 -0
  101. package/dist/coding-worker/skills.js +117 -0
  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 +13 -0
  105. package/dist/config/dependency-cache.d.ts +23 -0
  106. package/dist/config/dependency-cache.js +32 -0
  107. package/dist/config/github-allowed-accounts.d.ts +15 -0
  108. package/dist/config/github-allowed-accounts.js +36 -0
  109. package/dist/config/low-power.d.ts +12 -0
  110. package/dist/config/low-power.js +18 -0
  111. package/dist/config/mobile.d.ts +12 -0
  112. package/dist/config/mobile.js +18 -0
  113. package/dist/config/providers.d.ts +65 -3
  114. package/dist/config/providers.js +147 -11
  115. package/dist/config/test-simulators.d.ts +82 -0
  116. package/dist/config/test-simulators.js +305 -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-queue.d.ts +2 -1
  130. package/dist/core/coding-queue.js +7 -0
  131. package/dist/core/cron.d.ts +19 -1
  132. package/dist/core/cron.js +17 -0
  133. package/dist/core/datastores.js +1 -1
  134. package/dist/core/db.d.ts +16 -6
  135. package/dist/core/db.js +12 -10
  136. package/dist/core/deferred-coding.d.ts +14 -0
  137. package/dist/core/deferred-coding.js +62 -0
  138. package/dist/core/delegation-child.d.ts +25 -0
  139. package/dist/core/delegation-child.js +37 -0
  140. package/dist/core/dispatch.d.ts +53 -0
  141. package/dist/core/dispatch.js +167 -57
  142. package/dist/core/engine-native.js +10 -6
  143. package/dist/core/error-code.d.ts +38 -0
  144. package/dist/core/error-code.js +168 -0
  145. package/dist/core/grants.d.ts +19 -6
  146. package/dist/core/grants.js +55 -6
  147. package/dist/core/host-events.d.ts +67 -5
  148. package/dist/core/host-events.js +571 -37
  149. package/dist/core/host-status.d.ts +85 -3
  150. package/dist/core/host-status.js +298 -20
  151. package/dist/core/issue-bridge.d.ts +50 -6
  152. package/dist/core/issue-bridge.js +151 -20
  153. package/dist/core/issue-events.d.ts +1 -1
  154. package/dist/core/issue-events.js +16 -11
  155. package/dist/core/issue-status.d.ts +1 -1
  156. package/dist/core/issue-status.js +68 -29
  157. package/dist/core/logger.d.ts +5 -0
  158. package/dist/core/logger.js +14 -1
  159. package/dist/core/lost-run-children.d.ts +6 -0
  160. package/dist/core/lost-run-children.js +32 -0
  161. package/dist/core/mark-ready.d.ts +34 -0
  162. package/dist/core/mark-ready.js +152 -0
  163. package/dist/core/markdown-code.d.ts +8 -0
  164. package/dist/core/markdown-code.js +107 -0
  165. package/dist/core/memory-tools.js +7 -0
  166. package/dist/core/merge-order-check.d.ts +130 -0
  167. package/dist/core/merge-order-check.js +343 -0
  168. package/dist/core/notification-dispatcher.d.ts +70 -0
  169. package/dist/core/notification-dispatcher.js +368 -0
  170. package/dist/core/notification-templates.d.ts +19 -0
  171. package/dist/core/notification-templates.js +139 -0
  172. package/dist/core/notifications.d.ts +10 -0
  173. package/dist/core/notifications.js +38 -0
  174. package/dist/core/pg-auth.d.ts +22 -0
  175. package/dist/core/pg-auth.js +152 -0
  176. package/dist/core/power-composition.d.ts +16 -0
  177. package/dist/core/power-composition.js +37 -0
  178. package/dist/core/power-idle.d.ts +14 -0
  179. package/dist/core/power-idle.js +30 -0
  180. package/dist/core/power.d.ts +71 -0
  181. package/dist/core/power.js +202 -0
  182. package/dist/core/pull-request-state-sync.js +2 -2
  183. package/dist/core/reconciler.d.ts +8 -5
  184. package/dist/core/reconciler.js +37 -6
  185. package/dist/core/related-pull-requests.d.ts +59 -7
  186. package/dist/core/related-pull-requests.js +140 -25
  187. package/dist/core/reply-parts.d.ts +21 -0
  188. package/dist/core/reply-parts.js +73 -0
  189. package/dist/core/repo-access.d.ts +15 -0
  190. package/dist/core/repo-access.js +66 -0
  191. package/dist/core/review-fix.d.ts +38 -1
  192. package/dist/core/review-fix.js +209 -7
  193. package/dist/core/review-host-checks.d.ts +1 -1
  194. package/dist/core/review-host-tools.d.ts +23 -0
  195. package/dist/core/review-host-tools.js +156 -14
  196. package/dist/core/review-reads.d.ts +55 -0
  197. package/dist/core/review-reads.js +233 -0
  198. package/dist/core/run-status.d.ts +12 -0
  199. package/dist/core/run-status.js +12 -0
  200. package/dist/core/runner.d.ts +384 -5
  201. package/dist/core/runner.js +1244 -372
  202. package/dist/core/schedule-start.d.ts +12 -0
  203. package/dist/core/schedule-start.js +14 -0
  204. package/dist/core/secret-broker-config.d.ts +39 -0
  205. package/dist/core/secret-broker-config.js +112 -0
  206. package/dist/core/secret-guard.d.ts +46 -0
  207. package/dist/core/secret-guard.js +104 -0
  208. package/dist/core/secret-guarded-stores.d.ts +12 -0
  209. package/dist/core/secret-guarded-stores.js +41 -0
  210. package/dist/core/secret-spans.d.ts +50 -0
  211. package/dist/core/secret-spans.js +94 -0
  212. package/dist/core/secrets.d.ts +39 -4
  213. package/dist/core/secrets.js +148 -40
  214. package/dist/core/stop-run.d.ts +46 -0
  215. package/dist/core/stop-run.js +61 -0
  216. package/dist/core/workflow-event-recorder.d.ts +14 -0
  217. package/dist/core/workflow-event-recorder.js +120 -0
  218. package/dist/core/workflow-events.d.ts +94 -0
  219. package/dist/core/workflow-events.js +48 -0
  220. package/dist/core/workflow-run-events.d.ts +18 -0
  221. package/dist/core/workflow-run-events.js +75 -0
  222. package/dist/core/zod-json-schema.d.ts +4 -0
  223. package/dist/core/zod-json-schema.js +39 -0
  224. package/dist/core/zod3-window.d.ts +35 -0
  225. package/dist/core/zod3-window.js +124 -0
  226. package/dist/generated/prisma/browser.d.ts +92 -3
  227. package/dist/generated/prisma/client.d.ts +92 -3
  228. package/dist/generated/prisma/commonInputTypes.d.ts +364 -54
  229. package/dist/generated/prisma/enums.d.ts +37 -0
  230. package/dist/generated/prisma/enums.js +31 -0
  231. package/dist/generated/prisma/internal/class.d.ts +132 -0
  232. package/dist/generated/prisma/internal/class.js +4 -4
  233. package/dist/generated/prisma/internal/prismaNamespace.d.ts +1332 -142
  234. package/dist/generated/prisma/internal/prismaNamespace.js +227 -5
  235. package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +234 -0
  236. package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +227 -5
  237. package/dist/generated/prisma/models/Agent.d.ts +464 -7
  238. package/dist/generated/prisma/models/AgentRepository.d.ts +42 -1
  239. package/dist/generated/prisma/models/CodingAgentProfile.d.ts +301 -1
  240. package/dist/generated/prisma/models/CodingProxyRequest.d.ts +207 -3
  241. package/dist/generated/prisma/models/CodingProxySession.d.ts +114 -1
  242. package/dist/generated/prisma/models/CodingRun.d.ts +1841 -1
  243. package/dist/generated/prisma/models/DeferredReview.d.ts +78 -1
  244. package/dist/generated/prisma/models/DependencySnapshot.d.ts +1668 -0
  245. package/dist/generated/prisma/models/DependencySnapshot.js +1 -0
  246. package/dist/generated/prisma/models/IssuePullRequest.d.ts +6 -2
  247. package/dist/generated/prisma/models/LocalReview.d.ts +40 -1
  248. package/dist/generated/prisma/models/NativeGatewayCall.d.ts +1713 -0
  249. package/dist/generated/prisma/models/NativeGatewayCall.js +1 -0
  250. package/dist/generated/prisma/models/NativeGatewaySession.d.ts +1551 -0
  251. package/dist/generated/prisma/models/NativeGatewaySession.js +1 -0
  252. package/dist/generated/prisma/models/NativeWarmWorker.d.ts +1296 -0
  253. package/dist/generated/prisma/models/NativeWarmWorker.js +1 -0
  254. package/dist/generated/prisma/models/NotificationChannel.d.ts +1543 -0
  255. package/dist/generated/prisma/models/NotificationChannel.js +1 -0
  256. package/dist/generated/prisma/models/NotificationDelivery.d.ts +1502 -0
  257. package/dist/generated/prisma/models/NotificationDelivery.js +1 -0
  258. package/dist/generated/prisma/models/NotificationThread.d.ts +1090 -0
  259. package/dist/generated/prisma/models/NotificationThread.js +1 -0
  260. package/dist/generated/prisma/models/RegistryAllowance.d.ts +41 -1
  261. package/dist/generated/prisma/models/RegistryApprovedVersion.d.ts +75 -1
  262. package/dist/generated/prisma/models/RegistryAuditRecord.d.ts +1364 -0
  263. package/dist/generated/prisma/models/RegistryAuditRecord.js +1 -0
  264. package/dist/generated/prisma/models/Run.d.ts +1619 -58
  265. package/dist/generated/prisma/models/RunBudgetEvent.d.ts +1211 -0
  266. package/dist/generated/prisma/models/RunBudgetEvent.js +1 -0
  267. package/dist/generated/prisma/models/RunHostCheck.d.ts +36 -1
  268. package/dist/generated/prisma/models/RunTranscript.d.ts +1339 -0
  269. package/dist/generated/prisma/models/RunTranscript.js +1 -0
  270. package/dist/generated/prisma/models/Secret.d.ts +37 -1
  271. package/dist/generated/prisma/models/SecretBrokerChange.d.ts +1101 -0
  272. package/dist/generated/prisma/models/SecretBrokerChange.js +1 -0
  273. package/dist/generated/prisma/models/WorkflowEvent.d.ts +1422 -0
  274. package/dist/generated/prisma/models/WorkflowEvent.js +1 -0
  275. package/dist/generated/prisma/models.d.ts +12 -0
  276. package/dist/help/build.js +4 -2
  277. package/dist/help/catalog.d.ts +1 -1
  278. package/dist/help/catalog.js +31 -6
  279. package/dist/help-index.json +2584 -146
  280. package/dist/import/create.js +49 -3
  281. package/dist/import/neutral-schema.d.ts +50 -277
  282. package/dist/import/neutral-schema.js +7 -4
  283. package/dist/knowledge/check.d.ts +1 -1
  284. package/dist/knowledge/cli.d.ts +11 -1
  285. package/dist/knowledge/cli.js +37 -4
  286. package/dist/knowledge/concept.d.ts +3 -19
  287. package/dist/knowledge/location.d.ts +31 -0
  288. package/dist/knowledge/location.js +78 -0
  289. package/dist/mcp/auth/access.d.ts +11 -2
  290. package/dist/mcp/auth/access.js +15 -1
  291. package/dist/mcp/auth/ownership.d.ts +7 -7
  292. package/dist/mcp/auth/repo-authorization.js +14 -0
  293. package/dist/mcp/auth/resource-server.d.ts +2 -1
  294. package/dist/mcp/auth/resource-server.js +7 -2
  295. package/dist/mcp/auth/self-hosted/browser.d.ts +1 -1
  296. package/dist/mcp/auth/self-hosted/browser.js +19 -6
  297. package/dist/mcp/auth/self-hosted/credentials.d.ts +3 -3
  298. package/dist/mcp/auth/self-hosted/session.d.ts +2 -2
  299. package/dist/mcp/context.d.ts +6 -0
  300. package/dist/mcp/host-events/github-ingress.d.ts +25 -1
  301. package/dist/mcp/host-events/github-ingress.js +70 -1
  302. package/dist/mcp/index.d.ts +19 -0
  303. package/dist/mcp/index.js +117 -20
  304. package/dist/mcp/server.d.ts +13 -0
  305. package/dist/mcp/server.js +33 -14
  306. package/dist/mcp/tools/agents.d.ts +4 -0
  307. package/dist/mcp/tools/agents.js +277 -24
  308. package/dist/mcp/tools/datastore.js +17 -8
  309. package/dist/mcp/tools/grants.js +9 -3
  310. package/dist/mcp/tools/memory.js +11 -1
  311. package/dist/mcp/tools/notification-channels.d.ts +2 -0
  312. package/dist/mcp/tools/notification-channels.js +293 -0
  313. package/dist/mcp/tools/packages.d.ts +2 -0
  314. package/dist/mcp/tools/packages.js +195 -0
  315. package/dist/mcp/tools/power.d.ts +2 -0
  316. package/dist/mcp/tools/power.js +77 -0
  317. package/dist/mcp/tools/repositories.js +18 -5
  318. package/dist/mcp/tools/run-access.d.ts +16 -0
  319. package/dist/mcp/tools/run-access.js +25 -0
  320. package/dist/mcp/tools/run-transcript-download.d.ts +30 -0
  321. package/dist/mcp/tools/run-transcript-download.js +129 -0
  322. package/dist/mcp/tools/run-transcript.d.ts +19 -0
  323. package/dist/mcp/tools/run-transcript.js +70 -0
  324. package/dist/mcp/tools/runs.d.ts +0 -6
  325. package/dist/mcp/tools/runs.js +41 -14
  326. package/dist/mcp/tools/scheduling.js +3 -1
  327. package/dist/mcp/tools/secret-broker-compat.d.ts +12 -0
  328. package/dist/mcp/tools/secret-broker-compat.js +23 -0
  329. package/dist/mcp/tools/secret-elicitation-form.d.ts +22 -2
  330. package/dist/mcp/tools/secret-elicitation-form.js +205 -10
  331. package/dist/mcp/tools/secret-elicitation-server.d.ts +6 -0
  332. package/dist/mcp/tools/secret-elicitation-server.js +10 -54
  333. package/dist/mcp/tools/secret-elicitation.d.ts +38 -3
  334. package/dist/mcp/tools/secret-elicitation.js +110 -12
  335. package/dist/mcp/tools/secrets.js +186 -9
  336. package/dist/mcp/tools/stop-run.d.ts +2 -0
  337. package/dist/mcp/tools/stop-run.js +82 -0
  338. package/dist/mcp/tools/subagents.js +2 -2
  339. package/dist/mcp/tools/tools.d.ts +2 -2
  340. package/dist/mcp/tools/tools.js +47 -11
  341. package/dist/mcp/transport/stdio-link-host.d.ts +20 -0
  342. package/dist/mcp/transport/stdio-link-host.js +67 -0
  343. package/dist/mcp/transport/streamable-http.d.ts +13 -0
  344. package/dist/mcp/transport/streamable-http.js +41 -1
  345. package/dist/native-worker/composition.d.ts +23 -0
  346. package/dist/native-worker/composition.js +77 -0
  347. package/dist/native-worker/docker-isolation.d.ts +65 -0
  348. package/dist/native-worker/docker-isolation.js +183 -0
  349. package/dist/native-worker/docker-launcher.d.ts +110 -0
  350. package/dist/native-worker/docker-launcher.js +297 -0
  351. package/dist/native-worker/gateway-server.d.ts +77 -0
  352. package/dist/native-worker/gateway-server.js +412 -0
  353. package/dist/native-worker/gateway.d.ts +70 -0
  354. package/dist/native-worker/gateway.js +263 -0
  355. package/dist/native-worker/http-server.d.ts +24 -0
  356. package/dist/native-worker/http-server.js +113 -0
  357. package/dist/native-worker/http-transport.d.ts +17 -0
  358. package/dist/native-worker/http-transport.js +88 -0
  359. package/dist/native-worker/kubernetes-isolation.d.ts +90 -0
  360. package/dist/native-worker/kubernetes-isolation.js +218 -0
  361. package/dist/native-worker/kubernetes-launcher.d.ts +106 -0
  362. package/dist/native-worker/kubernetes-launcher.js +375 -0
  363. package/dist/native-worker/launch.d.ts +62 -0
  364. package/dist/native-worker/launch.js +49 -0
  365. package/dist/native-worker/ledger.d.ts +125 -0
  366. package/dist/native-worker/ledger.js +245 -0
  367. package/dist/native-worker/loopback.d.ts +12 -0
  368. package/dist/native-worker/loopback.js +44 -0
  369. package/dist/native-worker/main.d.ts +8 -0
  370. package/dist/native-worker/main.js +85 -0
  371. package/dist/native-worker/protocol.d.ts +296 -0
  372. package/dist/native-worker/protocol.js +246 -0
  373. package/dist/native-worker/sandbox-executor.d.ts +83 -0
  374. package/dist/native-worker/sandbox-executor.js +284 -0
  375. package/dist/native-worker/stderr-redaction.d.ts +77 -0
  376. package/dist/native-worker/stderr-redaction.js +237 -0
  377. package/dist/native-worker/stdio.d.ts +29 -0
  378. package/dist/native-worker/stdio.js +189 -0
  379. package/dist/native-worker/warm-delivery.d.ts +16 -0
  380. package/dist/native-worker/warm-delivery.js +33 -0
  381. package/dist/native-worker/warm-pool-ledger.d.ts +39 -0
  382. package/dist/native-worker/warm-pool-ledger.js +73 -0
  383. package/dist/native-worker/warm-pool.d.ts +107 -0
  384. package/dist/native-worker/warm-pool.js +283 -0
  385. package/dist/native-worker/worker.d.ts +17 -0
  386. package/dist/native-worker/worker.js +141 -0
  387. package/dist/observability/metrics.js +6 -1
  388. package/dist/providers/auth/authorization-server.d.ts +3 -0
  389. package/dist/providers/auth/index.js +2 -0
  390. package/dist/providers/auth/self-hosted.d.ts +14 -2
  391. package/dist/providers/auth/self-hosted.js +54 -4
  392. package/dist/providers/chat/fake.d.ts +46 -0
  393. package/dist/providers/chat/fake.js +39 -0
  394. package/dist/providers/chat/index.d.ts +4 -0
  395. package/dist/providers/chat/index.js +8 -0
  396. package/dist/providers/chat/slack.d.ts +37 -0
  397. package/dist/providers/chat/slack.js +105 -0
  398. package/dist/providers/chat/types.d.ts +42 -0
  399. package/dist/providers/chat/types.js +19 -0
  400. package/dist/providers/coding-proxy/dependency-cache/eviction.d.ts +29 -0
  401. package/dist/providers/coding-proxy/dependency-cache/eviction.js +87 -0
  402. package/dist/providers/coding-proxy/dependency-cache/key.d.ts +33 -0
  403. package/dist/providers/coding-proxy/dependency-cache/key.js +86 -0
  404. package/dist/providers/coding-proxy/dependency-cache/model-request-seal.d.ts +18 -0
  405. package/dist/providers/coding-proxy/dependency-cache/model-request-seal.js +40 -0
  406. package/dist/providers/coding-proxy/dependency-cache/prisma-store.d.ts +25 -0
  407. package/dist/providers/coding-proxy/dependency-cache/prisma-store.js +131 -0
  408. package/dist/providers/coding-proxy/dependency-cache/service.d.ts +70 -0
  409. package/dist/providers/coding-proxy/dependency-cache/service.js +409 -0
  410. package/dist/providers/coding-proxy/dependency-cache/store.d.ts +85 -0
  411. package/dist/providers/coding-proxy/dependency-cache/store.js +95 -0
  412. package/dist/providers/coding-proxy/hold.d.ts +32 -0
  413. package/dist/providers/coding-proxy/hold.js +86 -0
  414. package/dist/providers/coding-proxy/interrupted.d.ts +70 -0
  415. package/dist/providers/coding-proxy/interrupted.js +104 -0
  416. package/dist/providers/coding-proxy/memory-ledger.d.ts +15 -2
  417. package/dist/providers/coding-proxy/memory-ledger.js +84 -8
  418. package/dist/providers/coding-proxy/metering.d.ts +16 -0
  419. package/dist/providers/coding-proxy/metering.js +27 -4
  420. package/dist/providers/coding-proxy/prisma-ledger.d.ts +15 -2
  421. package/dist/providers/coding-proxy/prisma-ledger.js +179 -67
  422. package/dist/providers/coding-proxy/proxy.d.ts +14 -1
  423. package/dist/providers/coding-proxy/proxy.js +166 -14
  424. package/dist/providers/coding-proxy/registry/audit.d.ts +53 -10
  425. package/dist/providers/coding-proxy/registry/audit.js +94 -17
  426. package/dist/providers/coding-proxy/registry/lockfile-parse-worker.d.ts +36 -0
  427. package/dist/providers/coding-proxy/registry/lockfile-parse-worker.js +67 -0
  428. package/dist/providers/coding-proxy/registry/lockfile-parse.d.ts +16 -0
  429. package/dist/providers/coding-proxy/registry/lockfile-parse.js +110 -0
  430. package/dist/providers/coding-proxy/registry/plan.d.ts +9 -0
  431. package/dist/providers/coding-proxy/registry/plan.js +201 -48
  432. package/dist/providers/coding-proxy/registry/prisma-store.d.ts +11 -5
  433. package/dist/providers/coding-proxy/registry/prisma-store.js +120 -17
  434. package/dist/providers/coding-proxy/registry/service.d.ts +97 -16
  435. package/dist/providers/coding-proxy/registry/service.js +579 -112
  436. package/dist/providers/coding-proxy/registry/store.d.ts +84 -9
  437. package/dist/providers/coding-proxy/registry/store.js +54 -1
  438. package/dist/providers/coding-proxy/runtime.d.ts +4 -0
  439. package/dist/providers/coding-proxy/runtime.js +78 -16
  440. package/dist/providers/coding-proxy/server.d.ts +6 -1
  441. package/dist/providers/coding-proxy/server.js +45 -1
  442. package/dist/providers/coding-proxy/types.d.ts +65 -1
  443. package/dist/providers/datastore/types.d.ts +5 -0
  444. package/dist/providers/engine/types.d.ts +36 -2
  445. package/dist/providers/engine/types.js +39 -0
  446. package/dist/providers/executor/composition.d.ts +31 -1
  447. package/dist/providers/executor/composition.js +81 -8
  448. package/dist/providers/executor/container.d.ts +385 -9
  449. package/dist/providers/executor/container.js +1234 -99
  450. package/dist/providers/executor/dbos-status.d.ts +31 -0
  451. package/dist/providers/executor/dbos-status.js +64 -0
  452. package/dist/providers/executor/dbos.d.ts +91 -0
  453. package/dist/providers/executor/dbos.js +319 -26
  454. package/dist/providers/executor/deferred.d.ts +44 -0
  455. package/dist/providers/executor/deferred.js +100 -0
  456. package/dist/providers/executor/in-process.d.ts +9 -1
  457. package/dist/providers/executor/in-process.js +14 -4
  458. package/dist/providers/executor/linked-issue-reader.d.ts +16 -0
  459. package/dist/providers/executor/linked-issue-reader.js +30 -0
  460. package/dist/providers/executor/routing.d.ts +39 -10
  461. package/dist/providers/executor/routing.js +77 -32
  462. package/dist/providers/executor/types.d.ts +25 -0
  463. package/dist/providers/index.d.ts +2 -1
  464. package/dist/providers/issue-tracker/types.d.ts +17 -0
  465. package/dist/providers/issue-tracker/types.js +39 -1
  466. package/dist/providers/jobs/claude-tool-setup.d.ts +4 -0
  467. package/dist/providers/jobs/claude-tool-setup.js +5 -2
  468. package/dist/providers/jobs/docker-isolation.d.ts +8 -0
  469. package/dist/providers/jobs/docker-isolation.js +17 -0
  470. package/dist/providers/jobs/docker.d.ts +1 -0
  471. package/dist/providers/jobs/docker.js +29 -4
  472. package/dist/providers/jobs/fake-kubernetes-api.d.ts +23 -2
  473. package/dist/providers/jobs/fake-kubernetes-api.js +45 -1
  474. package/dist/providers/jobs/kubernetes-api.d.ts +25 -1
  475. package/dist/providers/jobs/kubernetes-api.js +17 -0
  476. package/dist/providers/jobs/kubernetes-client.d.ts +10 -1
  477. package/dist/providers/jobs/kubernetes-client.js +61 -3
  478. package/dist/providers/jobs/kubernetes-dry-run-fixture.d.ts +6 -1
  479. package/dist/providers/jobs/kubernetes-dry-run-fixture.js +6 -3
  480. package/dist/providers/jobs/kubernetes-isolation.d.ts +5 -1
  481. package/dist/providers/jobs/kubernetes-isolation.js +23 -1
  482. package/dist/providers/jobs/kubernetes-platform.d.ts +4 -1
  483. package/dist/providers/jobs/kubernetes-platform.js +38 -1
  484. package/dist/providers/jobs/kubernetes-preflight.d.ts +2 -1
  485. package/dist/providers/jobs/kubernetes-preflight.js +4 -2
  486. package/dist/providers/jobs/kubernetes.d.ts +42 -2
  487. package/dist/providers/jobs/kubernetes.js +178 -19
  488. package/dist/providers/jobs/metadata-probes.d.ts +11 -0
  489. package/dist/providers/jobs/metadata-probes.js +13 -0
  490. package/dist/providers/jobs/types.d.ts +42 -0
  491. package/dist/providers/jobs/types.js +13 -1
  492. package/dist/providers/llm/anthropic.js +5 -1
  493. package/dist/providers/llm/bedrock.d.ts +0 -12
  494. package/dist/providers/llm/bedrock.js +4 -0
  495. package/dist/providers/llm/claude-messages.d.ts +3 -1
  496. package/dist/providers/llm/claude-messages.js +4 -1
  497. package/dist/providers/llm/claude-provider.d.ts +2 -2
  498. package/dist/providers/llm/claude-provider.js +2 -2
  499. package/dist/providers/llm/openai.d.ts +2 -2
  500. package/dist/providers/llm/openai.js +6 -2
  501. package/dist/providers/llm/routing.d.ts +2 -2
  502. package/dist/providers/llm/routing.js +2 -2
  503. package/dist/providers/llm/types.d.ts +12 -2
  504. package/dist/providers/review-host/github-events.d.ts +9 -1
  505. package/dist/providers/review-host/github-events.js +34 -12
  506. package/dist/providers/review-host/github.d.ts +39 -2
  507. package/dist/providers/review-host/github.js +274 -29
  508. package/dist/providers/review-host/local.d.ts +8 -4
  509. package/dist/providers/review-host/local.js +49 -31
  510. package/dist/providers/review-host/patch-pages.d.ts +41 -0
  511. package/dist/providers/review-host/patch-pages.js +176 -0
  512. package/dist/providers/review-host/review-format.d.ts +19 -1
  513. package/dist/providers/review-host/review-format.js +38 -7
  514. package/dist/providers/review-host/types.d.ts +157 -2
  515. package/dist/providers/review-host/types.js +8 -0
  516. package/dist/providers/storage/gcs.d.ts +63 -0
  517. package/dist/providers/storage/gcs.js +69 -0
  518. package/dist/providers/storage/index.d.ts +15 -0
  519. package/dist/providers/storage/index.js +14 -0
  520. package/dist/providers/storage/local.d.ts +24 -0
  521. package/dist/providers/storage/local.js +92 -0
  522. package/dist/providers/storage/meter.d.ts +14 -0
  523. package/dist/providers/storage/meter.js +34 -0
  524. package/dist/providers/storage/s3.d.ts +41 -0
  525. package/dist/providers/storage/s3.js +107 -0
  526. package/dist/providers/storage/types.d.ts +37 -3
  527. package/dist/providers/storage/types.js +21 -4
  528. package/dist/providers/vcs/git.d.ts +33 -2
  529. package/dist/providers/vcs/git.js +324 -22
  530. package/dist/providers/vcs/github-remote.d.ts +26 -3
  531. package/dist/providers/vcs/github-remote.js +124 -14
  532. package/dist/providers/vcs/github.d.ts +246 -12
  533. package/dist/providers/vcs/github.js +521 -61
  534. package/dist/providers/vcs/index.js +8 -1
  535. package/dist/providers/vcs/pr-description.d.ts +127 -0
  536. package/dist/providers/vcs/pr-description.js +270 -0
  537. package/dist/providers/vcs/remote.d.ts +33 -1
  538. package/dist/providers/vcs/routing.d.ts +4 -2
  539. package/dist/providers/vcs/routing.js +6 -0
  540. package/dist/providers/vcs/types.d.ts +80 -3
  541. package/dist/quickstart/coding-seed.d.ts +21 -3
  542. package/dist/quickstart/coding-seed.js +283 -3
  543. package/dist/quickstart/images.d.ts +2 -0
  544. package/dist/quickstart/images.js +7 -1
  545. package/dist/quickstart/reviewer-prompt.d.ts +1 -1
  546. package/dist/quickstart/reviewer-prompt.js +6 -6
  547. package/dist/quickstart-images.json +1 -1
  548. package/dist/sandbox/brokered-fetch.d.ts +23 -0
  549. package/dist/sandbox/brokered-fetch.js +37 -0
  550. package/dist/sandbox/generated/zod.bundle.js +62 -1
  551. package/dist/sandbox/generated/zod3.bundle.js +5 -0
  552. package/dist/sandbox/host-functions.d.ts +35 -0
  553. package/dist/sandbox/host-functions.js +150 -91
  554. package/dist/sandbox/prelude.js +7 -1
  555. package/dist/sandbox/run-in-sandbox.d.ts +19 -0
  556. package/dist/sandbox/run-in-sandbox.js +28 -10
  557. package/dist/sandbox/safe-fetch.d.ts +2 -0
  558. package/dist/sandbox/safe-fetch.js +3 -1
  559. package/dist/sandbox/secret-broker-sigv4.d.ts +2 -0
  560. package/dist/sandbox/secret-broker-sigv4.js +49 -0
  561. package/dist/sandbox/secret-broker.d.ts +34 -0
  562. package/dist/sandbox/secret-broker.js +161 -0
  563. package/dist/sandbox/tool-capabilities.d.ts +10 -30
  564. package/dist/sandbox/user-tool.d.ts +14 -0
  565. package/dist/sandbox/user-tool.js +32 -0
  566. package/dist/sandbox/zod-params.d.ts +37 -5
  567. package/dist/sandbox/zod-params.js +181 -26
  568. package/dist/serve.js +25 -0
  569. package/dist/viewer/api-schema.d.ts +372 -2454
  570. package/dist/viewer/api-schema.js +29 -0
  571. package/dist/viewer/build-schemas.js +10 -3
  572. package/dist/viewer/event-bus.d.ts +6 -0
  573. package/dist/viewer/event-bus.js +16 -7
  574. package/dist/viewer/graph.d.ts +5 -2
  575. package/dist/viewer/graph.js +7 -2
  576. package/dist/viewer/http.d.ts +0 -1
  577. package/dist/viewer/http.js +2 -2
  578. package/dist/viewer/infra.js +25 -2
  579. package/dist/viewer/limits.d.ts +4 -0
  580. package/dist/viewer/limits.js +4 -0
  581. package/dist/viewer/openapi.d.ts +15 -0
  582. package/dist/viewer/openapi.js +170 -0
  583. package/dist/wardby-bin.js +10 -0
  584. package/docs/README.md +7 -0
  585. package/docs/agent-recipes.md +114 -27
  586. package/docs/architecture-runtime.md +16 -1
  587. package/docs/code-review-agents.md +689 -45
  588. package/docs/coding-agent-setup.md +602 -12
  589. package/docs/coding-packages.md +1037 -92
  590. package/docs/coding-services.md +30 -13
  591. package/docs/coding-worker-byo-images.md +218 -6
  592. package/docs/coding-worker-isolation.md +173 -44
  593. package/docs/getting-started-gke.md +332 -129
  594. package/docs/getting-started-identity-provider.md +31 -11
  595. package/docs/getting-started.md +14 -4
  596. package/docs/jira-agents.md +22 -9
  597. package/docs/knowledge/blob-not-found-semantics.md +41 -0
  598. package/docs/knowledge/bounded-file-descriptor.md +52 -0
  599. package/docs/knowledge/delegation-admission-slots.md +52 -0
  600. package/docs/knowledge/http-dispatcher-bootstrap.md +61 -0
  601. package/docs/knowledge/import-rename-target.md +52 -0
  602. package/docs/knowledge/index.md +57 -0
  603. package/docs/knowledge/log.md +9 -0
  604. package/docs/knowledge/mcp-cancelled-task-precedence.md +41 -0
  605. package/docs/knowledge/mcp-http-prompt-discovery.md +41 -0
  606. package/docs/knowledge/mcp-schema-module-boundary.md +41 -0
  607. package/docs/knowledge/nullable-tool-uniqueness.md +52 -0
  608. package/docs/knowledge/overview-cli.md +74 -0
  609. package/docs/knowledge/overview-coding-proxy.md +72 -0
  610. package/docs/knowledge/overview-coding.md +72 -0
  611. package/docs/knowledge/overview-config.md +60 -0
  612. package/docs/knowledge/overview-core.md +72 -0
  613. package/docs/knowledge/overview-deploy.md +83 -0
  614. package/docs/knowledge/overview-mcp.md +61 -0
  615. package/docs/knowledge/overview-prisma.md +72 -0
  616. package/docs/knowledge/overview-providers.md +89 -0
  617. package/docs/knowledge/overview-sandbox.md +83 -0
  618. package/docs/knowledge/overview-surfaces.md +83 -0
  619. package/docs/knowledge/private-datastore-shared-boundary.md +54 -0
  620. package/docs/knowledge/proxy-settlement-projections.md +41 -0
  621. package/docs/knowledge/run-pricing-first-writer.md +43 -0
  622. package/docs/knowledge/schedule-claim-transaction.md +41 -0
  623. package/docs/knowledge/secret-entry-replica-contract.md +52 -0
  624. package/docs/knowledge/terminal-run-first-writer.md +41 -0
  625. package/docs/knowledge/transactional-agent-authorization.md +52 -0
  626. package/docs/knowledge/viewer-notify-write-isolation.md +30 -0
  627. package/docs/knowledge/warm-input-publication.md +30 -0
  628. package/docs/knowledge/workspace-staging-failure.md +54 -0
  629. package/docs/knowledge.md +54 -14
  630. package/docs/native-sandbox.md +731 -0
  631. package/docs/observability.md +4 -0
  632. package/docs/release-verification.md +9 -0
  633. package/docs/security-deployment.md +146 -14
  634. package/docs/slack-notifications.md +268 -0
  635. package/docs/tool-secrets.md +284 -0
  636. package/docs/viewer-api.md +46 -5
  637. package/docs/viewer-api.openapi.yml +1404 -0
  638. package/help/admin-viewer.md +29 -3
  639. package/help/agent-recipes.md +27 -0
  640. package/help/architecture-agent.md +11 -6
  641. package/help/brokered-secrets.md +79 -0
  642. package/help/build-claude-code-image.md +131 -0
  643. package/help/build-worker-image.md +6 -7
  644. package/help/builder-agent.md +19 -6
  645. package/help/code-review-agents.md +243 -10
  646. package/help/coding-packages.md +156 -6
  647. package/help/cost-attribution.md +9 -5
  648. package/help/creating-agents.md +14 -1
  649. package/help/dependency-cache.md +143 -0
  650. package/help/deploy-gke.md +23 -9
  651. package/help/deployment-targets.md +25 -14
  652. package/help/errors/budget-exhausted.md +187 -0
  653. package/help/errors/budget-group-exhausted.md +5 -1
  654. package/help/errors/coding-provider-not-configured.md +2 -2
  655. package/help/errors/coding-stream-quota-exceeded.md +33 -0
  656. package/help/errors/coding-workspace-disk-exceeds-limit.md +39 -0
  657. package/help/errors/continuation-closed.md +9 -12
  658. package/help/errors/database-auth-invalid.md +28 -0
  659. package/help/errors/delegation-conflict.md +24 -0
  660. package/help/errors/file-list-truncated.md +45 -0
  661. package/help/errors/full-read-required.md +49 -0
  662. package/help/errors/github-account-not-allowed.md +29 -0
  663. package/help/errors/graph-incomplete.md +43 -0
  664. package/help/errors/graph-limit.md +43 -0
  665. package/help/errors/low-power-disabled.md +29 -0
  666. package/help/errors/low-power-scale-forbidden.md +35 -0
  667. package/help/errors/low-power-wake-timeout.md +30 -0
  668. package/help/errors/merge-conflict.md +49 -0
  669. package/help/errors/mobile-disabled.md +31 -0
  670. package/help/errors/native-sandbox-capacity.md +22 -0
  671. package/help/errors/native-sandbox-deadline-exceeded.md +19 -0
  672. package/help/errors/native-sandbox-docker-failed.md +20 -0
  673. package/help/errors/native-sandbox-gateway-error.md +20 -0
  674. package/help/errors/native-sandbox-gateway-unavailable.md +21 -0
  675. package/help/errors/native-sandbox-image-not-pinned.md +19 -0
  676. package/help/errors/native-sandbox-isolation-mismatch.md +20 -0
  677. package/help/errors/native-sandbox-launch-abandoned.md +21 -0
  678. package/help/errors/native-sandbox-network-unenforced.md +22 -0
  679. package/help/errors/native-sandbox-requires-catalog.md +31 -0
  680. package/help/errors/native-sandbox-unavailable.md +19 -0
  681. package/help/errors/native-sandbox-warm-delivery-failed.md +21 -0
  682. package/help/errors/native-sandbox-worker-exited.md +21 -0
  683. package/help/errors/native-sandbox-worker-lost.md +20 -0
  684. package/help/errors/native-sandbox-worker-unready.md +22 -0
  685. package/help/errors/package-not-allowed-pending.md +52 -0
  686. package/help/errors/package-not-allowed.md +51 -0
  687. package/help/errors/package-refusals.md +43 -0
  688. package/help/errors/patch-cursor-malformed.md +31 -0
  689. package/help/errors/run-lost.md +39 -0
  690. package/help/errors/run-transcript-download.md +44 -0
  691. package/help/errors/secret-broker-body-invalid.md +26 -0
  692. package/help/errors/secret-broker-changed.md +20 -0
  693. package/help/errors/secret-broker-config-invalid.md +30 -0
  694. package/help/errors/secret-broker-conflict.md +27 -0
  695. package/help/errors/secret-broker-destination-denied.md +28 -0
  696. package/help/errors/secret-broker-value-invalid.md +28 -0
  697. package/help/errors/secret-brokered.md +24 -0
  698. package/help/errors/secret-in-value.md +69 -0
  699. package/help/errors/secret-not-brokered.md +25 -0
  700. package/help/errors/slack-auth-failed.md +48 -0
  701. package/help/errors/slack-channel-unreachable.md +39 -0
  702. package/help/errors/slack-not-configured.md +33 -0
  703. package/help/errors/target-merge.md +40 -0
  704. package/help/fix-merge-conflicts.md +73 -0
  705. package/help/getting-started.md +4 -5
  706. package/help/github-app-setup.md +132 -0
  707. package/help/github.md +40 -1
  708. package/help/identity-and-access.md +7 -1
  709. package/help/jira.md +23 -6
  710. package/help/knowledge.md +16 -7
  711. package/help/local-repositories.md +3 -4
  712. package/help/low-power-mode.md +131 -0
  713. package/help/merge-order-check.md +122 -0
  714. package/help/mobile-app.md +54 -0
  715. package/help/native-capabilities.md +29 -1
  716. package/help/native-sandbox.md +150 -0
  717. package/help/observability.md +8 -0
  718. package/help/operating-agents.md +5 -0
  719. package/help/package-audit-mode.md +91 -0
  720. package/help/related-pull-requests.md +80 -16
  721. package/help/repo-instructions-and-skills.md +91 -0
  722. package/help/resume-runs-locally.md +131 -0
  723. package/help/review-fix-rounds.md +43 -1
  724. package/help/sharing-agents.md +59 -0
  725. package/help/slack-notifications.md +76 -0
  726. package/help/status-comments.md +31 -0
  727. package/help/stop-run.md +58 -0
  728. package/help/troubleshooting/budgets.md +28 -0
  729. package/help/troubleshooting/coding-workers.md +99 -7
  730. package/package.json +27 -13
  731. package/prisma/migrations/20261009000003_native_execution_mode/migration.sql +12 -0
  732. package/prisma/migrations/20261009000004_native_gateway_ledger/migration.sql +65 -0
  733. package/prisma/migrations/20261009000005_native_gateway_call_child_agent/migration.sql +5 -0
  734. package/prisma/migrations/20261009000006_run_deferred_start_stop/migration.sql +14 -0
  735. package/prisma/migrations/20261009000007_native_gateway_network_ready/migration.sql +5 -0
  736. package/prisma/migrations/20261010000001_workflow_notifications/migration.sql +99 -0
  737. package/prisma/migrations/20261011000001_native_gateway_session_status_index/migration.sql +2 -0
  738. package/prisma/migrations/20261012000001_native_warm_worker/migration.sql +32 -0
  739. package/prisma/migrations/20261013000001_coding_run_merge_order/migration.sql +2 -0
  740. package/prisma/migrations/20261013000001_secret_broker/migration.sql +17 -0
  741. package/prisma/migrations/20261013000002_deferred_review_request/migration.sql +4 -0
  742. package/prisma/migrations/20261014000000_repo_skills/migration.sql +15 -0
  743. package/prisma/migrations/20261015000001_coding_run_merge_order_index/migration.sql +2 -0
  744. package/prisma/migrations/20261015000002_no_change_rereview/migration.sql +2 -0
  745. package/prisma/migrations/20261016000000_registry_approved_accepted_advisories/migration.sql +3 -0
  746. package/prisma/migrations/20261016000001_mark_ready_when_passing/migration.sql +3 -0
  747. package/prisma/migrations/20261017000000_debug_trace_max_mb/migration.sql +4 -0
  748. package/prisma/migrations/20261018000000_dependency_cache/migration.sql +53 -0
  749. package/prisma/migrations/20261019000000_claude_max_output_tokens/migration.sql +5 -0
  750. package/prisma/migrations/20261021000000_pr_description_hash/migration.sql +4 -0
  751. package/prisma/migrations/20261022000000_dependency_snapshot_validation_metadata/migration.sql +4 -0
  752. package/prisma/migrations/20261023000000_package_audit_mode/migration.sql +27 -0
  753. package/prisma/migrations/20261024000000_budget_events/migration.sql +26 -0
  754. package/prisma/migrations/20261025000000_cache_aware_holds/migration.sql +9 -0
  755. package/prisma/migrations/20261026000000_budget_overrun/migration.sql +4 -0
  756. package/prisma/migrations/20261027000000_coding_run_request/migration.sql +1 -0
  757. package/prisma/migrations/20261028000000_native_gateway_review_reads/migration.sql +6 -0
  758. package/prisma/migrations/20261029000000_lead_survives_deploy/migration.sql +6 -0
  759. package/prisma/migrations/20261030000000_local_review_covered_sha/migration.sql +2 -0
  760. package/prisma/migrations/20261031000000_coding_run_budget_limit/migration.sql +9 -0
  761. package/prisma/migrations/20261101000000_run_transcripts/migration.sql +22 -0
  762. package/prisma/schema.prisma +631 -146
  763. package/dist/sandbox/generated/zod-to-json-schema.bundle.js +0 -5
@@ -0,0 +1,1404 @@
1
+ # Generated by npm run build:viewer-schemas from src/viewer/api-schema.ts and src/viewer/openapi.ts. Do not edit.
2
+ openapi: 3.1.0
3
+ info:
4
+ title: wardby admin viewer API
5
+ version: 0.7.0
6
+ description: "Read-only admin API behind the wardby viewer: graph, run detail, infrastructure info and a live event stream. Response objects may gain new fields in later releases; clients should ignore unknown fields. See docs/viewer-api.md for the prose contract."
7
+ servers:
8
+ - url: https://{host}
9
+ variables:
10
+ host:
11
+ default: wardby.example.com
12
+ paths:
13
+ /admin/api/graph:
14
+ get:
15
+ operationId: getGraph
16
+ summary: Graph snapshot
17
+ description: |-
18
+ Agents, runs, coding-run services and outcomes for a time window, as a graph.
19
+
20
+ Requires a bearer token with the `admin:view` scope, held by a caller with the admin role.
21
+ security:
22
+ - bearer: []
23
+ parameters:
24
+ - name: since
25
+ in: query
26
+ required: false
27
+ description: "Window start: `15m`, `1h`, `6h`, `24h`, `7d`, or an ISO-8601 timestamp. Default `1h`."
28
+ schema:
29
+ type: string
30
+ default: 1h
31
+ - name: limit
32
+ in: query
33
+ required: false
34
+ description: Maximum number of runs, 1 to 2000. Default 500.
35
+ schema:
36
+ type: integer
37
+ minimum: 1
38
+ maximum: 2000
39
+ default: 500
40
+ responses:
41
+ "200":
42
+ description: The graph snapshot.
43
+ content:
44
+ application/json:
45
+ schema:
46
+ $ref: "#/components/schemas/graph-snapshot"
47
+ "400":
48
+ description: A query parameter is invalid.
49
+ content:
50
+ application/json:
51
+ schema:
52
+ allOf:
53
+ - $ref: "#/components/schemas/ViewerError"
54
+ - properties:
55
+ error:
56
+ enum:
57
+ - invalid_since
58
+ - invalid_limit
59
+ x-error-codes:
60
+ - invalid_since
61
+ - invalid_limit
62
+ "401":
63
+ description: No valid bearer token.
64
+ content:
65
+ application/json:
66
+ schema:
67
+ allOf:
68
+ - $ref: "#/components/schemas/ViewerError"
69
+ - properties:
70
+ error:
71
+ enum:
72
+ - invalid_token
73
+ x-error-codes:
74
+ - invalid_token
75
+ headers:
76
+ WWW-Authenticate:
77
+ $ref: "#/components/headers/WWWAuthenticate"
78
+ "403":
79
+ description: Token lacks the `admin:view` scope (the `WWW-Authenticate` header is present), or the caller lacks the admin role (no `WWW-Authenticate` header).
80
+ content:
81
+ application/json:
82
+ schema:
83
+ allOf:
84
+ - $ref: "#/components/schemas/ViewerError"
85
+ - properties:
86
+ error:
87
+ enum:
88
+ - invalid_token
89
+ x-error-codes:
90
+ - invalid_token
91
+ headers:
92
+ WWW-Authenticate:
93
+ $ref: "#/components/headers/WWWAuthenticate"
94
+ "405":
95
+ description: Only GET is allowed.
96
+ content:
97
+ application/json:
98
+ schema:
99
+ allOf:
100
+ - $ref: "#/components/schemas/ViewerError"
101
+ - properties:
102
+ error:
103
+ enum:
104
+ - method_not_allowed
105
+ x-error-codes:
106
+ - method_not_allowed
107
+ headers:
108
+ Allow:
109
+ description: "Allowed methods: GET."
110
+ schema:
111
+ type: string
112
+ enum:
113
+ - GET
114
+ default:
115
+ description: Unexpected server error (HTTP 500). `id` identifies the failure in the server log.
116
+ content:
117
+ application/json:
118
+ schema:
119
+ $ref: "#/components/schemas/ViewerInternalError"
120
+ /admin/api/runs/{id}:
121
+ get:
122
+ operationId: getRun
123
+ summary: Run detail
124
+ description: |-
125
+ Full detail for one run, including final text.
126
+
127
+ Requires a bearer token with the `admin:view` scope, held by a caller with the admin role.
128
+ security:
129
+ - bearer: []
130
+ parameters:
131
+ - name: id
132
+ in: path
133
+ required: true
134
+ description: Run id.
135
+ schema:
136
+ type: string
137
+ responses:
138
+ "200":
139
+ description: The run.
140
+ content:
141
+ application/json:
142
+ schema:
143
+ $ref: "#/components/schemas/run-detail"
144
+ "401":
145
+ description: No valid bearer token.
146
+ content:
147
+ application/json:
148
+ schema:
149
+ allOf:
150
+ - $ref: "#/components/schemas/ViewerError"
151
+ - properties:
152
+ error:
153
+ enum:
154
+ - invalid_token
155
+ x-error-codes:
156
+ - invalid_token
157
+ headers:
158
+ WWW-Authenticate:
159
+ $ref: "#/components/headers/WWWAuthenticate"
160
+ "403":
161
+ description: Token lacks the `admin:view` scope (the `WWW-Authenticate` header is present), or the caller lacks the admin role (no `WWW-Authenticate` header).
162
+ content:
163
+ application/json:
164
+ schema:
165
+ allOf:
166
+ - $ref: "#/components/schemas/ViewerError"
167
+ - properties:
168
+ error:
169
+ enum:
170
+ - invalid_token
171
+ x-error-codes:
172
+ - invalid_token
173
+ headers:
174
+ WWW-Authenticate:
175
+ $ref: "#/components/headers/WWWAuthenticate"
176
+ "404":
177
+ description: No run with that id.
178
+ content:
179
+ application/json:
180
+ schema:
181
+ allOf:
182
+ - $ref: "#/components/schemas/ViewerError"
183
+ - properties:
184
+ error:
185
+ enum:
186
+ - not_found
187
+ x-error-codes:
188
+ - not_found
189
+ "405":
190
+ description: Only GET is allowed.
191
+ content:
192
+ application/json:
193
+ schema:
194
+ allOf:
195
+ - $ref: "#/components/schemas/ViewerError"
196
+ - properties:
197
+ error:
198
+ enum:
199
+ - method_not_allowed
200
+ x-error-codes:
201
+ - method_not_allowed
202
+ headers:
203
+ Allow:
204
+ description: "Allowed methods: GET."
205
+ schema:
206
+ type: string
207
+ enum:
208
+ - GET
209
+ default:
210
+ description: Unexpected server error (HTTP 500). `id` identifies the failure in the server log.
211
+ content:
212
+ application/json:
213
+ schema:
214
+ $ref: "#/components/schemas/ViewerInternalError"
215
+ /admin/api/infra:
216
+ get:
217
+ operationId: getInfra
218
+ summary: Infrastructure info
219
+ description: |-
220
+ Where and how this wardby deployment runs its workloads.
221
+
222
+ Requires a bearer token with the `admin:view` scope, held by a caller with the admin role.
223
+ security:
224
+ - bearer: []
225
+ responses:
226
+ "200":
227
+ description: Infrastructure info.
228
+ content:
229
+ application/json:
230
+ schema:
231
+ $ref: "#/components/schemas/infra-info"
232
+ "401":
233
+ description: No valid bearer token.
234
+ content:
235
+ application/json:
236
+ schema:
237
+ allOf:
238
+ - $ref: "#/components/schemas/ViewerError"
239
+ - properties:
240
+ error:
241
+ enum:
242
+ - invalid_token
243
+ x-error-codes:
244
+ - invalid_token
245
+ headers:
246
+ WWW-Authenticate:
247
+ $ref: "#/components/headers/WWWAuthenticate"
248
+ "403":
249
+ description: Token lacks the `admin:view` scope (the `WWW-Authenticate` header is present), or the caller lacks the admin role (no `WWW-Authenticate` header).
250
+ content:
251
+ application/json:
252
+ schema:
253
+ allOf:
254
+ - $ref: "#/components/schemas/ViewerError"
255
+ - properties:
256
+ error:
257
+ enum:
258
+ - invalid_token
259
+ x-error-codes:
260
+ - invalid_token
261
+ headers:
262
+ WWW-Authenticate:
263
+ $ref: "#/components/headers/WWWAuthenticate"
264
+ "405":
265
+ description: Only GET is allowed.
266
+ content:
267
+ application/json:
268
+ schema:
269
+ allOf:
270
+ - $ref: "#/components/schemas/ViewerError"
271
+ - properties:
272
+ error:
273
+ enum:
274
+ - method_not_allowed
275
+ x-error-codes:
276
+ - method_not_allowed
277
+ headers:
278
+ Allow:
279
+ description: "Allowed methods: GET."
280
+ schema:
281
+ type: string
282
+ enum:
283
+ - GET
284
+ default:
285
+ description: Unexpected server error (HTTP 500). `id` identifies the failure in the server log.
286
+ content:
287
+ application/json:
288
+ schema:
289
+ $ref: "#/components/schemas/ViewerInternalError"
290
+ /admin/api/events:
291
+ get:
292
+ operationId: getEvents
293
+ summary: Live event stream
294
+ description: |-
295
+ A Server-Sent Events stream (`text/event-stream`) of live changes. Frames:
296
+
297
+ - `retry: 3000`: suggested client reconnect delay in milliseconds.
298
+ - `event: hello`: sent first. Data is `{"connected": <bool>}`, whether the server's live-event connection is up.
299
+ - `event: run`, `event: service`, `event: outcome`: a run, coding-run service, or outcome changed. Each carries an `id:` line. Payloads match the `viewer-event` schema (see `x-event-schema`).
300
+ - `event: status`: the server's live-event connection changed. Data is `{"connected": <bool>}`.
301
+ - `event: resync`: the live-event connection is up (again). Events may have been missed: refetch the graph.
302
+ - `: ping`: comment sent every 15 seconds to keep the connection open.
303
+
304
+ There is no replay. Open the event stream first, then load `/admin/api/graph` and apply events on top of it. Refetch the graph on every `resync` and after every reconnect rather than trying to resume.
305
+
306
+ Requires a bearer token with the `admin:view` scope, held by a caller with the admin role.
307
+ security:
308
+ - bearer: []
309
+ responses:
310
+ "200":
311
+ description: The event stream.
312
+ content:
313
+ text/event-stream:
314
+ schema:
315
+ type: string
316
+ x-event-schema:
317
+ $ref: "#/components/schemas/viewer-event"
318
+ "401":
319
+ description: No valid bearer token.
320
+ content:
321
+ application/json:
322
+ schema:
323
+ allOf:
324
+ - $ref: "#/components/schemas/ViewerError"
325
+ - properties:
326
+ error:
327
+ enum:
328
+ - invalid_token
329
+ x-error-codes:
330
+ - invalid_token
331
+ headers:
332
+ WWW-Authenticate:
333
+ $ref: "#/components/headers/WWWAuthenticate"
334
+ "403":
335
+ description: Token lacks the `admin:view` scope (the `WWW-Authenticate` header is present), or the caller lacks the admin role (no `WWW-Authenticate` header).
336
+ content:
337
+ application/json:
338
+ schema:
339
+ allOf:
340
+ - $ref: "#/components/schemas/ViewerError"
341
+ - properties:
342
+ error:
343
+ enum:
344
+ - invalid_token
345
+ x-error-codes:
346
+ - invalid_token
347
+ headers:
348
+ WWW-Authenticate:
349
+ $ref: "#/components/headers/WWWAuthenticate"
350
+ "405":
351
+ description: Only GET is allowed.
352
+ content:
353
+ application/json:
354
+ schema:
355
+ allOf:
356
+ - $ref: "#/components/schemas/ViewerError"
357
+ - properties:
358
+ error:
359
+ enum:
360
+ - method_not_allowed
361
+ x-error-codes:
362
+ - method_not_allowed
363
+ headers:
364
+ Allow:
365
+ description: "Allowed methods: GET."
366
+ schema:
367
+ type: string
368
+ enum:
369
+ - GET
370
+ default:
371
+ description: Unexpected server error (HTTP 500). `id` identifies the failure in the server log.
372
+ content:
373
+ application/json:
374
+ schema:
375
+ $ref: "#/components/schemas/ViewerInternalError"
376
+ components:
377
+ securitySchemes:
378
+ bearer:
379
+ type: http
380
+ scheme: bearer
381
+ headers:
382
+ WWWAuthenticate:
383
+ description: Bearer challenge.
384
+ schema:
385
+ type: string
386
+ schemas:
387
+ graph-snapshot:
388
+ type: object
389
+ properties:
390
+ generatedAt:
391
+ type: string
392
+ since:
393
+ type: string
394
+ limit:
395
+ type: integer
396
+ truncated:
397
+ type: boolean
398
+ runs:
399
+ type: array
400
+ items:
401
+ type: object
402
+ properties:
403
+ id:
404
+ type: string
405
+ parentRunId:
406
+ type:
407
+ - string
408
+ - "null"
409
+ agentId:
410
+ type: string
411
+ agentName:
412
+ type: string
413
+ agentKind:
414
+ type: string
415
+ enum:
416
+ - native
417
+ - coding
418
+ model:
419
+ type: string
420
+ codingProvider:
421
+ type:
422
+ - string
423
+ - "null"
424
+ nativeExecutionMode:
425
+ anyOf:
426
+ - type: string
427
+ enum:
428
+ - control-plane
429
+ - sandbox
430
+ - type: "null"
431
+ warmWorkerName:
432
+ type:
433
+ - string
434
+ - "null"
435
+ status:
436
+ type: string
437
+ enum:
438
+ - pending
439
+ - running
440
+ - succeeded
441
+ - failed
442
+ - refused
443
+ - lost
444
+ - budget_exhausted
445
+ - cancelled
446
+ trigger:
447
+ anyOf:
448
+ - type: object
449
+ properties:
450
+ kind:
451
+ type: string
452
+ const: manual
453
+ required:
454
+ - kind
455
+ additionalProperties: false
456
+ - type: object
457
+ properties:
458
+ kind:
459
+ type: string
460
+ const: scheduled
461
+ schedule:
462
+ type:
463
+ - string
464
+ - "null"
465
+ required:
466
+ - kind
467
+ - schedule
468
+ additionalProperties: false
469
+ - type: object
470
+ properties:
471
+ kind:
472
+ type: string
473
+ const: webhook
474
+ required:
475
+ - kind
476
+ additionalProperties: false
477
+ - type: object
478
+ properties:
479
+ kind:
480
+ type: string
481
+ const: subagent
482
+ required:
483
+ - kind
484
+ additionalProperties: false
485
+ - type: object
486
+ properties:
487
+ kind:
488
+ type: string
489
+ const: code_host
490
+ provider:
491
+ type: string
492
+ repository:
493
+ type: string
494
+ number:
495
+ anyOf:
496
+ - type: integer
497
+ - type: "null"
498
+ event:
499
+ type: string
500
+ enum:
501
+ - review
502
+ - mention
503
+ required:
504
+ - kind
505
+ - provider
506
+ - repository
507
+ - number
508
+ - event
509
+ additionalProperties: false
510
+ - type: object
511
+ properties:
512
+ kind:
513
+ type: string
514
+ const: issue
515
+ provider:
516
+ type: string
517
+ issueKey:
518
+ type: string
519
+ url:
520
+ type:
521
+ - string
522
+ - "null"
523
+ required:
524
+ - kind
525
+ - provider
526
+ - issueKey
527
+ - url
528
+ additionalProperties: false
529
+ - type: object
530
+ properties:
531
+ kind:
532
+ type: string
533
+ const: host_event
534
+ required:
535
+ - kind
536
+ additionalProperties: false
537
+ turns:
538
+ type: integer
539
+ tokensIn:
540
+ type: integer
541
+ tokensOut:
542
+ type: integer
543
+ costUsd:
544
+ type: number
545
+ budgetUsd:
546
+ type: number
547
+ startedAt:
548
+ type: string
549
+ finishedAt:
550
+ type:
551
+ - string
552
+ - "null"
553
+ heartbeatAt:
554
+ type:
555
+ - string
556
+ - "null"
557
+ outcomes:
558
+ type: array
559
+ items:
560
+ anyOf:
561
+ - type: object
562
+ properties:
563
+ kind:
564
+ type: string
565
+ const: pull_request
566
+ provider:
567
+ type: string
568
+ repository:
569
+ type: string
570
+ number:
571
+ type: integer
572
+ url:
573
+ type: string
574
+ state:
575
+ type:
576
+ - string
577
+ - "null"
578
+ at:
579
+ type:
580
+ - string
581
+ - "null"
582
+ required:
583
+ - kind
584
+ - provider
585
+ - repository
586
+ - number
587
+ - url
588
+ - state
589
+ - at
590
+ additionalProperties: false
591
+ - type: object
592
+ properties:
593
+ kind:
594
+ type: string
595
+ const: code_host_comment
596
+ provider:
597
+ type: string
598
+ repository:
599
+ type: string
600
+ number:
601
+ type: integer
602
+ at:
603
+ type:
604
+ - string
605
+ - "null"
606
+ required:
607
+ - kind
608
+ - provider
609
+ - repository
610
+ - number
611
+ - at
612
+ additionalProperties: false
613
+ - type: object
614
+ properties:
615
+ kind:
616
+ type: string
617
+ const: issue_comment
618
+ provider:
619
+ type: string
620
+ issueKey:
621
+ type: string
622
+ url:
623
+ type:
624
+ - string
625
+ - "null"
626
+ at:
627
+ type:
628
+ - string
629
+ - "null"
630
+ required:
631
+ - kind
632
+ - provider
633
+ - issueKey
634
+ - url
635
+ - at
636
+ additionalProperties: false
637
+ - type: object
638
+ properties:
639
+ kind:
640
+ type: string
641
+ const: check
642
+ provider:
643
+ type: string
644
+ repository:
645
+ type: string
646
+ number:
647
+ anyOf:
648
+ - type: integer
649
+ - type: "null"
650
+ completed:
651
+ type: boolean
652
+ at:
653
+ type:
654
+ - string
655
+ - "null"
656
+ required:
657
+ - kind
658
+ - provider
659
+ - repository
660
+ - number
661
+ - completed
662
+ - at
663
+ additionalProperties: false
664
+ declaredServices:
665
+ type: array
666
+ items:
667
+ type: object
668
+ properties:
669
+ name:
670
+ type: string
671
+ version:
672
+ type: string
673
+ required:
674
+ - name
675
+ - version
676
+ additionalProperties: false
677
+ services:
678
+ type: array
679
+ items:
680
+ type: object
681
+ properties:
682
+ name:
683
+ type: string
684
+ state:
685
+ type: string
686
+ enum:
687
+ - pending
688
+ - probing
689
+ - ready
690
+ - failed
691
+ attempts:
692
+ anyOf:
693
+ - type: integer
694
+ - type: "null"
695
+ reason:
696
+ type:
697
+ - string
698
+ - "null"
699
+ readyAt:
700
+ type:
701
+ - string
702
+ - "null"
703
+ failedAt:
704
+ type:
705
+ - string
706
+ - "null"
707
+ createdAt:
708
+ type: string
709
+ required:
710
+ - name
711
+ - state
712
+ - attempts
713
+ - reason
714
+ - readyAt
715
+ - failedAt
716
+ - createdAt
717
+ additionalProperties: false
718
+ required:
719
+ - id
720
+ - parentRunId
721
+ - agentId
722
+ - agentName
723
+ - agentKind
724
+ - model
725
+ - codingProvider
726
+ - nativeExecutionMode
727
+ - warmWorkerName
728
+ - status
729
+ - trigger
730
+ - turns
731
+ - tokensIn
732
+ - tokensOut
733
+ - costUsd
734
+ - budgetUsd
735
+ - startedAt
736
+ - finishedAt
737
+ - heartbeatAt
738
+ - outcomes
739
+ - declaredServices
740
+ - services
741
+ additionalProperties: false
742
+ spend:
743
+ type: object
744
+ properties:
745
+ todayUsd:
746
+ type: number
747
+ groups:
748
+ type: array
749
+ items:
750
+ type: object
751
+ properties:
752
+ id:
753
+ type: string
754
+ name:
755
+ type: string
756
+ dailyBudgetUsd:
757
+ type:
758
+ - number
759
+ - "null"
760
+ spentTodayUsd:
761
+ type: number
762
+ required:
763
+ - id
764
+ - name
765
+ - dailyBudgetUsd
766
+ - spentTodayUsd
767
+ additionalProperties: false
768
+ required:
769
+ - todayUsd
770
+ - groups
771
+ additionalProperties: false
772
+ required:
773
+ - generatedAt
774
+ - since
775
+ - limit
776
+ - truncated
777
+ - runs
778
+ - spend
779
+ additionalProperties: false
780
+ run-detail:
781
+ type: object
782
+ properties:
783
+ id:
784
+ type: string
785
+ parentRunId:
786
+ type:
787
+ - string
788
+ - "null"
789
+ agentId:
790
+ type: string
791
+ agentName:
792
+ type: string
793
+ agentKind:
794
+ type: string
795
+ enum:
796
+ - native
797
+ - coding
798
+ model:
799
+ type: string
800
+ codingProvider:
801
+ type:
802
+ - string
803
+ - "null"
804
+ nativeExecutionMode:
805
+ anyOf:
806
+ - type: string
807
+ enum:
808
+ - control-plane
809
+ - sandbox
810
+ - type: "null"
811
+ warmWorkerName:
812
+ type:
813
+ - string
814
+ - "null"
815
+ status:
816
+ type: string
817
+ enum:
818
+ - pending
819
+ - running
820
+ - succeeded
821
+ - failed
822
+ - refused
823
+ - lost
824
+ - budget_exhausted
825
+ - cancelled
826
+ trigger:
827
+ anyOf:
828
+ - type: object
829
+ properties:
830
+ kind:
831
+ type: string
832
+ const: manual
833
+ required:
834
+ - kind
835
+ additionalProperties: false
836
+ - type: object
837
+ properties:
838
+ kind:
839
+ type: string
840
+ const: scheduled
841
+ schedule:
842
+ type:
843
+ - string
844
+ - "null"
845
+ required:
846
+ - kind
847
+ - schedule
848
+ additionalProperties: false
849
+ - type: object
850
+ properties:
851
+ kind:
852
+ type: string
853
+ const: webhook
854
+ required:
855
+ - kind
856
+ additionalProperties: false
857
+ - type: object
858
+ properties:
859
+ kind:
860
+ type: string
861
+ const: subagent
862
+ required:
863
+ - kind
864
+ additionalProperties: false
865
+ - type: object
866
+ properties:
867
+ kind:
868
+ type: string
869
+ const: code_host
870
+ provider:
871
+ type: string
872
+ repository:
873
+ type: string
874
+ number:
875
+ anyOf:
876
+ - type: integer
877
+ - type: "null"
878
+ event:
879
+ type: string
880
+ enum:
881
+ - review
882
+ - mention
883
+ required:
884
+ - kind
885
+ - provider
886
+ - repository
887
+ - number
888
+ - event
889
+ additionalProperties: false
890
+ - type: object
891
+ properties:
892
+ kind:
893
+ type: string
894
+ const: issue
895
+ provider:
896
+ type: string
897
+ issueKey:
898
+ type: string
899
+ url:
900
+ type:
901
+ - string
902
+ - "null"
903
+ required:
904
+ - kind
905
+ - provider
906
+ - issueKey
907
+ - url
908
+ additionalProperties: false
909
+ - type: object
910
+ properties:
911
+ kind:
912
+ type: string
913
+ const: host_event
914
+ required:
915
+ - kind
916
+ additionalProperties: false
917
+ turns:
918
+ type: integer
919
+ tokensIn:
920
+ type: integer
921
+ tokensOut:
922
+ type: integer
923
+ costUsd:
924
+ type: number
925
+ budgetUsd:
926
+ type: number
927
+ startedAt:
928
+ type: string
929
+ finishedAt:
930
+ type:
931
+ - string
932
+ - "null"
933
+ heartbeatAt:
934
+ type:
935
+ - string
936
+ - "null"
937
+ outcomes:
938
+ type: array
939
+ items:
940
+ anyOf:
941
+ - type: object
942
+ properties:
943
+ kind:
944
+ type: string
945
+ const: pull_request
946
+ provider:
947
+ type: string
948
+ repository:
949
+ type: string
950
+ number:
951
+ type: integer
952
+ url:
953
+ type: string
954
+ state:
955
+ type:
956
+ - string
957
+ - "null"
958
+ at:
959
+ type:
960
+ - string
961
+ - "null"
962
+ required:
963
+ - kind
964
+ - provider
965
+ - repository
966
+ - number
967
+ - url
968
+ - state
969
+ - at
970
+ additionalProperties: false
971
+ - type: object
972
+ properties:
973
+ kind:
974
+ type: string
975
+ const: code_host_comment
976
+ provider:
977
+ type: string
978
+ repository:
979
+ type: string
980
+ number:
981
+ type: integer
982
+ at:
983
+ type:
984
+ - string
985
+ - "null"
986
+ required:
987
+ - kind
988
+ - provider
989
+ - repository
990
+ - number
991
+ - at
992
+ additionalProperties: false
993
+ - type: object
994
+ properties:
995
+ kind:
996
+ type: string
997
+ const: issue_comment
998
+ provider:
999
+ type: string
1000
+ issueKey:
1001
+ type: string
1002
+ url:
1003
+ type:
1004
+ - string
1005
+ - "null"
1006
+ at:
1007
+ type:
1008
+ - string
1009
+ - "null"
1010
+ required:
1011
+ - kind
1012
+ - provider
1013
+ - issueKey
1014
+ - url
1015
+ - at
1016
+ additionalProperties: false
1017
+ - type: object
1018
+ properties:
1019
+ kind:
1020
+ type: string
1021
+ const: check
1022
+ provider:
1023
+ type: string
1024
+ repository:
1025
+ type: string
1026
+ number:
1027
+ anyOf:
1028
+ - type: integer
1029
+ - type: "null"
1030
+ completed:
1031
+ type: boolean
1032
+ at:
1033
+ type:
1034
+ - string
1035
+ - "null"
1036
+ required:
1037
+ - kind
1038
+ - provider
1039
+ - repository
1040
+ - number
1041
+ - completed
1042
+ - at
1043
+ additionalProperties: false
1044
+ declaredServices:
1045
+ type: array
1046
+ items:
1047
+ type: object
1048
+ properties:
1049
+ name:
1050
+ type: string
1051
+ version:
1052
+ type: string
1053
+ required:
1054
+ - name
1055
+ - version
1056
+ additionalProperties: false
1057
+ services:
1058
+ type: array
1059
+ items:
1060
+ type: object
1061
+ properties:
1062
+ name:
1063
+ type: string
1064
+ state:
1065
+ type: string
1066
+ enum:
1067
+ - pending
1068
+ - probing
1069
+ - ready
1070
+ - failed
1071
+ attempts:
1072
+ anyOf:
1073
+ - type: integer
1074
+ - type: "null"
1075
+ reason:
1076
+ type:
1077
+ - string
1078
+ - "null"
1079
+ readyAt:
1080
+ type:
1081
+ - string
1082
+ - "null"
1083
+ failedAt:
1084
+ type:
1085
+ - string
1086
+ - "null"
1087
+ createdAt:
1088
+ type: string
1089
+ required:
1090
+ - name
1091
+ - state
1092
+ - attempts
1093
+ - reason
1094
+ - readyAt
1095
+ - failedAt
1096
+ - createdAt
1097
+ additionalProperties: false
1098
+ error:
1099
+ type:
1100
+ - string
1101
+ - "null"
1102
+ finalText:
1103
+ type:
1104
+ - string
1105
+ - "null"
1106
+ childRunIds:
1107
+ type: array
1108
+ items:
1109
+ type: string
1110
+ coding:
1111
+ anyOf:
1112
+ - type: object
1113
+ properties:
1114
+ provider:
1115
+ type: string
1116
+ repository:
1117
+ type: string
1118
+ baseRef:
1119
+ type: string
1120
+ headRef:
1121
+ type: string
1122
+ queuedAt:
1123
+ type:
1124
+ - string
1125
+ - "null"
1126
+ failureCategory:
1127
+ type:
1128
+ - string
1129
+ - "null"
1130
+ services:
1131
+ type: array
1132
+ items:
1133
+ type: object
1134
+ properties:
1135
+ name:
1136
+ type: string
1137
+ version:
1138
+ type: string
1139
+ image:
1140
+ type: string
1141
+ envNames:
1142
+ type: array
1143
+ items:
1144
+ type: string
1145
+ required:
1146
+ - name
1147
+ - version
1148
+ - image
1149
+ - envNames
1150
+ additionalProperties: false
1151
+ required:
1152
+ - provider
1153
+ - repository
1154
+ - baseRef
1155
+ - headRef
1156
+ - queuedAt
1157
+ - failureCategory
1158
+ - services
1159
+ additionalProperties: false
1160
+ - type: "null"
1161
+ required:
1162
+ - id
1163
+ - parentRunId
1164
+ - agentId
1165
+ - agentName
1166
+ - agentKind
1167
+ - model
1168
+ - codingProvider
1169
+ - nativeExecutionMode
1170
+ - warmWorkerName
1171
+ - status
1172
+ - trigger
1173
+ - turns
1174
+ - tokensIn
1175
+ - tokensOut
1176
+ - costUsd
1177
+ - budgetUsd
1178
+ - startedAt
1179
+ - finishedAt
1180
+ - heartbeatAt
1181
+ - outcomes
1182
+ - declaredServices
1183
+ - services
1184
+ - error
1185
+ - finalText
1186
+ - childRunIds
1187
+ - coding
1188
+ additionalProperties: false
1189
+ viewer-event:
1190
+ anyOf:
1191
+ - type: object
1192
+ properties:
1193
+ kind:
1194
+ type: string
1195
+ const: run
1196
+ runId:
1197
+ type: string
1198
+ parentRunId:
1199
+ type:
1200
+ - string
1201
+ - "null"
1202
+ agentId:
1203
+ type: string
1204
+ status:
1205
+ type: string
1206
+ enum:
1207
+ - pending
1208
+ - running
1209
+ - succeeded
1210
+ - failed
1211
+ - refused
1212
+ - lost
1213
+ - budget_exhausted
1214
+ - cancelled
1215
+ turns:
1216
+ type: integer
1217
+ tokensIn:
1218
+ type: integer
1219
+ tokensOut:
1220
+ type: integer
1221
+ costUsd:
1222
+ type: number
1223
+ finishedAt:
1224
+ type:
1225
+ - string
1226
+ - "null"
1227
+ required:
1228
+ - kind
1229
+ - runId
1230
+ - parentRunId
1231
+ - agentId
1232
+ - status
1233
+ - turns
1234
+ - tokensIn
1235
+ - tokensOut
1236
+ - costUsd
1237
+ - finishedAt
1238
+ additionalProperties: false
1239
+ - type: object
1240
+ properties:
1241
+ kind:
1242
+ type: string
1243
+ const: service
1244
+ runId:
1245
+ type: string
1246
+ name:
1247
+ type: string
1248
+ state:
1249
+ type: string
1250
+ enum:
1251
+ - pending
1252
+ - probing
1253
+ - ready
1254
+ - failed
1255
+ attempts:
1256
+ anyOf:
1257
+ - type: integer
1258
+ - type: "null"
1259
+ required:
1260
+ - kind
1261
+ - runId
1262
+ - name
1263
+ - state
1264
+ - attempts
1265
+ additionalProperties: false
1266
+ - type: object
1267
+ properties:
1268
+ kind:
1269
+ type: string
1270
+ const: outcome
1271
+ runId:
1272
+ type: string
1273
+ source:
1274
+ type: string
1275
+ enum:
1276
+ - pull_request
1277
+ - host_status
1278
+ - issue_status
1279
+ - host_check
1280
+ required:
1281
+ - kind
1282
+ - runId
1283
+ - source
1284
+ additionalProperties: false
1285
+ infra-info:
1286
+ type: object
1287
+ properties:
1288
+ launcher:
1289
+ type: string
1290
+ enum:
1291
+ - local
1292
+ - docker
1293
+ - kubernetes
1294
+ kubernetes:
1295
+ anyOf:
1296
+ - type: object
1297
+ properties:
1298
+ namespace:
1299
+ type: string
1300
+ platform:
1301
+ type: string
1302
+ runtimeClass:
1303
+ type:
1304
+ - string
1305
+ - "null"
1306
+ proxyService:
1307
+ type: string
1308
+ runLabel:
1309
+ type: string
1310
+ runLabelHashChars:
1311
+ type: integer
1312
+ componentLabel:
1313
+ type: object
1314
+ additionalProperties:
1315
+ type: string
1316
+ managedByLabel:
1317
+ type: object
1318
+ additionalProperties:
1319
+ type: string
1320
+ required:
1321
+ - namespace
1322
+ - platform
1323
+ - runtimeClass
1324
+ - proxyService
1325
+ - runLabel
1326
+ - runLabelHashChars
1327
+ - componentLabel
1328
+ - managedByLabel
1329
+ additionalProperties: false
1330
+ - type: "null"
1331
+ native:
1332
+ anyOf:
1333
+ - type: object
1334
+ properties:
1335
+ launcher:
1336
+ type: string
1337
+ enum:
1338
+ - docker
1339
+ - kubernetes
1340
+ warmPoolSize:
1341
+ type: integer
1342
+ kubernetes:
1343
+ anyOf:
1344
+ - type: object
1345
+ properties:
1346
+ namespace:
1347
+ type: string
1348
+ runtimeClass:
1349
+ type:
1350
+ - string
1351
+ - "null"
1352
+ runLabel:
1353
+ type: string
1354
+ componentLabel:
1355
+ type: object
1356
+ additionalProperties:
1357
+ type: string
1358
+ warmPoolLabel:
1359
+ type: object
1360
+ additionalProperties:
1361
+ type: string
1362
+ warmWorkerLabel:
1363
+ type: string
1364
+ required:
1365
+ - namespace
1366
+ - runtimeClass
1367
+ - runLabel
1368
+ - componentLabel
1369
+ - warmPoolLabel
1370
+ - warmWorkerLabel
1371
+ additionalProperties: false
1372
+ - type: "null"
1373
+ required:
1374
+ - launcher
1375
+ - warmPoolSize
1376
+ - kubernetes
1377
+ additionalProperties: false
1378
+ - type: "null"
1379
+ required:
1380
+ - launcher
1381
+ - kubernetes
1382
+ - native
1383
+ additionalProperties: false
1384
+ ViewerError:
1385
+ type: object
1386
+ required:
1387
+ - error
1388
+ properties:
1389
+ error:
1390
+ type: string
1391
+ additionalProperties: false
1392
+ ViewerInternalError:
1393
+ type: object
1394
+ required:
1395
+ - error
1396
+ - id
1397
+ properties:
1398
+ error:
1399
+ type: string
1400
+ enum:
1401
+ - internal_error
1402
+ id:
1403
+ type: string
1404
+ additionalProperties: false