@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,30 @@
1
+ declare const _default: {
2
+ id: string;
3
+ kind: "cli/command";
4
+ group: string;
5
+ name: string;
6
+ description: string;
7
+ usage: string;
8
+ arguments: never[];
9
+ options: ({
10
+ flags: string;
11
+ description: string;
12
+ default: string;
13
+ multiple?: undefined;
14
+ } | {
15
+ flags: string;
16
+ description: string;
17
+ default?: undefined;
18
+ multiple?: undefined;
19
+ } | {
20
+ flags: string;
21
+ description: string;
22
+ multiple: boolean;
23
+ default?: undefined;
24
+ })[];
25
+ surfaces: string[];
26
+ hardware: string[];
27
+ enabled: true;
28
+ };
29
+ export default _default;
30
+ //# sourceMappingURL=generate.cli-command.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.cli-command.descriptor.d.ts","sourceRoot":"","sources":["../../../../src/cli/generate/generate/generate.cli-command.descriptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBAmBG"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * CLI command: vibes infra generate
3
+ */
4
+ import { createRuntimeAsset } from '@vibesdotdev/kernel';
5
+ export default createRuntimeAsset({
6
+ id: 'infra-generate.run',
7
+ kind: 'cli/command',
8
+ group: 'infra',
9
+ name: 'generate',
10
+ description: 'Generate infrastructure artifacts (K8s manifests, Helm charts, wrangler configs)',
11
+ usage: 'vibes infra generate [options]',
12
+ arguments: [],
13
+ options: [
14
+ { flags: '-o, --output <dir>', description: 'Output directory', default: './infra/generated' },
15
+ { flags: '-n, --dry-run', description: 'Print what would be generated without writing' },
16
+ { flags: '-t, --target <name>', description: 'Filter by artifact target', multiple: true },
17
+ { flags: '-r, --resource <id>', description: 'Filter by resource ID', multiple: true },
18
+ { flags: '-f, --format <format>', description: 'Filter by format (yaml|json|hcl|tar.gz)' },
19
+ { flags: '-v, --verbose', description: 'Verbose output' }
20
+ ],
21
+ surfaces: ['cli'],
22
+ hardware: ['consumer', 'cloud'],
23
+ enabled: true
24
+ });
25
+ //# sourceMappingURL=generate.cli-command.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.cli-command.descriptor.js","sourceRoot":"","sources":["../../../../src/cli/generate/generate/generate.cli-command.descriptor.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,eAAe,kBAAkB,CAAC;IACjC,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,kFAAkF;IAC/F,KAAK,EAAE,gCAAgC;IACvC,SAAS,EAAE,EAAE;IACb,OAAO,EAAE;QACR,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,mBAAmB,EAAE;QAC9F,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,+CAA+C,EAAE;QACxF,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1F,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;QACtF,EAAE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,yCAAyC,EAAE;QAC1F,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE;KACzD;IACD,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,IAAI;CACb,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Implementation: vibes infra generate
3
+ *
4
+ * Every `--resource` and the `--format` filter reach the generation core.
5
+ * A generator failure is printed value-free and the run refuses
6
+ * `INTERNAL infra-generate-failed`, which the CLI host maps to the exit code.
7
+ */
8
+ import * as z from 'zod/v4';
9
+ import { type CommandContext } from '../context.ts';
10
+ declare const GenerateOptionsSchema: z.ZodObject<{
11
+ output: z.ZodOptional<z.ZodString>;
12
+ dryRun: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"true">, z.ZodLiteral<"false">]>>;
13
+ target: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
14
+ resource: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
15
+ format: z.ZodOptional<z.ZodString>;
16
+ verbose: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"true">, z.ZodLiteral<"false">]>>;
17
+ }, z.core.$loose>;
18
+ export type GenerateCommandOptions = z.input<typeof GenerateOptionsSchema>;
19
+ declare const GenerateArgsSchema: z.ZodObject<{}, z.core.$loose>;
20
+ export type GenerateCommandArgs = z.input<typeof GenerateArgsSchema>;
21
+ declare const _default: {
22
+ execute(rawArgs: GenerateCommandArgs, rawOptions: GenerateCommandOptions, context: CommandContext): Promise<void>;
23
+ };
24
+ export default _default;
25
+ //# sourceMappingURL=generate.cli-command.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.cli-command.impl.d.ts","sourceRoot":"","sources":["../../../../src/cli/generate/generate/generate.cli-command.impl.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAKjF,QAAA,MAAM,qBAAqB;;;;;;;iBAOzB,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE3E,QAAA,MAAM,kBAAkB,gCAAoB,CAAC;AAC7C,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;;qBAO7C,mBAAmB,cAAc,sBAAsB,WAAW,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;;AADxH,wBAyCE"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Implementation: vibes infra generate
3
+ *
4
+ * Every `--resource` and the `--format` filter reach the generation core.
5
+ * A generator failure is printed value-free and the run refuses
6
+ * `INTERNAL infra-generate-failed`, which the CLI host maps to the exit code.
7
+ */
8
+ import * as z from 'zod/v4';
9
+ import { CapabilityError } from '@vibesdotdev/kernel';
10
+ import { generateArtifacts } from "../generate-core.js";
11
+ import { commandUi, readCommandInput } from "../context.js";
12
+ const Flag = z.union([z.boolean(), z.literal('true'), z.literal('false')]).optional();
13
+ const OneOrMany = z.union([z.string(), z.array(z.string())]).optional();
14
+ const GenerateOptionsSchema = z.looseObject({
15
+ output: z.string().min(1).optional(),
16
+ dryRun: Flag,
17
+ target: OneOrMany,
18
+ resource: OneOrMany,
19
+ format: z.string().min(1).optional(),
20
+ verbose: Flag
21
+ });
22
+ const GenerateArgsSchema = z.looseObject({});
23
+ function isOn(flag) {
24
+ return flag === true || flag === 'true';
25
+ }
26
+ export default {
27
+ async execute(rawArgs, rawOptions, context) {
28
+ const runtime = context.runtime;
29
+ readCommandInput(GenerateArgsSchema, rawArgs, 'infra-generate-input-invalid');
30
+ const opts = readCommandInput(GenerateOptionsSchema, rawOptions, 'infra-generate-input-invalid');
31
+ const ui = await commandUi(runtime);
32
+ const verbose = isOn(opts.verbose);
33
+ const result = await generateArtifacts(runtime, {
34
+ outputDir: opts.output ?? './infra/generated',
35
+ dryRun: isOn(opts.dryRun),
36
+ target: opts.target,
37
+ sourceId: opts.resource,
38
+ format: opts.format,
39
+ verbose,
40
+ report: (line) => ui.log(line)
41
+ });
42
+ // Print summary
43
+ ui.info(`\n=== Generation Summary ===`);
44
+ ui.info(` Artifacts generated: ${result.count}`);
45
+ ui.info(` Errors: ${result.errors.length}`);
46
+ if (verbose && result.artifacts.length > 0) {
47
+ ui.log('\n Generated files:');
48
+ for (const artifact of result.artifacts) {
49
+ ui.log(` - ${artifact.path} (${artifact.sourceKind ?? 'N/A'}/${artifact.sourceId ?? 'N/A'})`);
50
+ }
51
+ }
52
+ if (result.errors.length > 0) {
53
+ ui.log('\n Errors:');
54
+ for (const error of result.errors) {
55
+ ui.error(` - ${error.generatorId}: ${error.error}`);
56
+ }
57
+ throw new CapabilityError('Artifact generation failed for one or more generators.', 'INTERNAL', {
58
+ reason: 'infra-generate-failed',
59
+ details: { generators: result.errors.map((error) => error.generatorId) }
60
+ });
61
+ }
62
+ }
63
+ };
64
+ //# sourceMappingURL=generate.cli-command.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.cli-command.impl.js","sourceRoot":"","sources":["../../../../src/cli/generate/generate/generate.cli-command.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { type VibesRuntime } from '@vibesdotdev/kernel';
2
+ import { type ArtifactGenerationContext } from '../../kinds/artifact.kind.ts';
3
+ export interface GenerateOptions {
4
+ /** Output directory (default: ./infra/generated), resolved against the host's working directory */
5
+ outputDir?: string;
6
+ /** Dry-run mode (report what would be written, write nothing) */
7
+ dryRun?: boolean;
8
+ /** Filter by artifact generator ID */
9
+ target?: string | string[];
10
+ /** Filter by output format (the generator's declared `format`, else its output's `metadata.format`) */
11
+ format?: string;
12
+ /** Filter by source resource kind */
13
+ sourceKind?: string;
14
+ /** Filter by source resource ID (every listed ID is kept) */
15
+ sourceId?: string | string[];
16
+ /** Verbose output */
17
+ verbose?: boolean;
18
+ /** Where progress lines go (the CLI passes its UI). Without it nothing is printed; the result carries everything. */
19
+ report?: (line: string) => void;
20
+ }
21
+ export interface GenerateResult {
22
+ /** Number of artifacts generated */
23
+ count: number;
24
+ /** Generated artifacts */
25
+ artifacts: Array<{
26
+ generatorId: string;
27
+ sourceKind?: string;
28
+ sourceId?: string;
29
+ path: string;
30
+ }>;
31
+ /**
32
+ * Generators that failed. `error` is value-free (the failure's class name,
33
+ * and its code and reason when typed): what a generator threw is never
34
+ * repeated, since it may echo a credential.
35
+ */
36
+ errors: Array<{
37
+ generatorId: string;
38
+ sourceKind?: string;
39
+ sourceId?: string;
40
+ error: string;
41
+ code?: string;
42
+ reason?: string;
43
+ }>;
44
+ }
45
+ /** Generation context passed to artifact generators. */
46
+ export type GenerationContext = ArtifactGenerationContext;
47
+ /**
48
+ * Generate artifacts from resource descriptors
49
+ */
50
+ export declare function generateArtifacts(runtime: VibesRuntime, options?: GenerateOptions): Promise<GenerateResult>;
51
+ //# sourceMappingURL=generate-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-core.d.ts","sourceRoot":"","sources":["../../../src/cli/generate/generate-core.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG3E,OAAO,EAGN,KAAK,yBAAyB,EAE9B,MAAM,8BAA8B,CAAC;AAGtC,MAAM,WAAW,eAAe;IAC/B,mGAAmG;IACnG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,uGAAuG;IACvG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qHAAqH;IACrH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC9B,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,SAAS,EAAE,KAAK,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH;;;;OAIG;IACH,MAAM,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACH;AAED,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AA6C1D;;GAEG;AACH,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,eAAoB,GAC3B,OAAO,CAAC,cAAc,CAAC,CA0GzB"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Core artifact generation logic.
3
+ *
4
+ * Orchestrates artifact generation by:
5
+ * 1. Querying runtime for artifact generators
6
+ * 2. Loading resource descriptors from runtime discovery
7
+ * 3. Calling generator.generate() for each resource
8
+ * 4. Writing output through the runtime's filesystem adapter, or reporting
9
+ * it for a dry run
10
+ *
11
+ * This module is implementation-agnostic — it doesn't know what
12
+ * artifacts are being generated, only how to orchestrate generation. It
13
+ * prints nothing itself: progress goes to the caller's `report`, and the
14
+ * result carries every artifact and every failure (value-free).
15
+ */
16
+ import * as z from 'zod/v4';
17
+ import { readUntrusted } from '@vibesdotdev/config/manifest/read-untrusted';
18
+ import { resolveFileSystemAdapter } from '@vibesdotdev/filesystem/client/resolve-adapter';
19
+ import { requireRuntimeCwd } from '@vibesdotdev/kernel';
20
+ import { redactedExcerpt } from '@vibesdotdev/shared/utils';
21
+ import { ArtifactDescriptorSchema, ArtifactOutputSchema } from "../../kinds/artifact.kind.js";
22
+ import { failureText, settleWork } from "../../settle-work.js";
23
+ /** A resolved generator offers `generate`; kept as the original object (its method may use `this`). */
24
+ const GeneratorOperationsSchema = z.object({ generate: z.function() });
25
+ const ArtifactGeneratorSchema = z.custom((value) => GeneratorOperationsSchema.safeParse(value).success);
26
+ const GENERATOR_INVALID = {
27
+ code: 'INVALID_INPUT',
28
+ reason: 'artifact-generator-invalid',
29
+ message: () => 'The registered infra/artifact implementation offers no generate().'
30
+ };
31
+ const OUTPUT_INVALID = {
32
+ code: 'INTERNAL',
33
+ reason: 'artifact-output-invalid',
34
+ message: () => 'An artifact generator returned an output that does not read.'
35
+ };
36
+ /** The output metadata fields the result reports. */
37
+ const OutputFactsSchema = z.looseObject({
38
+ sourceKind: z.string().optional().catch(undefined),
39
+ sourceId: z.string().optional().catch(undefined),
40
+ format: z.string().optional().catch(undefined)
41
+ });
42
+ /** The infra resource kinds a generator may read. */
43
+ const RESOURCE_KINDS = [
44
+ 'infra/worker',
45
+ 'infra/web-app',
46
+ 'infra/queue',
47
+ 'infra/cache',
48
+ 'infra/object-storage',
49
+ 'infra/database',
50
+ 'infra/git-hosting',
51
+ 'infra/package-registry'
52
+ ];
53
+ /** The longest content preview a verbose dry run reports, credential-redacted. */
54
+ const PREVIEW_CHARS = 200;
55
+ function listOf(value) {
56
+ if (value === undefined)
57
+ return undefined;
58
+ return Array.isArray(value) ? value : [value];
59
+ }
60
+ /**
61
+ * Generate artifacts from resource descriptors
62
+ */
63
+ export async function generateArtifacts(runtime, options = {}) {
64
+ const { outputDir = './infra/generated', dryRun = false, format, sourceKind, verbose = false } = options;
65
+ const report = options.report ?? (() => undefined);
66
+ const targets = listOf(options.target);
67
+ const sourceIds = listOf(options.sourceId);
68
+ const result = {
69
+ count: 0,
70
+ artifacts: [],
71
+ errors: []
72
+ };
73
+ // Listed by descriptor; each implementation loads inside its own settled work, so one failing loader is one failure entry.
74
+ const generators = runtime.hasKind('infra/artifact') ? runtime.query('infra/artifact').descriptors() : [];
75
+ if (verbose) {
76
+ report(`Found ${generators.length} artifact generators`);
77
+ }
78
+ // Filter by target if specified
79
+ let filteredGenerators = generators;
80
+ if (targets) {
81
+ filteredGenerators = generators.filter((descriptor) => targets.includes(descriptor.id));
82
+ if (verbose) {
83
+ report(`Filtered to ${filteredGenerators.length} generators (targets: ${targets.join(', ')})`);
84
+ }
85
+ }
86
+ // Load resource descriptors from runtime discovery
87
+ const resources = loadResourceDescriptors(runtime);
88
+ if (verbose) {
89
+ report(`Loaded ${resources.length} resource descriptors`);
90
+ }
91
+ let filesystem;
92
+ // For each generator, resolve and call it
93
+ for (const descriptor of filteredGenerators) {
94
+ const generatorId = descriptor.id;
95
+ const declared = ArtifactDescriptorSchema.safeParse(descriptor);
96
+ const declaredFormat = declared.success ? declared.data.format : undefined;
97
+ // A generator that declares a different format is skipped before any work.
98
+ if (format !== undefined && declaredFormat !== undefined && declaredFormat !== format)
99
+ continue;
100
+ const outcome = await settleWork(async () => {
101
+ const impl = await runtime.query('infra/artifact').withId(generatorId).resolve();
102
+ const generator = readUntrusted(ArtifactGeneratorSchema, () => impl, GENERATOR_INVALID);
103
+ // Build generation context (implementation-specific)
104
+ const context = {
105
+ outputDir,
106
+ resources: resources.filter((r) => {
107
+ // Apply source filters if specified
108
+ if (sourceKind && r.kind !== sourceKind)
109
+ return false;
110
+ if (sourceIds && !sourceIds.includes(r.id))
111
+ return false;
112
+ return true;
113
+ }),
114
+ descriptor
115
+ };
116
+ const generated = await generator.generate(context);
117
+ const output = readUntrusted(ArtifactOutputSchema, () => generated, OUTPUT_INVALID);
118
+ const facts = OutputFactsSchema.parse(output.metadata ?? {});
119
+ // An undeclared generator is filtered by what its output says it is.
120
+ if (format !== undefined && declaredFormat === undefined && facts.format !== format)
121
+ return undefined;
122
+ if (dryRun) {
123
+ // Dry-run: report what would be generated
124
+ report(`[DRY-RUN] Would generate ${output.path}`);
125
+ const text = z.string().safeParse(output.content);
126
+ if (verbose && text.success) {
127
+ report(` Content preview: ${redactedExcerpt(text.data, { maxChars: PREVIEW_CHARS })}...`);
128
+ }
129
+ }
130
+ else {
131
+ // Write through the runtime's filesystem adapter, relative to the host's working directory
132
+ filesystem ??= await resolveFileSystemAdapter(runtime);
133
+ const target = filesystem.resolve(requireRuntimeCwd(runtime), output.path);
134
+ await filesystem.mkdir(filesystem.dirname(target), { recursive: true });
135
+ await filesystem.writeFile(target, output.content);
136
+ if (verbose) {
137
+ report(` wrote ${output.path}`);
138
+ }
139
+ }
140
+ return { generatorId, sourceKind: facts.sourceKind, sourceId: facts.sourceId, path: output.path };
141
+ });
142
+ if (!outcome.ok) {
143
+ const entry = { generatorId, error: failureText(outcome.failure) };
144
+ if (outcome.failure.code !== undefined)
145
+ entry.code = outcome.failure.code;
146
+ if (outcome.failure.reason !== undefined)
147
+ entry.reason = outcome.failure.reason;
148
+ result.errors.push(entry);
149
+ report(`Error generating artifact from ${generatorId}: ${entry.error}`);
150
+ continue;
151
+ }
152
+ if (outcome.value === undefined)
153
+ continue;
154
+ result.artifacts.push(outcome.value);
155
+ result.count++;
156
+ }
157
+ return result;
158
+ }
159
+ /**
160
+ * Load resource descriptors from runtime discovery; a kind this runtime does
161
+ * not register contributes none (declared absence, asked, never caught).
162
+ */
163
+ function loadResourceDescriptors(runtime) {
164
+ const allDescriptors = [];
165
+ for (const kind of RESOURCE_KINDS) {
166
+ if (!runtime.hasKind(kind))
167
+ continue;
168
+ allDescriptors.push(...runtime.query(kind).descriptors());
169
+ }
170
+ return allDescriptors;
171
+ }
172
+ //# sourceMappingURL=generate-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-core.js","sourceRoot":"","sources":["../../../src/cli/generate/generate-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * CLI exports for infra-generate
3
+ */
4
+ export { generateArtifacts, type GenerateOptions, type GenerateResult, type GenerationContext } from './generate-core.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/generate/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * CLI exports for infra-generate
3
+ */
4
+ export { generateArtifacts } from "./generate-core.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/generate/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAqE,MAAM,oBAAoB,CAAC"}
@@ -5,10 +5,11 @@
5
5
  * (alerts, RUM, observability, …) reads from the same credential chain
6
6
  * the rest of the platform uses. The chain (highest precedence first):
7
7
  *
8
- * 1. process.env (CI / explicit overrides)
9
- * 2. The tier-resolved secrets/store implementation
8
+ * 1. The tier-resolved secrets/store implementation
10
9
  * - local tier → encrypted-local → env-file
11
10
  * - production → cloudflare-secrets-store → cloudflare-api
11
+ * There is no ambient-environment fallback: credentials resolve only through
12
+ * registered secrets stores, using the handed runtime (first argument).
12
13
  *
13
14
  * Adapters declare the secret KEY NAMES (e.g. CLOUDFLARE_API_TOKEN) on
14
15
  * their descriptor's `adapterConfig` and use this helper to resolve
@@ -16,15 +17,28 @@
16
17
  * (e.g. prefer a scoped CLOUDFLARE_NOTIFICATIONS_API_TOKEN, fall back
17
18
  * to the broad CLOUDFLARE_API_TOKEN).
18
19
  *
19
- * Why a helper instead of inlining the secrets/store query: provider
20
- * adapters live in different packages and shouldn't all duplicate the
21
- * tier-walk + env-overlay logic. Keeping it in infra-core makes the
22
- * abstraction explicit ("infra/* adapters route credentials through
23
- * vibes secrets") and gives us one place to evolve the chain (e.g.
24
- * adding 1Password CLI as a backend).
20
+ * Every refusal is a typed `CapabilityError` with a fixed message. What a
21
+ * backend threw is never repeated: each failing backend is carried as its
22
+ * value-free facts (`valueFreeFailure`) in the refusal's details. A walk in
23
+ * which any backend failed is `UNAVAILABLE credential-store-unavailable`,
24
+ * never absence; `NOT_FOUND credential-missing` (message prefix
25
+ * `Missing credential:`) means every backend answered and none held a candidate.
26
+ *
27
+ * Each store call is the work of a `runtime.lifecycle.wait`, so a call still
28
+ * running after its deadline is owned by the runtime and joined at disposal.
25
29
  */
26
- export type EnvironmentTier = 'local' | 'dev' | 'staging' | 'production';
30
+ import * as z from 'zod/v4';
31
+ import { type VibesRuntime } from '@vibesdotdev/kernel';
32
+ declare const EnvironmentTierSchema: z.ZodEnum<{
33
+ local: "local";
34
+ dev: "dev";
35
+ staging: "staging";
36
+ production: "production";
37
+ }>;
38
+ export type EnvironmentTier = z.infer<typeof EnvironmentTierSchema>;
27
39
  export interface ResolveAdapterCredentialOptions {
40
+ /** Opaque Secrets-owned context; forward unchanged across backend bootstrap. */
41
+ operationContext?: unknown;
28
42
  /**
29
43
  * Ordered list of candidate keys. First one that resolves to a
30
44
  * non-empty value wins. Useful for scoped → fallback patterns:
@@ -43,38 +57,84 @@ export interface ResolveAdapterCredentialOptions {
43
57
  */
44
58
  tier?: EnvironmentTier;
45
59
  /**
46
- * Whether to consult process.env first. Defaults true — CI/CD and
47
- * explicit shell overrides should win. Pass false to force
48
- * store-only resolution.
60
+ * When true, search every registered secrets/store backend by priority
61
+ * instead of only the backend matching the target tier. This is useful for
62
+ * operator control-plane credentials, which may be stored in an encrypted
63
+ * local backend even when the target environment is production.
64
+ */
65
+ includeAllStoreBackends?: boolean;
66
+ /**
67
+ * Additional environment names to check after `environment`. Values are
68
+ * tried against each candidate backend in order.
49
69
  */
50
- includeProcessEnv?: boolean;
70
+ fallbackEnvironments?: readonly string[];
51
71
  /**
52
- * Optional human-readable name for the credential, used in error
53
- * messages when no candidate resolves (e.g. "Cloudflare API token").
72
+ * Optional human-readable name for the credential. Refusals are fixed
73
+ * text, so it is carried in their details, never in a message.
54
74
  */
55
75
  humanName?: string;
76
+ /** Maximum time allowed for each backend resolve/get attempt. Defaults to 15s. */
77
+ backendTimeoutMs?: number;
78
+ /** Total deadline for the complete backend walk. Defaults to 90s. */
79
+ resolutionTimeoutMs?: number;
56
80
  }
57
81
  export interface ResolvedAdapterCredential {
58
82
  /** The KEY that resolved (one of keyCandidates). Useful for audit. */
59
83
  key: string;
60
84
  /** The resolved secret value. Never logged. */
61
85
  value: string;
62
- /** Where the value came from: 'process.env' or the store backend id. */
86
+ /** Where the value came from: the store backend id. */
87
+ source: string;
88
+ /** Environment requested by the operator-facing command. */
89
+ requestedEnvironment: string;
90
+ /** Actual environment containing the value. */
91
+ resolvedEnvironment: string;
92
+ }
93
+ /**
94
+ * Operator control-plane credentials are resolved on the consumer machine even
95
+ * when they target staging or production. Every infra inventory/audit adapter
96
+ * must use this narrower contract so one surface cannot silently select a
97
+ * different secrets backend than another.
98
+ *
99
+ * The policy is fixed: every registered store backend is eligible by
100
+ * priority, and non-local targets may fall back to the operator's local
101
+ * secrets environment. Callers still own key candidates, human-readable
102
+ * labels, and bounded resolution deadlines.
103
+ */
104
+ export interface ResolveOperatorCredentialOptions extends Omit<ResolveAdapterCredentialOptions, 'tier' | 'includeAllStoreBackends' | 'fallbackEnvironments'> {
105
+ environment: string;
106
+ }
107
+ export type OperatorCredentialResolutionPolicy = Pick<ResolveAdapterCredentialOptions, 'environment' | 'includeAllStoreBackends' | 'fallbackEnvironments'>;
108
+ /** Safe-to-log selection metadata. Deliberately excludes the credential value. */
109
+ export interface AdapterCredentialSelection {
110
+ requestedEnvironment: string;
111
+ resolvedEnvironment: string;
112
+ key: string;
63
113
  source: string;
64
114
  }
115
+ export declare function operatorCredentialResolutionPolicy(environment: string): OperatorCredentialResolutionPolicy;
116
+ export declare function adapterCredentialSelection(credential: ResolvedAdapterCredential): AdapterCredentialSelection;
65
117
  /**
66
118
  * Resolve a single credential by walking the candidate keys against
67
- * process.env then the active secrets store. Returns the first match.
119
+ * the active secrets store. Returns the first match.
68
120
  *
69
- * Throws when no candidate resolves — adapters should let this bubble
70
- * up so the CLI surfaces a clean "missing credentials" message rather
71
- * than a vague "401 Unauthorized" downstream.
121
+ * Refuses typed when no candidate resolves — adapters should let this
122
+ * bubble up so the CLI surfaces a clean "missing credentials" message
123
+ * rather than a vague "401 Unauthorized" downstream.
72
124
  */
73
- export declare function resolveAdapterCredential(options: ResolveAdapterCredentialOptions): Promise<ResolvedAdapterCredential>;
125
+ export declare function resolveAdapterCredential(runtime: VibesRuntime, options: ResolveAdapterCredentialOptions): Promise<ResolvedAdapterCredential>;
74
126
  /**
75
127
  * Convenience wrapper for resolving multiple credentials at once.
76
128
  * Each key gets a candidate list of one (the key itself). Use the
77
129
  * single-credential form when you need fallback chains.
78
130
  */
79
- export declare function resolveAdapterCredentials(keys: readonly string[], options?: Omit<ResolveAdapterCredentialOptions, 'keyCandidates' | 'humanName'>): Promise<Record<string, ResolvedAdapterCredential>>;
131
+ export declare function resolveAdapterCredentials(runtime: VibesRuntime, keys: readonly string[], options?: Omit<ResolveAdapterCredentialOptions, 'keyCandidates' | 'humanName'>): Promise<Record<string, ResolvedAdapterCredential>>;
132
+ /**
133
+ * Resolve an operator credential with the shared inventory/audit policy.
134
+ * Use `resolveAdapterCredential` directly only when a non-operator workflow
135
+ * intentionally needs a different selection policy (for example, store-only
136
+ * recovery validation).
137
+ */
138
+ export declare function resolveOperatorCredential(runtime: VibesRuntime, options: ResolveOperatorCredentialOptions): Promise<ResolvedAdapterCredential>;
139
+ export {};
80
140
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/credentials/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC;AAEzE,MAAM,WAAW,+BAA+B;IAC/C;;;;OAIG;IACH,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACzC,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;CACf;AAqCD;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,+BAA+B,GACtC,OAAO,CAAC,yBAAyB,CAAC,CAsEpC;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC9C,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,+BAA+B,EAAE,eAAe,GAAG,WAAW,CAAC,GAC5E,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CASpD"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/credentials/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAKN,KAAK,YAAY,EACjB,MAAM,qBAAqB,CAAC;AAS7B,QAAA,MAAM,qBAAqB;;;;;EAAoD,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,WAAW,+BAA+B;IAC/C,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAqBD,MAAM,WAAW,yBAAyB;IACzC,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+CAA+C;IAC/C,mBAAmB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gCAAiC,SAAQ,IAAI,CAC7D,+BAA+B,EAC/B,MAAM,GAAG,yBAAyB,GAAG,sBAAsB,CAC3D;IACA,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,kCAAkC,GAAG,IAAI,CACpD,+BAA+B,EAC/B,aAAa,GAAG,yBAAyB,GAAG,sBAAsB,CAClE,CAAC;AAEF,kFAAkF;AAClF,MAAM,WAAW,0BAA0B;IAC1C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,kCAAkC,CACjD,WAAW,EAAE,MAAM,GACjB,kCAAkC,CAMpC;AAED,wBAAgB,0BAA0B,CACzC,UAAU,EAAE,yBAAyB,GACnC,0BAA0B,CAO5B;AA0JD;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,+BAA+B,GACtC,OAAO,CAAC,yBAAyB,CAAC,CA+EpC;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC9C,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,+BAA+B,EAAE,eAAe,GAAG,WAAW,CAAC,GAC5E,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAUpD;AAaD;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC9C,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,gCAAgC,GACvC,OAAO,CAAC,yBAAyB,CAAC,CAMpC"}