@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
@@ -3,21 +3,49 @@
3
3
  *
4
4
  * Registers all infra resource kinds with the runtime.
5
5
  */
6
- import { createRuntimePlugin } from '@vibesdotdev/runtime/factory/plugin';
7
- import { webAppKind } from './kinds/web-app.kind';
8
- import { workerKind } from './kinds/worker.kind';
9
- import { databaseKind } from './kinds/database.kind';
10
- import { queueKind } from './kinds/queue.kind';
11
- import { cacheKind } from './kinds/cache.kind';
12
- import { objectStorageKind } from './kinds/object-storage.kind';
13
- import { sandboxKind } from './kinds/sandbox.kind';
14
- import { gitHostingKind } from './kinds/git-hosting.kind';
15
- import { packageRegistryKind } from './kinds/package-registry.kind';
16
- import { logsKind } from './kinds/logs.kind';
6
+ import { createRuntimePlugin } from '@vibesdotdev/kernel/factory/plugin';
7
+ import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel';
8
+ import { deploymentProviderKind } from "./kinds/deployment-provider.kind.js";
9
+ import { webAppKind } from "./kinds/web-app.kind.js";
10
+ import { workerKind } from "./kinds/worker.kind.js";
11
+ import { databaseKind } from "./kinds/database.kind.js";
12
+ import { databaseMigratorKind } from "./kinds/database-migrator.kind.js";
13
+ import { queueKind } from "./kinds/queue.kind.js";
14
+ import { cacheKind } from "./kinds/cache.kind.js";
15
+ import { objectStorageKind } from "./kinds/object-storage.kind.js";
16
+ import { sandboxKind } from "./kinds/sandbox.kind.js";
17
+ import { gitHostingKind } from "./kinds/git-hosting.kind.js";
18
+ import { packageRegistryKind } from "./kinds/package-registry.kind.js";
19
+ import { logsKind } from "./kinds/logs.kind.js";
17
20
  import { alertsKind } from "./kinds/alerts.kind.js";
21
+ import { dnsKind } from "./kinds/dns.kind.js";
22
+ import { edgeTlsKind } from "./kinds/edge-tls.kind.js";
18
23
  import { observabilityKind } from "./kinds/observability.kind.js";
19
24
  import { rumKind } from "./kinds/rum.kind.js";
25
+ import { buildJobKind } from "./kinds/build-job.kind.js";
26
+ import { clusterKind } from "./kinds/cluster.kind.js";
27
+ import { nodePoolKind } from "./kinds/node-pool.kind.js";
28
+ import { loadBalancerKind } from "./kinds/load-balancer.kind.js";
29
+ import { firewallKind } from "./kinds/firewall.kind.js";
30
+ import { vpcKind } from "./kinds/vpc.kind.js";
31
+ import { containerRegistryKind } from "./kinds/container-registry.kind.js";
32
+ import { volumeKind } from "./kinds/volume.kind.js";
33
+ import { nfsKind } from "./kinds/nfs.kind.js";
34
+ import { driftKind } from "./kinds/drift.kind.js";
35
+ import { inventoryKind } from "./kinds/inventory.kind.js";
36
+ import { computeSourceKind } from "./kinds/compute-source.kind.js";
37
+ import { artifactKind } from "./kinds/artifact.kind.js";
38
+ import { billingKind } from "./kinds/billing.kind.js";
39
+ import { spendGuardKind } from "./kinds/spend-guard.kind.js";
40
+ import { utilizationKind } from "./kinds/utilization.kind.js";
41
+ import { serviceReleaseKind } from "./kinds/service-release.kind.js";
20
42
  import { bootstrapSeedKind } from "./bootstrap/index.js";
43
+ import { INFRA_DISCOVERY_PATTERNS } from "./kinds/discovery.js";
44
+ const cloudProviderKind = {
45
+ id: 'infra/cloud-provider',
46
+ descriptorSchema: RuntimeDescriptorSchema,
47
+ discoveryPatterns: INFRA_DISCOVERY_PATTERNS
48
+ };
21
49
  /**
22
50
  * Note on layering: inference is an apps/ai domain concern, not an infra kind.
23
51
  * Existing runtime kinds `ai/provider`, `ai/adapter`, `ai/model`, and
@@ -34,19 +62,41 @@ export default createRuntimePlugin({
34
62
  description: 'Resource kinds for deployable infrastructure',
35
63
  kinds: [
36
64
  webAppKind,
65
+ deploymentProviderKind,
37
66
  workerKind,
38
67
  databaseKind,
68
+ databaseMigratorKind,
39
69
  queueKind,
40
70
  cacheKind,
41
71
  objectStorageKind,
42
72
  sandboxKind,
73
+ computeSourceKind,
43
74
  gitHostingKind,
44
75
  packageRegistryKind,
45
76
  logsKind,
46
77
  alertsKind,
78
+ dnsKind,
79
+ edgeTlsKind,
47
80
  observabilityKind,
48
81
  rumKind,
49
- bootstrapSeedKind
82
+ buildJobKind,
83
+ clusterKind,
84
+ nodePoolKind,
85
+ loadBalancerKind,
86
+ firewallKind,
87
+ vpcKind,
88
+ containerRegistryKind,
89
+ volumeKind,
90
+ nfsKind,
91
+ driftKind,
92
+ inventoryKind,
93
+ artifactKind,
94
+ billingKind,
95
+ spendGuardKind,
96
+ utilizationKind,
97
+ serviceReleaseKind,
98
+ bootstrapSeedKind,
99
+ cloudProviderKind
50
100
  ]
51
101
  });
52
102
  //# sourceMappingURL=infra.plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"infra.plugin.js","sourceRoot":"","sources":["../src/infra.plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;GASG;AAEH,eAAe,mBAAmB,CAAC;IAClC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,8CAA8C;IAC3D,KAAK,EAAE;QACN,UAAU;QACV,UAAU;QACV,YAAY;QACZ,SAAS;QACT,SAAS;QACT,iBAAiB;QACjB,WAAW;QACX,cAAc;QACd,mBAAmB;QACnB,QAAQ;QACR,UAAU;QACV,iBAAiB;QACjB,OAAO;QACP,iBAAiB;KACjB;CACD,CAAC,CAAC"}
1
+ {"version":3,"file":"infra.plugin.js","sourceRoot":"","sources":["../src/infra.plugin.ts"],"names":[],"mappings":"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"}
@@ -16,11 +16,14 @@
16
16
  * wraps the same primitive for one-off ops and drift detection.
17
17
  */
18
18
  import * as z from 'zod/v4';
19
+ import type { InfraAuthorityFingerprint } from './inventory.kind.ts';
19
20
  /**
20
- * Delivery channel for an alert. Provider impls translate these to
21
- * native delivery slots (e.g. CF's `mechanisms.email[]`).
21
+ * Delivery channel for an alert. `email` and `webhook` are typed entries;
22
+ * every other channel goes through the open entry, which refuses the
23
+ * built-in kinds so a malformed email or webhook target can never slip
24
+ * through it. Provider impls translate these to native delivery slots.
22
25
  */
23
- declare const AlertMechanismSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
26
+ declare const AlertMechanismSchema: z.ZodUnion<readonly [z.ZodObject<{
24
27
  kind: z.ZodLiteral<"email">;
25
28
  target: z.ZodEmail;
26
29
  }, z.core.$strip>, z.ZodObject<{
@@ -28,12 +31,9 @@ declare const AlertMechanismSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
28
31
  target: z.ZodString;
29
32
  secretRef: z.ZodOptional<z.ZodString>;
30
33
  }, z.core.$strip>, z.ZodObject<{
31
- kind: z.ZodLiteral<"pagerduty">;
34
+ kind: z.ZodString;
32
35
  target: z.ZodString;
33
- }, z.core.$strip>, z.ZodObject<{
34
- kind: z.ZodLiteral<"slack">;
35
- target: z.ZodString;
36
- }, z.core.$strip>], "kind">;
36
+ }, z.core.$loose>]>;
37
37
  export type AlertMechanism = z.infer<typeof AlertMechanismSchema>;
38
38
  /**
39
39
  * Cross-provider alert categories. Each maps to one or more native
@@ -45,12 +45,14 @@ declare const AlertTypeSchema: z.ZodEnum<{
45
45
  usage: "usage";
46
46
  "error-rate": "error-rate";
47
47
  latency: "latency";
48
+ "scheduled-event-missing": "scheduled-event-missing";
49
+ "log-marker": "log-marker";
48
50
  }>;
49
51
  export type AlertType = z.infer<typeof AlertTypeSchema>;
50
52
  declare const AlertWindowSchema: z.ZodEnum<{
51
53
  "5m": "5m";
52
- "15m": "15m";
53
54
  "1h": "1h";
55
+ "15m": "15m";
54
56
  "6h": "6h";
55
57
  "24h": "24h";
56
58
  "7d": "7d";
@@ -65,20 +67,22 @@ declare const AlertPolicySchema: z.ZodObject<{
65
67
  usage: "usage";
66
68
  "error-rate": "error-rate";
67
69
  latency: "latency";
70
+ "scheduled-event-missing": "scheduled-event-missing";
71
+ "log-marker": "log-marker";
68
72
  }>;
69
73
  threshold: z.ZodNumber;
70
74
  warningThreshold: z.ZodOptional<z.ZodNumber>;
71
75
  window: z.ZodOptional<z.ZodEnum<{
72
76
  "5m": "5m";
73
- "15m": "15m";
74
77
  "1h": "1h";
78
+ "15m": "15m";
75
79
  "6h": "6h";
76
80
  "24h": "24h";
77
81
  "7d": "7d";
78
82
  "30d": "30d";
79
83
  }>>;
80
84
  filters: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
81
- mechanisms: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
85
+ mechanisms: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
82
86
  kind: z.ZodLiteral<"email">;
83
87
  target: z.ZodEmail;
84
88
  }, z.core.$strip>, z.ZodObject<{
@@ -86,16 +90,27 @@ declare const AlertPolicySchema: z.ZodObject<{
86
90
  target: z.ZodString;
87
91
  secretRef: z.ZodOptional<z.ZodString>;
88
92
  }, z.core.$strip>, z.ZodObject<{
89
- kind: z.ZodLiteral<"pagerduty">;
93
+ kind: z.ZodString;
90
94
  target: z.ZodString;
91
- }, z.core.$strip>, z.ZodObject<{
92
- kind: z.ZodLiteral<"slack">;
93
- target: z.ZodString;
94
- }, z.core.$strip>], "kind">>;
95
+ }, z.core.$loose>]>>;
95
96
  enabled: z.ZodDefault<z.ZodBoolean>;
96
97
  description: z.ZodOptional<z.ZodString>;
97
98
  }, z.core.$strip>;
98
99
  export type AlertPolicy = z.infer<typeof AlertPolicySchema>;
100
+ export declare const AlertAuditDiagnosticsSchema: z.ZodObject<{
101
+ category: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
102
+ markerDelivery: z.ZodOptional<z.ZodString>;
103
+ unrepresentedCategories: z.ZodDefault<z.ZodArray<z.ZodEnum<{
104
+ custom: "custom";
105
+ budget: "budget";
106
+ usage: "usage";
107
+ "error-rate": "error-rate";
108
+ latency: "latency";
109
+ "scheduled-event-missing": "scheduled-event-missing";
110
+ "log-marker": "log-marker";
111
+ }>>>;
112
+ }, z.core.$strip>;
113
+ export type AlertAuditDiagnostics = z.infer<typeof AlertAuditDiagnosticsSchema>;
99
114
  declare const AlertsBaseSchema: z.ZodObject<{
100
115
  id: z.ZodString;
101
116
  name: z.ZodOptional<z.ZodString>;
@@ -104,12 +119,35 @@ declare const AlertsBaseSchema: z.ZodObject<{
104
119
  hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
120
  enabled: z.ZodOptional<z.ZodBoolean>;
106
121
  priority: z.ZodOptional<z.ZodNumber>;
122
+ capabilityId: z.ZodOptional<z.ZodString>;
107
123
  requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
108
124
  optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
109
- config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
125
+ config: z.ZodOptional<z.ZodUnknown>;
126
+ retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
127
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
128
+ maxEntries: z.ZodOptional<z.ZodNumber>;
129
+ maxBytes: z.ZodOptional<z.ZodNumber>;
130
+ cascadeFrom: z.ZodOptional<z.ZodString>;
131
+ ageField: z.ZodOptional<z.ZodString>;
132
+ reason: z.ZodString;
133
+ enforcedBy: z.ZodOptional<z.ZodString>;
134
+ }, z.core.$strip>]>>;
110
135
  kind: z.ZodLiteral<"infra/alerts">;
111
136
  adapter: z.ZodString;
112
137
  adapterConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
138
+ auditDiagnostics: z.ZodOptional<z.ZodObject<{
139
+ category: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
140
+ markerDelivery: z.ZodOptional<z.ZodString>;
141
+ unrepresentedCategories: z.ZodDefault<z.ZodArray<z.ZodEnum<{
142
+ custom: "custom";
143
+ budget: "budget";
144
+ usage: "usage";
145
+ "error-rate": "error-rate";
146
+ latency: "latency";
147
+ "scheduled-event-missing": "scheduled-event-missing";
148
+ "log-marker": "log-marker";
149
+ }>>>;
150
+ }, z.core.$strip>>;
113
151
  environment: z.ZodDefault<z.ZodString>;
114
152
  policies: z.ZodDefault<z.ZodArray<z.ZodObject<{
115
153
  id: z.ZodOptional<z.ZodString>;
@@ -120,20 +158,22 @@ declare const AlertsBaseSchema: z.ZodObject<{
120
158
  usage: "usage";
121
159
  "error-rate": "error-rate";
122
160
  latency: "latency";
161
+ "scheduled-event-missing": "scheduled-event-missing";
162
+ "log-marker": "log-marker";
123
163
  }>;
124
164
  threshold: z.ZodNumber;
125
165
  warningThreshold: z.ZodOptional<z.ZodNumber>;
126
166
  window: z.ZodOptional<z.ZodEnum<{
127
167
  "5m": "5m";
128
- "15m": "15m";
129
168
  "1h": "1h";
169
+ "15m": "15m";
130
170
  "6h": "6h";
131
171
  "24h": "24h";
132
172
  "7d": "7d";
133
173
  "30d": "30d";
134
174
  }>>;
135
175
  filters: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
136
- mechanisms: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
176
+ mechanisms: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
137
177
  kind: z.ZodLiteral<"email">;
138
178
  target: z.ZodEmail;
139
179
  }, z.core.$strip>, z.ZodObject<{
@@ -141,12 +181,9 @@ declare const AlertsBaseSchema: z.ZodObject<{
141
181
  target: z.ZodString;
142
182
  secretRef: z.ZodOptional<z.ZodString>;
143
183
  }, z.core.$strip>, z.ZodObject<{
144
- kind: z.ZodLiteral<"pagerduty">;
145
- target: z.ZodString;
146
- }, z.core.$strip>, z.ZodObject<{
147
- kind: z.ZodLiteral<"slack">;
184
+ kind: z.ZodString;
148
185
  target: z.ZodString;
149
- }, z.core.$strip>], "kind">>;
186
+ }, z.core.$loose>]>>;
150
187
  enabled: z.ZodDefault<z.ZodBoolean>;
151
188
  description: z.ZodOptional<z.ZodString>;
152
189
  }, z.core.$strip>>>;
@@ -159,6 +196,8 @@ export type InfraAlertsDescriptorInput = z.input<typeof AlertsBaseSchema>;
159
196
  * desired set without trampling unrelated policies on the provider.
160
197
  */
161
198
  export interface AlertsImplementation {
199
+ /** Redacted authority used by the latest provider request, when applicable. */
200
+ getAuthority?(): Promise<InfraAuthorityFingerprint>;
162
201
  /** List policies currently configured on the provider. */
163
202
  listPolicies(): Promise<Array<AlertPolicy & {
164
203
  providerId: string;
@@ -185,7 +224,7 @@ export interface AlertsImplementation {
185
224
  }>;
186
225
  }>;
187
226
  }
188
- export declare const alertsKind: import("@vibesdotdev/runtime").RuntimeKindDescriptorRecord<AlertsImplementation>;
227
+ export declare const alertsKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<AlertsImplementation>;
189
228
  export type InfraAlertsKind = InfraAlertsDescriptor;
190
229
  export type InfraAlertsKindInput = InfraAlertsDescriptorInput;
191
230
  export { AlertsBaseSchema as InfraAlertsDescriptorSchema, AlertPolicySchema, AlertMechanismSchema, AlertTypeSchema, AlertWindowSchema };
@@ -1 +1 @@
1
- {"version":3,"file":"alerts.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/alerts.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAK5B;;;GAGG;AACH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;2BAuBxB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;GAGG;AACH,QAAA,MAAM,eAAe;;;;;;EAWnB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,QAAA,MAAM,iBAAiB;;;;;;;;EAAwD,CAAC;AAEhF,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BrB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcpB,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACrE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,0DAA0D;IAC1D,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrE,gEAAgE;IAChE,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,sCAAsC;IACtC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACrC,MAAM,EAAE,WAAW,EAAE,CAAC;QACtB,MAAM,EAAE,KAAK,CAAC;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QAC3D,MAAM,EAAE,KAAK,CAAC;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACpD,CAAC,CAAC;CACH;AAED,eAAO,MAAM,UAAU,kFAKrB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AACpD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE9D,OAAO,EACN,gBAAgB,IAAI,2BAA2B,EAC/C,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,CAAC"}
1
+ {"version":3,"file":"alerts.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/alerts.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAI5B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAErE;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB;;;;;;;;;;mBAuBxB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;GAGG;AACH,QAAA,MAAM,eAAe;;;;;;;;EA8BnB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,QAAA,MAAM,iBAAiB;;;;;;;;EAAwD,CAAC;AAEhF,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BrB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;iBAKtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAepB,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACrE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,+EAA+E;IAC/E,YAAY,CAAC,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACpD,0DAA0D;IAC1D,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrE,gEAAgE;IAChE,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,sCAAsC;IACtC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACrC,MAAM,EAAE,WAAW,EAAE,CAAC;QACtB,MAAM,EAAE,KAAK,CAAC;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QAC3D,MAAM,EAAE,KAAK,CAAC;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACpD,CAAC,CAAC;CACH;AAED,eAAO,MAAM,UAAU,iFAIrB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AACpD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE9D,OAAO,EACN,gBAAgB,IAAI,2BAA2B,EAC/C,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,CAAC"}
@@ -16,14 +16,16 @@
16
16
  * wraps the same primitive for one-off ops and drift detection.
17
17
  */
18
18
  import * as z from 'zod/v4';
19
- import { createRuntimeKind } from '@vibesdotdev/runtime/factory/kind';
20
- import { RuntimeDescriptorSchema } from '@vibesdotdev/runtime/schemas/descriptor';
21
- import { INFRA_DISCOVERY_PATTERN, extractStem } from "./discovery.js";
19
+ import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
20
+ import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
21
+ import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
22
22
  /**
23
- * Delivery channel for an alert. Provider impls translate these to
24
- * native delivery slots (e.g. CF's `mechanisms.email[]`).
23
+ * Delivery channel for an alert. `email` and `webhook` are typed entries;
24
+ * every other channel goes through the open entry, which refuses the
25
+ * built-in kinds so a malformed email or webhook target can never slip
26
+ * through it. Provider impls translate these to native delivery slots.
25
27
  */
26
- const AlertMechanismSchema = z.discriminatedUnion('kind', [
28
+ const AlertMechanismSchema = z.union([
27
29
  z.object({
28
30
  kind: z.literal('email'),
29
31
  /** Email address — must be a verified destination on the provider. */
@@ -36,15 +38,15 @@ const AlertMechanismSchema = z.discriminatedUnion('kind', [
36
38
  /** Optional secret name (in the active secrets store) used for HMAC signing. */
37
39
  secretRef: z.string().optional()
38
40
  }),
39
- z.object({
40
- kind: z.literal('pagerduty'),
41
- /** PagerDuty integration key (Events API v2). */
41
+ z
42
+ .looseObject({
43
+ /** Channel id owned by an adapter (resolved through its own config). */
44
+ kind: z.string().min(1),
45
+ /** Channel target (integration key, webhook URL, …). */
42
46
  target: z.string().min(1)
43
- }),
44
- z.object({
45
- kind: z.literal('slack'),
46
- /** Slack webhook URL (Incoming Webhooks). */
47
- target: z.string().url()
47
+ })
48
+ .refine((mechanism) => mechanism.kind !== 'email' && mechanism.kind !== 'webhook', {
49
+ error: 'use the typed email/webhook entry for the built-in kinds'
48
50
  })
49
51
  ]);
50
52
  /**
@@ -60,6 +62,25 @@ const AlertTypeSchema = z.enum([
60
62
  'error-rate',
61
63
  /** P99 latency or wall-time crossed a threshold. */
62
64
  'latency',
65
+ /**
66
+ * A scheduled (cron) handler has not reported a successful tick within
67
+ * its expected window — a probable dead cron. Most providers (incl. CF
68
+ * Notifications) have no native "cron didn't fire" alert; this category
69
+ * is consumed by `vibes infra audit`'s heartbeat freshness check (see
70
+ * `heartbeat/cron-heartbeat.ts`) and provider impls without a native
71
+ * mapping reject it as unsupported.
72
+ */
73
+ 'scheduled-event-missing',
74
+ /**
75
+ * An alert keyed to a structured log marker (e.g. `[VIBES-ERR jobs dlq]`
76
+ * emitted by the shared dead-letter drainer) matched by a Workers-
77
+ * Observability log alert. Like `scheduled-event-missing`, no provider has a
78
+ * native "match this log line" Notifications type — it is declared here so
79
+ * every first-class error marker a worker emits has an ops watcher of record,
80
+ * and `vibes infra audit` can surface it. The marker string + scope live in
81
+ * `filters` (`marker`, `worker`). Provider impls reject it as unsupported.
82
+ */
83
+ 'log-marker',
63
84
  /** Catch-all for provider-specific types not yet modeled here. */
64
85
  'custom'
65
86
  ]);
@@ -91,11 +112,18 @@ const AlertPolicySchema = z.object({
91
112
  enabled: z.boolean().default(true),
92
113
  description: z.string().optional()
93
114
  });
115
+ export const AlertAuditDiagnosticsSchema = z.object({
116
+ category: z.record(z.string(), z.string()).default({}),
117
+ markerDelivery: z.string().optional(),
118
+ /** Alert categories this adapter cannot represent in its live policy listing. */
119
+ unrepresentedCategories: z.array(AlertTypeSchema).default([])
120
+ });
94
121
  const AlertsBaseSchema = RuntimeDescriptorSchema.extend({
95
122
  kind: z.literal('infra/alerts'),
96
123
  /** Adapter id (e.g. 'cloudflare-alerts', 'do-monitoring'). */
97
124
  adapter: z.string().min(1),
98
125
  adapterConfig: z.record(z.string(), z.unknown()).optional(),
126
+ auditDiagnostics: AlertAuditDiagnosticsSchema.optional(),
99
127
  /**
100
128
  * Default environment name for credential resolution via `vibes
101
129
  * secrets`. Defaults to 'local' since the CLI / dev workflow is
@@ -109,8 +137,7 @@ const AlertsBaseSchema = RuntimeDescriptorSchema.extend({
109
137
  export const alertsKind = createRuntimeKind({
110
138
  id: 'infra/alerts',
111
139
  descriptorSchema: AlertsBaseSchema,
112
- discoveryPattern: INFRA_DISCOVERY_PATTERN,
113
- extractStem
140
+ discoveryPatterns: INFRA_DISCOVERY_PATTERNS
114
141
  });
115
142
  export { AlertsBaseSchema as InfraAlertsDescriptorSchema, AlertPolicySchema, AlertMechanismSchema, AlertTypeSchema, AlertWindowSchema };
116
143
  //# sourceMappingURL=alerts.kind.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alerts.kind.js","sourceRoot":"","sources":["../../src/kinds/alerts.kind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alerts.kind.js","sourceRoot":"","sources":["../../src/kinds/alerts.kind.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  * 4. Implementation returns artifact content (format determined by impl)
15
15
  */
16
16
  import * as z from 'zod/v4';
17
+ import { type RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
17
18
  /**
18
19
  * Minimal base schema for artifact descriptors.
19
20
  *
@@ -28,10 +29,43 @@ declare const ArtifactBaseSchema: z.ZodObject<{
28
29
  hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
30
  enabled: z.ZodOptional<z.ZodBoolean>;
30
31
  priority: z.ZodOptional<z.ZodNumber>;
32
+ capabilityId: z.ZodOptional<z.ZodString>;
31
33
  requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
32
34
  optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
33
- config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
35
+ config: z.ZodOptional<z.ZodUnknown>;
36
+ retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
37
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
38
+ maxEntries: z.ZodOptional<z.ZodNumber>;
39
+ maxBytes: z.ZodOptional<z.ZodNumber>;
40
+ cascadeFrom: z.ZodOptional<z.ZodString>;
41
+ ageField: z.ZodOptional<z.ZodString>;
42
+ reason: z.ZodString;
43
+ enforcedBy: z.ZodOptional<z.ZodString>;
44
+ }, z.core.$strip>]>>;
34
45
  kind: z.ZodLiteral<"infra/artifact">;
46
+ format: z.ZodOptional<z.ZodString>;
47
+ source: z.ZodOptional<z.ZodObject<{
48
+ kind: z.ZodString;
49
+ }, z.core.$strip>>;
50
+ }, z.core.$strip>;
51
+ /** What a generator is handed: where outputs go, the resources it may read, and its own descriptor. */
52
+ export interface ArtifactGenerationContext {
53
+ /** Output directory for generated artifacts. */
54
+ outputDir: string;
55
+ /** Resource descriptors the generator may read. */
56
+ resources: RuntimeDescriptor[];
57
+ /** The generator's own descriptor. */
58
+ descriptor: RuntimeDescriptor;
59
+ }
60
+ /** Facts a generator reports about one output: JSON values only. */
61
+ export declare const ArtifactMetadataSchema: 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>>>;
62
+ export type ArtifactMetadata = z.infer<typeof ArtifactMetadataSchema>;
63
+ /** One generated output as the generate surface reads it: text or bytes, a name and a path. */
64
+ export declare const ArtifactOutputSchema: z.ZodObject<{
65
+ content: z.ZodUnion<readonly [z.ZodString, z.ZodInstanceOf<Uint8Array<ArrayBuffer>>]>;
66
+ filename: z.ZodString;
67
+ path: z.ZodString;
68
+ metadata: z.ZodOptional<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>>>>;
35
69
  }, z.core.$strip>;
36
70
  /**
37
71
  * Generic artifact generator interface.
@@ -42,10 +76,10 @@ export interface ArtifactGenerator {
42
76
  /**
43
77
  * Generate artifact content.
44
78
  *
45
- * @param options - Implementation-specific options (descriptor, context, etc.)
79
+ * @param context - Where outputs go, the readable resources and the generator's descriptor.
46
80
  * @returns Generated artifact (content + metadata)
47
81
  */
48
- generate(options?: unknown): Promise<ArtifactOutput>;
82
+ generate(context?: ArtifactGenerationContext): Promise<ArtifactOutput>;
49
83
  }
50
84
  /**
51
85
  * Generated artifact output (generic shape).
@@ -53,14 +87,14 @@ export interface ArtifactGenerator {
53
87
  * Implementations may return more specific types.
54
88
  */
55
89
  export interface ArtifactOutput {
56
- /** Generated content (string for text formats, Buffer for binary) */
57
- content: string | Buffer;
90
+ /** Generated content (string for text formats, bytes for binary) */
91
+ content: string | Uint8Array;
58
92
  /** Recommended filename (including extension) */
59
93
  filename: string;
60
94
  /** Full output path */
61
95
  path: string;
62
96
  /** Optional metadata */
63
- metadata?: Record<string, unknown>;
97
+ metadata?: ArtifactMetadata;
64
98
  }
65
99
  /**
66
100
  * Artifact descriptor type (base shape, implementations extend)
@@ -77,10 +111,24 @@ export declare const ArtifactDescriptorSchema: z.ZodObject<{
77
111
  hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
78
112
  enabled: z.ZodOptional<z.ZodBoolean>;
79
113
  priority: z.ZodOptional<z.ZodNumber>;
114
+ capabilityId: z.ZodOptional<z.ZodString>;
80
115
  requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
81
116
  optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
82
- config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
117
+ config: z.ZodOptional<z.ZodUnknown>;
118
+ retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
119
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
120
+ maxEntries: z.ZodOptional<z.ZodNumber>;
121
+ maxBytes: z.ZodOptional<z.ZodNumber>;
122
+ cascadeFrom: z.ZodOptional<z.ZodString>;
123
+ ageField: z.ZodOptional<z.ZodString>;
124
+ reason: z.ZodString;
125
+ enforcedBy: z.ZodOptional<z.ZodString>;
126
+ }, z.core.$strip>]>>;
83
127
  kind: z.ZodLiteral<"infra/artifact">;
128
+ format: z.ZodOptional<z.ZodString>;
129
+ source: z.ZodOptional<z.ZodObject<{
130
+ kind: z.ZodString;
131
+ }, z.core.$strip>>;
84
132
  }, z.core.$strip>;
85
133
  /**
86
134
  * Artifact kind descriptor for runtime registration.
@@ -89,8 +137,8 @@ export declare const ArtifactDescriptorSchema: z.ZodObject<{
89
137
  * their own implementations via runtime plugins.
90
138
  */
91
139
  declare class NoOpArtifactImplementation implements ArtifactGenerator {
92
- generate(options?: unknown): Promise<ArtifactOutput>;
140
+ generate(): Promise<ArtifactOutput>;
93
141
  }
94
- export declare const artifactKind: import("@vibesdotdev/runtime/schemas/kind").RuntimeKindDescriptorRecord<NoOpArtifactImplementation>;
95
- export { INFRA_DISCOVERY_PATTERN, extractStem } from './discovery.ts';
142
+ export declare const artifactKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<NoOpArtifactImplementation>;
143
+ export { INFRA_DISCOVERY_PATTERNS } from './discovery.ts';
96
144
  //# sourceMappingURL=artifact.kind.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/artifact.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAM5B;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;iBAEtB,CAAC;AAEH;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,qEAAqE;IACrE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;iBAAqB,CAAC;AAE3D;;;;;GAKG;AACH,cAAM,0BAA2B,YAAW,iBAAiB;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;CAK1D;AAED,eAAO,MAAM,YAAY,qGAMvB,CAAC;AAGH,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"artifact.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/artifact.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAI5B,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAGzG;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMtB,CAAC;AAEH,uGAAuG;AACvG,MAAM,WAAW,yBAAyB;IACzC,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,sCAAsC;IACtC,UAAU,EAAE,iBAAiB,CAAC;CAC9B;AAED,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,2QAAwC,CAAC;AAC5E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AAEH;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvE;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,oEAAoE;IACpE,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAqB,CAAC;AAE3D;;;;;GAKG;AACH,cAAM,0BAA2B,YAAW,iBAAiB;IACtD,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;CAMzC;AAED,eAAO,MAAM,YAAY,uFAKvB,CAAC;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -14,9 +14,11 @@
14
14
  * 4. Implementation returns artifact content (format determined by impl)
15
15
  */
16
16
  import * as z from 'zod/v4';
17
- import { createRuntimeKind } from '@vibesdotdev/runtime/factory/kind';
18
- import { RuntimeDescriptorSchema } from '@vibesdotdev/runtime/schemas/descriptor';
19
- import { INFRA_DISCOVERY_PATTERN, extractStem } from "./discovery.js";
17
+ import { CapabilityError } from '@vibesdotdev/kernel';
18
+ import { JsonValueSchema } from '@vibesdotdev/kernel/schemas/json';
19
+ import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
20
+ import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
21
+ import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
20
22
  /**
21
23
  * Minimal base schema for artifact descriptors.
22
24
  *
@@ -24,7 +26,20 @@ import { INFRA_DISCOVERY_PATTERN, extractStem } from "./discovery.js";
24
26
  * output format, generation options, etc.).
25
27
  */
26
28
  const ArtifactBaseSchema = RuntimeDescriptorSchema.extend({
27
- kind: z.literal('infra/artifact')
29
+ kind: z.literal('infra/artifact'),
30
+ /** The output format the generator produces (e.g. `yaml`, `jsonc`); `vibes infra generate --format` filters on it. */
31
+ format: z.string().min(1).optional(),
32
+ /** The resource kind the generator reads (e.g. `infra/worker`). */
33
+ source: z.object({ kind: z.string().min(1) }).optional()
34
+ });
35
+ /** Facts a generator reports about one output: JSON values only. */
36
+ export const ArtifactMetadataSchema = z.record(z.string(), JsonValueSchema);
37
+ /** One generated output as the generate surface reads it: text or bytes, a name and a path. */
38
+ export const ArtifactOutputSchema = z.object({
39
+ content: z.union([z.string(), z.instanceof(Uint8Array)]),
40
+ filename: z.string().min(1),
41
+ path: z.string().min(1),
42
+ metadata: ArtifactMetadataSchema.optional()
28
43
  });
29
44
  /**
30
45
  * Artifact descriptor schema
@@ -37,17 +52,19 @@ export const ArtifactDescriptorSchema = ArtifactBaseSchema;
37
52
  * their own implementations via runtime plugins.
38
53
  */
39
54
  class NoOpArtifactImplementation {
40
- async generate(options) {
41
- throw new Error('No artifact generator registered. Adapter plugins (infra-kubernetes, infra-helm, etc.) must register implementations.');
55
+ async generate() {
56
+ throw new CapabilityError('No artifact generator is registered for this descriptor.', 'UNAVAILABLE', {
57
+ reason: 'artifact-generator-unregistered',
58
+ recoveryHint: 'Adapter plugins (infra-kubernetes, infra-helm, etc.) must register implementations.'
59
+ });
42
60
  }
43
61
  }
44
62
  export const artifactKind = createRuntimeKind({
45
63
  id: 'infra/artifact',
46
64
  descriptorSchema: ArtifactDescriptorSchema,
47
65
  defaultImplementation: NoOpArtifactImplementation,
48
- discoveryPattern: INFRA_DISCOVERY_PATTERN,
49
- extractStem
66
+ discoveryPatterns: INFRA_DISCOVERY_PATTERNS
50
67
  });
51
68
  // Re-export discovery helpers
52
- export { INFRA_DISCOVERY_PATTERN, extractStem } from "./discovery.js";
69
+ export { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
53
70
  //# sourceMappingURL=artifact.kind.js.map