@wardby/cli 0.2.1 → 0.3.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 (407) hide show
  1. package/.env.example +34 -4
  2. package/README.md +41 -4
  3. package/dist/claude-coding-worker/driver.d.ts +6 -1
  4. package/dist/claude-coding-worker/driver.js +27 -1
  5. package/dist/claude-coding-worker/main.js +2 -0
  6. package/dist/claude-coding-worker/tool-socket.d.ts +9 -0
  7. package/dist/claude-coding-worker/tool-socket.js +26 -0
  8. package/dist/cli-help.d.ts +1 -1
  9. package/dist/cli-help.js +13 -4
  10. package/dist/cli.d.ts +1 -1
  11. package/dist/cli.js +219 -29
  12. package/dist/coding/collect-exclude.d.ts +25 -0
  13. package/dist/coding/collect-exclude.js +76 -0
  14. package/dist/coding/profile.d.ts +67 -22
  15. package/dist/coding/profile.js +58 -25
  16. package/dist/coding/protected-path-wording.d.ts +24 -0
  17. package/dist/coding/protected-path-wording.js +55 -0
  18. package/dist/coding/protected-paths.d.ts +31 -0
  19. package/dist/coding/protected-paths.js +48 -0
  20. package/dist/coding/protocol.d.ts +75 -4
  21. package/dist/coding/protocol.js +107 -7
  22. package/dist/coding/registry/adapters.d.ts +2 -0
  23. package/dist/coding/registry/adapters.js +9 -0
  24. package/dist/coding/registry/allowlist.d.ts +9 -0
  25. package/dist/coding/registry/allowlist.js +28 -0
  26. package/dist/coding/registry/json-scan.d.ts +55 -0
  27. package/dist/coding/registry/json-scan.js +191 -0
  28. package/dist/coding/registry/lockfiles.d.ts +6 -0
  29. package/dist/coding/registry/lockfiles.js +89 -0
  30. package/dist/coding/registry/npm-lockfile.d.ts +9 -0
  31. package/dist/coding/registry/npm-lockfile.js +73 -0
  32. package/dist/coding/registry/npm-plan.d.ts +29 -0
  33. package/dist/coding/registry/npm-plan.js +289 -0
  34. package/dist/coding/registry/npm.d.ts +7 -0
  35. package/dist/coding/registry/npm.js +252 -0
  36. package/dist/coding/registry/pypi.d.ts +4 -0
  37. package/dist/coding/registry/pypi.js +210 -0
  38. package/dist/coding/registry/report.d.ts +37 -0
  39. package/dist/coding/registry/report.js +31 -0
  40. package/dist/coding/registry/token.d.ts +4 -0
  41. package/dist/coding/registry/token.js +7 -0
  42. package/dist/coding/registry/types.d.ts +286 -0
  43. package/dist/coding/registry/types.js +19 -0
  44. package/dist/coding/registry/worker-config.d.ts +14 -0
  45. package/dist/coding/registry/worker-config.js +31 -0
  46. package/dist/coding/services/builtins.d.ts +22 -0
  47. package/dist/coding/services/builtins.js +85 -0
  48. package/dist/coding/services/catalog.d.ts +443 -0
  49. package/dist/coding/services/catalog.js +159 -0
  50. package/dist/coding/services/declaration.d.ts +11 -0
  51. package/dist/coding/services/declaration.js +114 -0
  52. package/dist/coding/services/note.d.ts +8 -0
  53. package/dist/coding/services/note.js +15 -0
  54. package/dist/coding/services/resolve.d.ts +25 -0
  55. package/dist/coding/services/resolve.js +50 -0
  56. package/dist/coding/services/wording.d.ts +25 -0
  57. package/dist/coding/services/wording.js +70 -0
  58. package/dist/coding-proxy/main.js +24 -4
  59. package/dist/coding-worker/artifact.d.ts +6 -0
  60. package/dist/coding-worker/debug-trace.d.ts +37 -0
  61. package/dist/coding-worker/debug-trace.js +117 -0
  62. package/dist/coding-worker/driver.d.ts +13 -1
  63. package/dist/coding-worker/driver.js +102 -13
  64. package/dist/coding-worker/errors.js +8 -0
  65. package/dist/coding-worker/main.js +10 -2
  66. package/dist/coding-worker/sdk.d.ts +2 -2
  67. package/dist/coding-worker/sdk.js +7 -2
  68. package/dist/coding-worker/types.d.ts +3 -0
  69. package/dist/config/providers.d.ts +41 -0
  70. package/dist/config/providers.js +66 -0
  71. package/dist/core/budget-groups.d.ts +108 -5
  72. package/dist/core/budget-groups.js +125 -19
  73. package/dist/core/budget-wording.d.ts +22 -0
  74. package/dist/core/budget-wording.js +55 -0
  75. package/dist/core/datastores.js +18 -2
  76. package/dist/core/db.d.ts +5 -1
  77. package/dist/core/db.js +8 -2
  78. package/dist/core/dispatch.d.ts +33 -6
  79. package/dist/core/dispatch.js +260 -43
  80. package/dist/core/engine-native.js +27 -10
  81. package/dist/core/grants.d.ts +86 -0
  82. package/dist/core/grants.js +126 -0
  83. package/dist/core/host-events.d.ts +49 -0
  84. package/dist/core/host-events.js +257 -0
  85. package/dist/core/host-identity-links.d.ts +54 -0
  86. package/dist/core/host-identity-links.js +189 -0
  87. package/dist/core/host-status.d.ts +61 -0
  88. package/dist/core/host-status.js +211 -0
  89. package/dist/core/in-flight-runs.d.ts +8 -0
  90. package/dist/core/in-flight-runs.js +56 -0
  91. package/dist/core/provider-wording.d.ts +12 -0
  92. package/dist/core/provider-wording.js +44 -0
  93. package/dist/core/reconciler.d.ts +38 -2
  94. package/dist/core/reconciler.js +86 -2
  95. package/dist/core/repo-access.d.ts +99 -0
  96. package/dist/core/repo-access.js +136 -0
  97. package/dist/core/review-host-checks.d.ts +11 -0
  98. package/dist/core/review-host-checks.js +41 -0
  99. package/dist/core/review-host-tools.d.ts +47 -0
  100. package/dist/core/review-host-tools.js +347 -0
  101. package/dist/core/run-heartbeat.d.ts +27 -0
  102. package/dist/core/run-heartbeat.js +54 -0
  103. package/dist/core/runner.d.ts +30 -8
  104. package/dist/core/runner.js +237 -40
  105. package/dist/core/secrets.d.ts +11 -2
  106. package/dist/core/secrets.js +25 -6
  107. package/dist/core/subagent-memory-tools.d.ts +1 -1
  108. package/dist/core/subagent-memory-tools.js +16 -3
  109. package/dist/core/tool-admin.d.ts +81 -0
  110. package/dist/core/tool-admin.js +129 -0
  111. package/dist/core/tool-names.d.ts +42 -0
  112. package/dist/core/tool-names.js +64 -0
  113. package/dist/core/untrusted-content.d.ts +32 -0
  114. package/dist/core/untrusted-content.js +72 -0
  115. package/dist/core/webhooks.d.ts +8 -1
  116. package/dist/core/webhooks.js +23 -2
  117. package/dist/generated/prisma/browser.d.ts +100 -0
  118. package/dist/generated/prisma/client.d.ts +100 -0
  119. package/dist/generated/prisma/commonInputTypes.d.ts +30 -0
  120. package/dist/generated/prisma/enums.d.ts +6 -0
  121. package/dist/generated/prisma/enums.js +6 -1
  122. package/dist/generated/prisma/internal/class.d.ts +143 -0
  123. package/dist/generated/prisma/internal/class.js +4 -4
  124. package/dist/generated/prisma/internal/prismaNamespace.d.ts +1746 -577
  125. package/dist/generated/prisma/internal/prismaNamespace.js +179 -6
  126. package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +186 -0
  127. package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +179 -6
  128. package/dist/generated/prisma/models/Agent.d.ts +294 -1
  129. package/dist/generated/prisma/models/AgentRepository.d.ts +1425 -0
  130. package/dist/generated/prisma/models/AgentRepository.js +1 -0
  131. package/dist/generated/prisma/models/AgentTool.d.ts +95 -1
  132. package/dist/generated/prisma/models/AuthUser.d.ts +56 -1
  133. package/dist/generated/prisma/models/CodingAgentProfile.d.ts +258 -7
  134. package/dist/generated/prisma/models/CodingProxySession.d.ts +123 -2
  135. package/dist/generated/prisma/models/CodingRun.d.ts +1276 -95
  136. package/dist/generated/prisma/models/CodingService.d.ts +1348 -0
  137. package/dist/generated/prisma/models/CodingService.js +1 -0
  138. package/dist/generated/prisma/models/HostEventDelivery.d.ts +946 -0
  139. package/dist/generated/prisma/models/HostEventDelivery.js +1 -0
  140. package/dist/generated/prisma/models/HostIdentity.d.ts +1232 -0
  141. package/dist/generated/prisma/models/HostIdentity.js +1 -0
  142. package/dist/generated/prisma/models/HostIdentityLinkRequest.d.ts +1473 -0
  143. package/dist/generated/prisma/models/HostIdentityLinkRequest.js +1 -0
  144. package/dist/generated/prisma/models/Principal.d.ts +455 -0
  145. package/dist/generated/prisma/models/RegistryAllowance.d.ts +1148 -0
  146. package/dist/generated/prisma/models/RegistryAllowance.js +1 -0
  147. package/dist/generated/prisma/models/RegistryApprovedVersion.d.ts +1219 -0
  148. package/dist/generated/prisma/models/RegistryApprovedVersion.js +1 -0
  149. package/dist/generated/prisma/models/RegistryFetch.d.ts +1428 -0
  150. package/dist/generated/prisma/models/RegistryFetch.js +1 -0
  151. package/dist/generated/prisma/models/RegistryPlanRefusal.d.ts +1294 -0
  152. package/dist/generated/prisma/models/RegistryPlanRefusal.js +1 -0
  153. package/dist/generated/prisma/models/RegistryVersionFact.d.ts +1085 -0
  154. package/dist/generated/prisma/models/RegistryVersionFact.js +1 -0
  155. package/dist/generated/prisma/models/ResourceGrant.d.ts +1437 -0
  156. package/dist/generated/prisma/models/ResourceGrant.js +1 -0
  157. package/dist/generated/prisma/models/Run.d.ts +389 -1
  158. package/dist/generated/prisma/models/RunHostCheck.d.ts +1239 -0
  159. package/dist/generated/prisma/models/RunHostCheck.js +1 -0
  160. package/dist/generated/prisma/models/RunHostStatus.d.ts +1315 -0
  161. package/dist/generated/prisma/models/RunHostStatus.js +1 -0
  162. package/dist/generated/prisma/models/Tool.d.ts +15 -3
  163. package/dist/generated/prisma/models.d.ts +13 -0
  164. package/dist/help/build.d.ts +1 -0
  165. package/dist/help/build.js +9 -0
  166. package/dist/help/catalog.d.ts +24 -0
  167. package/dist/help/catalog.js +160 -0
  168. package/dist/help/cli.d.ts +2 -0
  169. package/dist/help/cli.js +65 -0
  170. package/dist/help/runtime.d.ts +3 -0
  171. package/dist/help/runtime.js +44 -0
  172. package/dist/help/search.d.ts +9 -0
  173. package/dist/help/search.js +104 -0
  174. package/dist/help-index.json +660 -0
  175. package/dist/import/cli-args.js +3 -2
  176. package/dist/import/create.d.ts +5 -0
  177. package/dist/import/create.js +67 -13
  178. package/dist/import/index.js +19 -9
  179. package/dist/import/neutral-schema.d.ts +11 -11
  180. package/dist/mcp/auth/access.d.ts +70 -0
  181. package/dist/mcp/auth/access.js +58 -0
  182. package/dist/mcp/auth/grants-cli.d.ts +149 -0
  183. package/dist/mcp/auth/grants-cli.js +518 -0
  184. package/dist/mcp/auth/host-account-cli.d.ts +2 -0
  185. package/dist/mcp/auth/host-account-cli.js +47 -0
  186. package/dist/mcp/auth/ownership.d.ts +26 -52
  187. package/dist/mcp/auth/ownership.js +19 -14
  188. package/dist/mcp/auth/repo-authorization.d.ts +22 -0
  189. package/dist/mcp/auth/repo-authorization.js +51 -0
  190. package/dist/mcp/auth/resource-server.d.ts +31 -2
  191. package/dist/mcp/auth/resource-server.js +84 -3
  192. package/dist/mcp/auth/self-hosted/browser.js +2 -2
  193. package/dist/mcp/auth/self-hosted/cli.js +47 -13
  194. package/dist/mcp/auth/self-hosted/credentials.d.ts +20 -2
  195. package/dist/mcp/auth/self-hosted/credentials.js +62 -4
  196. package/dist/mcp/auth/self-hosted/session.d.ts +2 -1
  197. package/dist/mcp/context.d.ts +27 -1
  198. package/dist/mcp/errors.d.ts +25 -6
  199. package/dist/mcp/errors.js +98 -0
  200. package/dist/mcp/host-events/github-ingress.d.ts +36 -0
  201. package/dist/mcp/host-events/github-ingress.js +92 -0
  202. package/dist/mcp/host-events/github-user-callback.d.ts +18 -0
  203. package/dist/mcp/host-events/github-user-callback.js +50 -0
  204. package/dist/mcp/index.d.ts +8 -1
  205. package/dist/mcp/index.js +106 -16
  206. package/dist/mcp/server.js +27 -9
  207. package/dist/mcp/tools/agents.js +446 -48
  208. package/dist/mcp/tools/budget-groups.js +3 -3
  209. package/dist/mcp/tools/datastore.js +22 -15
  210. package/dist/mcp/tools/grants.d.ts +2 -0
  211. package/dist/mcp/tools/grants.js +239 -0
  212. package/dist/mcp/tools/help.d.ts +5 -0
  213. package/dist/mcp/tools/help.js +67 -0
  214. package/dist/mcp/tools/host-accounts.d.ts +2 -0
  215. package/dist/mcp/tools/host-accounts.js +114 -0
  216. package/dist/mcp/tools/memory.d.ts +7 -1
  217. package/dist/mcp/tools/memory.js +5 -5
  218. package/dist/mcp/tools/repositories.d.ts +2 -0
  219. package/dist/mcp/tools/repositories.js +181 -0
  220. package/dist/mcp/tools/runs.d.ts +6 -0
  221. package/dist/mcp/tools/runs.js +60 -6
  222. package/dist/mcp/tools/scheduling.js +3 -6
  223. package/dist/mcp/tools/secrets.js +18 -6
  224. package/dist/mcp/tools/services.d.ts +2 -0
  225. package/dist/mcp/tools/services.js +222 -0
  226. package/dist/mcp/tools/subagents.js +52 -16
  227. package/dist/mcp/tools/tools.d.ts +41 -0
  228. package/dist/mcp/tools/tools.js +201 -40
  229. package/dist/mcp/tools/trigger.js +36 -6
  230. package/dist/mcp/tools/webhooks.js +15 -4
  231. package/dist/mcp/transport/streamable-http.d.ts +10 -0
  232. package/dist/mcp/transport/streamable-http.js +32 -2
  233. package/dist/providers/auth/delegating.d.ts +19 -0
  234. package/dist/providers/auth/delegating.js +71 -0
  235. package/dist/providers/auth/index.d.ts +2 -0
  236. package/dist/providers/auth/index.js +11 -0
  237. package/dist/providers/auth/self-hosted.d.ts +2 -1
  238. package/dist/providers/auth/self-hosted.js +16 -4
  239. package/dist/providers/auth/types.d.ts +6 -0
  240. package/dist/providers/coding-proxy/memory-ledger.d.ts +3 -0
  241. package/dist/providers/coding-proxy/memory-ledger.js +21 -2
  242. package/dist/providers/coding-proxy/metering.d.ts +4 -0
  243. package/dist/providers/coding-proxy/metering.js +28 -2
  244. package/dist/providers/coding-proxy/prisma-ledger.d.ts +17 -0
  245. package/dist/providers/coding-proxy/prisma-ledger.js +50 -5
  246. package/dist/providers/coding-proxy/proxy.d.ts +13 -0
  247. package/dist/providers/coding-proxy/proxy.js +479 -18
  248. package/dist/providers/coding-proxy/registry/audit.d.ts +131 -0
  249. package/dist/providers/coding-proxy/registry/audit.js +380 -0
  250. package/dist/providers/coding-proxy/registry/bounded-fetch.d.ts +16 -0
  251. package/dist/providers/coding-proxy/registry/bounded-fetch.js +77 -0
  252. package/dist/providers/coding-proxy/registry/plan.d.ts +58 -0
  253. package/dist/providers/coding-proxy/registry/plan.js +304 -0
  254. package/dist/providers/coding-proxy/registry/prisma-store.d.ts +34 -0
  255. package/dist/providers/coding-proxy/registry/prisma-store.js +151 -0
  256. package/dist/providers/coding-proxy/registry/service.d.ts +213 -0
  257. package/dist/providers/coding-proxy/registry/service.js +1137 -0
  258. package/dist/providers/coding-proxy/registry/store.d.ts +127 -0
  259. package/dist/providers/coding-proxy/registry/store.js +70 -0
  260. package/dist/providers/coding-proxy/runtime.d.ts +17 -0
  261. package/dist/providers/coding-proxy/runtime.js +63 -0
  262. package/dist/providers/coding-proxy/secure-fetch.js +0 -1
  263. package/dist/providers/coding-proxy/server.d.ts +11 -0
  264. package/dist/providers/coding-proxy/server.js +163 -0
  265. package/dist/providers/coding-proxy/types.d.ts +15 -0
  266. package/dist/providers/engine/types.d.ts +10 -0
  267. package/dist/providers/executor/build.d.ts +2 -2
  268. package/dist/providers/executor/composition.d.ts +3 -0
  269. package/dist/providers/executor/composition.js +19 -0
  270. package/dist/providers/executor/container.d.ts +105 -3
  271. package/dist/providers/executor/container.js +296 -20
  272. package/dist/providers/executor/dbos.d.ts +2 -3
  273. package/dist/providers/executor/in-process.d.ts +2 -3
  274. package/dist/providers/executor/routing.d.ts +7 -0
  275. package/dist/providers/executor/routing.js +13 -0
  276. package/dist/providers/executor/types.d.ts +22 -0
  277. package/dist/providers/jobs/claude-tool-setup.d.ts +23 -0
  278. package/dist/providers/jobs/claude-tool-setup.js +50 -0
  279. package/dist/providers/jobs/collect-prune.d.ts +7 -0
  280. package/dist/providers/jobs/collect-prune.js +27 -0
  281. package/dist/providers/jobs/docker-isolation.d.ts +48 -3
  282. package/dist/providers/jobs/docker-isolation.js +213 -22
  283. package/dist/providers/jobs/docker-services.d.ts +35 -0
  284. package/dist/providers/jobs/docker-services.js +191 -0
  285. package/dist/providers/jobs/docker.d.ts +49 -2
  286. package/dist/providers/jobs/docker.js +279 -32
  287. package/dist/providers/jobs/fake-kubernetes-api.d.ts +1 -0
  288. package/dist/providers/jobs/fake-kubernetes-api.js +12 -3
  289. package/dist/providers/jobs/kubernetes-isolation.d.ts +17 -2
  290. package/dist/providers/jobs/kubernetes-isolation.js +238 -57
  291. package/dist/providers/jobs/kubernetes-platform.d.ts +10 -4
  292. package/dist/providers/jobs/kubernetes-platform.js +11 -5
  293. package/dist/providers/jobs/kubernetes-preflight.js +3 -0
  294. package/dist/providers/jobs/kubernetes.d.ts +21 -2
  295. package/dist/providers/jobs/kubernetes.js +112 -21
  296. package/dist/providers/jobs/types.d.ts +18 -0
  297. package/dist/providers/llm/anthropic.js +6 -2
  298. package/dist/providers/llm/bedrock.js +2 -1
  299. package/dist/providers/llm/claude-messages.d.ts +5 -1
  300. package/dist/providers/llm/claude-messages.js +1 -0
  301. package/dist/providers/llm/claude-provider.d.ts +3 -1
  302. package/dist/providers/llm/claude-provider.js +5 -1
  303. package/dist/providers/llm/index.d.ts +1 -1
  304. package/dist/providers/llm/index.js +1 -1
  305. package/dist/providers/llm/pricing-anthropic.d.ts +10 -0
  306. package/dist/providers/llm/pricing-anthropic.js +32 -14
  307. package/dist/providers/llm/pricing-bedrock-claude.d.ts +8 -0
  308. package/dist/providers/llm/pricing-bedrock-claude.js +9 -0
  309. package/dist/providers/llm/routing.d.ts +10 -1
  310. package/dist/providers/llm/routing.js +18 -0
  311. package/dist/providers/llm/types.d.ts +12 -0
  312. package/dist/providers/llm/types.js +8 -1
  313. package/dist/providers/review-host/diff-lines.d.ts +16 -0
  314. package/dist/providers/review-host/diff-lines.js +59 -0
  315. package/dist/providers/review-host/github-events.d.ts +6 -0
  316. package/dist/providers/review-host/github-events.js +180 -0
  317. package/dist/providers/review-host/github-user-auth.d.ts +38 -0
  318. package/dist/providers/review-host/github-user-auth.js +128 -0
  319. package/dist/providers/review-host/github.d.ts +57 -0
  320. package/dist/providers/review-host/github.js +567 -0
  321. package/dist/providers/review-host/index.d.ts +12 -0
  322. package/dist/providers/review-host/index.js +30 -0
  323. package/dist/providers/review-host/review-format.d.ts +19 -0
  324. package/dist/providers/review-host/review-format.js +59 -0
  325. package/dist/providers/review-host/types.d.ts +284 -0
  326. package/dist/providers/review-host/types.js +24 -0
  327. package/dist/providers/vcs/git.d.ts +16 -6
  328. package/dist/providers/vcs/git.js +77 -13
  329. package/dist/providers/vcs/github.d.ts +74 -3
  330. package/dist/providers/vcs/github.js +195 -15
  331. package/dist/providers/vcs/types.d.ts +42 -4
  332. package/dist/quickstart/index.js +13 -2
  333. package/dist/sandbox/fetch-policy.d.ts +20 -2
  334. package/dist/sandbox/fetch-policy.js +64 -3
  335. package/dist/sandbox/host-functions.d.ts +9 -1
  336. package/dist/sandbox/host-functions.js +12 -5
  337. package/dist/serve.js +1 -1
  338. package/dist/wardby-bin.js +6 -0
  339. package/docs/README.md +30 -0
  340. package/docs/architecture-runtime.md +90 -0
  341. package/docs/assets/brand/wardby-icon-512.png +0 -0
  342. package/docs/assets/brand/wardby-icon.svg +16 -0
  343. package/docs/assets/brand/wardby-mascot-profile-512.png +0 -0
  344. package/docs/assets/brand/wardby-mascot.png +0 -0
  345. package/docs/assets/brand/wardby-mascot.svg +5 -0
  346. package/docs/assets/wardby-workflow.svg +106 -0
  347. package/docs/code-review-agents.md +481 -0
  348. package/docs/coding-agent-setup.md +172 -0
  349. package/docs/coding-packages.md +455 -0
  350. package/docs/coding-services.md +300 -0
  351. package/docs/coding-worker-byo-images.md +98 -0
  352. package/docs/coding-worker-isolation.md +1061 -0
  353. package/docs/getting-started-gke.md +615 -0
  354. package/docs/getting-started-identity-provider.md +308 -0
  355. package/docs/getting-started.md +133 -0
  356. package/docs/observability.md +53 -0
  357. package/docs/release-verification.md +66 -0
  358. package/docs/security-deployment.md +657 -0
  359. package/help/code-review-agents.md +31 -0
  360. package/help/coding-packages.md +31 -0
  361. package/help/coding-services.md +71 -0
  362. package/help/creating-agents.md +68 -0
  363. package/help/deploy-gke.md +39 -0
  364. package/help/deployment-targets.md +39 -0
  365. package/help/errors/budget-group-exhausted.md +25 -0
  366. package/help/errors/docker-isolation-unsupported.md +26 -0
  367. package/help/errors/protected-path.md +45 -0
  368. package/help/errors/repo-access.md +27 -0
  369. package/help/errors/service-declaration-invalid.md +27 -0
  370. package/help/errors/service-declaration-unavailable.md +25 -0
  371. package/help/errors/service-launcher-unsupported.md +30 -0
  372. package/help/errors/service-not-allowed.md +27 -0
  373. package/help/errors/service-unknown.md +23 -0
  374. package/help/errors/service-unready.md +49 -0
  375. package/help/getting-started.md +31 -0
  376. package/help/github.md +30 -0
  377. package/help/identity-and-access.md +39 -0
  378. package/help/mcp.md +30 -0
  379. package/help/native-capabilities.md +30 -0
  380. package/help/observability.md +41 -0
  381. package/help/operating-agents.md +30 -0
  382. package/help/security.md +27 -0
  383. package/help/troubleshooting/budgets.md +26 -0
  384. package/help/troubleshooting/coding-workers.md +47 -0
  385. package/help/troubleshooting/repository-access.md +27 -0
  386. package/package.json +12 -3
  387. package/prisma/migrations/20260925010000_coding_collect_exclude/migration.sql +8 -0
  388. package/prisma/migrations/20260925015000_allowed_egress_default/migration.sql +8 -0
  389. package/prisma/migrations/20260925020000_coding_package_registry/migration.sql +55 -0
  390. package/prisma/migrations/20260925030000_tool_name_per_owner/migration.sql +11 -0
  391. package/prisma/migrations/20260926010000_run_trigger_host_event/migration.sql +7 -0
  392. package/prisma/migrations/20260926020000_code_review_hosts/migration.sql +53 -0
  393. package/prisma/migrations/20260926030000_auth_user_roles/migration.sql +9 -0
  394. package/prisma/migrations/20260926040000_agent_effort/migration.sql +6 -0
  395. package/prisma/migrations/20260926050000_registry_lockfile_plan/migration.sql +32 -0
  396. package/prisma/migrations/20260926050000_repo_access_authorization/migration.sql +82 -0
  397. package/prisma/migrations/20260926060000_registry_plan_refusal/migration.sql +19 -0
  398. package/prisma/migrations/20260926100000_registry_plan_refusal_published_at/migration.sql +5 -0
  399. package/prisma/migrations/20260926190000_run_host_status/migration.sql +18 -0
  400. package/prisma/migrations/20260926210000_run_host_status_at_dispatch/migration.sql +5 -0
  401. package/prisma/migrations/20260927010000_resource_grants/migration.sql +72 -0
  402. package/prisma/migrations/20260927020000_proxy_session_budget_exhausted/migration.sql +3 -0
  403. package/prisma/migrations/20260927030000_coding_debug_trace/migration.sql +4 -0
  404. package/prisma/migrations/20260927040000_proxy_session_upstream_failure/migration.sql +3 -0
  405. package/prisma/migrations/20260927050000_coding_run_services/migration.sql +74 -0
  406. package/prisma/migrations/20260928000000_coding_run_tool_image/migration.sql +5 -0
  407. package/prisma/schema.prisma +407 -21
@@ -130,6 +130,17 @@ export type CodingAgentProfile = Prisma.CodingAgentProfileModel;
130
130
  * one coding run. Policy is copied from the profile before work starts.
131
131
  */
132
132
  export type CodingRun = Prisma.CodingRunModel;
133
+ /**
134
+ * Model CodingService
135
+ * Coding-run services (docs/coding-services.md): the catalog a repository's
136
+ * .wardby/services.yaml names entries from. Admin-managed over MCP
137
+ * (list/get_service: agents:read; create/update/delete_service:
138
+ * services:manage, audit-logged).
139
+ * Built-in rows ship with wardby, seeded by migration, and change only with a
140
+ * wardby release. `kind` is "sidecar" (a fresh instance in each run's pod);
141
+ * "external" is reserved.
142
+ */
143
+ export type CodingService = Prisma.CodingServiceModel;
133
144
  /**
134
145
  * Model CodingProxySession
135
146
  * Trusted-boundary state for one coding run. Only a capability digest and an
@@ -142,6 +153,43 @@ export type CodingProxySession = Prisma.CodingProxySessionModel;
142
153
  * crash or truncated provider stream can never create new spendable budget.
143
154
  */
144
155
  export type CodingProxyRequest = Prisma.CodingProxyRequestModel;
156
+ /**
157
+ * Model RegistryAllowance
158
+ * One package a run's profile has approved from a given ecosystem, resolved
159
+ * once at dispatch (see CodingRun.packageAllowlist) and used to gate every
160
+ * proxy fetch for the run's lifetime.
161
+ */
162
+ export type RegistryAllowance = Prisma.RegistryAllowanceModel;
163
+ /**
164
+ * Model RegistryFetch
165
+ * Audit ledger of every package fetch the registry proxy served or refused
166
+ * for a run.
167
+ */
168
+ export type RegistryFetch = Prisma.RegistryFetchModel;
169
+ /**
170
+ * Model RegistryVersionFact
171
+ * Immutable facts about one published package version, read from the
172
+ * registry itself (never from a lockfile) by lockfile verification: its
173
+ * publish time, integrity, download URL and declared dependencies
174
+ * ([{ key, name, range }], aliases resolved). Stored once and reused
175
+ * forever; allow/deny decisions are never cached here.
176
+ */
177
+ export type RegistryVersionFact = Prisma.RegistryVersionFactModel;
178
+ /**
179
+ * Model RegistryApprovedVersion
180
+ * One exact package version a run's lockfile plan (POST
181
+ * /registry/<ecosystem>/-/plan) verified and approved: a download of it is
182
+ * served directly, integrity-checked against this value.
183
+ */
184
+ export type RegistryApprovedVersion = Prisma.RegistryApprovedVersionModel;
185
+ /**
186
+ * Model RegistryPlanRefusal
187
+ * One exact package version a run's lockfile plan refused for a reason
188
+ * intrinsic to the registry's name@version (too new, an advisory, not
189
+ * published, no integrity, hosted elsewhere): a download of it is answered
190
+ * from here with the same code and reason, without a graph walk.
191
+ */
192
+ export type RegistryPlanRefusal = Prisma.RegistryPlanRefusalModel;
145
193
  /**
146
194
  * Model SchedulerLease
147
195
  * Phase 2: single-row-per-scope lease so exactly one scheduler process
@@ -155,6 +203,16 @@ export type SchedulerLease = Prisma.SchedulerLeaseModel;
155
203
  * Created on first sight (find-or-create by subject).
156
204
  */
157
205
  export type Principal = Prisma.PrincipalModel;
206
+ /**
207
+ * Model ResourceGrant
208
+ * Explicit sharing of one resource with one grantee (docs/private/
209
+ * 2026-09-26-resource-sharing-grants-spec-and-plan.md). Polymorphic on
210
+ * (resourceType, resourceId) -- no FK to the resource, so every resource
211
+ * delete path removes its grants in the same transaction. Levels are
212
+ * ordered per type and validated in code (core/grants.ts), like
213
+ * AgentRepository.provider, so a new type or level needs no enum migration.
214
+ */
215
+ export type ResourceGrant = Prisma.ResourceGrantModel;
158
216
  /**
159
217
  * Model Task
160
218
  *
@@ -245,3 +303,45 @@ export type OAuthFamily = Prisma.OAuthFamilyModel;
245
303
  *
246
304
  */
247
305
  export type AuthRateLimit = Prisma.AuthRateLimitModel;
306
+ /**
307
+ * Model AgentRepository
308
+ * Which repositories on which code-review host a native agent may act on,
309
+ * and which host events trigger it. See
310
+ * docs/private/2026-09-25-code-review-host-design.md §4.1.
311
+ */
312
+ export type AgentRepository = Prisma.AgentRepositoryModel;
313
+ /**
314
+ * Model RunHostCheck
315
+ * The host check a run owns, so the review tool can complete it and the
316
+ * run finalizer can close it if the run ends without publishing.
317
+ */
318
+ export type RunHostCheck = Prisma.RunHostCheckModel;
319
+ /**
320
+ * Model RunHostStatus
321
+ * De-duplicates host webhook redeliveries; pruned after 7 days.
322
+ * The status comment wardby posts on the issue or pull request whose
323
+ * @-mention started this run ("working on it"), edited with the outcome
324
+ * when the run ends. One per mention run.
325
+ */
326
+ export type RunHostStatus = Prisma.RunHostStatusModel;
327
+ /**
328
+ * Model HostEventDelivery
329
+ *
330
+ */
331
+ export type HostEventDelivery = Prisma.HostEventDeliveryModel;
332
+ /**
333
+ * Model HostIdentity
334
+ * A principal's verified identity on a code-review host (GitHub today),
335
+ * linked through the host's user-authorization flow (link_host_account).
336
+ * Only the numeric user id and login are stored, never a user token. A host
337
+ * user belongs to at most one principal.
338
+ */
339
+ export type HostIdentity = Prisma.HostIdentityModel;
340
+ /**
341
+ * Model HostIdentityLinkRequest
342
+ * An in-flight host identity link (link_host_account): the OAuth state and
343
+ * PKCE verifier, then, after the host's callback, the verified user and the
344
+ * hash of the one-time confirmation code the same principal must submit.
345
+ * Lives 10 minutes.
346
+ */
347
+ export type HostIdentityLinkRequest = Prisma.HostIdentityLinkRequestModel;
@@ -373,6 +373,21 @@ export type EnumCodingProxyRequestStatusWithAggregatesFilter<$PrismaModel = neve
373
373
  _min?: Prisma.NestedEnumCodingProxyRequestStatusFilter<$PrismaModel>;
374
374
  _max?: Prisma.NestedEnumCodingProxyRequestStatusFilter<$PrismaModel>;
375
375
  };
376
+ export type EnumRegistryFetchOutcomeFilter<$PrismaModel = never> = {
377
+ equals?: $Enums.RegistryFetchOutcome | Prisma.EnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
378
+ in?: $Enums.RegistryFetchOutcome[] | Prisma.ListEnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
379
+ notIn?: $Enums.RegistryFetchOutcome[] | Prisma.ListEnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
380
+ not?: Prisma.NestedEnumRegistryFetchOutcomeFilter<$PrismaModel> | $Enums.RegistryFetchOutcome;
381
+ };
382
+ export type EnumRegistryFetchOutcomeWithAggregatesFilter<$PrismaModel = never> = {
383
+ equals?: $Enums.RegistryFetchOutcome | Prisma.EnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
384
+ in?: $Enums.RegistryFetchOutcome[] | Prisma.ListEnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
385
+ notIn?: $Enums.RegistryFetchOutcome[] | Prisma.ListEnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
386
+ not?: Prisma.NestedEnumRegistryFetchOutcomeWithAggregatesFilter<$PrismaModel> | $Enums.RegistryFetchOutcome;
387
+ _count?: Prisma.NestedIntFilter<$PrismaModel>;
388
+ _min?: Prisma.NestedEnumRegistryFetchOutcomeFilter<$PrismaModel>;
389
+ _max?: Prisma.NestedEnumRegistryFetchOutcomeFilter<$PrismaModel>;
390
+ };
376
391
  export type EnumTaskKindFilter<$PrismaModel = never> = {
377
392
  equals?: $Enums.TaskKind | Prisma.EnumTaskKindFieldRefInput<$PrismaModel>;
378
393
  in?: $Enums.TaskKind[] | Prisma.ListEnumTaskKindFieldRefInput<$PrismaModel>;
@@ -762,6 +777,21 @@ export type NestedEnumCodingProxyRequestStatusWithAggregatesFilter<$PrismaModel
762
777
  _min?: Prisma.NestedEnumCodingProxyRequestStatusFilter<$PrismaModel>;
763
778
  _max?: Prisma.NestedEnumCodingProxyRequestStatusFilter<$PrismaModel>;
764
779
  };
780
+ export type NestedEnumRegistryFetchOutcomeFilter<$PrismaModel = never> = {
781
+ equals?: $Enums.RegistryFetchOutcome | Prisma.EnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
782
+ in?: $Enums.RegistryFetchOutcome[] | Prisma.ListEnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
783
+ notIn?: $Enums.RegistryFetchOutcome[] | Prisma.ListEnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
784
+ not?: Prisma.NestedEnumRegistryFetchOutcomeFilter<$PrismaModel> | $Enums.RegistryFetchOutcome;
785
+ };
786
+ export type NestedEnumRegistryFetchOutcomeWithAggregatesFilter<$PrismaModel = never> = {
787
+ equals?: $Enums.RegistryFetchOutcome | Prisma.EnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
788
+ in?: $Enums.RegistryFetchOutcome[] | Prisma.ListEnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
789
+ notIn?: $Enums.RegistryFetchOutcome[] | Prisma.ListEnumRegistryFetchOutcomeFieldRefInput<$PrismaModel>;
790
+ not?: Prisma.NestedEnumRegistryFetchOutcomeWithAggregatesFilter<$PrismaModel> | $Enums.RegistryFetchOutcome;
791
+ _count?: Prisma.NestedIntFilter<$PrismaModel>;
792
+ _min?: Prisma.NestedEnumRegistryFetchOutcomeFilter<$PrismaModel>;
793
+ _max?: Prisma.NestedEnumRegistryFetchOutcomeFilter<$PrismaModel>;
794
+ };
765
795
  export type NestedEnumTaskKindFilter<$PrismaModel = never> = {
766
796
  equals?: $Enums.TaskKind | Prisma.EnumTaskKindFieldRefInput<$PrismaModel>;
767
797
  in?: $Enums.TaskKind[] | Prisma.ListEnumTaskKindFieldRefInput<$PrismaModel>;
@@ -19,6 +19,7 @@ export declare const RunTrigger: {
19
19
  readonly scheduled: "scheduled";
20
20
  readonly webhook: "webhook";
21
21
  readonly subagent: "subagent";
22
+ readonly host_event: "host_event";
22
23
  };
23
24
  export type RunTrigger = (typeof RunTrigger)[keyof typeof RunTrigger];
24
25
  export declare const CodingProxySessionStatus: {
@@ -33,6 +34,11 @@ export declare const CodingProxyRequestStatus: {
33
34
  readonly uncertain: "uncertain";
34
35
  };
35
36
  export type CodingProxyRequestStatus = (typeof CodingProxyRequestStatus)[keyof typeof CodingProxyRequestStatus];
37
+ export declare const RegistryFetchOutcome: {
38
+ readonly served: "served";
39
+ readonly refused: "refused";
40
+ };
41
+ export type RegistryFetchOutcome = (typeof RegistryFetchOutcome)[keyof typeof RegistryFetchOutcome];
36
42
  export declare const TaskKind: {
37
43
  readonly run: "run";
38
44
  readonly tool_authoring: "tool_authoring";
@@ -25,7 +25,8 @@ export const RunTrigger = {
25
25
  manual: 'manual',
26
26
  scheduled: 'scheduled',
27
27
  webhook: 'webhook',
28
- subagent: 'subagent'
28
+ subagent: 'subagent',
29
+ host_event: 'host_event'
29
30
  };
30
31
  export const CodingProxySessionStatus = {
31
32
  active: 'active',
@@ -37,6 +38,10 @@ export const CodingProxyRequestStatus = {
37
38
  released: 'released',
38
39
  uncertain: 'uncertain'
39
40
  };
41
+ export const RegistryFetchOutcome = {
42
+ served: 'served',
43
+ refused: 'refused'
44
+ };
40
45
  export const TaskKind = {
41
46
  run: 'run',
42
47
  tool_authoring: 'tool_authoring'
@@ -249,6 +249,17 @@ export interface PrismaClient<in LogOpts extends Prisma.LogLevel = never, in out
249
249
  get codingRun(): Prisma.CodingRunDelegate<ExtArgs, {
250
250
  omit: OmitOpts;
251
251
  }>;
252
+ /**
253
+ * `prisma.codingService`: Exposes CRUD operations for the **CodingService** model.
254
+ * Example usage:
255
+ * ```ts
256
+ * // Fetch zero or more CodingServices
257
+ * const codingServices = await prisma.codingService.findMany()
258
+ * ```
259
+ */
260
+ get codingService(): Prisma.CodingServiceDelegate<ExtArgs, {
261
+ omit: OmitOpts;
262
+ }>;
252
263
  /**
253
264
  * `prisma.codingProxySession`: Exposes CRUD operations for the **CodingProxySession** model.
254
265
  * Example usage:
@@ -271,6 +282,61 @@ export interface PrismaClient<in LogOpts extends Prisma.LogLevel = never, in out
271
282
  get codingProxyRequest(): Prisma.CodingProxyRequestDelegate<ExtArgs, {
272
283
  omit: OmitOpts;
273
284
  }>;
285
+ /**
286
+ * `prisma.registryAllowance`: Exposes CRUD operations for the **RegistryAllowance** model.
287
+ * Example usage:
288
+ * ```ts
289
+ * // Fetch zero or more RegistryAllowances
290
+ * const registryAllowances = await prisma.registryAllowance.findMany()
291
+ * ```
292
+ */
293
+ get registryAllowance(): Prisma.RegistryAllowanceDelegate<ExtArgs, {
294
+ omit: OmitOpts;
295
+ }>;
296
+ /**
297
+ * `prisma.registryFetch`: Exposes CRUD operations for the **RegistryFetch** model.
298
+ * Example usage:
299
+ * ```ts
300
+ * // Fetch zero or more RegistryFetches
301
+ * const registryFetches = await prisma.registryFetch.findMany()
302
+ * ```
303
+ */
304
+ get registryFetch(): Prisma.RegistryFetchDelegate<ExtArgs, {
305
+ omit: OmitOpts;
306
+ }>;
307
+ /**
308
+ * `prisma.registryVersionFact`: Exposes CRUD operations for the **RegistryVersionFact** model.
309
+ * Example usage:
310
+ * ```ts
311
+ * // Fetch zero or more RegistryVersionFacts
312
+ * const registryVersionFacts = await prisma.registryVersionFact.findMany()
313
+ * ```
314
+ */
315
+ get registryVersionFact(): Prisma.RegistryVersionFactDelegate<ExtArgs, {
316
+ omit: OmitOpts;
317
+ }>;
318
+ /**
319
+ * `prisma.registryApprovedVersion`: Exposes CRUD operations for the **RegistryApprovedVersion** model.
320
+ * Example usage:
321
+ * ```ts
322
+ * // Fetch zero or more RegistryApprovedVersions
323
+ * const registryApprovedVersions = await prisma.registryApprovedVersion.findMany()
324
+ * ```
325
+ */
326
+ get registryApprovedVersion(): Prisma.RegistryApprovedVersionDelegate<ExtArgs, {
327
+ omit: OmitOpts;
328
+ }>;
329
+ /**
330
+ * `prisma.registryPlanRefusal`: Exposes CRUD operations for the **RegistryPlanRefusal** model.
331
+ * Example usage:
332
+ * ```ts
333
+ * // Fetch zero or more RegistryPlanRefusals
334
+ * const registryPlanRefusals = await prisma.registryPlanRefusal.findMany()
335
+ * ```
336
+ */
337
+ get registryPlanRefusal(): Prisma.RegistryPlanRefusalDelegate<ExtArgs, {
338
+ omit: OmitOpts;
339
+ }>;
274
340
  /**
275
341
  * `prisma.schedulerLease`: Exposes CRUD operations for the **SchedulerLease** model.
276
342
  * Example usage:
@@ -293,6 +359,17 @@ export interface PrismaClient<in LogOpts extends Prisma.LogLevel = never, in out
293
359
  get principal(): Prisma.PrincipalDelegate<ExtArgs, {
294
360
  omit: OmitOpts;
295
361
  }>;
362
+ /**
363
+ * `prisma.resourceGrant`: Exposes CRUD operations for the **ResourceGrant** model.
364
+ * Example usage:
365
+ * ```ts
366
+ * // Fetch zero or more ResourceGrants
367
+ * const resourceGrants = await prisma.resourceGrant.findMany()
368
+ * ```
369
+ */
370
+ get resourceGrant(): Prisma.ResourceGrantDelegate<ExtArgs, {
371
+ omit: OmitOpts;
372
+ }>;
296
373
  /**
297
374
  * `prisma.task`: Exposes CRUD operations for the **Task** model.
298
375
  * Example usage:
@@ -458,5 +535,71 @@ export interface PrismaClient<in LogOpts extends Prisma.LogLevel = never, in out
458
535
  get authRateLimit(): Prisma.AuthRateLimitDelegate<ExtArgs, {
459
536
  omit: OmitOpts;
460
537
  }>;
538
+ /**
539
+ * `prisma.agentRepository`: Exposes CRUD operations for the **AgentRepository** model.
540
+ * Example usage:
541
+ * ```ts
542
+ * // Fetch zero or more AgentRepositories
543
+ * const agentRepositories = await prisma.agentRepository.findMany()
544
+ * ```
545
+ */
546
+ get agentRepository(): Prisma.AgentRepositoryDelegate<ExtArgs, {
547
+ omit: OmitOpts;
548
+ }>;
549
+ /**
550
+ * `prisma.runHostCheck`: Exposes CRUD operations for the **RunHostCheck** model.
551
+ * Example usage:
552
+ * ```ts
553
+ * // Fetch zero or more RunHostChecks
554
+ * const runHostChecks = await prisma.runHostCheck.findMany()
555
+ * ```
556
+ */
557
+ get runHostCheck(): Prisma.RunHostCheckDelegate<ExtArgs, {
558
+ omit: OmitOpts;
559
+ }>;
560
+ /**
561
+ * `prisma.runHostStatus`: Exposes CRUD operations for the **RunHostStatus** model.
562
+ * Example usage:
563
+ * ```ts
564
+ * // Fetch zero or more RunHostStatuses
565
+ * const runHostStatuses = await prisma.runHostStatus.findMany()
566
+ * ```
567
+ */
568
+ get runHostStatus(): Prisma.RunHostStatusDelegate<ExtArgs, {
569
+ omit: OmitOpts;
570
+ }>;
571
+ /**
572
+ * `prisma.hostEventDelivery`: Exposes CRUD operations for the **HostEventDelivery** model.
573
+ * Example usage:
574
+ * ```ts
575
+ * // Fetch zero or more HostEventDeliveries
576
+ * const hostEventDeliveries = await prisma.hostEventDelivery.findMany()
577
+ * ```
578
+ */
579
+ get hostEventDelivery(): Prisma.HostEventDeliveryDelegate<ExtArgs, {
580
+ omit: OmitOpts;
581
+ }>;
582
+ /**
583
+ * `prisma.hostIdentity`: Exposes CRUD operations for the **HostIdentity** model.
584
+ * Example usage:
585
+ * ```ts
586
+ * // Fetch zero or more HostIdentities
587
+ * const hostIdentities = await prisma.hostIdentity.findMany()
588
+ * ```
589
+ */
590
+ get hostIdentity(): Prisma.HostIdentityDelegate<ExtArgs, {
591
+ omit: OmitOpts;
592
+ }>;
593
+ /**
594
+ * `prisma.hostIdentityLinkRequest`: Exposes CRUD operations for the **HostIdentityLinkRequest** model.
595
+ * Example usage:
596
+ * ```ts
597
+ * // Fetch zero or more HostIdentityLinkRequests
598
+ * const hostIdentityLinkRequests = await prisma.hostIdentityLinkRequest.findMany()
599
+ * ```
600
+ */
601
+ get hostIdentityLinkRequest(): Prisma.HostIdentityLinkRequestDelegate<ExtArgs, {
602
+ omit: OmitOpts;
603
+ }>;
461
604
  }
462
605
  export declare function getPrismaClientClass(): PrismaClientConstructor;