@vibesdotdev/infra-core 0.0.1 → 1.0.0-rc.4

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 (320) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +33 -63
  3. package/dist/bootstrap/seed.descriptor.d.ts +1 -1
  4. package/dist/bootstrap/seed.descriptor.d.ts.map +1 -1
  5. package/dist/bootstrap/seed.descriptor.js +1 -1
  6. package/dist/bootstrap/seed.descriptor.js.map +1 -1
  7. package/dist/bootstrap/seed.impl-shape.d.ts +1 -1
  8. package/dist/bootstrap/seed.impl-shape.d.ts.map +1 -1
  9. package/dist/bootstrap/seed.kind.d.ts +1 -3
  10. package/dist/bootstrap/seed.kind.d.ts.map +1 -1
  11. package/dist/bootstrap/seed.kind.js +17 -4
  12. package/dist/bootstrap/seed.kind.js.map +1 -1
  13. package/dist/bootstrap/seed.runner.d.ts +9 -2
  14. package/dist/bootstrap/seed.runner.d.ts.map +1 -1
  15. package/dist/bootstrap/seed.runner.js +37 -18
  16. package/dist/bootstrap/seed.runner.js.map +1 -1
  17. package/dist/capped-id.d.ts +19 -0
  18. package/dist/capped-id.d.ts.map +1 -0
  19. package/dist/capped-id.js +64 -0
  20. package/dist/capped-id.js.map +1 -0
  21. package/dist/cli/generate/artifact/artifact.cli-command.descriptor.d.ts +23 -0
  22. package/dist/cli/generate/artifact/artifact.cli-command.descriptor.d.ts.map +1 -0
  23. package/dist/cli/generate/artifact/artifact.cli-command.descriptor.js +33 -0
  24. package/dist/cli/generate/artifact/artifact.cli-command.descriptor.js.map +1 -0
  25. package/dist/cli/generate/artifact/artifact.cli-command.impl.d.ts +24 -0
  26. package/dist/cli/generate/artifact/artifact.cli-command.impl.d.ts.map +1 -0
  27. package/dist/cli/generate/artifact/artifact.cli-command.impl.js +73 -0
  28. package/dist/cli/generate/artifact/artifact.cli-command.impl.js.map +1 -0
  29. package/dist/cli/generate/context.d.ts +17 -0
  30. package/dist/cli/generate/context.d.ts.map +1 -0
  31. package/dist/cli/generate/context.js +24 -0
  32. package/dist/cli/generate/context.js.map +1 -0
  33. package/dist/cli/generate/generate/generate.cli-command.descriptor.d.ts +30 -0
  34. package/dist/cli/generate/generate/generate.cli-command.descriptor.d.ts.map +1 -0
  35. package/dist/cli/generate/generate/generate.cli-command.descriptor.js +25 -0
  36. package/dist/cli/generate/generate/generate.cli-command.descriptor.js.map +1 -0
  37. package/dist/cli/generate/generate/generate.cli-command.impl.d.ts +25 -0
  38. package/dist/cli/generate/generate/generate.cli-command.impl.d.ts.map +1 -0
  39. package/dist/cli/generate/generate/generate.cli-command.impl.js +64 -0
  40. package/dist/cli/generate/generate/generate.cli-command.impl.js.map +1 -0
  41. package/dist/cli/generate/generate-core.d.ts +51 -0
  42. package/dist/cli/generate/generate-core.d.ts.map +1 -0
  43. package/dist/cli/generate/generate-core.js +172 -0
  44. package/dist/cli/generate/generate-core.js.map +1 -0
  45. package/dist/cli/generate/index.d.ts +5 -0
  46. package/dist/cli/generate/index.d.ts.map +1 -0
  47. package/dist/cli/generate/index.js +5 -0
  48. package/dist/cli/generate/index.js.map +1 -0
  49. package/dist/credentials/resolve.d.ts +82 -22
  50. package/dist/credentials/resolve.d.ts.map +1 -1
  51. package/dist/credentials/resolve.js +251 -77
  52. package/dist/credentials/resolve.js.map +1 -1
  53. package/dist/deployment-environment.d.ts +30 -0
  54. package/dist/deployment-environment.d.ts.map +1 -0
  55. package/dist/deployment-environment.js +53 -0
  56. package/dist/deployment-environment.js.map +1 -0
  57. package/dist/deployment.d.ts +8 -4
  58. package/dist/deployment.d.ts.map +1 -1
  59. package/dist/deployment.js +30 -0
  60. package/dist/deployment.js.map +1 -1
  61. package/dist/doks/cloud/base.d.ts +49 -0
  62. package/dist/doks/cloud/base.d.ts.map +1 -0
  63. package/dist/doks/cloud/base.js +138 -0
  64. package/dist/doks/cloud/base.js.map +1 -0
  65. package/dist/doks/cloud/factory.d.ts +18 -0
  66. package/dist/doks/cloud/factory.d.ts.map +1 -0
  67. package/dist/doks/cloud/factory.js +22 -0
  68. package/dist/doks/cloud/factory.js.map +1 -0
  69. package/dist/doks/cloud/index.d.ts +5 -0
  70. package/dist/doks/cloud/index.d.ts.map +1 -0
  71. package/dist/doks/cloud/index.js +4 -0
  72. package/dist/doks/cloud/index.js.map +1 -0
  73. package/dist/doks/types.d.ts +95 -0
  74. package/dist/doks/types.d.ts.map +1 -0
  75. package/dist/doks/types.js +14 -0
  76. package/dist/doks/types.js.map +1 -0
  77. package/dist/generate/index.d.ts +29 -0
  78. package/dist/generate/index.d.ts.map +1 -0
  79. package/dist/generate/index.js +28 -0
  80. package/dist/generate/index.js.map +1 -0
  81. package/dist/generate/infra-generate.plugin.d.ts +3 -0
  82. package/dist/generate/infra-generate.plugin.d.ts.map +1 -0
  83. package/dist/generate/infra-generate.plugin.js +23 -0
  84. package/dist/generate/infra-generate.plugin.js.map +1 -0
  85. package/dist/generate/plugin.d.ts +2 -0
  86. package/dist/generate/plugin.d.ts.map +1 -0
  87. package/dist/generate/plugin.js +2 -0
  88. package/dist/generate/plugin.js.map +1 -0
  89. package/dist/heartbeat/cron-heartbeat.d.ts +97 -0
  90. package/dist/heartbeat/cron-heartbeat.d.ts.map +1 -0
  91. package/dist/heartbeat/cron-heartbeat.js +200 -0
  92. package/dist/heartbeat/cron-heartbeat.js.map +1 -0
  93. package/dist/index.d.ts +34 -20
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +28 -14
  96. package/dist/index.js.map +1 -1
  97. package/dist/infra.plugin.d.ts +1 -1
  98. package/dist/infra.plugin.d.ts.map +1 -1
  99. package/dist/infra.plugin.js +62 -12
  100. package/dist/infra.plugin.js.map +1 -1
  101. package/dist/kinds/alerts.kind.d.ts +64 -25
  102. package/dist/kinds/alerts.kind.d.ts.map +1 -1
  103. package/dist/kinds/alerts.kind.js +43 -16
  104. package/dist/kinds/alerts.kind.js.map +1 -1
  105. package/dist/kinds/artifact.kind.d.ts +58 -10
  106. package/dist/kinds/artifact.kind.d.ts.map +1 -1
  107. package/dist/kinds/artifact.kind.js +26 -9
  108. package/dist/kinds/artifact.kind.js.map +1 -1
  109. package/dist/kinds/billing.kind.d.ts +88 -0
  110. package/dist/kinds/billing.kind.d.ts.map +1 -0
  111. package/dist/kinds/billing.kind.js +48 -0
  112. package/dist/kinds/billing.kind.js.map +1 -0
  113. package/dist/kinds/build-job.kind.d.ts +381 -0
  114. package/dist/kinds/build-job.kind.d.ts.map +1 -0
  115. package/dist/kinds/build-job.kind.js +216 -0
  116. package/dist/kinds/build-job.kind.js.map +1 -0
  117. package/dist/kinds/cache.kind.d.ts +39 -92
  118. package/dist/kinds/cache.kind.d.ts.map +1 -1
  119. package/dist/kinds/cache.kind.js +26 -51
  120. package/dist/kinds/cache.kind.js.map +1 -1
  121. package/dist/kinds/cluster.kind.d.ts +154 -0
  122. package/dist/kinds/cluster.kind.d.ts.map +1 -0
  123. package/dist/kinds/cluster.kind.js +99 -0
  124. package/dist/kinds/cluster.kind.js.map +1 -0
  125. package/dist/kinds/compute-source.kind.d.ts +138 -0
  126. package/dist/kinds/compute-source.kind.d.ts.map +1 -0
  127. package/dist/kinds/compute-source.kind.js +145 -0
  128. package/dist/kinds/compute-source.kind.js.map +1 -0
  129. package/dist/kinds/compute-sources.descriptors.d.ts +45 -0
  130. package/dist/kinds/compute-sources.descriptors.d.ts.map +1 -0
  131. package/dist/kinds/compute-sources.descriptors.js +93 -0
  132. package/dist/kinds/compute-sources.descriptors.js.map +1 -0
  133. package/dist/kinds/container-registry.kind.d.ts +62 -0
  134. package/dist/kinds/container-registry.kind.d.ts.map +1 -0
  135. package/dist/kinds/container-registry.kind.js +47 -0
  136. package/dist/kinds/container-registry.kind.js.map +1 -0
  137. package/dist/kinds/database-migrator.kind.d.ts +6 -0
  138. package/dist/kinds/database-migrator.kind.d.ts.map +1 -0
  139. package/dist/kinds/database-migrator.kind.js +28 -0
  140. package/dist/kinds/database-migrator.kind.js.map +1 -0
  141. package/dist/kinds/database.kind.d.ts +114 -93
  142. package/dist/kinds/database.kind.d.ts.map +1 -1
  143. package/dist/kinds/database.kind.js +93 -54
  144. package/dist/kinds/database.kind.js.map +1 -1
  145. package/dist/kinds/deployment-provider.kind.d.ts +5 -0
  146. package/dist/kinds/deployment-provider.kind.d.ts.map +1 -0
  147. package/dist/kinds/deployment-provider.kind.js +11 -0
  148. package/dist/kinds/deployment-provider.kind.js.map +1 -0
  149. package/dist/kinds/discovery.d.ts +5 -12
  150. package/dist/kinds/discovery.d.ts.map +1 -1
  151. package/dist/kinds/discovery.js +5 -17
  152. package/dist/kinds/discovery.js.map +1 -1
  153. package/dist/kinds/dns.kind.d.ts +162 -0
  154. package/dist/kinds/dns.kind.d.ts.map +1 -0
  155. package/dist/kinds/dns.kind.js +54 -0
  156. package/dist/kinds/dns.kind.js.map +1 -0
  157. package/dist/kinds/drift.kind.d.ts +115 -0
  158. package/dist/kinds/drift.kind.d.ts.map +1 -0
  159. package/dist/kinds/drift.kind.js +60 -0
  160. package/dist/kinds/drift.kind.js.map +1 -0
  161. package/dist/kinds/edge-tls.kind.d.ts +194 -0
  162. package/dist/kinds/edge-tls.kind.d.ts.map +1 -0
  163. package/dist/kinds/edge-tls.kind.js +58 -0
  164. package/dist/kinds/edge-tls.kind.js.map +1 -0
  165. package/dist/kinds/firewall.kind.d.ts +92 -0
  166. package/dist/kinds/firewall.kind.d.ts.map +1 -0
  167. package/dist/kinds/firewall.kind.js +59 -0
  168. package/dist/kinds/firewall.kind.js.map +1 -0
  169. package/dist/kinds/git-hosting.kind.d.ts +36 -38
  170. package/dist/kinds/git-hosting.kind.d.ts.map +1 -1
  171. package/dist/kinds/git-hosting.kind.js +23 -34
  172. package/dist/kinds/git-hosting.kind.js.map +1 -1
  173. package/dist/kinds/index.d.ts +40 -15
  174. package/dist/kinds/index.d.ts.map +1 -1
  175. package/dist/kinds/index.js +39 -14
  176. package/dist/kinds/index.js.map +1 -1
  177. package/dist/kinds/inventory.kind.d.ts +326 -0
  178. package/dist/kinds/inventory.kind.d.ts.map +1 -0
  179. package/dist/kinds/inventory.kind.js +188 -0
  180. package/dist/kinds/inventory.kind.js.map +1 -0
  181. package/dist/kinds/load-balancer.kind.d.ts +135 -0
  182. package/dist/kinds/load-balancer.kind.d.ts.map +1 -0
  183. package/dist/kinds/load-balancer.kind.js +71 -0
  184. package/dist/kinds/load-balancer.kind.js.map +1 -0
  185. package/dist/kinds/logs.kind.d.ts +74 -3
  186. package/dist/kinds/logs.kind.d.ts.map +1 -1
  187. package/dist/kinds/logs.kind.js +26 -17
  188. package/dist/kinds/logs.kind.js.map +1 -1
  189. package/dist/kinds/nfs.kind.d.ts +67 -0
  190. package/dist/kinds/nfs.kind.d.ts.map +1 -0
  191. package/dist/kinds/nfs.kind.js +45 -0
  192. package/dist/kinds/nfs.kind.js.map +1 -0
  193. package/dist/kinds/node-pool.kind.d.ts +134 -0
  194. package/dist/kinds/node-pool.kind.d.ts.map +1 -0
  195. package/dist/kinds/node-pool.kind.js +88 -0
  196. package/dist/kinds/node-pool.kind.js.map +1 -0
  197. package/dist/kinds/object-storage.kind.d.ts +50 -24
  198. package/dist/kinds/object-storage.kind.d.ts.map +1 -1
  199. package/dist/kinds/object-storage.kind.js +40 -23
  200. package/dist/kinds/object-storage.kind.js.map +1 -1
  201. package/dist/kinds/observability.kind.d.ts +104 -6
  202. package/dist/kinds/observability.kind.d.ts.map +1 -1
  203. package/dist/kinds/observability.kind.js +67 -9
  204. package/dist/kinds/observability.kind.js.map +1 -1
  205. package/dist/kinds/package-registry.kind.d.ts +27 -31
  206. package/dist/kinds/package-registry.kind.d.ts.map +1 -1
  207. package/dist/kinds/package-registry.kind.js +13 -26
  208. package/dist/kinds/package-registry.kind.js.map +1 -1
  209. package/dist/kinds/queue.kind.d.ts +67 -63
  210. package/dist/kinds/queue.kind.d.ts.map +1 -1
  211. package/dist/kinds/queue.kind.js +55 -33
  212. package/dist/kinds/queue.kind.js.map +1 -1
  213. package/dist/kinds/read-descriptor.d.ts +15 -0
  214. package/dist/kinds/read-descriptor.d.ts.map +1 -0
  215. package/dist/kinds/read-descriptor.js +11 -0
  216. package/dist/kinds/read-descriptor.js.map +1 -0
  217. package/dist/kinds/rum.kind.d.ts +36 -6
  218. package/dist/kinds/rum.kind.d.ts.map +1 -1
  219. package/dist/kinds/rum.kind.js +6 -7
  220. package/dist/kinds/rum.kind.js.map +1 -1
  221. package/dist/kinds/sandbox.kind.d.ts +136 -36
  222. package/dist/kinds/sandbox.kind.d.ts.map +1 -1
  223. package/dist/kinds/sandbox.kind.js +80 -34
  224. package/dist/kinds/sandbox.kind.js.map +1 -1
  225. package/dist/kinds/select-compute-source.d.ts +72 -0
  226. package/dist/kinds/select-compute-source.d.ts.map +1 -0
  227. package/dist/kinds/select-compute-source.js +170 -0
  228. package/dist/kinds/select-compute-source.js.map +1 -0
  229. package/dist/kinds/service-release.kind.d.ts +771 -0
  230. package/dist/kinds/service-release.kind.d.ts.map +1 -0
  231. package/dist/kinds/service-release.kind.js +676 -0
  232. package/dist/kinds/service-release.kind.js.map +1 -0
  233. package/dist/kinds/spend-guard.kind.d.ts +40 -0
  234. package/dist/kinds/spend-guard.kind.d.ts.map +1 -0
  235. package/dist/kinds/spend-guard.kind.js +133 -0
  236. package/dist/kinds/spend-guard.kind.js.map +1 -0
  237. package/dist/kinds/utilization.kind.d.ts +88 -0
  238. package/dist/kinds/utilization.kind.d.ts.map +1 -0
  239. package/dist/kinds/utilization.kind.js +62 -0
  240. package/dist/kinds/utilization.kind.js.map +1 -0
  241. package/dist/kinds/volume.kind.d.ts +54 -0
  242. package/dist/kinds/volume.kind.d.ts.map +1 -0
  243. package/dist/kinds/volume.kind.js +39 -0
  244. package/dist/kinds/volume.kind.js.map +1 -0
  245. package/dist/kinds/vpc.kind.d.ts +61 -0
  246. package/dist/kinds/vpc.kind.d.ts.map +1 -0
  247. package/dist/kinds/vpc.kind.js +51 -0
  248. package/dist/kinds/vpc.kind.js.map +1 -0
  249. package/dist/kinds/web-app.kind.d.ts +115 -45
  250. package/dist/kinds/web-app.kind.d.ts.map +1 -1
  251. package/dist/kinds/web-app.kind.js +69 -42
  252. package/dist/kinds/web-app.kind.js.map +1 -1
  253. package/dist/kinds/worker.kind.d.ts +291 -188
  254. package/dist/kinds/worker.kind.d.ts.map +1 -1
  255. package/dist/kinds/worker.kind.js +45 -123
  256. package/dist/kinds/worker.kind.js.map +1 -1
  257. package/dist/schemas/database-migration.d.ts +173 -0
  258. package/dist/schemas/database-migration.d.ts.map +1 -0
  259. package/dist/schemas/database-migration.js +88 -0
  260. package/dist/schemas/database-migration.js.map +1 -0
  261. package/dist/schemas/deployment-environment.d.ts +11 -0
  262. package/dist/schemas/deployment-environment.d.ts.map +1 -0
  263. package/dist/schemas/deployment-environment.js +9 -0
  264. package/dist/schemas/deployment-environment.js.map +1 -0
  265. package/dist/schemas/deployment-provider.d.ts +336 -0
  266. package/dist/schemas/deployment-provider.d.ts.map +1 -0
  267. package/dist/schemas/deployment-provider.js +198 -0
  268. package/dist/schemas/deployment-provider.js.map +1 -0
  269. package/dist/schemas/log-stream.d.ts +27 -0
  270. package/dist/schemas/log-stream.d.ts.map +1 -0
  271. package/dist/schemas/log-stream.js +31 -0
  272. package/dist/schemas/log-stream.js.map +1 -0
  273. package/dist/schemas/spend-guard.d.ts +155 -0
  274. package/dist/schemas/spend-guard.d.ts.map +1 -0
  275. package/dist/schemas/spend-guard.js +61 -0
  276. package/dist/schemas/spend-guard.js.map +1 -0
  277. package/dist/schemas.d.ts +190 -20
  278. package/dist/schemas.d.ts.map +1 -1
  279. package/dist/schemas.js +137 -31
  280. package/dist/schemas.js.map +1 -1
  281. package/dist/service.d.ts +87 -0
  282. package/dist/service.d.ts.map +1 -0
  283. package/dist/service.js +199 -0
  284. package/dist/service.js.map +1 -0
  285. package/dist/settle-work.d.ts +20 -0
  286. package/dist/settle-work.d.ts.map +1 -0
  287. package/dist/settle-work.js +22 -0
  288. package/dist/settle-work.js.map +1 -0
  289. package/dist/web-app-projection.d.ts +132 -0
  290. package/dist/web-app-projection.d.ts.map +1 -0
  291. package/dist/web-app-projection.js +93 -0
  292. package/dist/web-app-projection.js.map +1 -0
  293. package/package.json +89 -39
  294. package/SPEC.md +0 -169
  295. package/src/bootstrap/index.ts +0 -15
  296. package/src/bootstrap/seed.descriptor.ts +0 -24
  297. package/src/bootstrap/seed.impl-shape.ts +0 -5
  298. package/src/bootstrap/seed.kind.ts +0 -26
  299. package/src/bootstrap/seed.runner.ts +0 -87
  300. package/src/credentials/resolve.ts +0 -205
  301. package/src/deployment.ts +0 -57
  302. package/src/index.ts +0 -149
  303. package/src/infra.plugin.ts +0 -54
  304. package/src/kinds/alerts.kind.ts +0 -164
  305. package/src/kinds/artifact.kind.ts +0 -96
  306. package/src/kinds/cache.kind.ts +0 -104
  307. package/src/kinds/database.kind.ts +0 -120
  308. package/src/kinds/discovery.ts +0 -26
  309. package/src/kinds/git-hosting.kind.ts +0 -100
  310. package/src/kinds/index.ts +0 -139
  311. package/src/kinds/logs.kind.ts +0 -104
  312. package/src/kinds/object-storage.kind.ts +0 -101
  313. package/src/kinds/observability.kind.ts +0 -178
  314. package/src/kinds/package-registry.kind.ts +0 -95
  315. package/src/kinds/queue.kind.ts +0 -102
  316. package/src/kinds/rum.kind.ts +0 -135
  317. package/src/kinds/sandbox.kind.ts +0 -115
  318. package/src/kinds/web-app.kind.ts +0 -103
  319. package/src/kinds/worker.kind.ts +0 -203
  320. package/src/schemas.ts +0 -127
@@ -0,0 +1,336 @@
1
+ /**
2
+ * Contracts of the `infra/deployment-provider` kind: the capabilities a
3
+ * provider declares, and the implementation every provider registers to
4
+ * resolve its environment, render, check and release one app's deployment.
5
+ *
6
+ * The deploy driver (`vibes infra deploy run`) owns every provider-neutral
7
+ * step: the run ledger, readiness, the workspace build, pre-deploy commands,
8
+ * database migrations, the smoke probe and the deployment marker. It hands the
9
+ * provider those steps as {@link DeploymentReleaseHost} callbacks; the provider
10
+ * calls the ones its release uses, in its own order (Cloudflare migrates inside
11
+ * its staged config; a provider that builds remotely never calls `build`).
12
+ */
13
+ import * as z from 'zod/v4';
14
+ import { type JsonObject } from '@vibesdotdev/kernel/schemas/json';
15
+ import { type AppDeployment } from '../schemas.ts';
16
+ import type { DatabaseMigrationCredentialSource, DatabaseMigrationLog } from './database-migration.ts';
17
+ import type { WebAppDescriptor } from '../kinds/web-app.kind.ts';
18
+ import type { WebAppProjection, WebAppProjectionOptions } from '../web-app-projection.ts';
19
+ /** Provider-owned deployment capabilities, admitted by the host's plugin selection. */
20
+ export declare const DeploymentProviderDescriptorSchema: z.ZodObject<{
21
+ id: z.ZodString;
22
+ name: z.ZodOptional<z.ZodString>;
23
+ description: z.ZodOptional<z.ZodString>;
24
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
25
+ enabled: z.ZodOptional<z.ZodBoolean>;
26
+ priority: z.ZodOptional<z.ZodNumber>;
27
+ capabilityId: z.ZodOptional<z.ZodString>;
28
+ requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
+ optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
+ config: z.ZodOptional<z.ZodUnknown>;
31
+ retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
32
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
33
+ maxEntries: z.ZodOptional<z.ZodNumber>;
34
+ maxBytes: z.ZodOptional<z.ZodNumber>;
35
+ cascadeFrom: z.ZodOptional<z.ZodString>;
36
+ ageField: z.ZodOptional<z.ZodString>;
37
+ reason: z.ZodString;
38
+ enforcedBy: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>]>>;
40
+ kind: z.ZodLiteral<"infra/deployment-provider">;
41
+ hardware: z.ZodOptional<z.ZodArray<z.ZodEnum<{
42
+ consumer: "consumer";
43
+ cloud: "cloud";
44
+ }>>>;
45
+ runtimes: z.ZodArray<z.ZodEnum<{
46
+ browser: "browser";
47
+ worker: "worker";
48
+ edge: "edge";
49
+ node: "node";
50
+ }>>;
51
+ pty: z.ZodBoolean;
52
+ projectionKeys: z.ZodDefault<z.ZodArray<z.ZodString>>;
53
+ renderer: z.ZodOptional<z.ZodObject<{
54
+ module: z.ZodString;
55
+ export: z.ZodString;
56
+ }, z.core.$strip>>;
57
+ declarations: z.ZodDefault<z.ZodArray<z.ZodString>>;
58
+ vendor: z.ZodOptional<z.ZodString>;
59
+ }, z.core.$strip>;
60
+ export type DeploymentProviderDescriptor = z.infer<typeof DeploymentProviderDescriptorSchema>;
61
+ /** A line of provider tooling output. */
62
+ export type DeploymentOutputLine = (stream: 'stdout' | 'stderr', line: string) => void;
63
+ /** The environment variables a provider's tooling and the app's render run under. */
64
+ export declare const DeploymentProviderEnvironmentSchema: z.ZodObject<{
65
+ variables: z.ZodRecord<z.ZodString, z.ZodString>;
66
+ projected: z.ZodBoolean;
67
+ }, z.core.$strip>;
68
+ export type DeploymentProviderEnvironment = z.infer<typeof DeploymentProviderEnvironmentSchema>;
69
+ export declare const DeploymentProviderEnvironmentRequestSchema: z.ZodObject<{
70
+ environment: z.ZodOptional<z.ZodString>;
71
+ credentialSource: z.ZodDefault<z.ZodEnum<{
72
+ "secrets-store": "secrets-store";
73
+ ambient: "ambient";
74
+ }>>;
75
+ }, z.core.$strip>;
76
+ export type DeploymentProviderEnvironmentRequest = z.infer<typeof DeploymentProviderEnvironmentRequestSchema>;
77
+ export interface DeploymentProviderEnvironmentOptions extends DeploymentProviderEnvironmentRequest {
78
+ readonly credentialSource: DatabaseMigrationCredentialSource;
79
+ readonly log: DatabaseMigrationLog;
80
+ }
81
+ /**
82
+ * What a provider's renderer answers for one evaluated deployment module. The
83
+ * artifacts are serialized text so the answer crosses a process boundary.
84
+ */
85
+ export declare const DeploymentModuleRenderSchema: z.ZodObject<{
86
+ managed: z.ZodBoolean;
87
+ renders: z.ZodBoolean;
88
+ rendered: z.ZodNullable<z.ZodString>;
89
+ localRendered: z.ZodNullable<z.ZodString>;
90
+ unitName: z.ZodNullable<z.ZodString>;
91
+ }, z.core.$strip>;
92
+ export type DeploymentModuleRender = z.infer<typeof DeploymentModuleRenderSchema>;
93
+ /** A callable a deployment module exports for its provider's renderer to invoke (e.g. a config generator). */
94
+ export type DeploymentModuleCallable = (...args: never[]) => DeploymentModuleValue;
95
+ /** One value of an evaluated deployment module's export: data, or a callable its renderer invokes. */
96
+ export type DeploymentModuleValue = string | number | boolean | null | undefined | DeploymentModuleCallable | DeploymentModuleValue[] | {
97
+ [field: string]: DeploymentModuleValue;
98
+ };
99
+ export declare const DeploymentModuleValueSchema: z.ZodType<DeploymentModuleValue>;
100
+ /** An evaluated deployment module's default export, admitted by the loader before any renderer reads it. */
101
+ export declare const DeploymentModuleExportSchema: z.ZodRecord<z.ZodString, z.ZodType<DeploymentModuleValue, unknown, z.core.$ZodTypeInternals<DeploymentModuleValue, unknown>>>;
102
+ export type DeploymentModuleExport = z.infer<typeof DeploymentModuleExportSchema>;
103
+ /**
104
+ * The provider export a descriptor's `renderer` names; it reads the export's
105
+ * provider vocabulary with its own schema.
106
+ */
107
+ export type DeploymentModuleRenderer = (exported: DeploymentModuleExport, projectionEnvironment: Readonly<Record<string, string>> | undefined) => DeploymentModuleRender;
108
+ /** The app's deployment module as one evaluation saw it. */
109
+ export interface DeploymentModuleEvaluation {
110
+ /** The module's default export as data (callables dropped), read by the provider's own schema. */
111
+ readonly exported: JsonObject;
112
+ /** The module opts into a generated, committed provider artifact. */
113
+ readonly managed: boolean;
114
+ /** Whether the module renders a provider artifact under an environment. */
115
+ readonly renders: boolean;
116
+ /** The provider artifact the module rendered under the evaluation's environment (e.g. a wrangler config), when it renders one. */
117
+ readonly rendered: JsonObject | null;
118
+ /** The artifact local development reads, when the module renders one. */
119
+ readonly localRendered: JsonObject | null;
120
+ /** The provider's name for the deployed unit (e.g. a Worker name), when the module declares one. */
121
+ readonly unitName: string | null;
122
+ }
123
+ /** The provider-neutral data of one release, parsed at the driver's boundary. */
124
+ export declare const DeploymentReleaseRequestSchema: z.ZodObject<{
125
+ appDir: z.ZodString;
126
+ workspaceRoot: z.ZodString;
127
+ repositoryRoot: z.ZodOptional<z.ZodString>;
128
+ environment: z.ZodString;
129
+ providerEnvironment: z.ZodNullable<z.ZodString>;
130
+ dryRun: z.ZodBoolean;
131
+ skipBuild: z.ZodBoolean;
132
+ source: z.ZodObject<{
133
+ commit: z.ZodOptional<z.ZodString>;
134
+ branch: z.ZodOptional<z.ZodString>;
135
+ compositionDigest: z.ZodOptional<z.ZodString>;
136
+ }, z.core.$strip>;
137
+ options: z.ZodType<JsonObject, JsonObject, z.core.$ZodTypeInternals<JsonObject, JsonObject>>;
138
+ }, z.core.$strip>;
139
+ export type DeploymentReleaseRequest = z.infer<typeof DeploymentReleaseRequestSchema>;
140
+ /** Outputs prepared by the selected provider before the first final artifact seal. */
141
+ export declare const DeploymentArtifactPreparationSchema: z.ZodObject<{
142
+ paths: z.ZodDefault<z.ZodArray<z.ZodString>>;
143
+ references: z.ZodDefault<z.ZodArray<z.ZodString>>;
144
+ }, z.core.$strip>;
145
+ export type DeploymentArtifactPreparation = z.infer<typeof DeploymentArtifactPreparationSchema>;
146
+ /** Evidence of the workspace build and its preflight. */
147
+ export declare const DeploymentBuildEvidenceSchema: z.ZodObject<{
148
+ warnings: z.ZodArray<z.ZodString>;
149
+ artifact: z.ZodOptional<z.ZodObject<{
150
+ compositionDigest: z.ZodString;
151
+ sourceCommit: z.ZodString;
152
+ artifactDigest: z.ZodString;
153
+ references: z.ZodOptional<z.ZodArray<z.ZodString>>;
154
+ }, z.core.$strip>>;
155
+ }, z.core.$strip>;
156
+ export type DeploymentBuildEvidence = z.infer<typeof DeploymentBuildEvidenceSchema>;
157
+ /**
158
+ * The driver-owned steps a provider's release calls. Each refuses with a typed
159
+ * CapabilityError; a provider propagates the refusal unchanged.
160
+ */
161
+ export interface DeploymentReleaseHost {
162
+ /** Preflight the workspace, build the app's artifacts unless skipped, and preflight again. */
163
+ build(options?: {
164
+ /** After app build, before the first final seal. Runs once in the retained provider invocation; never after release effects. */
165
+ prepareArtifacts?: () => Promise<DeploymentArtifactPreparation>;
166
+ }): Promise<DeploymentBuildEvidence>;
167
+ /** Verify the held source independently of where this provider builds its artifact. */
168
+ assertSource?(): Promise<void>;
169
+ /** Revalidate the held source, composition, installed locks and emitted bytes before an external effect. */
170
+ assertArtifacts?(): Promise<void>;
171
+ /** Run the deployment's declared pre-deploy commands under `variables`. */
172
+ runPreDeployCommands(variables: Readonly<Record<string, string>>): Promise<void>;
173
+ /**
174
+ * Apply the app's pending remote migrations, reading the databases from
175
+ * `configFile` (relative to the app directory) under `variables`. Declared
176
+ * migrations no registered engine applies are a refusal.
177
+ */
178
+ migrate(input: {
179
+ configFile: string;
180
+ variables: Readonly<Record<string, string>>;
181
+ }): Promise<void>;
182
+ /** Evaluate the app's deployment module in a fresh process under `variables`. */
183
+ evaluate(variables: Readonly<Record<string, string>>): Promise<DeploymentModuleEvaluation>;
184
+ }
185
+ export interface DeploymentReleaseOptions extends DeploymentReleaseRequest {
186
+ readonly deployment: AppDeployment;
187
+ /** The identity evaluation the driver loaded the deployment from. */
188
+ readonly module: DeploymentModuleEvaluation;
189
+ /** The provider environment plus the driver's build identity (`VIBES_BUILD_VERSION`). */
190
+ readonly variables: Readonly<Record<string, string>>;
191
+ readonly host: DeploymentReleaseHost;
192
+ readonly log: DatabaseMigrationLog;
193
+ readonly onLine: DeploymentOutputLine;
194
+ }
195
+ export declare const DeploymentReleaseResultSchema: z.ZodObject<{
196
+ status: z.ZodEnum<{
197
+ released: "released";
198
+ "dry-run": "dry-run";
199
+ }>;
200
+ deployedUrl: z.ZodOptional<z.ZodString>;
201
+ externalDeploymentId: z.ZodOptional<z.ZodString>;
202
+ providerTraceRef: z.ZodOptional<z.ZodString>;
203
+ probe: z.ZodBoolean;
204
+ notes: z.ZodOptional<z.ZodString>;
205
+ summary: z.ZodOptional<z.ZodString>;
206
+ result: z.ZodType<JsonObject, JsonObject, z.core.$ZodTypeInternals<JsonObject, JsonObject>>;
207
+ }, z.core.$strip>;
208
+ export type DeploymentReleaseResult = z.infer<typeof DeploymentReleaseResultSchema>;
209
+ /** One readiness finding. `fail` refuses a deploy; `warn` and `unknown` are reported. */
210
+ export declare const DeploymentReadinessCheckSchema: z.ZodObject<{
211
+ id: z.ZodString;
212
+ label: z.ZodString;
213
+ status: z.ZodEnum<{
214
+ unknown: "unknown";
215
+ warn: "warn";
216
+ pass: "pass";
217
+ fail: "fail";
218
+ }>;
219
+ summary: z.ZodString;
220
+ evidence: z.ZodArray<z.ZodString>;
221
+ action: z.ZodNullable<z.ZodString>;
222
+ }, z.core.$strip>;
223
+ export type DeploymentReadinessCheck = z.infer<typeof DeploymentReadinessCheckSchema>;
224
+ /**
225
+ * What a provider's artifact says about one selected environment: names only,
226
+ * never values. The driver judges routes and secrets against the deployment
227
+ * and the runtime's environment catalog from these facts.
228
+ */
229
+ export declare const DeploymentEnvironmentFactsSchema: z.ZodObject<{
230
+ generated: z.ZodBoolean;
231
+ resolved: z.ZodBoolean;
232
+ providerEnvironment: z.ZodNullable<z.ZodString>;
233
+ explicitEnvironment: z.ZodBoolean;
234
+ routesInherited: z.ZodBoolean;
235
+ routes: z.ZodArray<z.ZodString>;
236
+ boundSecrets: z.ZodArray<z.ZodString>;
237
+ declaredRequirements: z.ZodArray<z.ZodString>;
238
+ }, z.core.$strip>;
239
+ export type DeploymentEnvironmentFacts = z.infer<typeof DeploymentEnvironmentFactsSchema>;
240
+ export interface DeploymentInspectionOptions {
241
+ readonly appDir: string;
242
+ /** The deployment module's path, for evidence. */
243
+ readonly configPath: string;
244
+ /** The directory evidence paths are shown relative to. */
245
+ readonly displayBase: string;
246
+ readonly deployment: AppDeployment;
247
+ /** The module rendered under the readiness environment. */
248
+ readonly module: DeploymentModuleEvaluation;
249
+ /** The selected Vibes deployment environment. */
250
+ readonly environment: string;
251
+ /** The deployed-unit name of every app in the collection, by app id. */
252
+ readonly units: ReadonlyMap<string, string>;
253
+ readonly log: DatabaseMigrationLog;
254
+ }
255
+ export interface DeploymentInspection {
256
+ readonly facts: DeploymentEnvironmentFacts;
257
+ /** This provider's readiness checks (its artifact, its stores, its topology). */
258
+ readonly checks: readonly DeploymentReadinessCheck[];
259
+ }
260
+ export declare const DeploymentArtifactResultSchema: z.ZodObject<{
261
+ status: z.ZodEnum<{
262
+ error: "error";
263
+ skipped: "skipped";
264
+ updated: "updated";
265
+ unchanged: "unchanged";
266
+ drift: "drift";
267
+ }>;
268
+ path: z.ZodString;
269
+ unitName: z.ZodOptional<z.ZodString>;
270
+ reason: z.ZodOptional<z.ZodString>;
271
+ diff: z.ZodOptional<z.ZodString>;
272
+ note: z.ZodOptional<z.ZodString>;
273
+ }, z.core.$strip>;
274
+ export type DeploymentArtifactResult = z.infer<typeof DeploymentArtifactResultSchema>;
275
+ export interface DeploymentArtifactOptions {
276
+ readonly appDir: string;
277
+ readonly deployment: AppDeployment;
278
+ readonly module: DeploymentModuleEvaluation;
279
+ /** Render the local-development artifact instead of the deployed one. */
280
+ readonly local: boolean;
281
+ /** `check` reads only; `write` rewrites a drifted artifact. */
282
+ readonly mode: 'check' | 'write';
283
+ readonly log: DatabaseMigrationLog;
284
+ }
285
+ export declare const DeploymentRollbackOutcomeSchema: z.ZodObject<{
286
+ unit: z.ZodString;
287
+ retained: z.ZodArray<z.ZodString>;
288
+ serving: z.ZodArray<z.ZodObject<{
289
+ versionId: z.ZodString;
290
+ percentage: z.ZodNumber;
291
+ }, z.core.$strip>>;
292
+ versions: z.ZodArray<z.ZodObject<{
293
+ id: z.ZodString;
294
+ createdOn: z.ZodOptional<z.ZodString>;
295
+ message: z.ZodOptional<z.ZodString>;
296
+ }, z.core.$strip>>;
297
+ target: z.ZodOptional<z.ZodString>;
298
+ command: z.ZodOptional<z.ZodArray<z.ZodString>>;
299
+ dryRun: z.ZodBoolean;
300
+ rolledBack: z.ZodBoolean;
301
+ }, z.core.$strip>;
302
+ export type DeploymentRollbackOutcome = z.infer<typeof DeploymentRollbackOutcomeSchema>;
303
+ export interface DeploymentRollbackOptions {
304
+ readonly appDir: string;
305
+ readonly deployment: AppDeployment;
306
+ readonly module: DeploymentModuleEvaluation;
307
+ /** The selected Vibes deployment environment. */
308
+ readonly environment: string;
309
+ readonly credentialSource: DatabaseMigrationCredentialSource;
310
+ /** The version to serve; absent lists versions (dry run only). */
311
+ readonly to?: string;
312
+ readonly message?: string;
313
+ readonly dryRun: boolean;
314
+ /** The operator's write gate. */
315
+ readonly yes: boolean;
316
+ /** Provider-specific command options, read by the provider's own schema. */
317
+ readonly options: JsonObject;
318
+ readonly log: DatabaseMigrationLog;
319
+ }
320
+ export interface DeploymentProviderImplementation {
321
+ /** Project a registered web app's declared data without evaluating a deployment module. */
322
+ projectWebApp?(descriptor: WebAppDescriptor, options: WebAppProjectionOptions): Promise<WebAppProjection>;
323
+ /** Refuse provider options this provider cannot honour (`INVALID_INPUT`), before the driver records the run. */
324
+ validateOptions(options: JsonObject): void;
325
+ /** The environment this provider's tooling and the app's render run under, resolved once per deploy. */
326
+ environment(options: DeploymentProviderEnvironmentOptions): Promise<DeploymentProviderEnvironment>;
327
+ /** Release one app. Refuses with a typed CapabilityError; a provider failure is never reported as a release. */
328
+ release(options: DeploymentReleaseOptions): Promise<DeploymentReleaseResult>;
329
+ /** The environment facts and provider readiness checks for one app. */
330
+ inspect(options: DeploymentInspectionOptions): Promise<DeploymentInspection>;
331
+ /** Check or rewrite the app's committed provider artifact. */
332
+ regenerate(options: DeploymentArtifactOptions): Promise<DeploymentArtifactResult>;
333
+ /** Return the app to a deployed version; a provider without versions refuses `UNAVAILABLE`. */
334
+ rollback(options: DeploymentRollbackOptions): Promise<DeploymentRollbackOutcome>;
335
+ }
336
+ //# sourceMappingURL=deployment-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-provider.d.ts","sourceRoot":"","sources":["../../src/schemas/deployment-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Contracts of the `infra/deployment-provider` kind: the capabilities a
3
+ * provider declares, and the implementation every provider registers to
4
+ * resolve its environment, render, check and release one app's deployment.
5
+ *
6
+ * The deploy driver (`vibes infra deploy run`) owns every provider-neutral
7
+ * step: the run ledger, readiness, the workspace build, pre-deploy commands,
8
+ * database migrations, the smoke probe and the deployment marker. It hands the
9
+ * provider those steps as {@link DeploymentReleaseHost} callbacks; the provider
10
+ * calls the ones its release uses, in its own order (Cloudflare migrates inside
11
+ * its staged config; a provider that builds remotely never calls `build`).
12
+ */
13
+ import * as z from 'zod/v4';
14
+ import { RuntimeDescriptorSchema, ScopeConstraintSchema } from '@vibesdotdev/kernel';
15
+ import { JsonObjectSchema } from '@vibesdotdev/kernel/schemas/json';
16
+ import { appRuntimeSchema } from "../schemas.js";
17
+ /** Provider-owned deployment capabilities, admitted by the host's plugin selection. */
18
+ export const DeploymentProviderDescriptorSchema = RuntimeDescriptorSchema.extend({
19
+ kind: z.literal('infra/deployment-provider'),
20
+ hardware: ScopeConstraintSchema.shape.hardware,
21
+ runtimes: z.array(appRuntimeSchema).min(1),
22
+ pty: z.boolean(),
23
+ /**
24
+ * Environment keys a deployment module reads while rendering (metadata
25
+ * identifiers such as an account id, never secret values). A fresh
26
+ * evaluation receives exactly these keys of the provider environment.
27
+ */
28
+ projectionKeys: z.array(z.string().regex(/^[_A-Z0-9]+$/)).default([]),
29
+ /**
30
+ * The module export that renders this provider's deployment modules, as a
31
+ * specifier a fresh process can import (`DeploymentModuleRenderer`). Absent
32
+ * when the provider's deployment modules render no provider artifact.
33
+ */
34
+ renderer: z.object({ module: z.string().min(1), export: z.string().min(1) }).optional(),
35
+ /**
36
+ * Deployment-module fields only this provider consumes. An app declaring
37
+ * another provider's fields is reported by readiness.
38
+ */
39
+ declarations: z.array(z.string().min(1)).default([]),
40
+ /** The vendor deployment records attribute this provider's releases to (`cloudflare`, `digitalocean`, ...). */
41
+ vendor: z.string().min(1).optional()
42
+ });
43
+ /** The environment variables a provider's tooling and the app's render run under. */
44
+ export const DeploymentProviderEnvironmentSchema = z.object({
45
+ variables: z.record(z.string(), z.string()),
46
+ /** Whether the app's deployment module renders differently under `variables`, so readiness re-renders under them. */
47
+ projected: z.boolean()
48
+ });
49
+ export const DeploymentProviderEnvironmentRequestSchema = z.object({
50
+ /**
51
+ * The selected Vibes deployment environment (`production`, `staging`,
52
+ * `local`, ...); absent selects the runtime's current environment, as the
53
+ * provider's secrets resolution reads it.
54
+ */
55
+ environment: z.string().min(1).optional(),
56
+ credentialSource: z.enum(['secrets-store', 'ambient']).default('secrets-store')
57
+ });
58
+ /**
59
+ * What a provider's renderer answers for one evaluated deployment module. The
60
+ * artifacts are serialized text so the answer crosses a process boundary.
61
+ */
62
+ export const DeploymentModuleRenderSchema = z.object({
63
+ /** The module opts into a generated, committed provider artifact. */
64
+ managed: z.boolean(),
65
+ /** The module renders a provider artifact under an environment. */
66
+ renders: z.boolean(),
67
+ /** The provider artifact rendered under the evaluation's environment; null when the module renders none. */
68
+ rendered: z.string().nullable(),
69
+ /** The artifact local development reads, when the module renders one. */
70
+ localRendered: z.string().nullable(),
71
+ /** The provider's name for the deployed unit (e.g. a Worker name), when the module declares one. */
72
+ unitName: z.string().nullable()
73
+ });
74
+ export const DeploymentModuleValueSchema = z.lazy(() => z.union([
75
+ z.string(),
76
+ z.number(),
77
+ z.boolean(),
78
+ z.null(),
79
+ z.undefined(),
80
+ z.custom((value) => value instanceof Function),
81
+ z.array(DeploymentModuleValueSchema),
82
+ z.record(z.string(), DeploymentModuleValueSchema)
83
+ ]));
84
+ /** An evaluated deployment module's default export, admitted by the loader before any renderer reads it. */
85
+ export const DeploymentModuleExportSchema = z.record(z.string(), DeploymentModuleValueSchema);
86
+ /** The provider-neutral data of one release, parsed at the driver's boundary. */
87
+ export const DeploymentReleaseRequestSchema = z.object({
88
+ appDir: z.string().min(1),
89
+ workspaceRoot: z.string().min(1),
90
+ /** The git repository that holds the app, when one does. */
91
+ repositoryRoot: z.string().min(1).optional(),
92
+ /** The selected Vibes deployment environment. */
93
+ environment: z.string().min(1),
94
+ /** The provider's own name for the selected environment block; null for its top level. */
95
+ providerEnvironment: z.string().nullable(),
96
+ dryRun: z.boolean(),
97
+ skipBuild: z.boolean(),
98
+ source: z.object({
99
+ commit: z.string().optional(),
100
+ branch: z.string().optional(),
101
+ /** Immutable parent/source/build-input identity for locally or remotely produced artifacts. */
102
+ compositionDigest: z.string().regex(/^[a-f0-9]{64}$/).optional()
103
+ }),
104
+ /** Provider-specific command options, read by the provider's own schema. */
105
+ options: JsonObjectSchema
106
+ });
107
+ /** Outputs prepared by the selected provider before the first final artifact seal. */
108
+ export const DeploymentArtifactPreparationSchema = z.object({
109
+ /** Additional owned files or directories, absolute or relative to the held workspace root. No source-write admission is granted. */
110
+ paths: z.array(z.string().min(1)).default([]),
111
+ /** Exact immutable references already validated by the owning producer, never mutable tags. */
112
+ references: z.array(z.string().min(1)).default([])
113
+ });
114
+ /** Evidence of the workspace build and its preflight. */
115
+ export const DeploymentBuildEvidenceSchema = z.object({
116
+ warnings: z.array(z.string()),
117
+ /** Present only after the complete app build has a validated immutable output receipt. */
118
+ artifact: z.object({
119
+ compositionDigest: z.string().regex(/^[a-f0-9]{64}$/),
120
+ sourceCommit: z.string().regex(/^[a-f0-9]{40,64}$/),
121
+ artifactDigest: z.string().regex(/^[a-f0-9]{64}$/),
122
+ /** Producer-verified immutable identities included in artifactDigest. */
123
+ references: z.array(z.string().min(1)).optional()
124
+ }).optional()
125
+ });
126
+ export const DeploymentReleaseResultSchema = z.object({
127
+ /** `dry-run` when nothing was released (a plan, a printed spec). */
128
+ status: z.enum(['released', 'dry-run']),
129
+ deployedUrl: z.string().optional(),
130
+ externalDeploymentId: z.string().optional(),
131
+ providerTraceRef: z.string().optional(),
132
+ /** Whether the driver probes the deployment's primary origin after this release. */
133
+ probe: z.boolean(),
134
+ notes: z.string().optional(),
135
+ /** The line the driver prints on success, when the release has one. */
136
+ summary: z.string().optional(),
137
+ /** Provider fields of the JSON result, placed after `provider`. */
138
+ result: JsonObjectSchema
139
+ });
140
+ /** One readiness finding. `fail` refuses a deploy; `warn` and `unknown` are reported. */
141
+ export const DeploymentReadinessCheckSchema = z.object({
142
+ id: z.string().min(1),
143
+ label: z.string().min(1),
144
+ status: z.enum(['pass', 'warn', 'fail', 'unknown']),
145
+ summary: z.string(),
146
+ evidence: z.array(z.string()),
147
+ action: z.string().nullable()
148
+ });
149
+ /**
150
+ * What a provider's artifact says about one selected environment: names only,
151
+ * never values. The driver judges routes and secrets against the deployment
152
+ * and the runtime's environment catalog from these facts.
153
+ */
154
+ export const DeploymentEnvironmentFactsSchema = z.object({
155
+ /** The provider renders its own environment blocks, so the driver holds it to an explicit route policy. */
156
+ generated: z.boolean(),
157
+ /** The provider artifact the facts come from could be rendered. */
158
+ resolved: z.boolean(),
159
+ /** The provider's own name for the selected environment block; null for its top level. */
160
+ providerEnvironment: z.string().nullable(),
161
+ /** The selected environment has its own block in the artifact. */
162
+ explicitEnvironment: z.boolean(),
163
+ /** The selected block inherits the top-level routes instead of declaring its own. */
164
+ routesInherited: z.boolean(),
165
+ /** Route patterns the selected environment serves. */
166
+ routes: z.array(z.string()),
167
+ /** Secret names the selected environment binds to a store. */
168
+ boundSecrets: z.array(z.string()),
169
+ /** Secret names the artifact declares as required without binding them. */
170
+ declaredRequirements: z.array(z.string())
171
+ });
172
+ export const DeploymentArtifactResultSchema = z.object({
173
+ status: z.enum(['updated', 'unchanged', 'drift', 'skipped', 'error']),
174
+ /** The committed artifact's path. */
175
+ path: z.string().min(1),
176
+ unitName: z.string().optional(),
177
+ /** Why the artifact was skipped or refused. */
178
+ reason: z.string().optional(),
179
+ /** A unified diff snippet on drift. */
180
+ diff: z.string().optional(),
181
+ /** A value-free note about what shaped the render. */
182
+ note: z.string().optional()
183
+ });
184
+ export const DeploymentRollbackOutcomeSchema = z.object({
185
+ /** The provider's name for the deployed unit. */
186
+ unit: z.string().min(1),
187
+ /** Parts of the unit a rollback leaves at their current version (for example a container image). */
188
+ retained: z.array(z.string().min(1)),
189
+ /** Versions serving before the rollback, with their traffic share. */
190
+ serving: z.array(z.object({ versionId: z.string(), percentage: z.number() })),
191
+ versions: z.array(z.object({ id: z.string(), createdOn: z.string().optional(), message: z.string().optional() })),
192
+ target: z.string().optional(),
193
+ /** The provider command the rollback runs (or would run, on a dry run). */
194
+ command: z.array(z.string()).optional(),
195
+ dryRun: z.boolean(),
196
+ rolledBack: z.boolean()
197
+ });
198
+ //# sourceMappingURL=deployment-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-provider.js","sourceRoot":"","sources":["../../src/schemas/deployment-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const WorkerLogRequestSchema: z.ZodObject<{
3
+ namespace: z.ZodString;
4
+ kubeconfig: z.ZodOptional<z.ZodString>;
5
+ resource: z.ZodString;
6
+ tail: z.ZodOptional<z.ZodNumber>;
7
+ since: z.ZodOptional<z.ZodString>;
8
+ container: z.ZodOptional<z.ZodString>;
9
+ timestamps: z.ZodOptional<z.ZodBoolean>;
10
+ previous: z.ZodOptional<z.ZodBoolean>;
11
+ follow: z.ZodOptional<z.ZodBoolean>;
12
+ signal: z.ZodOptional<z.ZodInstanceOf<AbortSignal>>;
13
+ }, z.core.$strip>;
14
+ export type WorkerLogRequest = z.infer<typeof WorkerLogRequestSchema>;
15
+ /**
16
+ * Provider-owned active operation. Completion settles only after provider resources
17
+ * are released: resolves on EOF or requested cancellation, rejects on failure.
18
+ * cancel is idempotent, works while output is locked, and awaits cleanup.
19
+ * The provider must also honor request.signal and output consumer cancellation.
20
+ */
21
+ export declare const ActiveLogStreamSchema: z.ZodObject<{
22
+ output: z.ZodInstanceOf<ReadableStream<Uint8Array<ArrayBufferLike>>>;
23
+ completion: z.ZodInstanceOf<Promise<void>>;
24
+ cancel: z.ZodFunction<z.ZodTuple<readonly [z.ZodOptional<z.ZodUnknown>], null>, z.ZodPromise<z.ZodVoid>>;
25
+ }, z.core.$strip>;
26
+ export type ActiveLogStream = z.infer<typeof ActiveLogStreamSchema>;
27
+ //# sourceMappingURL=log-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-stream.d.ts","sourceRoot":"","sources":["../../src/schemas/log-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAcjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;iBAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod/v4';
2
+ // Kubernetes durations use Go's duration units, including compound and fractional values.
3
+ const durationPart = String.raw `(?:\d+(?:\.\d*)?|\.\d+)(?:ns|us|µs|μs|ms|s|m|h)`;
4
+ export const WorkerLogRequestSchema = z.object({
5
+ namespace: z.string().min(1),
6
+ /** Provider-owned kubeconfig reference; Core never reads it. */
7
+ kubeconfig: z.string().min(1).optional(),
8
+ /** Explicit Kubernetes resource reference, e.g. deployment/api or pod/api-123. */
9
+ resource: z.string().regex(/^[^/\s]+\/[^/\s]+$/),
10
+ /** -1 requests all available lines. Omission preserves the provider's default. */
11
+ tail: z.number().int().min(-1).optional(),
12
+ since: z.string().regex(new RegExp(`^(?:0|(?:${durationPart})+)$`)).optional(),
13
+ container: z.string().min(1).optional(),
14
+ timestamps: z.boolean().optional(),
15
+ previous: z.boolean().optional(),
16
+ follow: z.boolean().optional(),
17
+ signal: z.instanceof(AbortSignal).optional()
18
+ });
19
+ /**
20
+ * Provider-owned active operation. Completion settles only after provider resources
21
+ * are released: resolves on EOF or requested cancellation, rejects on failure.
22
+ * cancel is idempotent, works while output is locked, and awaits cleanup.
23
+ * The provider must also honor request.signal and output consumer cancellation.
24
+ */
25
+ export const ActiveLogStreamSchema = z.object({
26
+ output: z.instanceof((ReadableStream)),
27
+ // Validate the active handle without awaiting the operation's completion.
28
+ completion: z.instanceof((Promise)),
29
+ cancel: z.function({ input: [z.unknown().optional()], output: z.promise(z.void()) })
30
+ });
31
+ //# sourceMappingURL=log-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-stream.js","sourceRoot":"","sources":["../../src/schemas/log-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,0FAA0F;AAC1F,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA,iDAAiD,CAAC;AAEjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,gEAAgE;IAChE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,kFAAkF;IAClF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC;IAChD,kFAAkF;IAClF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,YAAY,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA,cAA0B,CAAA,CAAC;IAChD,0EAA0E;IAC1E,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA,OAAa,CAAA,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;CACpF,CAAC,CAAC"}