@vibesdotdev/infra-core 0.0.2 → 1.0.0-rc.11

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 (331) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +28 -1
  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-budget.d.ts +319 -0
  54. package/dist/deployment-budget.d.ts.map +1 -0
  55. package/dist/deployment-budget.js +660 -0
  56. package/dist/deployment-budget.js.map +1 -0
  57. package/dist/deployment-environment.d.ts +30 -0
  58. package/dist/deployment-environment.d.ts.map +1 -0
  59. package/dist/deployment-environment.js +53 -0
  60. package/dist/deployment-environment.js.map +1 -0
  61. package/dist/deployment-graph.d.ts +185 -0
  62. package/dist/deployment-graph.d.ts.map +1 -0
  63. package/dist/deployment-graph.js +705 -0
  64. package/dist/deployment-graph.js.map +1 -0
  65. package/dist/deployment.d.ts +25 -4
  66. package/dist/deployment.d.ts.map +1 -1
  67. package/dist/deployment.js +105 -0
  68. package/dist/deployment.js.map +1 -1
  69. package/dist/doks/cloud/base.d.ts +49 -0
  70. package/dist/doks/cloud/base.d.ts.map +1 -0
  71. package/dist/doks/cloud/base.js +138 -0
  72. package/dist/doks/cloud/base.js.map +1 -0
  73. package/dist/doks/cloud/factory.d.ts +18 -0
  74. package/dist/doks/cloud/factory.d.ts.map +1 -0
  75. package/dist/doks/cloud/factory.js +22 -0
  76. package/dist/doks/cloud/factory.js.map +1 -0
  77. package/dist/doks/cloud/index.d.ts +5 -0
  78. package/dist/doks/cloud/index.d.ts.map +1 -0
  79. package/dist/doks/cloud/index.js +4 -0
  80. package/dist/doks/cloud/index.js.map +1 -0
  81. package/dist/doks/types.d.ts +95 -0
  82. package/dist/doks/types.d.ts.map +1 -0
  83. package/dist/doks/types.js +14 -0
  84. package/dist/doks/types.js.map +1 -0
  85. package/dist/generate/index.d.ts +29 -0
  86. package/dist/generate/index.d.ts.map +1 -0
  87. package/dist/generate/index.js +28 -0
  88. package/dist/generate/index.js.map +1 -0
  89. package/dist/generate/infra-generate.plugin.d.ts +3 -0
  90. package/dist/generate/infra-generate.plugin.d.ts.map +1 -0
  91. package/dist/generate/infra-generate.plugin.js +23 -0
  92. package/dist/generate/infra-generate.plugin.js.map +1 -0
  93. package/dist/generate/plugin.d.ts +2 -0
  94. package/dist/generate/plugin.d.ts.map +1 -0
  95. package/dist/generate/plugin.js +2 -0
  96. package/dist/generate/plugin.js.map +1 -0
  97. package/dist/heartbeat/cron-heartbeat.d.ts +97 -0
  98. package/dist/heartbeat/cron-heartbeat.d.ts.map +1 -0
  99. package/dist/heartbeat/cron-heartbeat.js +200 -0
  100. package/dist/heartbeat/cron-heartbeat.js.map +1 -0
  101. package/dist/index.d.ts +37 -22
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +29 -14
  104. package/dist/index.js.map +1 -1
  105. package/dist/infra.plugin.d.ts +1 -1
  106. package/dist/infra.plugin.d.ts.map +1 -1
  107. package/dist/infra.plugin.js +64 -12
  108. package/dist/infra.plugin.js.map +1 -1
  109. package/dist/kinds/alerts.kind.d.ts +64 -25
  110. package/dist/kinds/alerts.kind.d.ts.map +1 -1
  111. package/dist/kinds/alerts.kind.js +43 -16
  112. package/dist/kinds/alerts.kind.js.map +1 -1
  113. package/dist/kinds/artifact.kind.d.ts +58 -10
  114. package/dist/kinds/artifact.kind.d.ts.map +1 -1
  115. package/dist/kinds/artifact.kind.js +26 -9
  116. package/dist/kinds/artifact.kind.js.map +1 -1
  117. package/dist/kinds/billing.kind.d.ts +88 -0
  118. package/dist/kinds/billing.kind.d.ts.map +1 -0
  119. package/dist/kinds/billing.kind.js +48 -0
  120. package/dist/kinds/billing.kind.js.map +1 -0
  121. package/dist/kinds/build-job.kind.d.ts +383 -0
  122. package/dist/kinds/build-job.kind.d.ts.map +1 -0
  123. package/dist/kinds/build-job.kind.js +218 -0
  124. package/dist/kinds/build-job.kind.js.map +1 -0
  125. package/dist/kinds/cache-byte-store.d.ts +23 -0
  126. package/dist/kinds/cache-byte-store.d.ts.map +1 -0
  127. package/dist/kinds/cache-byte-store.js +9 -0
  128. package/dist/kinds/cache-byte-store.js.map +1 -0
  129. package/dist/kinds/cache.kind.d.ts +38 -94
  130. package/dist/kinds/cache.kind.d.ts.map +1 -1
  131. package/dist/kinds/cache.kind.js +39 -50
  132. package/dist/kinds/cache.kind.js.map +1 -1
  133. package/dist/kinds/cluster.kind.d.ts +154 -0
  134. package/dist/kinds/cluster.kind.d.ts.map +1 -0
  135. package/dist/kinds/cluster.kind.js +99 -0
  136. package/dist/kinds/cluster.kind.js.map +1 -0
  137. package/dist/kinds/compute-source.kind.d.ts +155 -0
  138. package/dist/kinds/compute-source.kind.d.ts.map +1 -0
  139. package/dist/kinds/compute-source.kind.js +158 -0
  140. package/dist/kinds/compute-source.kind.js.map +1 -0
  141. package/dist/kinds/container-registry.kind.d.ts +62 -0
  142. package/dist/kinds/container-registry.kind.d.ts.map +1 -0
  143. package/dist/kinds/container-registry.kind.js +47 -0
  144. package/dist/kinds/container-registry.kind.js.map +1 -0
  145. package/dist/kinds/database-migrator.kind.d.ts +6 -0
  146. package/dist/kinds/database-migrator.kind.d.ts.map +1 -0
  147. package/dist/kinds/database-migrator.kind.js +28 -0
  148. package/dist/kinds/database-migrator.kind.js.map +1 -0
  149. package/dist/kinds/database.kind.d.ts +114 -93
  150. package/dist/kinds/database.kind.d.ts.map +1 -1
  151. package/dist/kinds/database.kind.js +93 -54
  152. package/dist/kinds/database.kind.js.map +1 -1
  153. package/dist/kinds/deployment-provider.kind.d.ts +5 -0
  154. package/dist/kinds/deployment-provider.kind.d.ts.map +1 -0
  155. package/dist/kinds/deployment-provider.kind.js +11 -0
  156. package/dist/kinds/deployment-provider.kind.js.map +1 -0
  157. package/dist/kinds/discovery.d.ts +5 -12
  158. package/dist/kinds/discovery.d.ts.map +1 -1
  159. package/dist/kinds/discovery.js +5 -17
  160. package/dist/kinds/discovery.js.map +1 -1
  161. package/dist/kinds/dns.kind.d.ts +162 -0
  162. package/dist/kinds/dns.kind.d.ts.map +1 -0
  163. package/dist/kinds/dns.kind.js +54 -0
  164. package/dist/kinds/dns.kind.js.map +1 -0
  165. package/dist/kinds/drift.kind.d.ts +115 -0
  166. package/dist/kinds/drift.kind.d.ts.map +1 -0
  167. package/dist/kinds/drift.kind.js +60 -0
  168. package/dist/kinds/drift.kind.js.map +1 -0
  169. package/dist/kinds/edge-hostname.kind.d.ts +124 -0
  170. package/dist/kinds/edge-hostname.kind.d.ts.map +1 -0
  171. package/dist/kinds/edge-hostname.kind.js +87 -0
  172. package/dist/kinds/edge-hostname.kind.js.map +1 -0
  173. package/dist/kinds/edge-tls.kind.d.ts +194 -0
  174. package/dist/kinds/edge-tls.kind.d.ts.map +1 -0
  175. package/dist/kinds/edge-tls.kind.js +58 -0
  176. package/dist/kinds/edge-tls.kind.js.map +1 -0
  177. package/dist/kinds/firewall.kind.d.ts +92 -0
  178. package/dist/kinds/firewall.kind.d.ts.map +1 -0
  179. package/dist/kinds/firewall.kind.js +59 -0
  180. package/dist/kinds/firewall.kind.js.map +1 -0
  181. package/dist/kinds/git-hosting.kind.d.ts +36 -38
  182. package/dist/kinds/git-hosting.kind.d.ts.map +1 -1
  183. package/dist/kinds/git-hosting.kind.js +21 -32
  184. package/dist/kinds/git-hosting.kind.js.map +1 -1
  185. package/dist/kinds/index.d.ts +41 -15
  186. package/dist/kinds/index.d.ts.map +1 -1
  187. package/dist/kinds/index.js +40 -14
  188. package/dist/kinds/index.js.map +1 -1
  189. package/dist/kinds/inventory.kind.d.ts +245 -0
  190. package/dist/kinds/inventory.kind.d.ts.map +1 -0
  191. package/dist/kinds/inventory.kind.js +243 -0
  192. package/dist/kinds/inventory.kind.js.map +1 -0
  193. package/dist/kinds/load-balancer.kind.d.ts +135 -0
  194. package/dist/kinds/load-balancer.kind.d.ts.map +1 -0
  195. package/dist/kinds/load-balancer.kind.js +71 -0
  196. package/dist/kinds/load-balancer.kind.js.map +1 -0
  197. package/dist/kinds/logs.kind.d.ts +74 -3
  198. package/dist/kinds/logs.kind.d.ts.map +1 -1
  199. package/dist/kinds/logs.kind.js +26 -17
  200. package/dist/kinds/logs.kind.js.map +1 -1
  201. package/dist/kinds/nfs.kind.d.ts +67 -0
  202. package/dist/kinds/nfs.kind.d.ts.map +1 -0
  203. package/dist/kinds/nfs.kind.js +45 -0
  204. package/dist/kinds/nfs.kind.js.map +1 -0
  205. package/dist/kinds/node-pool.kind.d.ts +134 -0
  206. package/dist/kinds/node-pool.kind.d.ts.map +1 -0
  207. package/dist/kinds/node-pool.kind.js +88 -0
  208. package/dist/kinds/node-pool.kind.js.map +1 -0
  209. package/dist/kinds/object-storage.kind.d.ts +50 -24
  210. package/dist/kinds/object-storage.kind.d.ts.map +1 -1
  211. package/dist/kinds/object-storage.kind.js +40 -23
  212. package/dist/kinds/object-storage.kind.js.map +1 -1
  213. package/dist/kinds/observability.kind.d.ts +104 -6
  214. package/dist/kinds/observability.kind.d.ts.map +1 -1
  215. package/dist/kinds/observability.kind.js +67 -9
  216. package/dist/kinds/observability.kind.js.map +1 -1
  217. package/dist/kinds/package-registry.kind.d.ts +139 -33
  218. package/dist/kinds/package-registry.kind.d.ts.map +1 -1
  219. package/dist/kinds/package-registry.kind.js +55 -25
  220. package/dist/kinds/package-registry.kind.js.map +1 -1
  221. package/dist/kinds/queue.kind.d.ts +67 -63
  222. package/dist/kinds/queue.kind.d.ts.map +1 -1
  223. package/dist/kinds/queue.kind.js +55 -33
  224. package/dist/kinds/queue.kind.js.map +1 -1
  225. package/dist/kinds/read-descriptor.d.ts +15 -0
  226. package/dist/kinds/read-descriptor.d.ts.map +1 -0
  227. package/dist/kinds/read-descriptor.js +11 -0
  228. package/dist/kinds/read-descriptor.js.map +1 -0
  229. package/dist/kinds/rum.kind.d.ts +36 -6
  230. package/dist/kinds/rum.kind.d.ts.map +1 -1
  231. package/dist/kinds/rum.kind.js +6 -7
  232. package/dist/kinds/rum.kind.js.map +1 -1
  233. package/dist/kinds/sandbox.kind.d.ts +136 -40
  234. package/dist/kinds/sandbox.kind.d.ts.map +1 -1
  235. package/dist/kinds/sandbox.kind.js +82 -43
  236. package/dist/kinds/sandbox.kind.js.map +1 -1
  237. package/dist/kinds/select-compute-source.d.ts +72 -0
  238. package/dist/kinds/select-compute-source.d.ts.map +1 -0
  239. package/dist/kinds/select-compute-source.js +170 -0
  240. package/dist/kinds/select-compute-source.js.map +1 -0
  241. package/dist/kinds/service-release.kind.d.ts +771 -0
  242. package/dist/kinds/service-release.kind.d.ts.map +1 -0
  243. package/dist/kinds/service-release.kind.js +676 -0
  244. package/dist/kinds/service-release.kind.js.map +1 -0
  245. package/dist/kinds/spend-guard.kind.d.ts +41 -0
  246. package/dist/kinds/spend-guard.kind.d.ts.map +1 -0
  247. package/dist/kinds/spend-guard.kind.js +140 -0
  248. package/dist/kinds/spend-guard.kind.js.map +1 -0
  249. package/dist/kinds/utilization.kind.d.ts +88 -0
  250. package/dist/kinds/utilization.kind.d.ts.map +1 -0
  251. package/dist/kinds/utilization.kind.js +62 -0
  252. package/dist/kinds/utilization.kind.js.map +1 -0
  253. package/dist/kinds/volume.kind.d.ts +54 -0
  254. package/dist/kinds/volume.kind.d.ts.map +1 -0
  255. package/dist/kinds/volume.kind.js +39 -0
  256. package/dist/kinds/volume.kind.js.map +1 -0
  257. package/dist/kinds/vpc.kind.d.ts +61 -0
  258. package/dist/kinds/vpc.kind.d.ts.map +1 -0
  259. package/dist/kinds/vpc.kind.js +51 -0
  260. package/dist/kinds/vpc.kind.js.map +1 -0
  261. package/dist/kinds/web-app.kind.d.ts +118 -45
  262. package/dist/kinds/web-app.kind.d.ts.map +1 -1
  263. package/dist/kinds/web-app.kind.js +69 -42
  264. package/dist/kinds/web-app.kind.js.map +1 -1
  265. package/dist/kinds/worker.kind.d.ts +129 -188
  266. package/dist/kinds/worker.kind.d.ts.map +1 -1
  267. package/dist/kinds/worker.kind.js +45 -123
  268. package/dist/kinds/worker.kind.js.map +1 -1
  269. package/dist/schemas/database-migration.d.ts +173 -0
  270. package/dist/schemas/database-migration.d.ts.map +1 -0
  271. package/dist/schemas/database-migration.js +88 -0
  272. package/dist/schemas/database-migration.js.map +1 -0
  273. package/dist/schemas/deployment-environment.d.ts +11 -0
  274. package/dist/schemas/deployment-environment.d.ts.map +1 -0
  275. package/dist/schemas/deployment-environment.js +9 -0
  276. package/dist/schemas/deployment-environment.js.map +1 -0
  277. package/dist/schemas/deployment-provider.d.ts +383 -0
  278. package/dist/schemas/deployment-provider.d.ts.map +1 -0
  279. package/dist/schemas/deployment-provider.js +211 -0
  280. package/dist/schemas/deployment-provider.js.map +1 -0
  281. package/dist/schemas/log-stream.d.ts +27 -0
  282. package/dist/schemas/log-stream.d.ts.map +1 -0
  283. package/dist/schemas/log-stream.js +31 -0
  284. package/dist/schemas/log-stream.js.map +1 -0
  285. package/dist/schemas/spend-guard.d.ts +155 -0
  286. package/dist/schemas/spend-guard.d.ts.map +1 -0
  287. package/dist/schemas/spend-guard.js +61 -0
  288. package/dist/schemas/spend-guard.js.map +1 -0
  289. package/dist/schemas.d.ts +195 -20
  290. package/dist/schemas.d.ts.map +1 -1
  291. package/dist/schemas.js +151 -31
  292. package/dist/schemas.js.map +1 -1
  293. package/dist/service.d.ts +87 -0
  294. package/dist/service.d.ts.map +1 -0
  295. package/dist/service.js +199 -0
  296. package/dist/service.js.map +1 -0
  297. package/dist/settle-work.d.ts +20 -0
  298. package/dist/settle-work.d.ts.map +1 -0
  299. package/dist/settle-work.js +22 -0
  300. package/dist/settle-work.js.map +1 -0
  301. package/dist/web-app-projection.d.ts +208 -0
  302. package/dist/web-app-projection.d.ts.map +1 -0
  303. package/dist/web-app-projection.js +95 -0
  304. package/dist/web-app-projection.js.map +1 -0
  305. package/package.json +121 -37
  306. package/src/bootstrap/index.ts +0 -15
  307. package/src/bootstrap/seed.descriptor.ts +0 -24
  308. package/src/bootstrap/seed.impl-shape.ts +0 -5
  309. package/src/bootstrap/seed.kind.ts +0 -26
  310. package/src/bootstrap/seed.runner.ts +0 -87
  311. package/src/credentials/resolve.ts +0 -205
  312. package/src/deployment.ts +0 -57
  313. package/src/index.ts +0 -149
  314. package/src/infra.plugin.ts +0 -54
  315. package/src/kinds/alerts.kind.ts +0 -164
  316. package/src/kinds/artifact.kind.ts +0 -96
  317. package/src/kinds/cache.kind.ts +0 -104
  318. package/src/kinds/database.kind.ts +0 -120
  319. package/src/kinds/discovery.ts +0 -26
  320. package/src/kinds/git-hosting.kind.ts +0 -100
  321. package/src/kinds/index.ts +0 -139
  322. package/src/kinds/logs.kind.ts +0 -104
  323. package/src/kinds/object-storage.kind.ts +0 -101
  324. package/src/kinds/observability.kind.ts +0 -178
  325. package/src/kinds/package-registry.kind.ts +0 -95
  326. package/src/kinds/queue.kind.ts +0 -102
  327. package/src/kinds/rum.kind.ts +0 -135
  328. package/src/kinds/sandbox.kind.ts +0 -115
  329. package/src/kinds/web-app.kind.ts +0 -103
  330. package/src/kinds/worker.kind.ts +0 -203
  331. package/src/schemas.ts +0 -127
@@ -0,0 +1,383 @@
1
+ /**
2
+ * Kind: infra/build-job
3
+ *
4
+ * Provider-neutral descriptor for reproducible release builds. Adapter
5
+ * packages map this shape onto DOKS Kubernetes Jobs, local Docker runs,
6
+ * Windows VM runners, or another execution substrate.
7
+ */
8
+ import * as z from 'zod/v4';
9
+ import type { RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
10
+ import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
11
+ export declare const BuildTargetOsSchema: z.ZodEnum<{
12
+ linux: "linux";
13
+ macos: "macos";
14
+ windows: "windows";
15
+ }>;
16
+ export declare const BuildTargetArchSchema: z.ZodEnum<{
17
+ x64: "x64";
18
+ arm64: "arm64";
19
+ }>;
20
+ export declare const BuildJobTargetSchema: z.ZodObject<{
21
+ os: z.ZodEnum<{
22
+ linux: "linux";
23
+ macos: "macos";
24
+ windows: "windows";
25
+ }>;
26
+ arch: z.ZodEnum<{
27
+ x64: "x64";
28
+ arm64: "arm64";
29
+ }>;
30
+ libc: z.ZodOptional<z.ZodEnum<{
31
+ glibc: "glibc";
32
+ musl: "musl";
33
+ msvc: "msvc";
34
+ }>>;
35
+ format: z.ZodOptional<z.ZodString>;
36
+ }, z.core.$strip>;
37
+ export type BuildJobTarget = z.infer<typeof BuildJobTargetSchema>;
38
+ /**
39
+ * A build never carries a repository password/token. It carries only enough
40
+ * authority metadata for the execution adapter to ask the platform broker for
41
+ * one operation-scoped read credential at checkout time.
42
+ */
43
+ export declare const BuildJobGitAuthenticationSchema: z.ZodObject<{
44
+ mode: z.ZodLiteral<"brokered">;
45
+ provider: z.ZodLiteral<"vibes-forge">;
46
+ repositoryId: z.ZodString;
47
+ brokerOrigin: z.ZodString;
48
+ serviceCredential: z.ZodObject<{
49
+ source: z.ZodLiteral<"secret">;
50
+ key: z.ZodString;
51
+ }, z.core.$strip>;
52
+ }, z.core.$strict>;
53
+ export type BuildJobGitAuthentication = z.infer<typeof BuildJobGitAuthenticationSchema>;
54
+ export declare const BuildJobSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
55
+ kind: z.ZodLiteral<"git">;
56
+ repository: z.ZodString;
57
+ ref: z.ZodOptional<z.ZodString>;
58
+ defaultBranch: z.ZodOptional<z.ZodString>;
59
+ depth: z.ZodDefault<z.ZodNumber>;
60
+ checkoutDir: z.ZodDefault<z.ZodString>;
61
+ authentication: z.ZodOptional<z.ZodObject<{
62
+ mode: z.ZodLiteral<"brokered">;
63
+ provider: z.ZodLiteral<"vibes-forge">;
64
+ repositoryId: z.ZodString;
65
+ brokerOrigin: z.ZodString;
66
+ serviceCredential: z.ZodObject<{
67
+ source: z.ZodLiteral<"secret">;
68
+ key: z.ZodString;
69
+ }, z.core.$strip>;
70
+ }, z.core.$strict>>;
71
+ }, z.core.$strict>, z.ZodObject<{
72
+ kind: z.ZodLiteral<"workspace">;
73
+ path: z.ZodDefault<z.ZodString>;
74
+ }, z.core.$strip>], "kind">;
75
+ export type BuildJobSource = z.infer<typeof BuildJobSourceSchema>;
76
+ export declare const BuildJobStepSchema: z.ZodObject<{
77
+ name: z.ZodString;
78
+ run: z.ZodString;
79
+ cwd: z.ZodOptional<z.ZodString>;
80
+ shell: z.ZodOptional<z.ZodString>;
81
+ }, z.core.$strip>;
82
+ export type BuildJobStep = z.infer<typeof BuildJobStepSchema>;
83
+ export declare const BuildJobArtifactSchema: z.ZodObject<{
84
+ path: z.ZodString;
85
+ name: z.ZodOptional<z.ZodString>;
86
+ contentType: z.ZodOptional<z.ZodString>;
87
+ required: z.ZodDefault<z.ZodBoolean>;
88
+ }, z.core.$strip>;
89
+ export type BuildJobArtifact = z.infer<typeof BuildJobArtifactSchema>;
90
+ export declare const BuildJobToolRequirementSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
91
+ id: z.ZodString;
92
+ required: z.ZodDefault<z.ZodBoolean>;
93
+ labels: z.ZodDefault<z.ZodArray<z.ZodString>>;
94
+ }, z.core.$strip>]>;
95
+ export type BuildJobToolRequirement = z.infer<typeof BuildJobToolRequirementSchema>;
96
+ export declare const BuildJobRequirementsSchema: z.ZodObject<{
97
+ hostPoolId: z.ZodOptional<z.ZodString>;
98
+ runnerLabel: z.ZodOptional<z.ZodString>;
99
+ labels: z.ZodDefault<z.ZodArray<z.ZodString>>;
100
+ tools: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
101
+ id: z.ZodString;
102
+ required: z.ZodDefault<z.ZodBoolean>;
103
+ labels: z.ZodDefault<z.ZodArray<z.ZodString>>;
104
+ }, z.core.$strip>]>>>;
105
+ actions: z.ZodDefault<z.ZodArray<z.ZodString>>;
106
+ minCpuCores: z.ZodOptional<z.ZodNumber>;
107
+ minRamMb: z.ZodOptional<z.ZodNumber>;
108
+ }, z.core.$strip>;
109
+ export type BuildJobRequirements = z.infer<typeof BuildJobRequirementsSchema>;
110
+ export declare const BuildJobMountSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
111
+ kind: z.ZodLiteral<"git">;
112
+ name: z.ZodString;
113
+ repository: z.ZodString;
114
+ ref: z.ZodOptional<z.ZodString>;
115
+ path: z.ZodString;
116
+ mode: z.ZodDefault<z.ZodEnum<{
117
+ "read-only": "read-only";
118
+ "read-write": "read-write";
119
+ }>>;
120
+ }, z.core.$strip>, z.ZodObject<{
121
+ kind: z.ZodLiteral<"filesystem">;
122
+ name: z.ZodString;
123
+ adapter: z.ZodString;
124
+ prefix: z.ZodOptional<z.ZodString>;
125
+ path: z.ZodString;
126
+ mode: z.ZodDefault<z.ZodEnum<{
127
+ "read-only": "read-only";
128
+ "read-write": "read-write";
129
+ }>>;
130
+ sync: z.ZodDefault<z.ZodEnum<{
131
+ push: "push";
132
+ none: "none";
133
+ bidirectional: "bidirectional";
134
+ pull: "pull";
135
+ }>>;
136
+ }, z.core.$strip>, z.ZodObject<{
137
+ kind: z.ZodLiteral<"artifact">;
138
+ name: z.ZodString;
139
+ path: z.ZodString;
140
+ mode: z.ZodDefault<z.ZodEnum<{
141
+ "read-only": "read-only";
142
+ "read-write": "read-write";
143
+ }>>;
144
+ }, z.core.$strip>, z.ZodObject<{
145
+ kind: z.ZodLiteral<"temp">;
146
+ name: z.ZodString;
147
+ path: z.ZodString;
148
+ sizeMb: z.ZodOptional<z.ZodNumber>;
149
+ }, z.core.$strip>], "kind">;
150
+ export type BuildJobMount = z.infer<typeof BuildJobMountSchema>;
151
+ /** Open publish target: the storage adapter package that owns `adapter` validates the rest. */
152
+ export declare const BuildJobPublishTargetSchema: z.ZodObject<{
153
+ adapter: z.ZodString;
154
+ }, z.core.$loose>;
155
+ export type BuildJobPublishTarget = z.infer<typeof BuildJobPublishTargetSchema>;
156
+ export declare const BuildJobResourceRequirementsSchema: z.ZodObject<{
157
+ requests: z.ZodOptional<z.ZodObject<{
158
+ cpu: z.ZodOptional<z.ZodString>;
159
+ memory: z.ZodOptional<z.ZodString>;
160
+ }, z.core.$strip>>;
161
+ limits: z.ZodOptional<z.ZodObject<{
162
+ cpu: z.ZodOptional<z.ZodString>;
163
+ memory: z.ZodOptional<z.ZodString>;
164
+ }, z.core.$strip>>;
165
+ }, z.core.$strip>;
166
+ export declare const BuildJobTolerationSchema: z.ZodObject<{
167
+ key: z.ZodOptional<z.ZodString>;
168
+ operator: z.ZodOptional<z.ZodEnum<{
169
+ Exists: "Exists";
170
+ Equal: "Equal";
171
+ }>>;
172
+ value: z.ZodOptional<z.ZodString>;
173
+ effect: z.ZodOptional<z.ZodEnum<{
174
+ NoSchedule: "NoSchedule";
175
+ PreferNoSchedule: "PreferNoSchedule";
176
+ NoExecute: "NoExecute";
177
+ }>>;
178
+ }, z.core.$strip>;
179
+ export declare const LocalDockerBuildJobConfigSchema: z.ZodObject<{
180
+ adapter: z.ZodLiteral<"local-docker">;
181
+ image: z.ZodString;
182
+ outputDir: z.ZodDefault<z.ZodString>;
183
+ }, z.core.$strip>;
184
+ export declare const WindowsRunnerBuildJobConfigSchema: z.ZodObject<{
185
+ adapter: z.ZodLiteral<"windows-runner">;
186
+ provider: z.ZodDefault<z.ZodEnum<{
187
+ "azure-vm": "azure-vm";
188
+ "ec2-windows": "ec2-windows";
189
+ "self-hosted": "self-hosted";
190
+ }>>;
191
+ runnerLabel: z.ZodString;
192
+ image: z.ZodOptional<z.ZodString>;
193
+ }, z.core.$strip>;
194
+ /**
195
+ * Fleet adapter: dispatches the descriptor to the live vibes Host Action
196
+ * queue (`platform.hosts.createAction`) instead of provisioning its own
197
+ * compute. An enrolled fleet host (`fleet-daemon`) claims the
198
+ * resulting `host_action_runs` row and runs it via
199
+ * `executeBuildJobAction` — see `@vibesdotdev/platform/fleets/build-job` for the
200
+ * descriptor -> `CreateHostActionRunForm` translator. `hostPoolId` /
201
+ * `runnerLabel` here are adapter-level placement hints that the translator
202
+ * overlays onto the descriptor's adapter-neutral `requirements` (both use
203
+ * the identical shape as `BuildJobRequirementsSchema` below).
204
+ */
205
+ export declare const FleetBuildJobConfigSchema: z.ZodObject<{
206
+ adapter: z.ZodLiteral<"fleet-build-job">;
207
+ hostPoolId: z.ZodOptional<z.ZodString>;
208
+ runnerLabel: z.ZodOptional<z.ZodString>;
209
+ }, z.core.$strip>;
210
+ /** Open adapter config: the adapter package that owns `adapter` validates the rest. */
211
+ export declare const BuildJobConfigSchema: z.ZodObject<{
212
+ adapter: z.ZodString;
213
+ }, z.core.$loose>;
214
+ export type BuildJobConfig = z.infer<typeof BuildJobConfigSchema>;
215
+ export type FleetBuildJobConfig = z.infer<typeof FleetBuildJobConfigSchema>;
216
+ export declare const BuildJobDescriptorSchema: z.ZodObject<{
217
+ id: z.ZodString;
218
+ name: z.ZodOptional<z.ZodString>;
219
+ description: z.ZodOptional<z.ZodString>;
220
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
221
+ hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
222
+ enabled: z.ZodOptional<z.ZodBoolean>;
223
+ priority: z.ZodOptional<z.ZodNumber>;
224
+ capabilityId: z.ZodOptional<z.ZodString>;
225
+ requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
226
+ optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
227
+ retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
228
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
229
+ maxEntries: z.ZodOptional<z.ZodNumber>;
230
+ maxBytes: z.ZodOptional<z.ZodNumber>;
231
+ cascadeFrom: z.ZodOptional<z.ZodString>;
232
+ ageField: z.ZodOptional<z.ZodString>;
233
+ reason: z.ZodString;
234
+ enforcedBy: z.ZodOptional<z.ZodString>;
235
+ }, z.core.$strip>]>>;
236
+ kind: z.ZodLiteral<"infra/build-job">;
237
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
238
+ kind: z.ZodLiteral<"git">;
239
+ repository: z.ZodString;
240
+ ref: z.ZodOptional<z.ZodString>;
241
+ defaultBranch: z.ZodOptional<z.ZodString>;
242
+ depth: z.ZodDefault<z.ZodNumber>;
243
+ checkoutDir: z.ZodDefault<z.ZodString>;
244
+ authentication: z.ZodOptional<z.ZodObject<{
245
+ mode: z.ZodLiteral<"brokered">;
246
+ provider: z.ZodLiteral<"vibes-forge">;
247
+ repositoryId: z.ZodString;
248
+ brokerOrigin: z.ZodString;
249
+ serviceCredential: z.ZodObject<{
250
+ source: z.ZodLiteral<"secret">;
251
+ key: z.ZodString;
252
+ }, z.core.$strip>;
253
+ }, z.core.$strict>>;
254
+ }, z.core.$strict>, z.ZodObject<{
255
+ kind: z.ZodLiteral<"workspace">;
256
+ path: z.ZodDefault<z.ZodString>;
257
+ }, z.core.$strip>], "kind">;
258
+ target: z.ZodObject<{
259
+ os: z.ZodEnum<{
260
+ linux: "linux";
261
+ macos: "macos";
262
+ windows: "windows";
263
+ }>;
264
+ arch: z.ZodEnum<{
265
+ x64: "x64";
266
+ arm64: "arm64";
267
+ }>;
268
+ libc: z.ZodOptional<z.ZodEnum<{
269
+ glibc: "glibc";
270
+ musl: "musl";
271
+ msvc: "msvc";
272
+ }>>;
273
+ format: z.ZodOptional<z.ZodString>;
274
+ }, z.core.$strip>;
275
+ steps: z.ZodArray<z.ZodObject<{
276
+ name: z.ZodString;
277
+ run: z.ZodString;
278
+ cwd: z.ZodOptional<z.ZodString>;
279
+ shell: z.ZodOptional<z.ZodString>;
280
+ }, z.core.$strip>>;
281
+ artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
282
+ path: z.ZodString;
283
+ name: z.ZodOptional<z.ZodString>;
284
+ contentType: z.ZodOptional<z.ZodString>;
285
+ required: z.ZodDefault<z.ZodBoolean>;
286
+ }, z.core.$strip>>>;
287
+ requirements: z.ZodOptional<z.ZodObject<{
288
+ hostPoolId: z.ZodOptional<z.ZodString>;
289
+ runnerLabel: z.ZodOptional<z.ZodString>;
290
+ labels: z.ZodDefault<z.ZodArray<z.ZodString>>;
291
+ tools: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
292
+ id: z.ZodString;
293
+ required: z.ZodDefault<z.ZodBoolean>;
294
+ labels: z.ZodDefault<z.ZodArray<z.ZodString>>;
295
+ }, z.core.$strip>]>>>;
296
+ actions: z.ZodDefault<z.ZodArray<z.ZodString>>;
297
+ minCpuCores: z.ZodOptional<z.ZodNumber>;
298
+ minRamMb: z.ZodOptional<z.ZodNumber>;
299
+ }, z.core.$strip>>;
300
+ mounts: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
301
+ kind: z.ZodLiteral<"git">;
302
+ name: z.ZodString;
303
+ repository: z.ZodString;
304
+ ref: z.ZodOptional<z.ZodString>;
305
+ path: z.ZodString;
306
+ mode: z.ZodDefault<z.ZodEnum<{
307
+ "read-only": "read-only";
308
+ "read-write": "read-write";
309
+ }>>;
310
+ }, z.core.$strip>, z.ZodObject<{
311
+ kind: z.ZodLiteral<"filesystem">;
312
+ name: z.ZodString;
313
+ adapter: z.ZodString;
314
+ prefix: z.ZodOptional<z.ZodString>;
315
+ path: z.ZodString;
316
+ mode: z.ZodDefault<z.ZodEnum<{
317
+ "read-only": "read-only";
318
+ "read-write": "read-write";
319
+ }>>;
320
+ sync: z.ZodDefault<z.ZodEnum<{
321
+ push: "push";
322
+ none: "none";
323
+ bidirectional: "bidirectional";
324
+ pull: "pull";
325
+ }>>;
326
+ }, z.core.$strip>, z.ZodObject<{
327
+ kind: z.ZodLiteral<"artifact">;
328
+ name: z.ZodString;
329
+ path: z.ZodString;
330
+ mode: z.ZodDefault<z.ZodEnum<{
331
+ "read-only": "read-only";
332
+ "read-write": "read-write";
333
+ }>>;
334
+ }, z.core.$strip>, z.ZodObject<{
335
+ kind: z.ZodLiteral<"temp">;
336
+ name: z.ZodString;
337
+ path: z.ZodString;
338
+ sizeMb: z.ZodOptional<z.ZodNumber>;
339
+ }, z.core.$strip>], "kind">>>;
340
+ publish: z.ZodOptional<z.ZodObject<{
341
+ adapter: z.ZodString;
342
+ }, z.core.$loose>>;
343
+ env: z.ZodOptional<z.ZodArray<z.ZodObject<{
344
+ name: z.ZodString;
345
+ public: z.ZodOptional<z.ZodBoolean>;
346
+ required: z.ZodOptional<z.ZodBoolean>;
347
+ value: z.ZodOptional<z.ZodString>;
348
+ secret: z.ZodOptional<z.ZodBoolean>;
349
+ description: z.ZodOptional<z.ZodString>;
350
+ storeKey: z.ZodOptional<z.ZodString>;
351
+ storeBinding: z.ZodOptional<z.ZodBoolean>;
352
+ }, z.core.$strip>>>;
353
+ config: z.ZodOptional<z.ZodObject<{
354
+ adapter: z.ZodString;
355
+ }, z.core.$loose>>;
356
+ }, z.core.$strip>;
357
+ export type BuildJobDescriptor = z.infer<typeof BuildJobDescriptorSchema>;
358
+ export type BuildJobDescriptorInput = z.input<typeof BuildJobDescriptorSchema>;
359
+ /** Facts a build-job run reports: JSON values only. */
360
+ export declare const BuildJobRunMetadataSchema: z.ZodRecord<z.ZodString, z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
361
+ export type BuildJobRunMetadata = z.infer<typeof BuildJobRunMetadataSchema>;
362
+ export interface BuildJobRunResult {
363
+ id: string;
364
+ status: 'queued' | 'running' | 'succeeded' | 'failed';
365
+ artifacts?: BuildJobArtifact[];
366
+ logsUrl?: string;
367
+ metadata?: BuildJobRunMetadata;
368
+ }
369
+ export interface BuildJobImplementation {
370
+ generateConfig?(descriptor?: BuildJobDescriptor): BuildJobConfig | undefined;
371
+ run?(descriptor: BuildJobDescriptor): Promise<BuildJobRunResult>;
372
+ }
373
+ declare class DefaultBuildJobImplementation implements BuildJobImplementation {
374
+ readonly descriptor: RuntimeDescriptor;
375
+ readonly context: KindContext;
376
+ /** The descriptor as this kind's schema reads it. */
377
+ readonly config: BuildJobDescriptor;
378
+ constructor(descriptor: RuntimeDescriptor, context: KindContext);
379
+ generateConfig(descriptor?: BuildJobDescriptor): BuildJobConfig | undefined;
380
+ }
381
+ export declare const buildJobKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<DefaultBuildJobImplementation>;
382
+ export {};
383
+ //# sourceMappingURL=build-job.kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-job.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/build-job.kind.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Kind: infra/build-job
3
+ *
4
+ * Provider-neutral descriptor for reproducible release builds. Adapter
5
+ * packages map this shape onto DOKS Kubernetes Jobs, local Docker runs,
6
+ * Windows VM runners, or another execution substrate.
7
+ */
8
+ import * as z from 'zod/v4';
9
+ import { JsonValueSchema } from '@vibesdotdev/kernel/schemas/json';
10
+ import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
11
+ import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
12
+ import { readKindDescriptor } from "./read-descriptor.js";
13
+ import { deploymentEnvRequirementSchema } from "../schemas.js";
14
+ import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
15
+ export const BuildTargetOsSchema = z.enum(['linux', 'macos', 'windows']);
16
+ export const BuildTargetArchSchema = z.enum(['x64', 'arm64']);
17
+ export const BuildJobTargetSchema = z.object({
18
+ os: BuildTargetOsSchema,
19
+ arch: BuildTargetArchSchema,
20
+ libc: z.enum(['glibc', 'musl', 'msvc']).optional(),
21
+ format: z.string().min(1).optional()
22
+ });
23
+ /**
24
+ * A build never carries a repository password/token. It carries only enough
25
+ * authority metadata for the execution adapter to ask the platform broker for
26
+ * one operation-scoped read credential at checkout time.
27
+ */
28
+ export const BuildJobGitAuthenticationSchema = z
29
+ .object({
30
+ mode: z.literal('brokered'),
31
+ provider: z.literal('vibes-forge'),
32
+ repositoryId: z.string().uuid(),
33
+ brokerOrigin: z.string().url(),
34
+ serviceCredential: z.object({
35
+ source: z.literal('secret'),
36
+ key: z.string().regex(/^[_A-Z0-9]+$/)
37
+ })
38
+ })
39
+ .strict();
40
+ const BuildJobGitSourceSchema = z
41
+ .object({
42
+ kind: z.literal('git'),
43
+ repository: z.string().min(1),
44
+ ref: z.string().min(1).optional(),
45
+ /** Base branch fetched alongside the pinned ref so change scope and release reuse can see history. */
46
+ defaultBranch: z.string().min(1).optional(),
47
+ depth: z.number().int().positive().default(1),
48
+ checkoutDir: z.string().min(1).default('/workspace/source'),
49
+ authentication: BuildJobGitAuthenticationSchema.optional()
50
+ })
51
+ .strict()
52
+ .superRefine((source, ctx) => {
53
+ // SCP-style SSH repositories (`git@host:path`) are not URLs and carry no userinfo password.
54
+ if (!URL.canParse(source.repository))
55
+ return;
56
+ const repository = new URL(source.repository);
57
+ const sshTransport = repository.protocol === 'ssh:';
58
+ if (repository.password || (repository.username && !sshTransport)) {
59
+ ctx.addIssue({
60
+ code: 'custom',
61
+ path: ['repository'],
62
+ message: 'git source URLs must never embed credentials; SSH transport may carry only its public login name'
63
+ });
64
+ }
65
+ });
66
+ export const BuildJobSourceSchema = z.discriminatedUnion('kind', [
67
+ BuildJobGitSourceSchema,
68
+ z.object({
69
+ kind: z.literal('workspace'),
70
+ path: z.string().min(1).default('.')
71
+ })
72
+ ]);
73
+ export const BuildJobStepSchema = z.object({
74
+ name: z.string().min(1),
75
+ run: z.string().min(1),
76
+ cwd: z.string().min(1).optional(),
77
+ shell: z.string().min(1).optional()
78
+ });
79
+ export const BuildJobArtifactSchema = z.object({
80
+ path: z.string().min(1),
81
+ name: z.string().min(1).optional(),
82
+ contentType: z.string().min(1).optional(),
83
+ required: z.boolean().default(true)
84
+ });
85
+ export const BuildJobToolRequirementSchema = z.union([
86
+ z.string().min(1),
87
+ z.object({
88
+ id: z.string().min(1),
89
+ required: z.boolean().default(true),
90
+ labels: z.array(z.string().min(1)).default([])
91
+ })
92
+ ]);
93
+ export const BuildJobRequirementsSchema = z.object({
94
+ hostPoolId: z.string().min(1).optional(),
95
+ runnerLabel: z.string().min(1).optional(),
96
+ labels: z.array(z.string().min(1)).default([]),
97
+ tools: z.array(BuildJobToolRequirementSchema).default([]),
98
+ actions: z.array(z.string().min(1)).default([]),
99
+ minCpuCores: z.number().int().positive().optional(),
100
+ minRamMb: z.number().int().positive().optional()
101
+ });
102
+ export const BuildJobMountSchema = z.discriminatedUnion('kind', [
103
+ z.object({
104
+ kind: z.literal('git'),
105
+ name: z.string().min(1),
106
+ repository: z.string().min(1),
107
+ ref: z.string().min(1).optional(),
108
+ path: z.string().min(1),
109
+ mode: z.enum(['read-only', 'read-write']).default('read-only')
110
+ }),
111
+ z.object({
112
+ kind: z.literal('filesystem'),
113
+ name: z.string().min(1),
114
+ adapter: z.string().min(1),
115
+ prefix: z.string().optional(),
116
+ path: z.string().min(1),
117
+ mode: z.enum(['read-only', 'read-write']).default('read-write'),
118
+ sync: z.enum(['none', 'pull', 'push', 'bidirectional']).default('none')
119
+ }),
120
+ z.object({
121
+ kind: z.literal('artifact'),
122
+ name: z.string().min(1),
123
+ path: z.string().min(1),
124
+ mode: z.enum(['read-only', 'read-write']).default('read-write')
125
+ }),
126
+ z.object({
127
+ kind: z.literal('temp'),
128
+ name: z.string().min(1),
129
+ path: z.string().min(1),
130
+ sizeMb: z.number().int().positive().optional()
131
+ })
132
+ ]);
133
+ /** Open publish target: the storage adapter package that owns `adapter` validates the rest. */
134
+ export const BuildJobPublishTargetSchema = z.looseObject({ adapter: z.string().min(1) });
135
+ export const BuildJobResourceRequirementsSchema = z.object({
136
+ requests: z
137
+ .object({
138
+ cpu: z.string().min(1).optional(),
139
+ memory: z.string().min(1).optional()
140
+ })
141
+ .optional(),
142
+ limits: z
143
+ .object({
144
+ cpu: z.string().min(1).optional(),
145
+ memory: z.string().min(1).optional()
146
+ })
147
+ .optional()
148
+ });
149
+ export const BuildJobTolerationSchema = z.object({
150
+ key: z.string().min(1).optional(),
151
+ operator: z.enum(['Exists', 'Equal']).optional(),
152
+ value: z.string().optional(),
153
+ effect: z.enum(['NoSchedule', 'PreferNoSchedule', 'NoExecute']).optional()
154
+ });
155
+ export const LocalDockerBuildJobConfigSchema = z.object({
156
+ adapter: z.literal('local-docker'),
157
+ image: z.string().min(1),
158
+ outputDir: z.string().min(1).default('artifacts/build-jobs')
159
+ });
160
+ export const WindowsRunnerBuildJobConfigSchema = z.object({
161
+ adapter: z.literal('windows-runner'),
162
+ provider: z.enum(['azure-vm', 'ec2-windows', 'self-hosted']).default('self-hosted'),
163
+ runnerLabel: z.string().min(1),
164
+ image: z.string().min(1).optional()
165
+ });
166
+ /**
167
+ * Fleet adapter: dispatches the descriptor to the live vibes Host Action
168
+ * queue (`platform.hosts.createAction`) instead of provisioning its own
169
+ * compute. An enrolled fleet host (`fleet-daemon`) claims the
170
+ * resulting `host_action_runs` row and runs it via
171
+ * `executeBuildJobAction` — see `@vibesdotdev/platform/fleets/build-job` for the
172
+ * descriptor -> `CreateHostActionRunForm` translator. `hostPoolId` /
173
+ * `runnerLabel` here are adapter-level placement hints that the translator
174
+ * overlays onto the descriptor's adapter-neutral `requirements` (both use
175
+ * the identical shape as `BuildJobRequirementsSchema` below).
176
+ */
177
+ export const FleetBuildJobConfigSchema = z.object({
178
+ adapter: z.literal('fleet-build-job'),
179
+ hostPoolId: z.string().min(1).optional(),
180
+ runnerLabel: z.string().min(1).optional()
181
+ });
182
+ /** Open adapter config: the adapter package that owns `adapter` validates the rest. */
183
+ export const BuildJobConfigSchema = z.looseObject({ adapter: z.string().min(1) });
184
+ export const BuildJobDescriptorSchema = RuntimeDescriptorSchema.extend({
185
+ kind: z.literal('infra/build-job'),
186
+ source: BuildJobSourceSchema,
187
+ target: BuildJobTargetSchema,
188
+ steps: z.array(BuildJobStepSchema).min(1),
189
+ artifacts: z.array(BuildJobArtifactSchema).default([]),
190
+ requirements: BuildJobRequirementsSchema.optional(),
191
+ mounts: z.array(BuildJobMountSchema).default([]),
192
+ publish: BuildJobPublishTargetSchema.optional(),
193
+ env: z.array(deploymentEnvRequirementSchema).optional(),
194
+ config: BuildJobConfigSchema.optional()
195
+ });
196
+ /** Facts a build-job run reports: JSON values only. */
197
+ export const BuildJobRunMetadataSchema = z.record(z.string(), JsonValueSchema);
198
+ class DefaultBuildJobImplementation {
199
+ descriptor;
200
+ context;
201
+ /** The descriptor as this kind's schema reads it. */
202
+ config;
203
+ constructor(descriptor, context) {
204
+ this.descriptor = descriptor;
205
+ this.context = context;
206
+ this.config = readKindDescriptor(BuildJobDescriptorSchema, descriptor);
207
+ }
208
+ generateConfig(descriptor = this.config) {
209
+ return descriptor.config;
210
+ }
211
+ }
212
+ export const buildJobKind = createRuntimeKind({
213
+ id: 'infra/build-job',
214
+ descriptorSchema: BuildJobDescriptorSchema,
215
+ defaultImplementation: DefaultBuildJobImplementation,
216
+ discoveryPatterns: INFRA_DISCOVERY_PATTERNS
217
+ });
218
+ //# sourceMappingURL=build-job.kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-job.kind.js","sourceRoot":"","sources":["../../src/kinds/build-job.kind.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import * as z from 'zod/v4';
2
+ /** One immutable cache body. */
3
+ export declare const CacheByteEntrySchema: z.ZodObject<{
4
+ key: z.ZodString;
5
+ digest: z.ZodString;
6
+ bytes: z.ZodInstanceOf<Uint8Array<ArrayBuffer>>;
7
+ entries: z.ZodOptional<z.ZodNumber>;
8
+ }, z.core.$strip>;
9
+ export type CacheByteEntry = z.infer<typeof CacheByteEntrySchema>;
10
+ /**
11
+ * The `infra/cache` implementation's content-addressed byte capability.
12
+ *
13
+ * This is part of the kind contract, not an optional side interface: a provider
14
+ * that cannot serve bytes implements the methods with a typed
15
+ * `cache-byte-store-unavailable` refusal. Callers resolve the kind once and call
16
+ * `get`/`put`; there is no second resolver beside the kernel.
17
+ */
18
+ export interface CacheByteStore {
19
+ get(key: string): Promise<CacheByteEntry>;
20
+ put(key: string, bytes: Uint8Array): Promise<CacheByteEntry>;
21
+ delete?(key: string): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=cache-byte-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-byte-store.d.ts","sourceRoot":"","sources":["../../src/kinds/cache-byte-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,gCAAgC;AAChC,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7D,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC"}
@@ -0,0 +1,9 @@
1
+ import * as z from 'zod/v4';
2
+ /** One immutable cache body. */
3
+ export const CacheByteEntrySchema = z.object({
4
+ key: z.string().min(1),
5
+ digest: z.string().regex(/^[0-9a-f]{64}$/i, 'expected a SHA-256 cache digest'),
6
+ bytes: z.instanceof(Uint8Array),
7
+ entries: z.number().int().nonnegative().optional()
8
+ });
9
+ //# sourceMappingURL=cache-byte-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-byte-store.js","sourceRoot":"","sources":["../../src/kinds/cache-byte-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,gCAAgC;AAChC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;IAC9E,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC"}