@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,216 @@
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
+ depth: z.number().int().positive().default(1),
46
+ checkoutDir: z.string().min(1).default('/workspace/source'),
47
+ authentication: BuildJobGitAuthenticationSchema.optional()
48
+ })
49
+ .strict()
50
+ .superRefine((source, ctx) => {
51
+ // SCP-style SSH repositories (`git@host:path`) are not URLs and carry no userinfo password.
52
+ if (!URL.canParse(source.repository))
53
+ return;
54
+ const repository = new URL(source.repository);
55
+ const sshTransport = repository.protocol === 'ssh:';
56
+ if (repository.password || (repository.username && !sshTransport)) {
57
+ ctx.addIssue({
58
+ code: 'custom',
59
+ path: ['repository'],
60
+ message: 'git source URLs must never embed credentials; SSH transport may carry only its public login name'
61
+ });
62
+ }
63
+ });
64
+ export const BuildJobSourceSchema = z.discriminatedUnion('kind', [
65
+ BuildJobGitSourceSchema,
66
+ z.object({
67
+ kind: z.literal('workspace'),
68
+ path: z.string().min(1).default('.')
69
+ })
70
+ ]);
71
+ export const BuildJobStepSchema = z.object({
72
+ name: z.string().min(1),
73
+ run: z.string().min(1),
74
+ cwd: z.string().min(1).optional(),
75
+ shell: z.string().min(1).optional()
76
+ });
77
+ export const BuildJobArtifactSchema = z.object({
78
+ path: z.string().min(1),
79
+ name: z.string().min(1).optional(),
80
+ contentType: z.string().min(1).optional(),
81
+ required: z.boolean().default(true)
82
+ });
83
+ export const BuildJobToolRequirementSchema = z.union([
84
+ z.string().min(1),
85
+ z.object({
86
+ id: z.string().min(1),
87
+ required: z.boolean().default(true),
88
+ labels: z.array(z.string().min(1)).default([])
89
+ })
90
+ ]);
91
+ export const BuildJobRequirementsSchema = z.object({
92
+ hostPoolId: z.string().min(1).optional(),
93
+ runnerLabel: z.string().min(1).optional(),
94
+ labels: z.array(z.string().min(1)).default([]),
95
+ tools: z.array(BuildJobToolRequirementSchema).default([]),
96
+ actions: z.array(z.string().min(1)).default([]),
97
+ minCpuCores: z.number().int().positive().optional(),
98
+ minRamMb: z.number().int().positive().optional()
99
+ });
100
+ export const BuildJobMountSchema = z.discriminatedUnion('kind', [
101
+ z.object({
102
+ kind: z.literal('git'),
103
+ name: z.string().min(1),
104
+ repository: z.string().min(1),
105
+ ref: z.string().min(1).optional(),
106
+ path: z.string().min(1),
107
+ mode: z.enum(['read-only', 'read-write']).default('read-only')
108
+ }),
109
+ z.object({
110
+ kind: z.literal('filesystem'),
111
+ name: z.string().min(1),
112
+ adapter: z.string().min(1),
113
+ prefix: z.string().optional(),
114
+ path: z.string().min(1),
115
+ mode: z.enum(['read-only', 'read-write']).default('read-write'),
116
+ sync: z.enum(['none', 'pull', 'push', 'bidirectional']).default('none')
117
+ }),
118
+ z.object({
119
+ kind: z.literal('artifact'),
120
+ name: z.string().min(1),
121
+ path: z.string().min(1),
122
+ mode: z.enum(['read-only', 'read-write']).default('read-write')
123
+ }),
124
+ z.object({
125
+ kind: z.literal('temp'),
126
+ name: z.string().min(1),
127
+ path: z.string().min(1),
128
+ sizeMb: z.number().int().positive().optional()
129
+ })
130
+ ]);
131
+ /** Open publish target: the storage adapter package that owns `adapter` validates the rest. */
132
+ export const BuildJobPublishTargetSchema = z.looseObject({ adapter: z.string().min(1) });
133
+ export const BuildJobResourceRequirementsSchema = z.object({
134
+ requests: z
135
+ .object({
136
+ cpu: z.string().min(1).optional(),
137
+ memory: z.string().min(1).optional()
138
+ })
139
+ .optional(),
140
+ limits: z
141
+ .object({
142
+ cpu: z.string().min(1).optional(),
143
+ memory: z.string().min(1).optional()
144
+ })
145
+ .optional()
146
+ });
147
+ export const BuildJobTolerationSchema = z.object({
148
+ key: z.string().min(1).optional(),
149
+ operator: z.enum(['Exists', 'Equal']).optional(),
150
+ value: z.string().optional(),
151
+ effect: z.enum(['NoSchedule', 'PreferNoSchedule', 'NoExecute']).optional()
152
+ });
153
+ export const LocalDockerBuildJobConfigSchema = z.object({
154
+ adapter: z.literal('local-docker'),
155
+ image: z.string().min(1),
156
+ outputDir: z.string().min(1).default('artifacts/build-jobs')
157
+ });
158
+ export const WindowsRunnerBuildJobConfigSchema = z.object({
159
+ adapter: z.literal('windows-runner'),
160
+ provider: z.enum(['azure-vm', 'ec2-windows', 'self-hosted']).default('self-hosted'),
161
+ runnerLabel: z.string().min(1),
162
+ image: z.string().min(1).optional()
163
+ });
164
+ /**
165
+ * Fleet adapter: dispatches the descriptor to the live vibes Host Action
166
+ * queue (`platform.hosts.createAction`) instead of provisioning its own
167
+ * compute. An enrolled fleet host (`fleet-daemon`) claims the
168
+ * resulting `host_action_runs` row and runs it via
169
+ * `executeBuildJobAction` — see `@vibesdotdev/platform/fleets/build-job` for the
170
+ * descriptor -> `CreateHostActionRunForm` translator. `hostPoolId` /
171
+ * `runnerLabel` here are adapter-level placement hints that the translator
172
+ * overlays onto the descriptor's adapter-neutral `requirements` (both use
173
+ * the identical shape as `BuildJobRequirementsSchema` below).
174
+ */
175
+ export const FleetBuildJobConfigSchema = z.object({
176
+ adapter: z.literal('fleet-build-job'),
177
+ hostPoolId: z.string().min(1).optional(),
178
+ runnerLabel: z.string().min(1).optional()
179
+ });
180
+ /** Open adapter config: the adapter package that owns `adapter` validates the rest. */
181
+ export const BuildJobConfigSchema = z.looseObject({ adapter: z.string().min(1) });
182
+ export const BuildJobDescriptorSchema = RuntimeDescriptorSchema.extend({
183
+ kind: z.literal('infra/build-job'),
184
+ source: BuildJobSourceSchema,
185
+ target: BuildJobTargetSchema,
186
+ steps: z.array(BuildJobStepSchema).min(1),
187
+ artifacts: z.array(BuildJobArtifactSchema).default([]),
188
+ requirements: BuildJobRequirementsSchema.optional(),
189
+ mounts: z.array(BuildJobMountSchema).default([]),
190
+ publish: BuildJobPublishTargetSchema.optional(),
191
+ env: z.array(deploymentEnvRequirementSchema).optional(),
192
+ config: BuildJobConfigSchema.optional()
193
+ });
194
+ /** Facts a build-job run reports: JSON values only. */
195
+ export const BuildJobRunMetadataSchema = z.record(z.string(), JsonValueSchema);
196
+ class DefaultBuildJobImplementation {
197
+ descriptor;
198
+ context;
199
+ /** The descriptor as this kind's schema reads it. */
200
+ config;
201
+ constructor(descriptor, context) {
202
+ this.descriptor = descriptor;
203
+ this.context = context;
204
+ this.config = readKindDescriptor(BuildJobDescriptorSchema, descriptor);
205
+ }
206
+ generateConfig(descriptor = this.config) {
207
+ return descriptor.config;
208
+ }
209
+ }
210
+ export const buildJobKind = createRuntimeKind({
211
+ id: 'infra/build-job',
212
+ descriptorSchema: BuildJobDescriptorSchema,
213
+ defaultImplementation: DefaultBuildJobImplementation,
214
+ discoveryPatterns: INFRA_DISCOVERY_PATTERNS
215
+ });
216
+ //# 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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"}
@@ -3,71 +3,32 @@
3
3
  *
4
4
  * Describes a cache service.
5
5
  *
6
- * Schema shape: strict common base + `config` discriminated union.
6
+ * Schema shape: strict common base + an open, adapter-keyed `config`.
7
7
  *
8
8
  * - The base defines fields universal across adapters: id/kind/name +
9
9
  * the cache shape (engine, maxMemory, eviction, namespace).
10
10
  * - Adapter-specific fields (region, version, numNodes, size, …)
11
- * live under `config`. Each adapter package defines its own concrete schema.
11
+ * live under `config`, keyed by a non-empty `adapter` discriminator.
12
+ * Each adapter package defines and parses its own concrete schema
13
+ * (DigitalOcean managed Redis/Valkey and DOKS Redis configs live in
14
+ * `@vibesdotdev/integrations-digitalocean`; Cloudflare KV's in
15
+ * `@vibesdotdev/integrations-cloudflare`); this kind names no provider,
16
+ * so a config for any adapter — including one contributed by a user
17
+ * plugin — parses here, and the adapter validates its own grammar.
12
18
  */
13
19
  import * as z from 'zod/v4';
14
- import type { RuntimeKindDescriptorRecord } from '@vibesdotdev/runtime/schemas/kind';
15
- import type { RuntimeDescriptor } from '@vibesdotdev/runtime/schemas/descriptor';
16
- export declare const DOManagedRedisConfigSchema: z.ZodObject<{
17
- maxMemory: z.ZodOptional<z.ZodString>;
18
- eviction: z.ZodOptional<z.ZodEnum<{
19
- lru: "lru";
20
- lfu: "lfu";
21
- ttl: "ttl";
22
- }>>;
23
- region: z.ZodDefault<z.ZodString>;
24
- version: z.ZodDefault<z.ZodString>;
25
- numNodes: z.ZodDefault<z.ZodNumber>;
26
- size: z.ZodOptional<z.ZodString>;
27
- }, z.core.$strip>;
28
- export declare const CloudflareKVCacheConfigSchema: z.ZodObject<{
29
- namespace: z.ZodString;
30
- }, z.core.$strip>;
31
- export declare const DOKSRedisCacheConfigSchema: z.ZodObject<{
32
- namespace: z.ZodDefault<z.ZodString>;
33
- image: z.ZodOptional<z.ZodString>;
34
- version: z.ZodDefault<z.ZodString>;
35
- maxMemory: z.ZodOptional<z.ZodString>;
36
- eviction: z.ZodOptional<z.ZodEnum<{
37
- lru: "lru";
38
- lfu: "lfu";
39
- ttl: "ttl";
40
- }>>;
41
- storageSize: z.ZodDefault<z.ZodString>;
42
- }, z.core.$strip>;
43
- export declare const CacheConfigSchema: z.ZodUnion<readonly [z.ZodObject<{
44
- maxMemory: z.ZodOptional<z.ZodString>;
45
- eviction: z.ZodOptional<z.ZodEnum<{
46
- lru: "lru";
47
- lfu: "lfu";
48
- ttl: "ttl";
49
- }>>;
50
- region: z.ZodDefault<z.ZodString>;
51
- version: z.ZodDefault<z.ZodString>;
52
- numNodes: z.ZodDefault<z.ZodNumber>;
53
- size: z.ZodOptional<z.ZodString>;
54
- adapter: z.ZodLiteral<"do-managed-redis">;
55
- }, z.core.$strip>, z.ZodObject<{
56
- namespace: z.ZodString;
57
- adapter: z.ZodLiteral<"cloudflare-kv">;
58
- }, z.core.$strip>, z.ZodObject<{
59
- namespace: z.ZodDefault<z.ZodString>;
60
- image: z.ZodOptional<z.ZodString>;
61
- version: z.ZodDefault<z.ZodString>;
62
- maxMemory: z.ZodOptional<z.ZodString>;
63
- eviction: z.ZodOptional<z.ZodEnum<{
64
- lru: "lru";
65
- lfu: "lfu";
66
- ttl: "ttl";
67
- }>>;
68
- storageSize: z.ZodDefault<z.ZodString>;
69
- adapter: z.ZodLiteral<"doks-redis">;
70
- }, z.core.$strip>]>;
20
+ import type { RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
21
+ import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
22
+ /**
23
+ * Adapter-specific configuration: the adapter id plus its own fields. Each
24
+ * adapter package defines and parses its own config schema; this kind names
25
+ * no provider, so a config for any adapter — including one contributed by a
26
+ * user plugin — parses here, and the adapter validates its own grammar.
27
+ */
28
+ export declare const CacheConfigSchema: z.ZodObject<{
29
+ adapter: z.ZodString;
30
+ }, z.core.$loose>;
31
+ export type CacheConfig = z.infer<typeof CacheConfigSchema>;
71
32
  export declare const CacheDescriptorSchema: z.ZodObject<{
72
33
  id: z.ZodString;
73
34
  name: z.ZodOptional<z.ZodString>;
@@ -76,53 +37,39 @@ export declare const CacheDescriptorSchema: z.ZodObject<{
76
37
  hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
77
38
  enabled: z.ZodOptional<z.ZodBoolean>;
78
39
  priority: z.ZodOptional<z.ZodNumber>;
40
+ capabilityId: z.ZodOptional<z.ZodString>;
79
41
  requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
80
42
  optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
43
+ retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
44
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
45
+ maxEntries: z.ZodOptional<z.ZodNumber>;
46
+ maxBytes: z.ZodOptional<z.ZodNumber>;
47
+ cascadeFrom: z.ZodOptional<z.ZodString>;
48
+ ageField: z.ZodOptional<z.ZodString>;
49
+ reason: z.ZodString;
50
+ enforcedBy: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$strip>]>>;
81
52
  kind: z.ZodLiteral<"infra/cache">;
82
53
  engine: z.ZodOptional<z.ZodString>;
83
54
  maxMemory: z.ZodOptional<z.ZodString>;
84
55
  eviction: z.ZodOptional<z.ZodEnum<{
56
+ ttl: "ttl";
85
57
  lru: "lru";
86
58
  lfu: "lfu";
87
- ttl: "ttl";
88
59
  }>>;
89
60
  namespace: z.ZodOptional<z.ZodString>;
90
- config: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
91
- maxMemory: z.ZodOptional<z.ZodString>;
92
- eviction: z.ZodOptional<z.ZodEnum<{
93
- lru: "lru";
94
- lfu: "lfu";
95
- ttl: "ttl";
96
- }>>;
97
- region: z.ZodDefault<z.ZodString>;
98
- version: z.ZodDefault<z.ZodString>;
99
- numNodes: z.ZodDefault<z.ZodNumber>;
100
- size: z.ZodOptional<z.ZodString>;
101
- adapter: z.ZodLiteral<"do-managed-redis">;
102
- }, z.core.$strip>, z.ZodObject<{
103
- namespace: z.ZodString;
104
- adapter: z.ZodLiteral<"cloudflare-kv">;
105
- }, z.core.$strip>, z.ZodObject<{
106
- namespace: z.ZodDefault<z.ZodString>;
107
- image: z.ZodOptional<z.ZodString>;
108
- version: z.ZodDefault<z.ZodString>;
109
- maxMemory: z.ZodOptional<z.ZodString>;
110
- eviction: z.ZodOptional<z.ZodEnum<{
111
- lru: "lru";
112
- lfu: "lfu";
113
- ttl: "ttl";
114
- }>>;
115
- storageSize: z.ZodDefault<z.ZodString>;
116
- adapter: z.ZodLiteral<"doks-redis">;
117
- }, z.core.$strip>]>>;
61
+ config: z.ZodOptional<z.ZodObject<{
62
+ adapter: z.ZodString;
63
+ }, z.core.$loose>>;
118
64
  }, z.core.$strip>;
119
65
  export type CacheDescriptor = z.infer<typeof CacheDescriptorSchema>;
120
66
  declare class DefaultCacheImplementation {
121
67
  readonly descriptor: RuntimeDescriptor;
122
- readonly context: unknown;
123
- constructor(descriptor: RuntimeDescriptor, context: unknown);
124
- get config(): CacheDescriptor;
68
+ readonly context: KindContext;
69
+ /** The descriptor as this kind's schema reads it. */
70
+ readonly config: CacheDescriptor;
71
+ constructor(descriptor: RuntimeDescriptor, context: KindContext);
125
72
  }
126
- export declare const cacheKind: RuntimeKindDescriptorRecord<DefaultCacheImplementation>;
73
+ export declare const cacheKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<DefaultCacheImplementation>;
127
74
  export {};
128
75
  //# sourceMappingURL=cache.kind.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/cache.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAErF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAmBjF,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAarC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;iBAGxC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAarC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAI5B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,cAAM,0BAA0B;aAEd,UAAU,EAAE,iBAAiB;aAC7B,OAAO,EAAE,OAAO;gBADhB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,OAAO;IAGjC,IAAI,MAAM,IAAI,eAAe,CAE5B;CACD;AAED,eAAO,MAAM,SAAS,yDAMpB,CAAC"}
1
+ {"version":3,"file":"cache.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/cache.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAoBpE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,cAAM,0BAA0B;aAId,UAAU,EAAE,iBAAiB;aAC7B,OAAO,EAAE,WAAW;IAJrC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;gBAEhB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,WAAW;CAKrC;AAED,eAAO,MAAM,SAAS,uFAKpB,CAAC"}
@@ -3,20 +3,27 @@
3
3
  *
4
4
  * Describes a cache service.
5
5
  *
6
- * Schema shape: strict common base + `config` discriminated union.
6
+ * Schema shape: strict common base + an open, adapter-keyed `config`.
7
7
  *
8
8
  * - The base defines fields universal across adapters: id/kind/name +
9
9
  * the cache shape (engine, maxMemory, eviction, namespace).
10
10
  * - Adapter-specific fields (region, version, numNodes, size, …)
11
- * live under `config`. Each adapter package defines its own concrete schema.
11
+ * live under `config`, keyed by a non-empty `adapter` discriminator.
12
+ * Each adapter package defines and parses its own concrete schema
13
+ * (DigitalOcean managed Redis/Valkey and DOKS Redis configs live in
14
+ * `@vibesdotdev/integrations-digitalocean`; Cloudflare KV's in
15
+ * `@vibesdotdev/integrations-cloudflare`); this kind names no provider,
16
+ * so a config for any adapter — including one contributed by a user
17
+ * plugin — parses here, and the adapter validates its own grammar.
12
18
  */
13
19
  import * as z from 'zod/v4';
14
- import { createRuntimeKind } from '@vibesdotdev/runtime/factory/kind';
15
- import { RuntimeDescriptorSchema } from '@vibesdotdev/runtime/schemas/descriptor';
16
- import { INFRA_DISCOVERY_PATTERN, extractStem } from "./discovery.js";
20
+ import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
21
+ import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
22
+ import { readKindDescriptor } from "./read-descriptor.js";
23
+ import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
17
24
  const CacheBaseSchema = RuntimeDescriptorSchema.extend({
18
25
  kind: z.literal('infra/cache'),
19
- /** Cache engine (e.g., 'cloudflare-kv', 'redis'). */
26
+ /** Cache engine (e.g., 'redis'). */
20
27
  engine: z.string().min(1).optional(),
21
28
  /** Maximum memory hint. */
22
29
  maxMemory: z.string().optional(),
@@ -25,66 +32,34 @@ const CacheBaseSchema = RuntimeDescriptorSchema.extend({
25
32
  /** Logical namespace within the cache. */
26
33
  namespace: z.string().optional()
27
34
  });
28
- export const DOManagedRedisConfigSchema = z.object({
29
- /** Max memory allocation (e.g., '256mb', '1gb'). */
30
- maxMemory: z.string().min(1).optional(),
31
- /** Eviction policy: lru, lfu, or ttl. */
32
- eviction: z.enum(['lru', 'lfu', 'ttl']).optional(),
33
- /** DO region (default: nyc1). */
34
- region: z.string().min(1).default('nyc1'),
35
- /** Redis version (default: 7). */
36
- version: z.string().min(1).default('7'),
37
- /** Number of nodes (default: 1). */
38
- numNodes: z.number().int().positive().default(1),
39
- /** Database size tier (optional, derived from maxMemory if not set). */
40
- size: z.string().min(1).optional()
41
- });
42
- export const CloudflareKVCacheConfigSchema = z.object({
43
- /** Logical namespace within the KV store. */
44
- namespace: z.string().min(1)
45
- });
46
- export const DOKSRedisCacheConfigSchema = z.object({
47
- /** Kubernetes namespace (default: vibes). */
48
- namespace: z.string().min(1).default('vibes'),
49
- /** Container image (default: redis:{version}). */
50
- image: z.string().min(1).optional(),
51
- /** Redis version (default: 7). */
52
- version: z.string().min(1).default('7'),
53
- /** Max memory allocation (e.g., '256mb'). */
54
- maxMemory: z.string().optional(),
55
- /** Eviction policy: lru, lfu, or ttl. */
56
- eviction: z.enum(['lru', 'lfu', 'ttl']).optional(),
57
- /** Storage size (default: 1Gi). */
58
- storageSize: z.string().min(1).default('1Gi')
35
+ /**
36
+ * Adapter-specific configuration: the adapter id plus its own fields. Each
37
+ * adapter package defines and parses its own config schema; this kind names
38
+ * no provider, so a config for any adapter — including one contributed by a
39
+ * user plugin — parses here, and the adapter validates its own grammar.
40
+ */
41
+ export const CacheConfigSchema = z.looseObject({
42
+ adapter: z.string().min(1)
59
43
  });
60
- export const CacheConfigSchema = z.union([
61
- DOManagedRedisConfigSchema.extend({ adapter: z.literal('do-managed-redis') }),
62
- CloudflareKVCacheConfigSchema.extend({ adapter: z.literal('cloudflare-kv') }),
63
- DOKSRedisCacheConfigSchema.extend({ adapter: z.literal('doks-redis') })
64
- ]);
65
44
  export const CacheDescriptorSchema = CacheBaseSchema.extend({
66
- /**
67
- * Adapter-specific configuration. Discriminated union — each adapter
68
- * package defines its own config schema under its discriminator key.
69
- */
45
+ /** Adapter-specific configuration, parsed by the adapter that owns it. */
70
46
  config: CacheConfigSchema.optional()
71
47
  });
72
48
  class DefaultCacheImplementation {
73
49
  descriptor;
74
50
  context;
51
+ /** The descriptor as this kind's schema reads it. */
52
+ config;
75
53
  constructor(descriptor, context) {
76
54
  this.descriptor = descriptor;
77
55
  this.context = context;
78
- }
79
- get config() {
80
- return this.descriptor;
56
+ this.config = readKindDescriptor(CacheDescriptorSchema, descriptor);
81
57
  }
82
58
  }
83
59
  export const cacheKind = createRuntimeKind({
84
60
  id: 'infra/cache',
85
61
  descriptorSchema: CacheDescriptorSchema,
86
62
  defaultImplementation: DefaultCacheImplementation,
87
- discoveryPattern: INFRA_DISCOVERY_PATTERN,
88
- extractStem
63
+ discoveryPatterns: INFRA_DISCOVERY_PATTERNS
89
64
  });
90
65
  //# sourceMappingURL=cache.kind.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.kind.js","sourceRoot":"","sources":["../../src/kinds/cache.kind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.kind.js","sourceRoot":"","sources":["../../src/kinds/cache.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,eAAe,GAAG,uBAAuB,CAAC,MAAM,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAE9B,oCAAoC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEpC,2BAA2B;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEhC,uBAAuB;IACvB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IAElD,0CAA0C;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;IAC3D,0EAA0E;IAC1E,MAAM,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAIH,MAAM,0BAA0B;IAId;IACA;IAJjB,qDAAqD;IAC5C,MAAM,CAAkB;IACjC,YACiB,UAA6B,EAC7B,OAAoB;QADpB,eAAU,GAAV,UAAU,CAAmB;QAC7B,YAAO,GAAP,OAAO,CAAa;QAEpC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;CAED;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,iBAAiB,CAA8C;IACvF,EAAE,EAAE,aAAa;IACjB,gBAAgB,EAAE,qBAAqB;IACvC,qBAAqB,EAAE,0BAA0B;IACjD,iBAAiB,EAAE,wBAAwB;CAC3C,CAAC,CAAC"}