@vibesdotdev/infra-core 0.0.1 → 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 (332) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +34 -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-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 +23 -34
  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 +141 -35
  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 +123 -40
  306. package/SPEC.md +0 -169
  307. package/src/bootstrap/index.ts +0 -15
  308. package/src/bootstrap/seed.descriptor.ts +0 -24
  309. package/src/bootstrap/seed.impl-shape.ts +0 -5
  310. package/src/bootstrap/seed.kind.ts +0 -26
  311. package/src/bootstrap/seed.runner.ts +0 -87
  312. package/src/credentials/resolve.ts +0 -205
  313. package/src/deployment.ts +0 -57
  314. package/src/index.ts +0 -149
  315. package/src/infra.plugin.ts +0 -54
  316. package/src/kinds/alerts.kind.ts +0 -164
  317. package/src/kinds/artifact.kind.ts +0 -96
  318. package/src/kinds/cache.kind.ts +0 -104
  319. package/src/kinds/database.kind.ts +0 -120
  320. package/src/kinds/discovery.ts +0 -26
  321. package/src/kinds/git-hosting.kind.ts +0 -100
  322. package/src/kinds/index.ts +0 -139
  323. package/src/kinds/logs.kind.ts +0 -104
  324. package/src/kinds/object-storage.kind.ts +0 -101
  325. package/src/kinds/observability.kind.ts +0 -178
  326. package/src/kinds/package-registry.kind.ts +0 -95
  327. package/src/kinds/queue.kind.ts +0 -102
  328. package/src/kinds/rum.kind.ts +0 -135
  329. package/src/kinds/sandbox.kind.ts +0 -115
  330. package/src/kinds/web-app.kind.ts +0 -103
  331. package/src/kinds/worker.kind.ts +0 -203
  332. package/src/schemas.ts +0 -127
@@ -5,28 +5,35 @@
5
5
  * Provides programmatic access to logs for tailing, queries, and analytics.
6
6
  */
7
7
  import * as z from 'zod/v4';
8
- import { createRuntimeKind } from '@vibesdotdev/runtime/factory/kind';
9
- import { RuntimeDescriptorSchema } from '@vibesdotdev/runtime/schemas/descriptor';
10
- import { INFRA_DISCOVERY_PATTERN, extractStem } from "./discovery.js";
8
+ import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
9
+ import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
10
+ import { readKindDescriptor } from "./read-descriptor.js";
11
+ import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
12
+ export { WorkerLogRequestSchema, ActiveLogStreamSchema } from "../schemas/log-stream.js";
11
13
  const LogsBaseSchema = RuntimeDescriptorSchema.extend({
12
14
  kind: z.literal('infra/logs'),
13
15
  /** Adapter type (e.g., 'cloudflare-logs', 'datadog', 'splunk') */
14
16
  adapter: z.string().min(1),
15
17
  /** Adapter-specific configuration */
16
18
  adapterConfig: z.record(z.string(), z.unknown()).optional(),
19
+ /** Optional environment scope used by adapter credential resolution. */
20
+ environment: z.string().optional(),
17
21
  /** Log sources to monitor */
18
22
  sources: z
19
23
  .array(z.object({
20
- /** Source type */
21
- type: z.enum(['worker', 'pages', 'd1', 'r2', 'kv']),
24
+ /**
25
+ * Source type. `pod` is a Kubernetes workload, whose logs are read
26
+ * from the cluster at query time rather than declared here.
27
+ */
28
+ type: z.enum(['worker', 'pages', 'd1', 'r2', 'kv', 'pod']),
22
29
  /** Source name/identifier */
23
30
  name: z.string().min(1),
24
31
  /** Optional environment filter */
25
32
  environment: z.string().optional()
26
33
  }))
27
34
  .default([]),
28
- /** Default retention period */
29
- retention: z
35
+ /** Log-tier retention period; distinct from the runtime descriptor lifecycle policy. */
36
+ logRetention: z
30
37
  .object({
31
38
  /** Hot storage (immediately accessible) */
32
39
  hotDays: z.number().int().positive().default(7),
@@ -51,23 +58,25 @@ const LogsBaseSchema = RuntimeDescriptorSchema.extend({
51
58
  .default([])
52
59
  });
53
60
  export const InfraLogsDescriptorSchema = LogsBaseSchema;
61
+ /** Pass-through: the registered descriptor as this kind's schema reads it, never a substitute. */
54
62
  class DefaultLogsImplementationClass {
63
+ descriptor;
64
+ context;
65
+ /** The descriptor as this kind's schema reads it. */
66
+ config;
67
+ constructor(descriptor, context) {
68
+ this.descriptor = descriptor;
69
+ this.context = context;
70
+ this.config = readKindDescriptor(InfraLogsDescriptorSchema, descriptor);
71
+ }
55
72
  generateConfig() {
56
- return {
57
- kind: 'infra/logs',
58
- id: 'default-logs',
59
- name: 'Default Logs',
60
- adapter: 'unknown',
61
- sources: [],
62
- alerts: []
63
- };
73
+ return this.config;
64
74
  }
65
75
  }
66
76
  export const logsKind = createRuntimeKind({
67
77
  id: 'infra/logs',
68
78
  descriptorSchema: InfraLogsDescriptorSchema,
69
79
  defaultImplementation: DefaultLogsImplementationClass,
70
- discoveryPattern: INFRA_DISCOVERY_PATTERN,
71
- extractStem
80
+ discoveryPatterns: INFRA_DISCOVERY_PATTERNS
72
81
  });
73
82
  //# sourceMappingURL=logs.kind.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logs.kind.js","sourceRoot":"","sources":["../../src/kinds/logs.kind.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,cAAc,GAAG,uBAAuB,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,kEAAkE;IAClE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,qCAAqC;IACrC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,6BAA6B;IAC7B,OAAO,EAAE,CAAC;SACR,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;QACR,kBAAkB;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACnD,6BAA6B;QAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,kCAAkC;QAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CACF;SACA,OAAO,CAAC,EAAE,CAAC;IACb,+BAA+B;IAC/B,SAAS,EAAE,CAAC;SACV,MAAM,CAAC;QACP,2CAA2C;QAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,wCAAwC;QACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KACjD,CAAC;SACD,QAAQ,EAAE;IACZ,6BAA6B;IAC7B,MAAM,EAAE,CAAC;SACP,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;QACR,iBAAiB;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,sBAAsB;QACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC/D,sBAAsB;QACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,iCAAiC;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,4BAA4B;QAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACzC,CAAC,CACF;SACA,OAAO,CAAC,EAAE,CAAC;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAqBxD,MAAM,8BAA8B;IACnC,cAAc;QACb,OAAO;YACN,IAAI,EAAE,YAAY;YAClB,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;SACV,CAAC;IACH,CAAC;CACD;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,iBAAiB,CAAiD;IACzF,EAAE,EAAE,YAAY;IAChB,gBAAgB,EAAE,yBAAyB;IAC3C,qBAAqB,EAAE,8BAA8B;IACrD,gBAAgB,EAAE,uBAAuB;IACzC,WAAW;CACX,CAAC,CAAC"}
1
+ {"version":3,"file":"logs.kind.js","sourceRoot":"","sources":["../../src/kinds/logs.kind.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAK1D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAA+C,MAAM,0BAA0B,CAAC;AAEtI,MAAM,cAAc,GAAG,uBAAuB,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,kEAAkE;IAClE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,qCAAqC;IACrC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,wEAAwE;IACxE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,6BAA6B;IAC7B,OAAO,EAAE,CAAC;SACR,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;QACR;;;WAGG;QACH,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1D,6BAA6B;QAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,kCAAkC;QAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CACF;SACA,OAAO,CAAC,EAAE,CAAC;IACb,wFAAwF;IACxF,YAAY,EAAE,CAAC;SACb,MAAM,CAAC;QACP,2CAA2C;QAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,wCAAwC;QACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KACjD,CAAC;SACD,QAAQ,EAAE;IACZ,6BAA6B;IAC7B,MAAM,EAAE,CAAC;SACP,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;QACR,iBAAiB;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,sBAAsB;QACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC/D,sBAAsB;QACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,iCAAiC;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,4BAA4B;QAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACzC,CAAC,CACF;SACA,OAAO,CAAC,EAAE,CAAC;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAiGxD,kGAAkG;AAClG,MAAM,8BAA8B;IAIlB;IACA;IAJjB,qDAAqD;IAC5C,MAAM,CAAsB;IACrC,YACiB,UAA6B,EAC7B,OAAoB;QADpB,eAAU,GAAV,UAAU,CAAmB;QAC7B,YAAO,GAAP,OAAO,CAAa;QAEpC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,iBAAiB,CAAiD;IACzF,EAAE,EAAE,YAAY;IAChB,gBAAgB,EAAE,yBAAyB;IAC3C,qBAAqB,EAAE,8BAA8B;IACrD,iBAAiB,EAAE,wBAAwB;CAC3C,CAAC,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Kind: infra/nfs
3
+ *
4
+ * Provider-neutral network file storage descriptor — ReadWriteMany style
5
+ * shared filesystem for ML datasets, checkpoints, and Kubernetes RWX
6
+ * workloads.
7
+ */
8
+ import * as z from 'zod/v4';
9
+ import type { RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
10
+ import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
11
+ export declare const NfsAccessRuleSchema: z.ZodObject<{
12
+ cidr: z.ZodString;
13
+ mode: z.ZodDefault<z.ZodEnum<{
14
+ rw: "rw";
15
+ ro: "ro";
16
+ }>>;
17
+ }, z.core.$strip>;
18
+ export type NfsAccessRule = z.infer<typeof NfsAccessRuleSchema>;
19
+ /** Open adapter config: the adapter package that owns `adapter` validates the rest. */
20
+ export declare const NfsConfigSchema: z.ZodObject<{
21
+ adapter: z.ZodString;
22
+ }, z.core.$loose>;
23
+ export declare const NfsDescriptorSchema: z.ZodObject<{
24
+ id: z.ZodString;
25
+ name: z.ZodOptional<z.ZodString>;
26
+ description: z.ZodOptional<z.ZodString>;
27
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
28
+ hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
+ enabled: z.ZodOptional<z.ZodBoolean>;
30
+ priority: z.ZodOptional<z.ZodNumber>;
31
+ capabilityId: z.ZodOptional<z.ZodString>;
32
+ requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
33
+ optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
35
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
36
+ maxEntries: z.ZodOptional<z.ZodNumber>;
37
+ maxBytes: z.ZodOptional<z.ZodNumber>;
38
+ cascadeFrom: z.ZodOptional<z.ZodString>;
39
+ ageField: z.ZodOptional<z.ZodString>;
40
+ reason: z.ZodString;
41
+ enforcedBy: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strip>]>>;
43
+ kind: z.ZodLiteral<"infra/nfs">;
44
+ region: z.ZodOptional<z.ZodString>;
45
+ sizeGb: z.ZodOptional<z.ZodNumber>;
46
+ accessRules: z.ZodOptional<z.ZodArray<z.ZodObject<{
47
+ cidr: z.ZodString;
48
+ mode: z.ZodDefault<z.ZodEnum<{
49
+ rw: "rw";
50
+ ro: "ro";
51
+ }>>;
52
+ }, z.core.$strip>>>;
53
+ config: z.ZodOptional<z.ZodObject<{
54
+ adapter: z.ZodString;
55
+ }, z.core.$loose>>;
56
+ }, z.core.$strip>;
57
+ export type NfsDescriptor = z.infer<typeof NfsDescriptorSchema>;
58
+ declare class DefaultNfsImplementation {
59
+ readonly descriptor: RuntimeDescriptor;
60
+ readonly context: KindContext;
61
+ /** The descriptor as this kind's schema reads it. */
62
+ readonly config: NfsDescriptor;
63
+ constructor(descriptor: RuntimeDescriptor, context: KindContext);
64
+ }
65
+ export declare const nfsKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<DefaultNfsImplementation>;
66
+ export {};
67
+ //# sourceMappingURL=nfs.kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nfs.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/nfs.kind.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAIpE,eAAO,MAAM,mBAAmB;;;;;;iBAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAShE,uFAAuF;AACvF,eAAO,MAAM,eAAe;;iBAAgD,CAAC;AAE7E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,cAAM,wBAAwB;aAIZ,UAAU,EAAE,iBAAiB;aAC7B,OAAO,EAAE,WAAW;IAJrC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEd,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,WAAW;CAKrC;AAED,eAAO,MAAM,OAAO,qFAKlB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Kind: infra/nfs
3
+ *
4
+ * Provider-neutral network file storage descriptor — ReadWriteMany style
5
+ * shared filesystem for ML datasets, checkpoints, and Kubernetes RWX
6
+ * workloads.
7
+ */
8
+ import * as z from 'zod/v4';
9
+ import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
10
+ import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
11
+ import { readKindDescriptor } from "./read-descriptor.js";
12
+ import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
13
+ export const NfsAccessRuleSchema = z.object({
14
+ cidr: z.string().min(1),
15
+ mode: z.enum(['rw', 'ro']).default('rw')
16
+ });
17
+ const NfsBaseSchema = RuntimeDescriptorSchema.extend({
18
+ kind: z.literal('infra/nfs'),
19
+ region: z.string().min(1).optional(),
20
+ sizeGb: z.number().int().positive().optional(),
21
+ accessRules: z.array(NfsAccessRuleSchema).optional()
22
+ });
23
+ /** Open adapter config: the adapter package that owns `adapter` validates the rest. */
24
+ export const NfsConfigSchema = z.looseObject({ adapter: z.string().min(1) });
25
+ export const NfsDescriptorSchema = NfsBaseSchema.extend({
26
+ config: NfsConfigSchema.optional()
27
+ });
28
+ class DefaultNfsImplementation {
29
+ descriptor;
30
+ context;
31
+ /** The descriptor as this kind's schema reads it. */
32
+ config;
33
+ constructor(descriptor, context) {
34
+ this.descriptor = descriptor;
35
+ this.context = context;
36
+ this.config = readKindDescriptor(NfsDescriptorSchema, descriptor);
37
+ }
38
+ }
39
+ export const nfsKind = createRuntimeKind({
40
+ id: 'infra/nfs',
41
+ descriptorSchema: NfsDescriptorSchema,
42
+ defaultImplementation: DefaultNfsImplementation,
43
+ discoveryPatterns: INFRA_DISCOVERY_PATTERNS
44
+ });
45
+ //# sourceMappingURL=nfs.kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nfs.kind.js","sourceRoot":"","sources":["../../src/kinds/nfs.kind.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CACxC,CAAC,CAAC;AAGH,MAAM,aAAa,GAAG,uBAAuB,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEH,uFAAuF;AACvF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC;IACvD,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIH,MAAM,wBAAwB;IAIZ;IACA;IAJjB,qDAAqD;IAC5C,MAAM,CAAgB;IAC/B,YACiB,UAA6B,EAC7B,OAAoB;QADpB,eAAU,GAAV,UAAU,CAAmB;QAC7B,YAAO,GAAP,OAAO,CAAa;QAEpC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;CAED;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAA0C;IACjF,EAAE,EAAE,WAAW;IACf,gBAAgB,EAAE,mBAAmB;IACrC,qBAAqB,EAAE,wBAAwB;IAC/C,iBAAiB,EAAE,wBAAwB;CAC3C,CAAC,CAAC"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Kind: infra/node-pool
3
+ *
4
+ * Provider-neutral Kubernetes node-pool descriptor. Captures autoscaling,
5
+ * GPU shape, device plugin flags, and a workload class used by infra
6
+ * profile reconcilers.
7
+ *
8
+ * `config` is an open, adapter-keyed shape (DigitalOcean's Kubernetes node
9
+ * pool config lives in `@vibesdotdev/integrations-digitalocean`); this kind
10
+ * names no provider, so a config for any adapter parses here and the
11
+ * adapter validates its own grammar.
12
+ */
13
+ import * as z from 'zod/v4';
14
+ import type { RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
15
+ import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
16
+ export declare const NodePoolTaintSchema: z.ZodObject<{
17
+ key: z.ZodString;
18
+ value: z.ZodString;
19
+ effect: z.ZodEnum<{
20
+ NoSchedule: "NoSchedule";
21
+ PreferNoSchedule: "PreferNoSchedule";
22
+ NoExecute: "NoExecute";
23
+ }>;
24
+ }, z.core.$strip>;
25
+ export type NodePoolTaint = z.infer<typeof NodePoolTaintSchema>;
26
+ export declare const NodePoolGpuSchema: z.ZodObject<{
27
+ vendor: z.ZodEnum<{
28
+ nvidia: "nvidia";
29
+ amd: "amd";
30
+ }>;
31
+ model: z.ZodString;
32
+ count: z.ZodNumber;
33
+ vramGb: z.ZodOptional<z.ZodNumber>;
34
+ }, z.core.$strip>;
35
+ export type NodePoolGpu = z.infer<typeof NodePoolGpuSchema>;
36
+ export declare const NodePoolDevicePluginsSchema: z.ZodObject<{
37
+ nvidia: z.ZodOptional<z.ZodBoolean>;
38
+ amd: z.ZodOptional<z.ZodBoolean>;
39
+ amdMetrics: z.ZodOptional<z.ZodBoolean>;
40
+ }, z.core.$strip>;
41
+ export declare const NodePoolWorkloadClassSchema: z.ZodEnum<{
42
+ system: "system";
43
+ worker: "worker";
44
+ build: "build";
45
+ exec: "exec";
46
+ "gpu-inference": "gpu-inference";
47
+ "gpu-training": "gpu-training";
48
+ }>;
49
+ export type NodePoolWorkloadClass = z.infer<typeof NodePoolWorkloadClassSchema>;
50
+ /**
51
+ * Adapter-specific configuration: the adapter id plus its own fields. Each
52
+ * adapter package defines and parses its own config schema; this kind names
53
+ * no provider, so a config for any adapter — including one contributed by a
54
+ * user plugin — parses here, and the adapter validates its own grammar.
55
+ */
56
+ export declare const NodePoolConfigSchema: z.ZodObject<{
57
+ adapter: z.ZodString;
58
+ }, z.core.$loose>;
59
+ export type NodePoolConfig = z.infer<typeof NodePoolConfigSchema>;
60
+ export declare const NodePoolDescriptorSchema: z.ZodObject<{
61
+ id: z.ZodString;
62
+ name: z.ZodOptional<z.ZodString>;
63
+ description: z.ZodOptional<z.ZodString>;
64
+ hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
65
+ enabled: z.ZodOptional<z.ZodBoolean>;
66
+ priority: z.ZodOptional<z.ZodNumber>;
67
+ capabilityId: z.ZodOptional<z.ZodString>;
68
+ requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
69
+ optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
70
+ retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
71
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
72
+ maxEntries: z.ZodOptional<z.ZodNumber>;
73
+ maxBytes: z.ZodOptional<z.ZodNumber>;
74
+ cascadeFrom: z.ZodOptional<z.ZodString>;
75
+ ageField: z.ZodOptional<z.ZodString>;
76
+ reason: z.ZodString;
77
+ enforcedBy: z.ZodOptional<z.ZodString>;
78
+ }, z.core.$strip>]>>;
79
+ kind: z.ZodLiteral<"infra/node-pool">;
80
+ clusterRef: z.ZodOptional<z.ZodString>;
81
+ size: z.ZodOptional<z.ZodString>;
82
+ count: z.ZodOptional<z.ZodNumber>;
83
+ autoScale: z.ZodOptional<z.ZodBoolean>;
84
+ minNodes: z.ZodOptional<z.ZodNumber>;
85
+ maxNodes: z.ZodOptional<z.ZodNumber>;
86
+ autoscaleToZero: z.ZodOptional<z.ZodBoolean>;
87
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
88
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
+ taints: z.ZodOptional<z.ZodArray<z.ZodObject<{
90
+ key: z.ZodString;
91
+ value: z.ZodString;
92
+ effect: z.ZodEnum<{
93
+ NoSchedule: "NoSchedule";
94
+ PreferNoSchedule: "PreferNoSchedule";
95
+ NoExecute: "NoExecute";
96
+ }>;
97
+ }, z.core.$strip>>>;
98
+ gpu: z.ZodOptional<z.ZodObject<{
99
+ vendor: z.ZodEnum<{
100
+ nvidia: "nvidia";
101
+ amd: "amd";
102
+ }>;
103
+ model: z.ZodString;
104
+ count: z.ZodNumber;
105
+ vramGb: z.ZodOptional<z.ZodNumber>;
106
+ }, z.core.$strip>>;
107
+ devicePlugins: z.ZodOptional<z.ZodObject<{
108
+ nvidia: z.ZodOptional<z.ZodBoolean>;
109
+ amd: z.ZodOptional<z.ZodBoolean>;
110
+ amdMetrics: z.ZodOptional<z.ZodBoolean>;
111
+ }, z.core.$strip>>;
112
+ workloadClass: z.ZodOptional<z.ZodEnum<{
113
+ system: "system";
114
+ worker: "worker";
115
+ build: "build";
116
+ exec: "exec";
117
+ "gpu-inference": "gpu-inference";
118
+ "gpu-training": "gpu-training";
119
+ }>>;
120
+ config: z.ZodOptional<z.ZodObject<{
121
+ adapter: z.ZodString;
122
+ }, z.core.$loose>>;
123
+ }, z.core.$strip>;
124
+ export type NodePoolDescriptor = z.infer<typeof NodePoolDescriptorSchema>;
125
+ declare class DefaultNodePoolImplementation {
126
+ readonly descriptor: RuntimeDescriptor;
127
+ readonly context: KindContext;
128
+ /** The descriptor as this kind's schema reads it. */
129
+ readonly config: NodePoolDescriptor;
130
+ constructor(descriptor: RuntimeDescriptor, context: KindContext);
131
+ }
132
+ export declare const nodePoolKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<DefaultNodePoolImplementation>;
133
+ export {};
134
+ //# sourceMappingURL=node-pool.kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-pool.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/node-pool.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAIpE,eAAO,MAAM,mBAAmB;;;;;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;;;iBAK5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,2BAA2B;;;;iBAItC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;EAOtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAmBhF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,cAAM,6BAA6B;aAIjB,UAAU,EAAE,iBAAiB;aAC7B,OAAO,EAAE,WAAW;IAJrC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAEnB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,WAAW;CAKrC;AAED,eAAO,MAAM,YAAY,0FAKvB,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Kind: infra/node-pool
3
+ *
4
+ * Provider-neutral Kubernetes node-pool descriptor. Captures autoscaling,
5
+ * GPU shape, device plugin flags, and a workload class used by infra
6
+ * profile reconcilers.
7
+ *
8
+ * `config` is an open, adapter-keyed shape (DigitalOcean's Kubernetes node
9
+ * pool config lives in `@vibesdotdev/integrations-digitalocean`); this kind
10
+ * names no provider, so a config for any adapter parses here and the
11
+ * adapter validates its own grammar.
12
+ */
13
+ import * as z from 'zod/v4';
14
+ import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
15
+ import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
16
+ import { readKindDescriptor } from "./read-descriptor.js";
17
+ import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
18
+ export const NodePoolTaintSchema = z.object({
19
+ key: z.string().min(1),
20
+ value: z.string(),
21
+ effect: z.enum(['NoSchedule', 'PreferNoSchedule', 'NoExecute'])
22
+ });
23
+ export const NodePoolGpuSchema = z.object({
24
+ vendor: z.enum(['nvidia', 'amd']),
25
+ model: z.string().min(1),
26
+ count: z.number().int().positive(),
27
+ vramGb: z.number().int().positive().optional()
28
+ });
29
+ export const NodePoolDevicePluginsSchema = z.object({
30
+ nvidia: z.boolean().optional(),
31
+ amd: z.boolean().optional(),
32
+ amdMetrics: z.boolean().optional()
33
+ });
34
+ export const NodePoolWorkloadClassSchema = z.enum([
35
+ 'system',
36
+ 'worker',
37
+ 'build',
38
+ 'exec',
39
+ 'gpu-inference',
40
+ 'gpu-training'
41
+ ]);
42
+ const NodePoolBaseSchema = RuntimeDescriptorSchema.extend({
43
+ kind: z.literal('infra/node-pool'),
44
+ clusterRef: z.string().optional(),
45
+ size: z.string().min(1).optional(),
46
+ count: z.number().int().nonnegative().optional(),
47
+ autoScale: z.boolean().optional(),
48
+ minNodes: z.number().int().nonnegative().optional(),
49
+ maxNodes: z.number().int().nonnegative().optional(),
50
+ autoscaleToZero: z.boolean().optional(),
51
+ labels: z.record(z.string(), z.string()).optional(),
52
+ tags: z.array(z.string()).optional(),
53
+ taints: z.array(NodePoolTaintSchema).optional(),
54
+ gpu: NodePoolGpuSchema.optional(),
55
+ devicePlugins: NodePoolDevicePluginsSchema.optional(),
56
+ workloadClass: NodePoolWorkloadClassSchema.optional()
57
+ });
58
+ /**
59
+ * Adapter-specific configuration: the adapter id plus its own fields. Each
60
+ * adapter package defines and parses its own config schema; this kind names
61
+ * no provider, so a config for any adapter — including one contributed by a
62
+ * user plugin — parses here, and the adapter validates its own grammar.
63
+ */
64
+ export const NodePoolConfigSchema = z.looseObject({
65
+ adapter: z.string().min(1)
66
+ });
67
+ export const NodePoolDescriptorSchema = NodePoolBaseSchema.extend({
68
+ /** Adapter-specific configuration, parsed by the adapter that owns it. */
69
+ config: NodePoolConfigSchema.optional()
70
+ });
71
+ class DefaultNodePoolImplementation {
72
+ descriptor;
73
+ context;
74
+ /** The descriptor as this kind's schema reads it. */
75
+ config;
76
+ constructor(descriptor, context) {
77
+ this.descriptor = descriptor;
78
+ this.context = context;
79
+ this.config = readKindDescriptor(NodePoolDescriptorSchema, descriptor);
80
+ }
81
+ }
82
+ export const nodePoolKind = createRuntimeKind({
83
+ id: 'infra/node-pool',
84
+ descriptorSchema: NodePoolDescriptorSchema,
85
+ defaultImplementation: DefaultNodePoolImplementation,
86
+ discoveryPatterns: INFRA_DISCOVERY_PATTERNS
87
+ });
88
+ //# sourceMappingURL=node-pool.kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-pool.kind.js","sourceRoot":"","sources":["../../src/kinds/node-pool.kind.ts"],"names":[],"mappings":"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"}
@@ -3,16 +3,21 @@
3
3
  *
4
4
  * Describes object/blob storage.
5
5
  *
6
- * Schema shape: strict common base + `config` discriminated union.
6
+ * Schema shape: strict common base + an open, adapter-keyed `config`.
7
7
  *
8
8
  * - The base defines fields universal across adapters: id/kind/name +
9
9
  * the storage shape (bucket, cors, lifecycle, publicAccess).
10
- * - Adapter-specific fields (region, acl, …) live under `config`.
11
- * Each adapter package defines its own concrete schema.
10
+ * - Adapter-specific fields (region, acl, …) live under `config`, keyed by
11
+ * a non-empty `adapter` discriminator. Each adapter package defines and
12
+ * parses its own concrete schema (DigitalOcean Spaces' lives in
13
+ * `@vibesdotdev/integrations-digitalocean`; Cloudflare R2's in
14
+ * `@vibesdotdev/integrations-cloudflare`); this kind names no provider,
15
+ * so a config for any adapter — including one contributed by a user
16
+ * plugin — parses here, and the adapter validates its own grammar.
12
17
  */
13
18
  import * as z from 'zod/v4';
14
- import type { RuntimeKindDescriptorRecord } from '@vibesdotdev/runtime/schemas/kind';
15
- import type { RuntimeDescriptor } from '@vibesdotdev/runtime/schemas/descriptor';
19
+ import type { RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
20
+ import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
16
21
  export declare const CorsRuleSchema: z.ZodObject<{
17
22
  allowedOrigins: z.ZodDefault<z.ZodArray<z.ZodString>>;
18
23
  allowedMethods: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -23,22 +28,34 @@ export type CorsRule = z.infer<typeof CorsRuleSchema>;
23
28
  export declare const LifecycleRuleSchema: z.ZodObject<{
24
29
  prefix: z.ZodOptional<z.ZodString>;
25
30
  expiration: z.ZodOptional<z.ZodNumber>;
31
+ abortIncompleteMultipartUploadDays: z.ZodOptional<z.ZodNumber>;
26
32
  transition: z.ZodOptional<z.ZodObject<{
27
33
  days: z.ZodNumber;
28
34
  storageClass: z.ZodString;
29
35
  }, z.core.$strip>>;
30
36
  }, z.core.$strip>;
31
37
  export type LifecycleRule = z.infer<typeof LifecycleRuleSchema>;
32
- export declare const DOSpacesConfigSchema: z.ZodObject<{
33
- region: z.ZodDefault<z.ZodString>;
38
+ /**
39
+ * Reference to a credential or secret materialized at apply time. The shape
40
+ * is intentionally permissive — full validation lives in the credentials
41
+ * runtime. Keeping it inline keeps this kind decoupled from runtime/secrets.
42
+ */
43
+ export declare const CredentialReferenceSchema: z.ZodObject<{
44
+ store: z.ZodOptional<z.ZodString>;
45
+ key: z.ZodString;
46
+ env: z.ZodOptional<z.ZodString>;
34
47
  }, z.core.$strip>;
35
- export declare const CloudflareR2ConfigSchema: z.ZodObject<{}, z.core.$strip>;
36
- export declare const ObjectStorageConfigSchema: z.ZodUnion<readonly [z.ZodObject<{
37
- region: z.ZodDefault<z.ZodString>;
38
- adapter: z.ZodLiteral<"do-spaces">;
39
- }, z.core.$strip>, z.ZodObject<{
40
- adapter: z.ZodLiteral<"cloudflare-r2">;
41
- }, z.core.$strip>]>;
48
+ export type CredentialReference = z.infer<typeof CredentialReferenceSchema>;
49
+ /**
50
+ * Adapter-specific configuration: the adapter id plus its own fields. Each
51
+ * adapter package defines and parses its own config schema; this kind names
52
+ * no provider, so a config for any adapter — including one contributed by a
53
+ * user plugin — parses here, and the adapter validates its own grammar.
54
+ */
55
+ export declare const ObjectStorageConfigSchema: z.ZodObject<{
56
+ adapter: z.ZodString;
57
+ }, z.core.$loose>;
58
+ export type ObjectStorageConfig = z.infer<typeof ObjectStorageConfigSchema>;
42
59
  export declare const ObjectStorageDescriptorSchema: z.ZodObject<{
43
60
  id: z.ZodString;
44
61
  name: z.ZodOptional<z.ZodString>;
@@ -47,8 +64,18 @@ export declare const ObjectStorageDescriptorSchema: z.ZodObject<{
47
64
  hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
48
65
  enabled: z.ZodOptional<z.ZodBoolean>;
49
66
  priority: z.ZodOptional<z.ZodNumber>;
67
+ capabilityId: z.ZodOptional<z.ZodString>;
50
68
  requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
51
69
  optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
70
+ retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
71
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
72
+ maxEntries: z.ZodOptional<z.ZodNumber>;
73
+ maxBytes: z.ZodOptional<z.ZodNumber>;
74
+ cascadeFrom: z.ZodOptional<z.ZodString>;
75
+ ageField: z.ZodOptional<z.ZodString>;
76
+ reason: z.ZodString;
77
+ enforcedBy: z.ZodOptional<z.ZodString>;
78
+ }, z.core.$strip>]>>;
52
79
  kind: z.ZodLiteral<"infra/object-storage">;
53
80
  bucket: z.ZodOptional<z.ZodString>;
54
81
  cors: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -60,26 +87,25 @@ export declare const ObjectStorageDescriptorSchema: z.ZodObject<{
60
87
  lifecycle: z.ZodOptional<z.ZodArray<z.ZodObject<{
61
88
  prefix: z.ZodOptional<z.ZodString>;
62
89
  expiration: z.ZodOptional<z.ZodNumber>;
90
+ abortIncompleteMultipartUploadDays: z.ZodOptional<z.ZodNumber>;
63
91
  transition: z.ZodOptional<z.ZodObject<{
64
92
  days: z.ZodNumber;
65
93
  storageClass: z.ZodString;
66
94
  }, z.core.$strip>>;
67
95
  }, z.core.$strip>>>;
68
96
  publicAccess: z.ZodOptional<z.ZodBoolean>;
69
- config: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
70
- region: z.ZodDefault<z.ZodString>;
71
- adapter: z.ZodLiteral<"do-spaces">;
72
- }, z.core.$strip>, z.ZodObject<{
73
- adapter: z.ZodLiteral<"cloudflare-r2">;
74
- }, z.core.$strip>]>>;
97
+ config: z.ZodOptional<z.ZodObject<{
98
+ adapter: z.ZodString;
99
+ }, z.core.$loose>>;
75
100
  }, z.core.$strip>;
76
101
  export type ObjectStorageDescriptor = z.infer<typeof ObjectStorageDescriptorSchema>;
77
102
  declare class DefaultObjectStorageImplementation {
78
103
  readonly descriptor: RuntimeDescriptor;
79
- readonly context: unknown;
80
- constructor(descriptor: RuntimeDescriptor, context: unknown);
81
- get config(): ObjectStorageDescriptor;
104
+ readonly context: KindContext;
105
+ /** The descriptor as this kind's schema reads it. */
106
+ readonly config: ObjectStorageDescriptor;
107
+ constructor(descriptor: RuntimeDescriptor, context: KindContext);
82
108
  }
83
- export declare const objectStorageKind: RuntimeKindDescriptorRecord<DefaultObjectStorageImplementation>;
109
+ export declare const objectStorageKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<DefaultObjectStorageImplementation>;
84
110
  export {};
85
111
  //# sourceMappingURL=object-storage.kind.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-storage.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/object-storage.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAErF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAGjF,eAAO,MAAM,cAAc;;;;;iBAKzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,mBAAmB;;;;;;;iBAY9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAkBhE,eAAO,MAAM,oBAAoB;;iBAG/B,CAAC;AAEH,eAAO,MAAM,wBAAwB,gCAAe,CAAC;AAErD,eAAO,MAAM,yBAAyB;;;;;mBAGpC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,cAAM,kCAAkC;aAEtB,UAAU,EAAE,iBAAiB;aAC7B,OAAO,EAAE,OAAO;gBADhB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,OAAO;IAGjC,IAAI,MAAM,IAAI,uBAAuB,CAEpC;CACD;AAED,eAAO,MAAM,iBAAiB,iEAS5B,CAAC"}
1
+ {"version":3,"file":"object-storage.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/object-storage.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAIpE,eAAO,MAAM,cAAc;;;;;iBAKzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,mBAAmB;;;;;;;;iBAiB9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAkB5E;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;iBAEpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,cAAM,kCAAkC;aAItB,UAAU,EAAE,iBAAiB;aAC7B,OAAO,EAAE,WAAW;IAJrC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;gBAExB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,WAAW;CAKrC;AAED,eAAO,MAAM,iBAAiB,+FAQ5B,CAAC"}