@wardby/cli 0.2.0 → 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 (491) hide show
  1. package/.env.example +34 -4
  2. package/README.md +183 -71
  3. package/dist/claude-coding-worker/driver.d.ts +7 -1
  4. package/dist/claude-coding-worker/driver.js +31 -2
  5. package/dist/claude-coding-worker/main.js +5 -2
  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 +99 -3
  21. package/dist/coding/protocol.js +155 -4
  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 +18 -0
  60. package/dist/coding-worker/artifact.js +48 -6
  61. package/dist/coding-worker/debug-trace.d.ts +37 -0
  62. package/dist/coding-worker/debug-trace.js +117 -0
  63. package/dist/coding-worker/driver.d.ts +14 -1
  64. package/dist/coding-worker/driver.js +106 -14
  65. package/dist/coding-worker/errors.d.ts +7 -0
  66. package/dist/coding-worker/errors.js +26 -0
  67. package/dist/coding-worker/main.js +13 -4
  68. package/dist/coding-worker/sdk.d.ts +2 -2
  69. package/dist/coding-worker/sdk.js +7 -2
  70. package/dist/coding-worker/types.d.ts +3 -0
  71. package/dist/config/providers.d.ts +41 -0
  72. package/dist/config/providers.js +66 -0
  73. package/dist/core/budget-groups.d.ts +109 -6
  74. package/dist/core/budget-groups.js +125 -19
  75. package/dist/core/budget-wording.d.ts +22 -0
  76. package/dist/core/budget-wording.js +55 -0
  77. package/dist/core/coding-queue.d.ts +1 -1
  78. package/dist/core/datastores.d.ts +1 -1
  79. package/dist/core/datastores.js +18 -2
  80. package/dist/core/db.d.ts +40 -2
  81. package/dist/core/db.js +75 -2
  82. package/dist/core/dispatch.d.ts +49 -7
  83. package/dist/core/dispatch.js +290 -45
  84. package/dist/core/engine-native.js +27 -10
  85. package/dist/core/grants.d.ts +86 -0
  86. package/dist/core/grants.js +126 -0
  87. package/dist/core/host-events.d.ts +49 -0
  88. package/dist/core/host-events.js +257 -0
  89. package/dist/core/host-identity-links.d.ts +54 -0
  90. package/dist/core/host-identity-links.js +189 -0
  91. package/dist/core/host-status.d.ts +61 -0
  92. package/dist/core/host-status.js +211 -0
  93. package/dist/core/http-runtime.js +3 -4
  94. package/dist/core/in-flight-runs.d.ts +8 -0
  95. package/dist/core/in-flight-runs.js +56 -0
  96. package/dist/core/lease.d.ts +1 -1
  97. package/dist/core/private-directory.d.ts +20 -0
  98. package/dist/core/private-directory.js +36 -0
  99. package/dist/core/provider-wording.d.ts +12 -0
  100. package/dist/core/provider-wording.js +44 -0
  101. package/dist/core/reconciler.d.ts +39 -3
  102. package/dist/core/reconciler.js +86 -2
  103. package/dist/core/repo-access.d.ts +99 -0
  104. package/dist/core/repo-access.js +136 -0
  105. package/dist/core/review-host-checks.d.ts +11 -0
  106. package/dist/core/review-host-checks.js +41 -0
  107. package/dist/core/review-host-tools.d.ts +47 -0
  108. package/dist/core/review-host-tools.js +347 -0
  109. package/dist/core/run-heartbeat.d.ts +27 -0
  110. package/dist/core/run-heartbeat.js +54 -0
  111. package/dist/core/runner.d.ts +31 -9
  112. package/dist/core/runner.js +237 -40
  113. package/dist/core/scheduler.d.ts +1 -1
  114. package/dist/core/secrets.d.ts +12 -3
  115. package/dist/core/secrets.js +25 -6
  116. package/dist/core/subagent-memory-tools.d.ts +2 -2
  117. package/dist/core/subagent-memory-tools.js +16 -3
  118. package/dist/core/tool-admin.d.ts +81 -0
  119. package/dist/core/tool-admin.js +129 -0
  120. package/dist/core/tool-names.d.ts +42 -0
  121. package/dist/core/tool-names.js +64 -0
  122. package/dist/core/untrusted-content.d.ts +32 -0
  123. package/dist/core/untrusted-content.js +72 -0
  124. package/dist/core/webhooks.d.ts +9 -2
  125. package/dist/core/webhooks.js +23 -2
  126. package/dist/generated/prisma/browser.d.ts +328 -0
  127. package/dist/generated/prisma/browser.js +17 -0
  128. package/dist/generated/prisma/client.d.ts +347 -0
  129. package/dist/generated/prisma/client.js +34 -0
  130. package/dist/generated/prisma/commonInputTypes.d.ts +839 -0
  131. package/dist/generated/prisma/commonInputTypes.js +10 -0
  132. package/dist/generated/prisma/enums.d.ts +59 -0
  133. package/dist/generated/prisma/enums.js +59 -0
  134. package/dist/generated/prisma/internal/class.d.ts +605 -0
  135. package/dist/generated/prisma/internal/class.js +49 -0
  136. package/dist/generated/prisma/internal/prismaNamespace.d.ts +4494 -0
  137. package/dist/generated/prisma/internal/prismaNamespace.js +628 -0
  138. package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +635 -0
  139. package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +599 -0
  140. package/dist/generated/prisma/models/Agent.d.ts +3560 -0
  141. package/dist/generated/prisma/models/Agent.js +1 -0
  142. package/dist/generated/prisma/models/AgentDatastore.d.ts +1210 -0
  143. package/dist/generated/prisma/models/AgentDatastore.js +1 -0
  144. package/dist/generated/prisma/models/AgentMemory.d.ts +986 -0
  145. package/dist/generated/prisma/models/AgentMemory.js +1 -0
  146. package/dist/generated/prisma/models/AgentRepository.d.ts +1425 -0
  147. package/dist/generated/prisma/models/AgentRepository.js +1 -0
  148. package/dist/generated/prisma/models/AgentSecret.d.ts +1212 -0
  149. package/dist/generated/prisma/models/AgentSecret.js +1 -0
  150. package/dist/generated/prisma/models/AgentSubAgent.d.ts +1217 -0
  151. package/dist/generated/prisma/models/AgentSubAgent.js +1 -0
  152. package/dist/generated/prisma/models/AgentTool.d.ts +1403 -0
  153. package/dist/generated/prisma/models/AgentTool.js +1 -0
  154. package/dist/generated/prisma/models/AuthFormChallenge.d.ts +1298 -0
  155. package/dist/generated/prisma/models/AuthFormChallenge.js +1 -0
  156. package/dist/generated/prisma/models/AuthLoginKey.d.ts +1245 -0
  157. package/dist/generated/prisma/models/AuthLoginKey.js +1 -0
  158. package/dist/generated/prisma/models/AuthRateLimit.d.ts +979 -0
  159. package/dist/generated/prisma/models/AuthRateLimit.js +1 -0
  160. package/dist/generated/prisma/models/AuthSession.d.ts +1376 -0
  161. package/dist/generated/prisma/models/AuthSession.js +1 -0
  162. package/dist/generated/prisma/models/AuthUser.d.ts +1700 -0
  163. package/dist/generated/prisma/models/AuthUser.js +1 -0
  164. package/dist/generated/prisma/models/BudgetGroup.d.ts +1548 -0
  165. package/dist/generated/prisma/models/BudgetGroup.js +1 -0
  166. package/dist/generated/prisma/models/CodingAgentProfile.d.ts +1681 -0
  167. package/dist/generated/prisma/models/CodingAgentProfile.js +1 -0
  168. package/dist/generated/prisma/models/CodingProxyRequest.d.ts +1749 -0
  169. package/dist/generated/prisma/models/CodingProxyRequest.js +1 -0
  170. package/dist/generated/prisma/models/CodingProxySession.d.ts +1626 -0
  171. package/dist/generated/prisma/models/CodingProxySession.js +1 -0
  172. package/dist/generated/prisma/models/CodingRun.d.ts +3583 -0
  173. package/dist/generated/prisma/models/CodingRun.js +1 -0
  174. package/dist/generated/prisma/models/CodingService.d.ts +1348 -0
  175. package/dist/generated/prisma/models/CodingService.js +1 -0
  176. package/dist/generated/prisma/models/Datastore.d.ts +1434 -0
  177. package/dist/generated/prisma/models/Datastore.js +1 -0
  178. package/dist/generated/prisma/models/DatastoreEntry.d.ts +1314 -0
  179. package/dist/generated/prisma/models/DatastoreEntry.js +1 -0
  180. package/dist/generated/prisma/models/HostEventDelivery.d.ts +946 -0
  181. package/dist/generated/prisma/models/HostEventDelivery.js +1 -0
  182. package/dist/generated/prisma/models/HostIdentity.d.ts +1232 -0
  183. package/dist/generated/prisma/models/HostIdentity.js +1 -0
  184. package/dist/generated/prisma/models/HostIdentityLinkRequest.d.ts +1473 -0
  185. package/dist/generated/prisma/models/HostIdentityLinkRequest.js +1 -0
  186. package/dist/generated/prisma/models/OAuthAuthorizationCode.d.ts +1526 -0
  187. package/dist/generated/prisma/models/OAuthAuthorizationCode.js +1 -0
  188. package/dist/generated/prisma/models/OAuthAuthorizationRequest.d.ts +1350 -0
  189. package/dist/generated/prisma/models/OAuthAuthorizationRequest.js +1 -0
  190. package/dist/generated/prisma/models/OAuthClient.d.ts +1289 -0
  191. package/dist/generated/prisma/models/OAuthClient.js +1 -0
  192. package/dist/generated/prisma/models/OAuthFamily.d.ts +1540 -0
  193. package/dist/generated/prisma/models/OAuthFamily.js +1 -0
  194. package/dist/generated/prisma/models/OAuthGrant.d.ts +1280 -0
  195. package/dist/generated/prisma/models/OAuthGrant.js +1 -0
  196. package/dist/generated/prisma/models/Principal.d.ts +2245 -0
  197. package/dist/generated/prisma/models/Principal.js +1 -0
  198. package/dist/generated/prisma/models/RegistryAllowance.d.ts +1148 -0
  199. package/dist/generated/prisma/models/RegistryAllowance.js +1 -0
  200. package/dist/generated/prisma/models/RegistryApprovedVersion.d.ts +1219 -0
  201. package/dist/generated/prisma/models/RegistryApprovedVersion.js +1 -0
  202. package/dist/generated/prisma/models/RegistryFetch.d.ts +1428 -0
  203. package/dist/generated/prisma/models/RegistryFetch.js +1 -0
  204. package/dist/generated/prisma/models/RegistryPlanRefusal.d.ts +1294 -0
  205. package/dist/generated/prisma/models/RegistryPlanRefusal.js +1 -0
  206. package/dist/generated/prisma/models/RegistryVersionFact.d.ts +1085 -0
  207. package/dist/generated/prisma/models/RegistryVersionFact.js +1 -0
  208. package/dist/generated/prisma/models/ResourceGrant.d.ts +1437 -0
  209. package/dist/generated/prisma/models/ResourceGrant.js +1 -0
  210. package/dist/generated/prisma/models/Run.d.ts +2669 -0
  211. package/dist/generated/prisma/models/Run.js +1 -0
  212. package/dist/generated/prisma/models/RunHostCheck.d.ts +1239 -0
  213. package/dist/generated/prisma/models/RunHostCheck.js +1 -0
  214. package/dist/generated/prisma/models/RunHostStatus.d.ts +1315 -0
  215. package/dist/generated/prisma/models/RunHostStatus.js +1 -0
  216. package/dist/generated/prisma/models/SchedulerLease.d.ts +970 -0
  217. package/dist/generated/prisma/models/SchedulerLease.js +1 -0
  218. package/dist/generated/prisma/models/Secret.d.ts +1399 -0
  219. package/dist/generated/prisma/models/Secret.js +1 -0
  220. package/dist/generated/prisma/models/SecretElicitationOutcome.d.ts +973 -0
  221. package/dist/generated/prisma/models/SecretElicitationOutcome.js +1 -0
  222. package/dist/generated/prisma/models/Task.d.ts +1176 -0
  223. package/dist/generated/prisma/models/Task.js +1 -0
  224. package/dist/generated/prisma/models/Tool.d.ts +1490 -0
  225. package/dist/generated/prisma/models/Tool.js +1 -0
  226. package/dist/generated/prisma/models/Webhook.d.ts +1386 -0
  227. package/dist/generated/prisma/models/Webhook.js +1 -0
  228. package/dist/generated/prisma/models.d.ts +45 -0
  229. package/dist/generated/prisma/models.js +1 -0
  230. package/dist/help/build.d.ts +1 -0
  231. package/dist/help/build.js +9 -0
  232. package/dist/help/catalog.d.ts +24 -0
  233. package/dist/help/catalog.js +160 -0
  234. package/dist/help/cli.d.ts +2 -0
  235. package/dist/help/cli.js +65 -0
  236. package/dist/help/runtime.d.ts +3 -0
  237. package/dist/help/runtime.js +44 -0
  238. package/dist/help/search.d.ts +9 -0
  239. package/dist/help/search.js +104 -0
  240. package/dist/help-index.json +660 -0
  241. package/dist/import/cli-args.js +3 -2
  242. package/dist/import/create.d.ts +6 -1
  243. package/dist/import/create.js +68 -14
  244. package/dist/import/index.d.ts +1 -1
  245. package/dist/import/index.js +19 -9
  246. package/dist/import/neutral-schema.d.ts +11 -11
  247. package/dist/mcp/auth/access.d.ts +70 -0
  248. package/dist/mcp/auth/access.js +58 -0
  249. package/dist/mcp/auth/grants-cli.d.ts +149 -0
  250. package/dist/mcp/auth/grants-cli.js +518 -0
  251. package/dist/mcp/auth/host-account-cli.d.ts +2 -0
  252. package/dist/mcp/auth/host-account-cli.js +47 -0
  253. package/dist/mcp/auth/ownership.d.ts +37 -63
  254. package/dist/mcp/auth/ownership.js +19 -14
  255. package/dist/mcp/auth/principal.d.ts +1 -1
  256. package/dist/mcp/auth/repo-authorization.d.ts +22 -0
  257. package/dist/mcp/auth/repo-authorization.js +51 -0
  258. package/dist/mcp/auth/resource-server.d.ts +32 -3
  259. package/dist/mcp/auth/resource-server.js +84 -3
  260. package/dist/mcp/auth/self-hosted/browser.js +22 -8
  261. package/dist/mcp/auth/self-hosted/cli.d.ts +1 -1
  262. package/dist/mcp/auth/self-hosted/cli.js +47 -13
  263. package/dist/mcp/auth/self-hosted/credentials.d.ts +21 -3
  264. package/dist/mcp/auth/self-hosted/credentials.js +62 -4
  265. package/dist/mcp/auth/self-hosted/rate-limit.d.ts +1 -1
  266. package/dist/mcp/auth/self-hosted/session.d.ts +3 -2
  267. package/dist/mcp/context.d.ts +28 -2
  268. package/dist/mcp/errors.d.ts +25 -6
  269. package/dist/mcp/errors.js +98 -0
  270. package/dist/mcp/host-events/github-ingress.d.ts +36 -0
  271. package/dist/mcp/host-events/github-ingress.js +92 -0
  272. package/dist/mcp/host-events/github-user-callback.d.ts +18 -0
  273. package/dist/mcp/host-events/github-user-callback.js +50 -0
  274. package/dist/mcp/index.d.ts +8 -1
  275. package/dist/mcp/index.js +106 -16
  276. package/dist/mcp/server.d.ts +1 -1
  277. package/dist/mcp/server.js +27 -9
  278. package/dist/mcp/shared/page-style.d.ts +16 -0
  279. package/dist/mcp/shared/page-style.js +129 -0
  280. package/dist/mcp/tasks/manager.d.ts +1 -1
  281. package/dist/mcp/tools/agents.js +447 -49
  282. package/dist/mcp/tools/budget-groups.js +3 -3
  283. package/dist/mcp/tools/datastore.js +23 -16
  284. package/dist/mcp/tools/grants.d.ts +2 -0
  285. package/dist/mcp/tools/grants.js +239 -0
  286. package/dist/mcp/tools/help.d.ts +5 -0
  287. package/dist/mcp/tools/help.js +67 -0
  288. package/dist/mcp/tools/host-accounts.d.ts +2 -0
  289. package/dist/mcp/tools/host-accounts.js +114 -0
  290. package/dist/mcp/tools/memory.d.ts +7 -1
  291. package/dist/mcp/tools/memory.js +5 -5
  292. package/dist/mcp/tools/repositories.d.ts +2 -0
  293. package/dist/mcp/tools/repositories.js +181 -0
  294. package/dist/mcp/tools/runs.d.ts +6 -0
  295. package/dist/mcp/tools/runs.js +60 -6
  296. package/dist/mcp/tools/scheduling.js +4 -7
  297. package/dist/mcp/tools/secret-elicitation-form.d.ts +1 -1
  298. package/dist/mcp/tools/secret-elicitation-form.js +10 -28
  299. package/dist/mcp/tools/secret-elicitation.d.ts +1 -1
  300. package/dist/mcp/tools/secrets.js +18 -6
  301. package/dist/mcp/tools/services.d.ts +2 -0
  302. package/dist/mcp/tools/services.js +222 -0
  303. package/dist/mcp/tools/subagents.js +53 -17
  304. package/dist/mcp/tools/tools.d.ts +41 -0
  305. package/dist/mcp/tools/tools.js +202 -41
  306. package/dist/mcp/tools/trigger.js +36 -6
  307. package/dist/mcp/tools/webhooks.js +15 -4
  308. package/dist/mcp/transport/streamable-http.d.ts +11 -1
  309. package/dist/mcp/transport/streamable-http.js +32 -2
  310. package/dist/mcp/unattended-schedules.d.ts +1 -1
  311. package/dist/mcp/webhooks/ingress.d.ts +1 -1
  312. package/dist/providers/auth/delegating.d.ts +19 -0
  313. package/dist/providers/auth/delegating.js +71 -0
  314. package/dist/providers/auth/index.d.ts +3 -1
  315. package/dist/providers/auth/index.js +11 -0
  316. package/dist/providers/auth/self-hosted.d.ts +4 -3
  317. package/dist/providers/auth/self-hosted.js +16 -4
  318. package/dist/providers/auth/types.d.ts +6 -0
  319. package/dist/providers/coding-proxy/memory-ledger.d.ts +3 -0
  320. package/dist/providers/coding-proxy/memory-ledger.js +21 -2
  321. package/dist/providers/coding-proxy/metering.d.ts +4 -0
  322. package/dist/providers/coding-proxy/metering.js +28 -2
  323. package/dist/providers/coding-proxy/prisma-ledger.d.ts +18 -1
  324. package/dist/providers/coding-proxy/prisma-ledger.js +50 -5
  325. package/dist/providers/coding-proxy/proxy.d.ts +13 -0
  326. package/dist/providers/coding-proxy/proxy.js +479 -18
  327. package/dist/providers/coding-proxy/registry/audit.d.ts +131 -0
  328. package/dist/providers/coding-proxy/registry/audit.js +380 -0
  329. package/dist/providers/coding-proxy/registry/bounded-fetch.d.ts +16 -0
  330. package/dist/providers/coding-proxy/registry/bounded-fetch.js +77 -0
  331. package/dist/providers/coding-proxy/registry/plan.d.ts +58 -0
  332. package/dist/providers/coding-proxy/registry/plan.js +304 -0
  333. package/dist/providers/coding-proxy/registry/prisma-store.d.ts +34 -0
  334. package/dist/providers/coding-proxy/registry/prisma-store.js +151 -0
  335. package/dist/providers/coding-proxy/registry/service.d.ts +213 -0
  336. package/dist/providers/coding-proxy/registry/service.js +1137 -0
  337. package/dist/providers/coding-proxy/registry/store.d.ts +127 -0
  338. package/dist/providers/coding-proxy/registry/store.js +70 -0
  339. package/dist/providers/coding-proxy/runtime.d.ts +18 -1
  340. package/dist/providers/coding-proxy/runtime.js +63 -0
  341. package/dist/providers/coding-proxy/secure-fetch.js +0 -1
  342. package/dist/providers/coding-proxy/server.d.ts +11 -0
  343. package/dist/providers/coding-proxy/server.js +163 -0
  344. package/dist/providers/coding-proxy/types.d.ts +15 -0
  345. package/dist/providers/datastore/postgres.d.ts +1 -1
  346. package/dist/providers/engine/types.d.ts +10 -0
  347. package/dist/providers/executor/build.d.ts +3 -3
  348. package/dist/providers/executor/composition.d.ts +4 -1
  349. package/dist/providers/executor/composition.js +19 -0
  350. package/dist/providers/executor/container.d.ts +106 -4
  351. package/dist/providers/executor/container.js +305 -22
  352. package/dist/providers/executor/dbos.d.ts +3 -4
  353. package/dist/providers/executor/in-process.d.ts +2 -3
  354. package/dist/providers/executor/routing.d.ts +7 -0
  355. package/dist/providers/executor/routing.js +13 -0
  356. package/dist/providers/executor/types.d.ts +22 -0
  357. package/dist/providers/jobs/claude-tool-setup.d.ts +23 -0
  358. package/dist/providers/jobs/claude-tool-setup.js +50 -0
  359. package/dist/providers/jobs/collect-prune.d.ts +7 -0
  360. package/dist/providers/jobs/collect-prune.js +27 -0
  361. package/dist/providers/jobs/docker-isolation.d.ts +48 -3
  362. package/dist/providers/jobs/docker-isolation.js +213 -22
  363. package/dist/providers/jobs/docker-services.d.ts +35 -0
  364. package/dist/providers/jobs/docker-services.js +191 -0
  365. package/dist/providers/jobs/docker.d.ts +60 -2
  366. package/dist/providers/jobs/docker.js +313 -50
  367. package/dist/providers/jobs/fake-kubernetes-api.d.ts +1 -0
  368. package/dist/providers/jobs/fake-kubernetes-api.js +12 -3
  369. package/dist/providers/jobs/kubernetes-isolation.d.ts +17 -2
  370. package/dist/providers/jobs/kubernetes-isolation.js +238 -57
  371. package/dist/providers/jobs/kubernetes-platform.d.ts +10 -4
  372. package/dist/providers/jobs/kubernetes-platform.js +11 -5
  373. package/dist/providers/jobs/kubernetes-preflight.js +3 -0
  374. package/dist/providers/jobs/kubernetes.d.ts +21 -2
  375. package/dist/providers/jobs/kubernetes.js +117 -31
  376. package/dist/providers/jobs/types.d.ts +20 -0
  377. package/dist/providers/llm/anthropic.js +6 -2
  378. package/dist/providers/llm/bedrock.js +2 -1
  379. package/dist/providers/llm/claude-messages.d.ts +5 -1
  380. package/dist/providers/llm/claude-messages.js +1 -0
  381. package/dist/providers/llm/claude-provider.d.ts +3 -1
  382. package/dist/providers/llm/claude-provider.js +5 -1
  383. package/dist/providers/llm/index.d.ts +1 -1
  384. package/dist/providers/llm/index.js +1 -1
  385. package/dist/providers/llm/pricing-anthropic.d.ts +10 -0
  386. package/dist/providers/llm/pricing-anthropic.js +32 -14
  387. package/dist/providers/llm/pricing-bedrock-claude.d.ts +8 -0
  388. package/dist/providers/llm/pricing-bedrock-claude.js +9 -0
  389. package/dist/providers/llm/routing.d.ts +10 -1
  390. package/dist/providers/llm/routing.js +18 -0
  391. package/dist/providers/llm/types.d.ts +12 -0
  392. package/dist/providers/llm/types.js +8 -1
  393. package/dist/providers/memory/postgres.d.ts +1 -1
  394. package/dist/providers/review-host/diff-lines.d.ts +16 -0
  395. package/dist/providers/review-host/diff-lines.js +59 -0
  396. package/dist/providers/review-host/github-events.d.ts +6 -0
  397. package/dist/providers/review-host/github-events.js +180 -0
  398. package/dist/providers/review-host/github-user-auth.d.ts +38 -0
  399. package/dist/providers/review-host/github-user-auth.js +128 -0
  400. package/dist/providers/review-host/github.d.ts +57 -0
  401. package/dist/providers/review-host/github.js +567 -0
  402. package/dist/providers/review-host/index.d.ts +12 -0
  403. package/dist/providers/review-host/index.js +30 -0
  404. package/dist/providers/review-host/review-format.d.ts +19 -0
  405. package/dist/providers/review-host/review-format.js +59 -0
  406. package/dist/providers/review-host/types.d.ts +284 -0
  407. package/dist/providers/review-host/types.js +24 -0
  408. package/dist/providers/vcs/git.d.ts +16 -6
  409. package/dist/providers/vcs/git.js +79 -14
  410. package/dist/providers/vcs/github.d.ts +74 -3
  411. package/dist/providers/vcs/github.js +195 -15
  412. package/dist/providers/vcs/types.d.ts +42 -4
  413. package/dist/quickstart/index.js +34 -32
  414. package/dist/quickstart/migrate.d.ts +23 -0
  415. package/dist/quickstart/migrate.js +125 -0
  416. package/dist/sandbox/fetch-policy.d.ts +20 -2
  417. package/dist/sandbox/fetch-policy.js +64 -3
  418. package/dist/sandbox/host-functions.d.ts +9 -1
  419. package/dist/sandbox/host-functions.js +12 -5
  420. package/dist/serve.js +1 -1
  421. package/dist/wardby-bin.js +6 -0
  422. package/docs/README.md +30 -0
  423. package/docs/architecture-runtime.md +90 -0
  424. package/docs/assets/brand/wardby-icon-512.png +0 -0
  425. package/docs/assets/brand/wardby-icon.svg +16 -0
  426. package/docs/assets/brand/wardby-mascot-profile-512.png +0 -0
  427. package/docs/assets/brand/wardby-mascot.png +0 -0
  428. package/docs/assets/brand/wardby-mascot.svg +5 -0
  429. package/docs/assets/wardby-workflow.svg +106 -0
  430. package/docs/code-review-agents.md +481 -0
  431. package/docs/coding-agent-setup.md +172 -0
  432. package/docs/coding-packages.md +455 -0
  433. package/docs/coding-services.md +300 -0
  434. package/docs/coding-worker-byo-images.md +98 -0
  435. package/docs/coding-worker-isolation.md +1061 -0
  436. package/docs/getting-started-gke.md +615 -0
  437. package/docs/getting-started-identity-provider.md +308 -0
  438. package/docs/getting-started.md +133 -0
  439. package/docs/observability.md +53 -0
  440. package/docs/release-verification.md +66 -0
  441. package/docs/security-deployment.md +657 -0
  442. package/help/code-review-agents.md +31 -0
  443. package/help/coding-packages.md +31 -0
  444. package/help/coding-services.md +71 -0
  445. package/help/creating-agents.md +68 -0
  446. package/help/deploy-gke.md +39 -0
  447. package/help/deployment-targets.md +39 -0
  448. package/help/errors/budget-group-exhausted.md +25 -0
  449. package/help/errors/docker-isolation-unsupported.md +26 -0
  450. package/help/errors/protected-path.md +45 -0
  451. package/help/errors/repo-access.md +27 -0
  452. package/help/errors/service-declaration-invalid.md +27 -0
  453. package/help/errors/service-declaration-unavailable.md +25 -0
  454. package/help/errors/service-launcher-unsupported.md +30 -0
  455. package/help/errors/service-not-allowed.md +27 -0
  456. package/help/errors/service-unknown.md +23 -0
  457. package/help/errors/service-unready.md +49 -0
  458. package/help/getting-started.md +31 -0
  459. package/help/github.md +30 -0
  460. package/help/identity-and-access.md +39 -0
  461. package/help/mcp.md +30 -0
  462. package/help/native-capabilities.md +30 -0
  463. package/help/observability.md +41 -0
  464. package/help/operating-agents.md +30 -0
  465. package/help/security.md +27 -0
  466. package/help/troubleshooting/budgets.md +26 -0
  467. package/help/troubleshooting/coding-workers.md +47 -0
  468. package/help/troubleshooting/repository-access.md +27 -0
  469. package/package.json +30 -11
  470. package/prisma/migrate.config.mjs +20 -0
  471. package/prisma/migrations/20260925010000_coding_collect_exclude/migration.sql +8 -0
  472. package/prisma/migrations/20260925015000_allowed_egress_default/migration.sql +8 -0
  473. package/prisma/migrations/20260925020000_coding_package_registry/migration.sql +55 -0
  474. package/prisma/migrations/20260925030000_tool_name_per_owner/migration.sql +11 -0
  475. package/prisma/migrations/20260926010000_run_trigger_host_event/migration.sql +7 -0
  476. package/prisma/migrations/20260926020000_code_review_hosts/migration.sql +53 -0
  477. package/prisma/migrations/20260926030000_auth_user_roles/migration.sql +9 -0
  478. package/prisma/migrations/20260926040000_agent_effort/migration.sql +6 -0
  479. package/prisma/migrations/20260926050000_registry_lockfile_plan/migration.sql +32 -0
  480. package/prisma/migrations/20260926050000_repo_access_authorization/migration.sql +82 -0
  481. package/prisma/migrations/20260926060000_registry_plan_refusal/migration.sql +19 -0
  482. package/prisma/migrations/20260926100000_registry_plan_refusal_published_at/migration.sql +5 -0
  483. package/prisma/migrations/20260926190000_run_host_status/migration.sql +18 -0
  484. package/prisma/migrations/20260926210000_run_host_status_at_dispatch/migration.sql +5 -0
  485. package/prisma/migrations/20260927010000_resource_grants/migration.sql +72 -0
  486. package/prisma/migrations/20260927020000_proxy_session_budget_exhausted/migration.sql +3 -0
  487. package/prisma/migrations/20260927030000_coding_debug_trace/migration.sql +4 -0
  488. package/prisma/migrations/20260927040000_proxy_session_upstream_failure/migration.sql +3 -0
  489. package/prisma/migrations/20260927050000_coding_run_services/migration.sql +74 -0
  490. package/prisma/migrations/20260928000000_coding_run_tool_image/migration.sql +5 -0
  491. package/prisma/schema.prisma +417 -23
@@ -0,0 +1,328 @@
1
+ import * as Prisma from './internal/prismaNamespaceBrowser.js';
2
+ export { Prisma };
3
+ export * as $Enums from './enums.js';
4
+ export * from './enums.js';
5
+ /**
6
+ * Model Agent
7
+ *
8
+ */
9
+ export type Agent = Prisma.AgentModel;
10
+ /**
11
+ * Model AgentSubAgent
12
+ * Un-phased: agent-composition edge, referenced by agent name at the
13
+ * import boundary (capabilities/subagents.json) but id-based here to
14
+ * match that Tier-1 convention. Cycle-checked in the MCP tool handler at
15
+ * creation time, not enforced by the database (Postgres has no native
16
+ * "no cycles" constraint).
17
+ */
18
+ export type AgentSubAgent = Prisma.AgentSubAgentModel;
19
+ /**
20
+ * Model BudgetGroup
21
+ * Phase 7: an optional recurring spend cap across a group of agents,
22
+ * layered on top of each agent's own per-run budgetUsd (which stays
23
+ * required and unchanged). All three period caps are independently
24
+ * optional -- unset means "no cap for that period." warnThresholdRatio
25
+ * is per-group so different groups can choose their own early-warning
26
+ * point; enforcement itself never lives here -- see
27
+ * src/core/budget-groups.ts and runner.ts's executeRun, which turn a
28
+ * group's remaining period budget into a tightened *effective* per-run
29
+ * budget the existing engine budget machinery enforces unchanged.
30
+ */
31
+ export type BudgetGroup = Prisma.BudgetGroupModel;
32
+ /**
33
+ * Model Tool
34
+ * Phase 3: a WASM-sandboxed, Zod-validated tool a model can call.
35
+ */
36
+ export type Tool = Prisma.ToolModel;
37
+ /**
38
+ * Model AgentTool
39
+ * Phase 3: explicit many-to-many join between Agent and Tool.
40
+ * Phase 6: per-attachment capability scoping (OWASP LLM08 fix — Excessive
41
+ * Agency). Empty array = no access to that resource class; a tool must be
42
+ * explicitly granted secrets/datastore-prefixes/hosts at attach time. A
43
+ * literal "*" element in allowedHosts lifts the fetch allowlist entirely
44
+ * (existing SSRF protection against private/link-local addresses still
45
+ * applies) — the back-compat escape hatch for pre-existing attachments and
46
+ * deliberate full-web-access tools. See src/sandbox/tool-capabilities.ts.
47
+ */
48
+ export type AgentTool = Prisma.AgentToolModel;
49
+ /**
50
+ * Model Datastore
51
+ * Named, owned resource shared across agents via AgentDatastore (Un-phased
52
+ * roadmap item "Named / shared datastores"). Null ownerId = public/unowned,
53
+ * matching Tool's convention.
54
+ */
55
+ export type Datastore = Prisma.DatastoreModel;
56
+ /**
57
+ * Model AgentDatastore
58
+ * Attaches a Datastore to an agent, addressed at sandbox point-of-use by
59
+ * `boundName` (sharedDatastore.get(boundName, key)) — same boundName
60
+ * convention as AgentSecret. Defaults to the datastore's own name.
61
+ */
62
+ export type AgentDatastore = Prisma.AgentDatastoreModel;
63
+ /**
64
+ * Model DatastoreEntry
65
+ * Phase 3: the datastore seam's Postgres-backed default. Scoped by agentId
66
+ * (private, per-agent) or datastoreId (shared, see Datastore above) — a row
67
+ * carries exactly one, enforced by a hand-written CHECK in the migration
68
+ * (Prisma has no declarative "exactly one of two columns" constraint).
69
+ * Phase 6: optional per-entry PII encryption (see `pii`/`keyId` below).
70
+ *
71
+ * `id` is a surrogate key required by Prisma's schema validator: with
72
+ * agentId and datastoreId both optional, neither `@@unique` below has an
73
+ * all-required-fields criterion, and Prisma rejects a model with no such
74
+ * criterion (P1012, "Each model must have at least one unique criteria
75
+ * that has only required fields") — `prisma generate`/`validate` refuse to
76
+ * run at all without it. Point lookups still go through the
77
+ * agentId_key/datastoreId_key compound uniques; `id` is not otherwise used.
78
+ */
79
+ export type DatastoreEntry = Prisma.DatastoreEntryModel;
80
+ /**
81
+ * Model AgentMemory
82
+ * Un-phased: agent-controlled persistent memory (key/content per agent),
83
+ * gated by Agent.memoryEnabled. Deliberately a separate table rather than a
84
+ * Datastore convention — memory has its own access surface (built-in
85
+ * memory_get/memory_set/memory_list/memory_search tools, not user-authored
86
+ * sandbox code) and its own full-text search index, which would be an odd
87
+ * fit bolted onto Datastore's opaque-JSON-value shape. No FK to Agent,
88
+ * matching DatastoreEntry: deleting an agent leaves orphaned rows today,
89
+ * same pre-existing gap, not a new one.
90
+ *
91
+ * `contentTsv` is maintained by application code (see
92
+ * PostgresAgentMemory.set), never a Postgres GENERATED column — a generated
93
+ * column's expression has no representation in `Unsupported()`, which risks
94
+ * the migration-vs-schema drift check (CLAUDE.md) never landing clean.
95
+ */
96
+ export type AgentMemory = Prisma.AgentMemoryModel;
97
+ /**
98
+ * Model Run
99
+ *
100
+ */
101
+ export type Run = Prisma.RunModel;
102
+ /**
103
+ * Model CodingAgentProfile
104
+ * Phase 5: owner-configured coding behavior. Runtime credentials and opaque
105
+ * launcher handles never live on the reusable profile.
106
+ */
107
+ export type CodingAgentProfile = Prisma.CodingAgentProfileModel;
108
+ /**
109
+ * Model CodingRun
110
+ * Phase 5: immutable dispatch inputs plus opaque execution/result state for
111
+ * one coding run. Policy is copied from the profile before work starts.
112
+ */
113
+ export type CodingRun = Prisma.CodingRunModel;
114
+ /**
115
+ * Model CodingService
116
+ * Coding-run services (docs/coding-services.md): the catalog a repository's
117
+ * .wardby/services.yaml names entries from. Admin-managed over MCP
118
+ * (list/get_service: agents:read; create/update/delete_service:
119
+ * services:manage, audit-logged).
120
+ * Built-in rows ship with wardby, seeded by migration, and change only with a
121
+ * wardby release. `kind` is "sidecar" (a fresh instance in each run's pod);
122
+ * "external" is reserved.
123
+ */
124
+ export type CodingService = Prisma.CodingServiceModel;
125
+ /**
126
+ * Model CodingProxySession
127
+ * Trusted-boundary state for one coding run. Only a capability digest and an
128
+ * upstream credential reference are persisted; neither secret value enters the DB.
129
+ */
130
+ export type CodingProxySession = Prisma.CodingProxySessionModel;
131
+ /**
132
+ * Model CodingProxyRequest
133
+ * Monotonic per-upstream-call ledger. Uncertain reservations remain held so a
134
+ * crash or truncated provider stream can never create new spendable budget.
135
+ */
136
+ export type CodingProxyRequest = Prisma.CodingProxyRequestModel;
137
+ /**
138
+ * Model RegistryAllowance
139
+ * One package a run's profile has approved from a given ecosystem, resolved
140
+ * once at dispatch (see CodingRun.packageAllowlist) and used to gate every
141
+ * proxy fetch for the run's lifetime.
142
+ */
143
+ export type RegistryAllowance = Prisma.RegistryAllowanceModel;
144
+ /**
145
+ * Model RegistryFetch
146
+ * Audit ledger of every package fetch the registry proxy served or refused
147
+ * for a run.
148
+ */
149
+ export type RegistryFetch = Prisma.RegistryFetchModel;
150
+ /**
151
+ * Model RegistryVersionFact
152
+ * Immutable facts about one published package version, read from the
153
+ * registry itself (never from a lockfile) by lockfile verification: its
154
+ * publish time, integrity, download URL and declared dependencies
155
+ * ([{ key, name, range }], aliases resolved). Stored once and reused
156
+ * forever; allow/deny decisions are never cached here.
157
+ */
158
+ export type RegistryVersionFact = Prisma.RegistryVersionFactModel;
159
+ /**
160
+ * Model RegistryApprovedVersion
161
+ * One exact package version a run's lockfile plan (POST
162
+ * /registry/<ecosystem>/-/plan) verified and approved: a download of it is
163
+ * served directly, integrity-checked against this value.
164
+ */
165
+ export type RegistryApprovedVersion = Prisma.RegistryApprovedVersionModel;
166
+ /**
167
+ * Model RegistryPlanRefusal
168
+ * One exact package version a run's lockfile plan refused for a reason
169
+ * intrinsic to the registry's name@version (too new, an advisory, not
170
+ * published, no integrity, hosted elsewhere): a download of it is answered
171
+ * from here with the same code and reason, without a graph walk.
172
+ */
173
+ export type RegistryPlanRefusal = Prisma.RegistryPlanRefusalModel;
174
+ /**
175
+ * Model SchedulerLease
176
+ * Phase 2: single-row-per-scope lease so exactly one scheduler process
177
+ * ticks at a time. `holder` is a process instance id (crypto.randomUUID()).
178
+ */
179
+ export type SchedulerLease = Prisma.SchedulerLeaseModel;
180
+ /**
181
+ * Model Principal
182
+ * Phase 4: an authenticated caller. `subject` is the IdP subject claim
183
+ * (delegating mode) or the configured LOCAL_PRINCIPAL (stdio, no token).
184
+ * Created on first sight (find-or-create by subject).
185
+ */
186
+ export type Principal = Prisma.PrincipalModel;
187
+ /**
188
+ * Model ResourceGrant
189
+ * Explicit sharing of one resource with one grantee (docs/private/
190
+ * 2026-09-26-resource-sharing-grants-spec-and-plan.md). Polymorphic on
191
+ * (resourceType, resourceId) -- no FK to the resource, so every resource
192
+ * delete path removes its grants in the same transaction. Levels are
193
+ * ordered per type and validated in code (core/grants.ts), like
194
+ * AgentRepository.provider, so a new type or level needs no enum migration.
195
+ */
196
+ export type ResourceGrant = Prisma.ResourceGrantModel;
197
+ /**
198
+ * Model Task
199
+ *
200
+ */
201
+ export type Task = Prisma.TaskModel;
202
+ /**
203
+ * Model Secret
204
+ * Phase 4: a secret value, encrypted at rest via the SecretCipher seam.
205
+ * `ciphertext` is opaque to Prisma; only the cipher's decrypt() ever
206
+ * produces plaintext, and only at point-of-use inside the sandbox.
207
+ */
208
+ export type Secret = Prisma.SecretModel;
209
+ /**
210
+ * Model AgentSecret
211
+ * Phase 4: attaches a secret to an agent, addressed at sandbox point-of-use
212
+ * by `boundName` (secrets.get(boundName)). `boundName` defaults to the
213
+ * secret's canonical name; it differs only when the agent binds the secret
214
+ * under an alias, letting two agents resolve the same logical name to
215
+ * different underlying secrets.
216
+ */
217
+ export type AgentSecret = Prisma.AgentSecretModel;
218
+ /**
219
+ * Model SecretElicitationOutcome
220
+ * Cross-instance persistence for the out-of-band secret-entry flow
221
+ * (mcp/tools/secret-elicitation.ts) — was an in-process Map, which stranded
222
+ * a browser-form submission on the wrong instance under a multi-instance
223
+ * HTTP deployment. `outcome` holds the SecretElicitationOutcome JSON;
224
+ * `expiresAt` mirrors the old TTL sweep, now a `DELETE WHERE expiresAt <=
225
+ * now()` instead of a Map scan.
226
+ */
227
+ export type SecretElicitationOutcome = Prisma.SecretElicitationOutcomeModel;
228
+ /**
229
+ * Model Webhook
230
+ * Phase 4: inbound trigger for an agent. `secretHash` is an HMAC/hash of
231
+ * the validation secret shown to the caller once at creation; the raw
232
+ * secret itself is never stored.
233
+ */
234
+ export type Webhook = Prisma.WebhookModel;
235
+ /**
236
+ * Model OAuthClient
237
+ * Phase 4 (self-hosted AS only): a registered OAuth client. Created and
238
+ * used only under AUTH_PROVIDER=self-hosted; the delegating adapter never
239
+ * writes these tables even though the migration creates them unconditionally.
240
+ */
241
+ export type OAuthClient = Prisma.OAuthClientModel;
242
+ /**
243
+ * Model OAuthGrant
244
+ * Phase 4 (self-hosted AS only): an issued authorization grant / refresh token.
245
+ */
246
+ export type OAuthGrant = Prisma.OAuthGrantModel;
247
+ /**
248
+ * Model AuthUser
249
+ *
250
+ */
251
+ export type AuthUser = Prisma.AuthUserModel;
252
+ /**
253
+ * Model AuthLoginKey
254
+ *
255
+ */
256
+ export type AuthLoginKey = Prisma.AuthLoginKeyModel;
257
+ /**
258
+ * Model AuthSession
259
+ *
260
+ */
261
+ export type AuthSession = Prisma.AuthSessionModel;
262
+ /**
263
+ * Model AuthFormChallenge
264
+ *
265
+ */
266
+ export type AuthFormChallenge = Prisma.AuthFormChallengeModel;
267
+ /**
268
+ * Model OAuthAuthorizationRequest
269
+ *
270
+ */
271
+ export type OAuthAuthorizationRequest = Prisma.OAuthAuthorizationRequestModel;
272
+ /**
273
+ * Model OAuthAuthorizationCode
274
+ *
275
+ */
276
+ export type OAuthAuthorizationCode = Prisma.OAuthAuthorizationCodeModel;
277
+ /**
278
+ * Model OAuthFamily
279
+ *
280
+ */
281
+ export type OAuthFamily = Prisma.OAuthFamilyModel;
282
+ /**
283
+ * Model AuthRateLimit
284
+ *
285
+ */
286
+ export type AuthRateLimit = Prisma.AuthRateLimitModel;
287
+ /**
288
+ * Model AgentRepository
289
+ * Which repositories on which code-review host a native agent may act on,
290
+ * and which host events trigger it. See
291
+ * docs/private/2026-09-25-code-review-host-design.md §4.1.
292
+ */
293
+ export type AgentRepository = Prisma.AgentRepositoryModel;
294
+ /**
295
+ * Model RunHostCheck
296
+ * The host check a run owns, so the review tool can complete it and the
297
+ * run finalizer can close it if the run ends without publishing.
298
+ */
299
+ export type RunHostCheck = Prisma.RunHostCheckModel;
300
+ /**
301
+ * Model RunHostStatus
302
+ * De-duplicates host webhook redeliveries; pruned after 7 days.
303
+ * The status comment wardby posts on the issue or pull request whose
304
+ * @-mention started this run ("working on it"), edited with the outcome
305
+ * when the run ends. One per mention run.
306
+ */
307
+ export type RunHostStatus = Prisma.RunHostStatusModel;
308
+ /**
309
+ * Model HostEventDelivery
310
+ *
311
+ */
312
+ export type HostEventDelivery = Prisma.HostEventDeliveryModel;
313
+ /**
314
+ * Model HostIdentity
315
+ * A principal's verified identity on a code-review host (GitHub today),
316
+ * linked through the host's user-authorization flow (link_host_account).
317
+ * Only the numeric user id and login are stored, never a user token. A host
318
+ * user belongs to at most one principal.
319
+ */
320
+ export type HostIdentity = Prisma.HostIdentityModel;
321
+ /**
322
+ * Model HostIdentityLinkRequest
323
+ * An in-flight host identity link (link_host_account): the OAuth state and
324
+ * PKCE verifier, then, after the host's callback, the verified user and the
325
+ * hash of the one-time confirmation code the same principal must submit.
326
+ * Lives 10 minutes.
327
+ */
328
+ export type HostIdentityLinkRequest = Prisma.HostIdentityLinkRequestModel;
@@ -0,0 +1,17 @@
1
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
2
+ /* eslint-disable */
3
+ // biome-ignore-all lint: generated file
4
+ // @ts-nocheck
5
+ /*
6
+ * This file should be your main import to use Prisma-related types and utilities in a browser.
7
+ * Use it to get access to models, enums, and input types.
8
+ *
9
+ * This file does not contain a `PrismaClient` class, nor several other helpers that are intended as server-side only.
10
+ * See `client.ts` for the standard, server-side entry point.
11
+ *
12
+ * 🟢 You can import this file directly.
13
+ */
14
+ import * as Prisma from './internal/prismaNamespaceBrowser.js';
15
+ export { Prisma };
16
+ export * as $Enums from './enums.js';
17
+ export * from './enums.js';
@@ -0,0 +1,347 @@
1
+ import * as runtime from "@prisma/client/runtime/client";
2
+ import * as $Class from "./internal/class.js";
3
+ import * as Prisma from "./internal/prismaNamespace.js";
4
+ export * as $Enums from './enums.js';
5
+ export * from "./enums.js";
6
+ /**
7
+ * ## Prisma Client
8
+ *
9
+ * Type-safe database client for TypeScript
10
+ * @example
11
+ * ```
12
+ * const prisma = new PrismaClient({
13
+ * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
14
+ * })
15
+ * // Fetch zero or more Agents
16
+ * const agents = await prisma.agent.findMany()
17
+ * ```
18
+ *
19
+ * Read more in our [docs](https://pris.ly/d/client).
20
+ */
21
+ export declare const PrismaClient: $Class.PrismaClientConstructor;
22
+ export type PrismaClient<LogOpts extends Prisma.LogLevel = never, OmitOpts extends Prisma.PrismaClientOptions["omit"] = Prisma.PrismaClientOptions["omit"], ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = $Class.PrismaClient<LogOpts, OmitOpts, ExtArgs>;
23
+ export { Prisma };
24
+ /**
25
+ * Model Agent
26
+ *
27
+ */
28
+ export type Agent = Prisma.AgentModel;
29
+ /**
30
+ * Model AgentSubAgent
31
+ * Un-phased: agent-composition edge, referenced by agent name at the
32
+ * import boundary (capabilities/subagents.json) but id-based here to
33
+ * match that Tier-1 convention. Cycle-checked in the MCP tool handler at
34
+ * creation time, not enforced by the database (Postgres has no native
35
+ * "no cycles" constraint).
36
+ */
37
+ export type AgentSubAgent = Prisma.AgentSubAgentModel;
38
+ /**
39
+ * Model BudgetGroup
40
+ * Phase 7: an optional recurring spend cap across a group of agents,
41
+ * layered on top of each agent's own per-run budgetUsd (which stays
42
+ * required and unchanged). All three period caps are independently
43
+ * optional -- unset means "no cap for that period." warnThresholdRatio
44
+ * is per-group so different groups can choose their own early-warning
45
+ * point; enforcement itself never lives here -- see
46
+ * src/core/budget-groups.ts and runner.ts's executeRun, which turn a
47
+ * group's remaining period budget into a tightened *effective* per-run
48
+ * budget the existing engine budget machinery enforces unchanged.
49
+ */
50
+ export type BudgetGroup = Prisma.BudgetGroupModel;
51
+ /**
52
+ * Model Tool
53
+ * Phase 3: a WASM-sandboxed, Zod-validated tool a model can call.
54
+ */
55
+ export type Tool = Prisma.ToolModel;
56
+ /**
57
+ * Model AgentTool
58
+ * Phase 3: explicit many-to-many join between Agent and Tool.
59
+ * Phase 6: per-attachment capability scoping (OWASP LLM08 fix — Excessive
60
+ * Agency). Empty array = no access to that resource class; a tool must be
61
+ * explicitly granted secrets/datastore-prefixes/hosts at attach time. A
62
+ * literal "*" element in allowedHosts lifts the fetch allowlist entirely
63
+ * (existing SSRF protection against private/link-local addresses still
64
+ * applies) — the back-compat escape hatch for pre-existing attachments and
65
+ * deliberate full-web-access tools. See src/sandbox/tool-capabilities.ts.
66
+ */
67
+ export type AgentTool = Prisma.AgentToolModel;
68
+ /**
69
+ * Model Datastore
70
+ * Named, owned resource shared across agents via AgentDatastore (Un-phased
71
+ * roadmap item "Named / shared datastores"). Null ownerId = public/unowned,
72
+ * matching Tool's convention.
73
+ */
74
+ export type Datastore = Prisma.DatastoreModel;
75
+ /**
76
+ * Model AgentDatastore
77
+ * Attaches a Datastore to an agent, addressed at sandbox point-of-use by
78
+ * `boundName` (sharedDatastore.get(boundName, key)) — same boundName
79
+ * convention as AgentSecret. Defaults to the datastore's own name.
80
+ */
81
+ export type AgentDatastore = Prisma.AgentDatastoreModel;
82
+ /**
83
+ * Model DatastoreEntry
84
+ * Phase 3: the datastore seam's Postgres-backed default. Scoped by agentId
85
+ * (private, per-agent) or datastoreId (shared, see Datastore above) — a row
86
+ * carries exactly one, enforced by a hand-written CHECK in the migration
87
+ * (Prisma has no declarative "exactly one of two columns" constraint).
88
+ * Phase 6: optional per-entry PII encryption (see `pii`/`keyId` below).
89
+ *
90
+ * `id` is a surrogate key required by Prisma's schema validator: with
91
+ * agentId and datastoreId both optional, neither `@@unique` below has an
92
+ * all-required-fields criterion, and Prisma rejects a model with no such
93
+ * criterion (P1012, "Each model must have at least one unique criteria
94
+ * that has only required fields") — `prisma generate`/`validate` refuse to
95
+ * run at all without it. Point lookups still go through the
96
+ * agentId_key/datastoreId_key compound uniques; `id` is not otherwise used.
97
+ */
98
+ export type DatastoreEntry = Prisma.DatastoreEntryModel;
99
+ /**
100
+ * Model AgentMemory
101
+ * Un-phased: agent-controlled persistent memory (key/content per agent),
102
+ * gated by Agent.memoryEnabled. Deliberately a separate table rather than a
103
+ * Datastore convention — memory has its own access surface (built-in
104
+ * memory_get/memory_set/memory_list/memory_search tools, not user-authored
105
+ * sandbox code) and its own full-text search index, which would be an odd
106
+ * fit bolted onto Datastore's opaque-JSON-value shape. No FK to Agent,
107
+ * matching DatastoreEntry: deleting an agent leaves orphaned rows today,
108
+ * same pre-existing gap, not a new one.
109
+ *
110
+ * `contentTsv` is maintained by application code (see
111
+ * PostgresAgentMemory.set), never a Postgres GENERATED column — a generated
112
+ * column's expression has no representation in `Unsupported()`, which risks
113
+ * the migration-vs-schema drift check (CLAUDE.md) never landing clean.
114
+ */
115
+ export type AgentMemory = Prisma.AgentMemoryModel;
116
+ /**
117
+ * Model Run
118
+ *
119
+ */
120
+ export type Run = Prisma.RunModel;
121
+ /**
122
+ * Model CodingAgentProfile
123
+ * Phase 5: owner-configured coding behavior. Runtime credentials and opaque
124
+ * launcher handles never live on the reusable profile.
125
+ */
126
+ export type CodingAgentProfile = Prisma.CodingAgentProfileModel;
127
+ /**
128
+ * Model CodingRun
129
+ * Phase 5: immutable dispatch inputs plus opaque execution/result state for
130
+ * one coding run. Policy is copied from the profile before work starts.
131
+ */
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;
144
+ /**
145
+ * Model CodingProxySession
146
+ * Trusted-boundary state for one coding run. Only a capability digest and an
147
+ * upstream credential reference are persisted; neither secret value enters the DB.
148
+ */
149
+ export type CodingProxySession = Prisma.CodingProxySessionModel;
150
+ /**
151
+ * Model CodingProxyRequest
152
+ * Monotonic per-upstream-call ledger. Uncertain reservations remain held so a
153
+ * crash or truncated provider stream can never create new spendable budget.
154
+ */
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;
193
+ /**
194
+ * Model SchedulerLease
195
+ * Phase 2: single-row-per-scope lease so exactly one scheduler process
196
+ * ticks at a time. `holder` is a process instance id (crypto.randomUUID()).
197
+ */
198
+ export type SchedulerLease = Prisma.SchedulerLeaseModel;
199
+ /**
200
+ * Model Principal
201
+ * Phase 4: an authenticated caller. `subject` is the IdP subject claim
202
+ * (delegating mode) or the configured LOCAL_PRINCIPAL (stdio, no token).
203
+ * Created on first sight (find-or-create by subject).
204
+ */
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;
216
+ /**
217
+ * Model Task
218
+ *
219
+ */
220
+ export type Task = Prisma.TaskModel;
221
+ /**
222
+ * Model Secret
223
+ * Phase 4: a secret value, encrypted at rest via the SecretCipher seam.
224
+ * `ciphertext` is opaque to Prisma; only the cipher's decrypt() ever
225
+ * produces plaintext, and only at point-of-use inside the sandbox.
226
+ */
227
+ export type Secret = Prisma.SecretModel;
228
+ /**
229
+ * Model AgentSecret
230
+ * Phase 4: attaches a secret to an agent, addressed at sandbox point-of-use
231
+ * by `boundName` (secrets.get(boundName)). `boundName` defaults to the
232
+ * secret's canonical name; it differs only when the agent binds the secret
233
+ * under an alias, letting two agents resolve the same logical name to
234
+ * different underlying secrets.
235
+ */
236
+ export type AgentSecret = Prisma.AgentSecretModel;
237
+ /**
238
+ * Model SecretElicitationOutcome
239
+ * Cross-instance persistence for the out-of-band secret-entry flow
240
+ * (mcp/tools/secret-elicitation.ts) — was an in-process Map, which stranded
241
+ * a browser-form submission on the wrong instance under a multi-instance
242
+ * HTTP deployment. `outcome` holds the SecretElicitationOutcome JSON;
243
+ * `expiresAt` mirrors the old TTL sweep, now a `DELETE WHERE expiresAt <=
244
+ * now()` instead of a Map scan.
245
+ */
246
+ export type SecretElicitationOutcome = Prisma.SecretElicitationOutcomeModel;
247
+ /**
248
+ * Model Webhook
249
+ * Phase 4: inbound trigger for an agent. `secretHash` is an HMAC/hash of
250
+ * the validation secret shown to the caller once at creation; the raw
251
+ * secret itself is never stored.
252
+ */
253
+ export type Webhook = Prisma.WebhookModel;
254
+ /**
255
+ * Model OAuthClient
256
+ * Phase 4 (self-hosted AS only): a registered OAuth client. Created and
257
+ * used only under AUTH_PROVIDER=self-hosted; the delegating adapter never
258
+ * writes these tables even though the migration creates them unconditionally.
259
+ */
260
+ export type OAuthClient = Prisma.OAuthClientModel;
261
+ /**
262
+ * Model OAuthGrant
263
+ * Phase 4 (self-hosted AS only): an issued authorization grant / refresh token.
264
+ */
265
+ export type OAuthGrant = Prisma.OAuthGrantModel;
266
+ /**
267
+ * Model AuthUser
268
+ *
269
+ */
270
+ export type AuthUser = Prisma.AuthUserModel;
271
+ /**
272
+ * Model AuthLoginKey
273
+ *
274
+ */
275
+ export type AuthLoginKey = Prisma.AuthLoginKeyModel;
276
+ /**
277
+ * Model AuthSession
278
+ *
279
+ */
280
+ export type AuthSession = Prisma.AuthSessionModel;
281
+ /**
282
+ * Model AuthFormChallenge
283
+ *
284
+ */
285
+ export type AuthFormChallenge = Prisma.AuthFormChallengeModel;
286
+ /**
287
+ * Model OAuthAuthorizationRequest
288
+ *
289
+ */
290
+ export type OAuthAuthorizationRequest = Prisma.OAuthAuthorizationRequestModel;
291
+ /**
292
+ * Model OAuthAuthorizationCode
293
+ *
294
+ */
295
+ export type OAuthAuthorizationCode = Prisma.OAuthAuthorizationCodeModel;
296
+ /**
297
+ * Model OAuthFamily
298
+ *
299
+ */
300
+ export type OAuthFamily = Prisma.OAuthFamilyModel;
301
+ /**
302
+ * Model AuthRateLimit
303
+ *
304
+ */
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;