@vibesdotdev/integrations-digitalocean 0.0.0-stage → 1.0.0-rc.1

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 (323) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +78 -2
  3. package/dist/ai/index.d.ts +4 -0
  4. package/dist/ai/index.d.ts.map +1 -0
  5. package/dist/ai/index.js +4 -0
  6. package/dist/ai/index.js.map +1 -0
  7. package/dist/ai/inference.transport.impl.d.ts +5 -0
  8. package/dist/ai/inference.transport.impl.d.ts.map +1 -0
  9. package/dist/ai/inference.transport.impl.js +54 -0
  10. package/dist/ai/inference.transport.impl.js.map +1 -0
  11. package/dist/ai/provider.plugin.d.ts +6 -0
  12. package/dist/ai/provider.plugin.d.ts.map +1 -0
  13. package/dist/ai/provider.plugin.js +126 -0
  14. package/dist/ai/provider.plugin.js.map +1 -0
  15. package/dist/ai/providers/cloud/frontier/digitalocean/config/schemas/index.d.ts +62 -0
  16. package/dist/ai/providers/cloud/frontier/digitalocean/config/schemas/index.d.ts.map +1 -0
  17. package/dist/ai/providers/cloud/frontier/digitalocean/config/schemas/index.js +73 -0
  18. package/dist/ai/providers/cloud/frontier/digitalocean/config/schemas/index.js.map +1 -0
  19. package/dist/ai/providers/cloud/frontier/digitalocean/index.d.ts +2 -0
  20. package/dist/ai/providers/cloud/frontier/digitalocean/index.d.ts.map +1 -0
  21. package/dist/ai/providers/cloud/frontier/digitalocean/index.js +2 -0
  22. package/dist/ai/providers/cloud/frontier/digitalocean/index.js.map +1 -0
  23. package/dist/ai/providers/cloud/frontier/digitalocean/provider.digitalocean.descriptor.d.ts +183 -0
  24. package/dist/ai/providers/cloud/frontier/digitalocean/provider.digitalocean.descriptor.d.ts.map +1 -0
  25. package/dist/ai/providers/cloud/frontier/digitalocean/provider.digitalocean.descriptor.js +66 -0
  26. package/dist/ai/providers/cloud/frontier/digitalocean/provider.digitalocean.descriptor.js.map +1 -0
  27. package/dist/apps/api-client.d.ts +45 -0
  28. package/dist/apps/api-client.d.ts.map +1 -0
  29. package/dist/apps/api-client.js +47 -0
  30. package/dist/apps/api-client.js.map +1 -0
  31. package/dist/apps/build-spec.d.ts +44 -0
  32. package/dist/apps/build-spec.d.ts.map +1 -0
  33. package/dist/apps/build-spec.js +463 -0
  34. package/dist/apps/build-spec.js.map +1 -0
  35. package/dist/apps/deploy-client.d.ts +42 -0
  36. package/dist/apps/deploy-client.d.ts.map +1 -0
  37. package/dist/apps/deploy-client.js +300 -0
  38. package/dist/apps/deploy-client.js.map +1 -0
  39. package/dist/apps/index.d.ts +5 -0
  40. package/dist/apps/index.d.ts.map +1 -0
  41. package/dist/apps/index.js +4 -0
  42. package/dist/apps/index.js.map +1 -0
  43. package/dist/apps/types.d.ts +204 -0
  44. package/dist/apps/types.d.ts.map +1 -0
  45. package/dist/apps/types.js +13 -0
  46. package/dist/apps/types.js.map +1 -0
  47. package/dist/client/control-plane.d.ts +49 -0
  48. package/dist/client/control-plane.d.ts.map +1 -0
  49. package/dist/client/control-plane.js +85 -0
  50. package/dist/client/control-plane.js.map +1 -0
  51. package/dist/client/do-fetch.d.ts +41 -0
  52. package/dist/client/do-fetch.d.ts.map +1 -0
  53. package/dist/client/do-fetch.js +199 -0
  54. package/dist/client/do-fetch.js.map +1 -0
  55. package/dist/client/errors.d.ts +6 -0
  56. package/dist/client/errors.d.ts.map +1 -0
  57. package/dist/client/errors.js +34 -0
  58. package/dist/client/errors.js.map +1 -0
  59. package/dist/client/factory.d.ts +53 -0
  60. package/dist/client/factory.d.ts.map +1 -0
  61. package/dist/client/factory.js +220 -0
  62. package/dist/client/factory.js.map +1 -0
  63. package/dist/client/helpers.d.ts +5 -0
  64. package/dist/client/helpers.d.ts.map +1 -0
  65. package/dist/client/helpers.js +8 -0
  66. package/dist/client/helpers.js.map +1 -0
  67. package/dist/client/index.d.ts +12 -0
  68. package/dist/client/index.d.ts.map +1 -0
  69. package/dist/client/index.js +10 -0
  70. package/dist/client/index.js.map +1 -0
  71. package/dist/client/paginated.d.ts +19 -0
  72. package/dist/client/paginated.d.ts.map +1 -0
  73. package/dist/client/paginated.js +56 -0
  74. package/dist/client/paginated.js.map +1 -0
  75. package/dist/client/retry.d.ts +34 -0
  76. package/dist/client/retry.d.ts.map +1 -0
  77. package/dist/client/retry.js +53 -0
  78. package/dist/client/retry.js.map +1 -0
  79. package/dist/config/digitalocean.config.descriptor.d.ts +197 -0
  80. package/dist/config/digitalocean.config.descriptor.d.ts.map +1 -0
  81. package/dist/config/digitalocean.config.descriptor.js +59 -0
  82. package/dist/config/digitalocean.config.descriptor.js.map +1 -0
  83. package/dist/credentials/index.d.ts +38 -0
  84. package/dist/credentials/index.d.ts.map +1 -0
  85. package/dist/credentials/index.js +56 -0
  86. package/dist/credentials/index.js.map +1 -0
  87. package/dist/databases/index.d.ts +82 -0
  88. package/dist/databases/index.d.ts.map +1 -0
  89. package/dist/databases/index.js +57 -0
  90. package/dist/databases/index.js.map +1 -0
  91. package/dist/digitalocean-friction.policy.d.ts +29 -0
  92. package/dist/digitalocean-friction.policy.d.ts.map +1 -0
  93. package/dist/digitalocean-friction.policy.js +21 -0
  94. package/dist/digitalocean-friction.policy.js.map +1 -0
  95. package/dist/digitalocean.plugin.d.ts +3 -0
  96. package/dist/digitalocean.plugin.d.ts.map +1 -0
  97. package/dist/digitalocean.plugin.js +27 -0
  98. package/dist/digitalocean.plugin.js.map +1 -0
  99. package/dist/droplets/index.d.ts +106 -0
  100. package/dist/droplets/index.d.ts.map +1 -0
  101. package/dist/droplets/index.js +227 -0
  102. package/dist/droplets/index.js.map +1 -0
  103. package/dist/index.d.ts +35 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +32 -0
  106. package/dist/index.js.map +1 -0
  107. package/dist/inference-control-plane/index.d.ts +63 -0
  108. package/dist/inference-control-plane/index.d.ts.map +1 -0
  109. package/dist/inference-control-plane/index.js +93 -0
  110. package/dist/inference-control-plane/index.js.map +1 -0
  111. package/dist/infra/billing.d.ts +26 -0
  112. package/dist/infra/billing.d.ts.map +1 -0
  113. package/dist/infra/billing.js +43 -0
  114. package/dist/infra/billing.js.map +1 -0
  115. package/dist/infra/credentials.d.ts +11 -0
  116. package/dist/infra/credentials.d.ts.map +1 -0
  117. package/dist/infra/credentials.js +15 -0
  118. package/dist/infra/credentials.js.map +1 -0
  119. package/dist/infra/deployment-provider/deploy-secrets.d.ts +10 -0
  120. package/dist/infra/deployment-provider/deploy-secrets.d.ts.map +1 -0
  121. package/dist/infra/deployment-provider/deploy-secrets.js +66 -0
  122. package/dist/infra/deployment-provider/deploy-secrets.js.map +1 -0
  123. package/dist/infra/deployment-provider/digitalocean-deployment-provider.impl.d.ts +96 -0
  124. package/dist/infra/deployment-provider/digitalocean-deployment-provider.impl.d.ts.map +1 -0
  125. package/dist/infra/deployment-provider/digitalocean-deployment-provider.impl.js +242 -0
  126. package/dist/infra/deployment-provider/digitalocean-deployment-provider.impl.js.map +1 -0
  127. package/dist/infra/deployment-provider/image-publish.d.ts +39 -0
  128. package/dist/infra/deployment-provider/image-publish.d.ts.map +1 -0
  129. package/dist/infra/deployment-provider/image-publish.js +146 -0
  130. package/dist/infra/deployment-provider/image-publish.js.map +1 -0
  131. package/dist/infra/deployment-provider.descriptor.d.ts +34 -0
  132. package/dist/infra/deployment-provider.descriptor.d.ts.map +1 -0
  133. package/dist/infra/deployment-provider.descriptor.js +9 -0
  134. package/dist/infra/deployment-provider.descriptor.js.map +1 -0
  135. package/dist/infra/digitalocean-infra.plugin.d.ts +101 -0
  136. package/dist/infra/digitalocean-infra.plugin.d.ts.map +1 -0
  137. package/dist/infra/digitalocean-infra.plugin.js +283 -0
  138. package/dist/infra/digitalocean-infra.plugin.js.map +1 -0
  139. package/dist/infra/doks/clients.d.ts +183 -0
  140. package/dist/infra/doks/clients.d.ts.map +1 -0
  141. package/dist/infra/doks/clients.js +172 -0
  142. package/dist/infra/doks/clients.js.map +1 -0
  143. package/dist/infra/doks/digitalocean.d.ts +34 -0
  144. package/dist/infra/doks/digitalocean.d.ts.map +1 -0
  145. package/dist/infra/doks/digitalocean.js +267 -0
  146. package/dist/infra/doks/digitalocean.js.map +1 -0
  147. package/dist/infra/doks/service-release-schemas.d.ts +1037 -0
  148. package/dist/infra/doks/service-release-schemas.d.ts.map +1 -0
  149. package/dist/infra/doks/service-release-schemas.js +51 -0
  150. package/dist/infra/doks/service-release-schemas.js.map +1 -0
  151. package/dist/infra/doks/service-release.d.ts +415 -0
  152. package/dist/infra/doks/service-release.d.ts.map +1 -0
  153. package/dist/infra/doks/service-release.js +3201 -0
  154. package/dist/infra/doks/service-release.js.map +1 -0
  155. package/dist/infra/doks/worker.d.ts +14 -0
  156. package/dist/infra/doks/worker.d.ts.map +1 -0
  157. package/dist/infra/doks/worker.js +343 -0
  158. package/dist/infra/doks/worker.js.map +1 -0
  159. package/dist/infra/droplet.impl.d.ts +172 -0
  160. package/dist/infra/droplet.impl.d.ts.map +1 -0
  161. package/dist/infra/droplet.impl.js +379 -0
  162. package/dist/infra/droplet.impl.js.map +1 -0
  163. package/dist/infra/functions.impl.d.ts +123 -0
  164. package/dist/infra/functions.impl.d.ts.map +1 -0
  165. package/dist/infra/functions.impl.js +202 -0
  166. package/dist/infra/functions.impl.js.map +1 -0
  167. package/dist/infra/index.d.ts +15 -0
  168. package/dist/infra/index.d.ts.map +1 -0
  169. package/dist/infra/index.js +12 -0
  170. package/dist/infra/index.js.map +1 -0
  171. package/dist/infra/inventory.d.ts +7 -0
  172. package/dist/infra/inventory.d.ts.map +1 -0
  173. package/dist/infra/inventory.js +259 -0
  174. package/dist/infra/inventory.js.map +1 -0
  175. package/dist/infra/kubernetes-log-stream.d.ts +5 -0
  176. package/dist/infra/kubernetes-log-stream.d.ts.map +1 -0
  177. package/dist/infra/kubernetes-log-stream.js +186 -0
  178. package/dist/infra/kubernetes-log-stream.js.map +1 -0
  179. package/dist/infra/kubernetes-logs.d.ts +33 -0
  180. package/dist/infra/kubernetes-logs.d.ts.map +1 -0
  181. package/dist/infra/kubernetes-logs.descriptor.d.ts +14 -0
  182. package/dist/infra/kubernetes-logs.descriptor.d.ts.map +1 -0
  183. package/dist/infra/kubernetes-logs.descriptor.js +28 -0
  184. package/dist/infra/kubernetes-logs.descriptor.js.map +1 -0
  185. package/dist/infra/kubernetes-logs.js +196 -0
  186. package/dist/infra/kubernetes-logs.js.map +1 -0
  187. package/dist/infra/utilization.d.ts +44 -0
  188. package/dist/infra/utilization.d.ts.map +1 -0
  189. package/dist/infra/utilization.js +108 -0
  190. package/dist/infra/utilization.js.map +1 -0
  191. package/dist/kubernetes/authority.d.ts +40 -0
  192. package/dist/kubernetes/authority.d.ts.map +1 -0
  193. package/dist/kubernetes/authority.js +90 -0
  194. package/dist/kubernetes/authority.js.map +1 -0
  195. package/dist/kubernetes/encoding.d.ts +4 -0
  196. package/dist/kubernetes/encoding.d.ts.map +1 -0
  197. package/dist/kubernetes/encoding.js +8 -0
  198. package/dist/kubernetes/encoding.js.map +1 -0
  199. package/dist/kubernetes/index.d.ts +105 -0
  200. package/dist/kubernetes/index.d.ts.map +1 -0
  201. package/dist/kubernetes/index.js +99 -0
  202. package/dist/kubernetes/index.js.map +1 -0
  203. package/dist/kubernetes/transport.d.ts +11 -0
  204. package/dist/kubernetes/transport.d.ts.map +1 -0
  205. package/dist/kubernetes/transport.js +27 -0
  206. package/dist/kubernetes/transport.js.map +1 -0
  207. package/dist/network/index.d.ts +24 -0
  208. package/dist/network/index.d.ts.map +1 -0
  209. package/dist/network/index.js +16 -0
  210. package/dist/network/index.js.map +1 -0
  211. package/dist/registry/index.d.ts +39 -0
  212. package/dist/registry/index.d.ts.map +1 -0
  213. package/dist/registry/index.js +20 -0
  214. package/dist/registry/index.js.map +1 -0
  215. package/dist/schemas/app-deployment.d.ts +1472 -0
  216. package/dist/schemas/app-deployment.d.ts.map +1 -0
  217. package/dist/schemas/app-deployment.js +156 -0
  218. package/dist/schemas/app-deployment.js.map +1 -0
  219. package/dist/schemas/app-platform.d.ts +755 -0
  220. package/dist/schemas/app-platform.d.ts.map +1 -0
  221. package/dist/schemas/app-platform.js +253 -0
  222. package/dist/schemas/app-platform.js.map +1 -0
  223. package/dist/schemas/cache-database.d.ts +210 -0
  224. package/dist/schemas/cache-database.d.ts.map +1 -0
  225. package/dist/schemas/cache-database.js +105 -0
  226. package/dist/schemas/cache-database.js.map +1 -0
  227. package/dist/schemas/control-plane.d.ts +456 -0
  228. package/dist/schemas/control-plane.d.ts.map +1 -0
  229. package/dist/schemas/control-plane.js +123 -0
  230. package/dist/schemas/control-plane.js.map +1 -0
  231. package/dist/schemas/credential-use.d.ts +714 -0
  232. package/dist/schemas/credential-use.d.ts.map +1 -0
  233. package/dist/schemas/credential-use.js +73 -0
  234. package/dist/schemas/credential-use.js.map +1 -0
  235. package/dist/schemas/doks-worker.d.ts +4062 -0
  236. package/dist/schemas/doks-worker.d.ts.map +1 -0
  237. package/dist/schemas/doks-worker.js +330 -0
  238. package/dist/schemas/doks-worker.js.map +1 -0
  239. package/dist/schemas/droplet.d.ts +110 -0
  240. package/dist/schemas/droplet.d.ts.map +1 -0
  241. package/dist/schemas/droplet.js +22 -0
  242. package/dist/schemas/droplet.js.map +1 -0
  243. package/dist/schemas/functions.d.ts +22 -0
  244. package/dist/schemas/functions.d.ts.map +1 -0
  245. package/dist/schemas/functions.js +25 -0
  246. package/dist/schemas/functions.js.map +1 -0
  247. package/dist/schemas/gitea-git-hosting.d.ts +20 -0
  248. package/dist/schemas/gitea-git-hosting.d.ts.map +1 -0
  249. package/dist/schemas/gitea-git-hosting.js +26 -0
  250. package/dist/schemas/gitea-git-hosting.js.map +1 -0
  251. package/dist/schemas/http.d.ts +2594 -0
  252. package/dist/schemas/http.d.ts.map +1 -0
  253. package/dist/schemas/http.js +4548 -0
  254. package/dist/schemas/http.js.map +1 -0
  255. package/dist/schemas/infra-kinds.d.ts +113 -0
  256. package/dist/schemas/infra-kinds.d.ts.map +1 -0
  257. package/dist/schemas/infra-kinds.js +93 -0
  258. package/dist/schemas/infra-kinds.js.map +1 -0
  259. package/dist/schemas/kubernetes-responses.d.ts +457 -0
  260. package/dist/schemas/kubernetes-responses.d.ts.map +1 -0
  261. package/dist/schemas/kubernetes-responses.js +681 -0
  262. package/dist/schemas/kubernetes-responses.js.map +1 -0
  263. package/dist/schemas/kubernetes.d.ts +143 -0
  264. package/dist/schemas/kubernetes.d.ts.map +1 -0
  265. package/dist/schemas/kubernetes.js +68 -0
  266. package/dist/schemas/kubernetes.js.map +1 -0
  267. package/dist/schemas/logs.d.ts +15 -0
  268. package/dist/schemas/logs.d.ts.map +1 -0
  269. package/dist/schemas/logs.js +11 -0
  270. package/dist/schemas/logs.js.map +1 -0
  271. package/dist/schemas/object-storage.d.ts +167 -0
  272. package/dist/schemas/object-storage.d.ts.map +1 -0
  273. package/dist/schemas/object-storage.js +124 -0
  274. package/dist/schemas/object-storage.js.map +1 -0
  275. package/dist/schemas/service-settings.d.ts +9 -0
  276. package/dist/schemas/service-settings.d.ts.map +1 -0
  277. package/dist/schemas/service-settings.js +21 -0
  278. package/dist/schemas/service-settings.js.map +1 -0
  279. package/dist/schemas/utilization.d.ts +57 -0
  280. package/dist/schemas/utilization.d.ts.map +1 -0
  281. package/dist/schemas/utilization.js +58 -0
  282. package/dist/schemas/utilization.js.map +1 -0
  283. package/dist/schemas/worker-status.d.ts +22 -0
  284. package/dist/schemas/worker-status.d.ts.map +1 -0
  285. package/dist/schemas/worker-status.js +14 -0
  286. package/dist/schemas/worker-status.js.map +1 -0
  287. package/dist/schemas/worker.d.ts +125 -0
  288. package/dist/schemas/worker.d.ts.map +1 -0
  289. package/dist/schemas/worker.js +129 -0
  290. package/dist/schemas/worker.js.map +1 -0
  291. package/dist/secrets/app-platform/app-credentials.impl.d.ts +14 -0
  292. package/dist/secrets/app-platform/app-credentials.impl.d.ts.map +1 -0
  293. package/dist/secrets/app-platform/app-credentials.impl.js +237 -0
  294. package/dist/secrets/app-platform/app-credentials.impl.js.map +1 -0
  295. package/dist/secrets/container-registry/image-publish-settings.descriptor.d.ts +6 -0
  296. package/dist/secrets/container-registry/image-publish-settings.descriptor.d.ts.map +1 -0
  297. package/dist/secrets/container-registry/image-publish-settings.descriptor.js +14 -0
  298. package/dist/secrets/container-registry/image-publish-settings.descriptor.js.map +1 -0
  299. package/dist/secrets/doks-secret.descriptor.d.ts +18 -0
  300. package/dist/secrets/doks-secret.descriptor.d.ts.map +1 -0
  301. package/dist/secrets/doks-secret.descriptor.js +35 -0
  302. package/dist/secrets/doks-secret.descriptor.js.map +1 -0
  303. package/dist/secrets/doks-secret.impl.d.ts +98 -0
  304. package/dist/secrets/doks-secret.impl.d.ts.map +1 -0
  305. package/dist/secrets/doks-secret.impl.js +451 -0
  306. package/dist/secrets/doks-secret.impl.js.map +1 -0
  307. package/dist/secrets/index.d.ts +4 -0
  308. package/dist/secrets/index.d.ts.map +1 -0
  309. package/dist/secrets/index.js +4 -0
  310. package/dist/secrets/index.js.map +1 -0
  311. package/dist/secrets/secrets-backend-doks.plugin.d.ts +3 -0
  312. package/dist/secrets/secrets-backend-doks.plugin.d.ts.map +1 -0
  313. package/dist/secrets/secrets-backend-doks.plugin.js +35 -0
  314. package/dist/secrets/secrets-backend-doks.plugin.js.map +1 -0
  315. package/dist/storage/index.d.ts +50 -0
  316. package/dist/storage/index.d.ts.map +1 -0
  317. package/dist/storage/index.js +92 -0
  318. package/dist/storage/index.js.map +1 -0
  319. package/dist/storage/spaces-keys.d.ts +25 -0
  320. package/dist/storage/spaces-keys.d.ts.map +1 -0
  321. package/dist/storage/spaces-keys.js +32 -0
  322. package/dist/storage/spaces-keys.js.map +1 -0
  323. package/package.json +172 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-settings.js","sourceRoot":"","sources":["../../src/schemas/service-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,GAAG,CAAC;KACd,GAAG,EAAE;KACL,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IACjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,CACN,GAAG,CAAC,QAAQ,KAAK,QAAQ;QACzB,CAAC,GAAG,CAAC,QAAQ;QACb,CAAC,GAAG,CAAC,QAAQ;QACb,GAAG,CAAC,QAAQ,KAAK,GAAG;QACpB,CAAC,GAAG,CAAC,MAAM;QACX,CAAC,GAAG,CAAC,IAAI,CACT,CAAC;AACH,CAAC,CAAC;KACD,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE;IACrC,qBAAqB,EAAE,MAAM,CAAC,QAAQ,EAAE;IACxC,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAC/C,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CACxD,CAAC"}
@@ -0,0 +1,57 @@
1
+ import * as z from 'zod/v4';
2
+ export declare const UtilizationDropletsSchema: z.ZodObject<{
3
+ droplets: z.ZodArray<z.ZodObject<{
4
+ id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
5
+ name: z.ZodString;
6
+ }, z.core.$loose>>;
7
+ }, z.core.$loose>;
8
+ export declare const UtilizationClustersSchema: z.ZodObject<{
9
+ kubernetes_clusters: z.ZodArray<z.ZodObject<{
10
+ node_pools: z.ZodOptional<z.ZodArray<z.ZodObject<{
11
+ name: z.ZodString;
12
+ auto_scale: z.ZodOptional<z.ZodBoolean>;
13
+ nodes: z.ZodOptional<z.ZodArray<z.ZodObject<{
14
+ droplet_id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
15
+ }, z.core.$loose>>>;
16
+ }, z.core.$loose>>>;
17
+ }, z.core.$loose>>;
18
+ }, z.core.$loose>;
19
+ export declare const UtilizationAppsSchema: z.ZodObject<{
20
+ apps: z.ZodArray<z.ZodObject<{
21
+ id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
22
+ spec: z.ZodOptional<z.ZodObject<{
23
+ name: z.ZodOptional<z.ZodString>;
24
+ services: z.ZodOptional<z.ZodArray<z.ZodObject<{
25
+ name: z.ZodString;
26
+ instance_size_slug: z.ZodOptional<z.ZodString>;
27
+ instance_count: z.ZodOptional<z.ZodNumber>;
28
+ autoscaling: z.ZodOptional<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>>>;
29
+ }, z.core.$loose>>>;
30
+ workers: z.ZodOptional<z.ZodArray<z.ZodObject<{
31
+ name: z.ZodString;
32
+ instance_size_slug: z.ZodOptional<z.ZodString>;
33
+ instance_count: z.ZodOptional<z.ZodNumber>;
34
+ autoscaling: z.ZodOptional<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
+ }, z.core.$loose>>>;
36
+ jobs: z.ZodOptional<z.ZodArray<z.ZodObject<{
37
+ name: z.ZodString;
38
+ instance_size_slug: z.ZodOptional<z.ZodString>;
39
+ instance_count: z.ZodOptional<z.ZodNumber>;
40
+ autoscaling: z.ZodOptional<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>>>;
41
+ }, z.core.$loose>>>;
42
+ static_sites: z.ZodOptional<z.ZodArray<z.ZodObject<{
43
+ name: z.ZodString;
44
+ instance_size_slug: z.ZodOptional<z.ZodString>;
45
+ instance_count: z.ZodOptional<z.ZodNumber>;
46
+ autoscaling: z.ZodOptional<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>>>;
47
+ }, z.core.$loose>>>;
48
+ functions: z.ZodOptional<z.ZodArray<z.ZodObject<{
49
+ name: z.ZodString;
50
+ instance_size_slug: z.ZodOptional<z.ZodString>;
51
+ instance_count: z.ZodOptional<z.ZodNumber>;
52
+ autoscaling: z.ZodOptional<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>>>;
53
+ }, z.core.$loose>>>;
54
+ }, z.core.$strip>>;
55
+ }, z.core.$loose>>;
56
+ }, z.core.$loose>;
57
+ //# sourceMappingURL=utilization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilization.d.ts","sourceRoot":"","sources":["../../src/schemas/utilization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAI5B,eAAO,MAAM,yBAAyB;;;;;iBAWvB,CAAC;AAEhB,eAAO,MAAM,yBAAyB;;;;;;;;;;iBAoBvB,CAAC;AAUhB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoBnB,CAAC"}
@@ -0,0 +1,58 @@
1
+ import * as z from 'zod/v4';
2
+ import { JsonValueSchema } from '@vibesdotdev/kernel/schemas/json';
3
+ const providerId = z.union([z.string(), z.number()]);
4
+ export const UtilizationDropletsSchema = z
5
+ .object({
6
+ droplets: z.array(z
7
+ .object({
8
+ id: providerId,
9
+ name: z.string()
10
+ })
11
+ .passthrough())
12
+ })
13
+ .passthrough();
14
+ export const UtilizationClustersSchema = z
15
+ .object({
16
+ kubernetes_clusters: z.array(z
17
+ .object({
18
+ node_pools: z
19
+ .array(z
20
+ .object({
21
+ name: z.string(),
22
+ auto_scale: z.boolean().optional(),
23
+ nodes: z.array(z.object({ droplet_id: providerId }).passthrough()).optional()
24
+ })
25
+ .passthrough())
26
+ .optional()
27
+ })
28
+ .passthrough())
29
+ })
30
+ .passthrough();
31
+ const component = z
32
+ .object({
33
+ name: z.string(),
34
+ instance_size_slug: z.string().optional(),
35
+ instance_count: z.number().optional(),
36
+ autoscaling: JsonValueSchema.optional()
37
+ })
38
+ .passthrough();
39
+ export const UtilizationAppsSchema = z
40
+ .object({
41
+ apps: z.array(z
42
+ .object({
43
+ id: providerId.optional(),
44
+ spec: z
45
+ .object({
46
+ name: z.string().optional(),
47
+ services: z.array(component).optional(),
48
+ workers: z.array(component).optional(),
49
+ jobs: z.array(component).optional(),
50
+ static_sites: z.array(component).optional(),
51
+ functions: z.array(component).optional()
52
+ })
53
+ .optional()
54
+ })
55
+ .passthrough())
56
+ })
57
+ .passthrough();
58
+ //# sourceMappingURL=utilization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilization.js","sourceRoot":"","sources":["../../src/schemas/utilization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACxC,MAAM,CAAC;IACP,QAAQ,EAAE,CAAC,CAAC,KAAK,CAChB,CAAC;SACC,MAAM,CAAC;QACP,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KAChB,CAAC;SACD,WAAW,EAAE,CACf;CACD,CAAC;KACD,WAAW,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACxC,MAAM,CAAC;IACP,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAC3B,CAAC;SACC,MAAM,CAAC;QACP,UAAU,EAAE,CAAC;aACX,KAAK,CACL,CAAC;aACC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAClC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE;SAC7E,CAAC;aACD,WAAW,EAAE,CACf;aACA,QAAQ,EAAE;KACZ,CAAC;SACD,WAAW,EAAE,CACf;CACD,CAAC;KACD,WAAW,EAAE,CAAC;AAEhB,MAAM,SAAS,GAAG,CAAC;KACjB,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE;CACvC,CAAC;KACD,WAAW,EAAE,CAAC;AAChB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACpC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC;SACC,MAAM,CAAC;QACP,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE;QACzB,IAAI,EAAE,CAAC;aACL,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;YACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;YACtC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;YACnC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;YAC3C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;SACxC,CAAC;aACD,QAAQ,EAAE;KACZ,CAAC;SACD,WAAW,EAAE,CACf;CACD,CAAC;KACD,WAAW,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The bounded status a DOKS worker execution reports. It carries value-free
3
+ * facts only: state, a bounded reason token, the worker id and the operation.
4
+ */
5
+ import * as z from 'zod/v4';
6
+ import { CapabilityError } from '@vibesdotdev/kernel';
7
+ export declare const DigitalOceanDoksWorkerStatusSchema: z.ZodObject<{
8
+ errors: z.ZodOptional<z.ZodArray<z.ZodInstanceOf<CapabilityError>>>;
9
+ state: z.ZodEnum<{
10
+ failed: "failed";
11
+ pending: "pending";
12
+ succeeded: "succeeded";
13
+ }>;
14
+ reason: z.ZodString;
15
+ worker: z.ZodString;
16
+ operation: z.ZodEnum<{
17
+ build: "build";
18
+ apply: "apply";
19
+ }>;
20
+ }, z.core.$strict>;
21
+ export type DigitalOceanDoksWorkerStatus = z.infer<typeof DigitalOceanDoksWorkerStatusSchema>;
22
+ //# sourceMappingURL=worker-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-status.d.ts","sourceRoot":"","sources":["../../src/schemas/worker-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;kBAM7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The bounded status a DOKS worker execution reports. It carries value-free
3
+ * facts only: state, a bounded reason token, the worker id and the operation.
4
+ */
5
+ import * as z from 'zod/v4';
6
+ import { CapabilityError } from '@vibesdotdev/kernel';
7
+ export const DigitalOceanDoksWorkerStatusSchema = z.strictObject({
8
+ errors: z.array(z.instanceof(CapabilityError)).optional(),
9
+ state: z.enum(['pending', 'succeeded', 'failed']),
10
+ reason: z.string().min(1),
11
+ worker: z.string().min(1),
12
+ operation: z.enum(['build', 'apply'])
13
+ });
14
+ //# sourceMappingURL=worker-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-status.js","sourceRoot":"","sources":["../../src/schemas/worker-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,YAAY,CAAC;IAChE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC,CAAC"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Vendor config schemas for the `infra/worker` kind as DigitalOcean's
3
+ * integrations implement it. Moved verbatim from infra-core (which now
4
+ * keeps only the open, adapter-keyed descriptor config); behavior is
5
+ * preserved and these are the canonical owners from here on.
6
+ */
7
+ import * as z from 'zod/v4';
8
+ export declare const DoksImmutableImageSchema: z.ZodString;
9
+ export declare const DoksDeploymentWorkerConfigSchema: z.ZodObject<{
10
+ cluster: z.ZodOptional<z.ZodObject<{
11
+ id: z.ZodOptional<z.ZodString>;
12
+ name: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>>;
14
+ namespace: z.ZodString;
15
+ image: z.ZodOptional<z.ZodString>;
16
+ build: z.ZodOptional<z.ZodObject<{
17
+ repositoryUrl: z.ZodString;
18
+ contextPath: z.ZodDefault<z.ZodString>;
19
+ dockerfile: z.ZodDefault<z.ZodString>;
20
+ destinationRepository: z.ZodString;
21
+ builderImage: z.ZodString;
22
+ serviceAccountName: z.ZodString;
23
+ sourceCredential: z.ZodObject<{
24
+ secretName: z.ZodString;
25
+ key: z.ZodString;
26
+ broker: z.ZodObject<{
27
+ repositoryId: z.ZodUUID;
28
+ authority: z.ZodObject<{
29
+ store: z.ZodOptional<z.ZodString>;
30
+ key: z.ZodString;
31
+ env: z.ZodOptional<z.ZodString>;
32
+ }, z.core.$strip>;
33
+ }, z.core.$strip>;
34
+ }, z.core.$strip>;
35
+ registryCredential: z.ZodObject<{
36
+ secretName: z.ZodString;
37
+ key: z.ZodLiteral<"config.json">;
38
+ provider: z.ZodLiteral<"digitalocean">;
39
+ expirySeconds: z.ZodDefault<z.ZodNumber>;
40
+ }, z.core.$strip>;
41
+ packageCredential: z.ZodOptional<z.ZodObject<{
42
+ secretName: z.ZodString;
43
+ key: z.ZodDefault<z.ZodEnum<{
44
+ ".npmrc": ".npmrc";
45
+ ".bunfig.toml": ".bunfig.toml";
46
+ }>>;
47
+ mountPath: z.ZodDefault<z.ZodString>;
48
+ authority: z.ZodObject<{
49
+ store: z.ZodOptional<z.ZodString>;
50
+ key: z.ZodString;
51
+ env: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$strip>;
53
+ }, z.core.$strip>>;
54
+ }, z.core.$strip>>;
55
+ healthPort: z.ZodDefault<z.ZodNumber>;
56
+ healthPath: z.ZodDefault<z.ZodString>;
57
+ readyPath: z.ZodDefault<z.ZodString>;
58
+ serviceAccountName: z.ZodString;
59
+ resources: z.ZodOptional<z.ZodObject<{
60
+ requests: z.ZodObject<{
61
+ cpu: z.ZodString;
62
+ memory: z.ZodString;
63
+ }, z.core.$strip>;
64
+ limits: z.ZodObject<{
65
+ cpu: z.ZodString;
66
+ memory: z.ZodString;
67
+ }, z.core.$strip>;
68
+ }, z.core.$strip>>;
69
+ shutdown: z.ZodOptional<z.ZodObject<{
70
+ gracePeriodSeconds: z.ZodDefault<z.ZodNumber>;
71
+ preStopDelaySeconds: z.ZodDefault<z.ZodNumber>;
72
+ terminationMessage: z.ZodDefault<z.ZodString>;
73
+ }, z.core.$strip>>;
74
+ disruption: z.ZodDefault<z.ZodObject<{
75
+ minAvailable: z.ZodDefault<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
76
+ }, z.core.$strip>>;
77
+ nodeSelector: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
78
+ tolerations: z.ZodOptional<z.ZodArray<z.ZodObject<{
79
+ key: z.ZodOptional<z.ZodString>;
80
+ operator: z.ZodOptional<z.ZodEnum<{
81
+ Exists: "Exists";
82
+ Equal: "Equal";
83
+ }>>;
84
+ value: z.ZodOptional<z.ZodString>;
85
+ effect: z.ZodOptional<z.ZodEnum<{
86
+ NoSchedule: "NoSchedule";
87
+ PreferNoSchedule: "PreferNoSchedule";
88
+ NoExecute: "NoExecute";
89
+ }>>;
90
+ }, z.core.$strip>>>;
91
+ imagePullSecrets: z.ZodArray<z.ZodObject<{
92
+ name: z.ZodString;
93
+ }, z.core.$strip>>;
94
+ }, z.core.$strip>;
95
+ /**
96
+ * DigitalOcean App Platform Functions adapter.
97
+ *
98
+ * Functions are still modeled as `infra/worker` per the roadmap — they are
99
+ * event/HTTP-triggered code with no long-lived process surface, but the
100
+ * descriptor shape (entrypoint, env, scaling) matches the worker kind.
101
+ * The reconciler in `src/infra/functions.impl.ts`
102
+ * resolves this config and creates/updates a DO App with a `functions[]`
103
+ * component (or a Functions namespace package, depending on `mode`).
104
+ */
105
+ export declare const DigitalOceanFunctionsWorkerConfigSchema: z.ZodObject<{
106
+ namespace: z.ZodOptional<z.ZodString>;
107
+ mode: z.ZodDefault<z.ZodEnum<{
108
+ namespace: "namespace";
109
+ "app-platform": "app-platform";
110
+ }>>;
111
+ region: z.ZodOptional<z.ZodString>;
112
+ appName: z.ZodOptional<z.ZodString>;
113
+ sourceDir: z.ZodOptional<z.ZodString>;
114
+ github: z.ZodOptional<z.ZodObject<{
115
+ repo: z.ZodString;
116
+ branch: z.ZodDefault<z.ZodString>;
117
+ deployOnPush: z.ZodDefault<z.ZodBoolean>;
118
+ }, z.core.$strip>>;
119
+ environmentSlug: z.ZodOptional<z.ZodString>;
120
+ label: z.ZodOptional<z.ZodString>;
121
+ memoryMb: z.ZodOptional<z.ZodNumber>;
122
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
123
+ }, z.core.$strip>;
124
+ export type DigitalOceanFunctionsWorkerConfig = z.infer<typeof DigitalOceanFunctionsWorkerConfigSchema>;
125
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/schemas/worker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAa5B,eAAO,MAAM,wBAAwB,aAA6E,CAAC;AAEnH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuE3C,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;iBA2BlD,CAAC;AACH,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,uCAAuC,CAC9C,CAAC"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Vendor config schemas for the `infra/worker` kind as DigitalOcean's
3
+ * integrations implement it. Moved verbatim from infra-core (which now
4
+ * keeps only the open, adapter-keyed descriptor config); behavior is
5
+ * preserved and these are the canonical owners from here on.
6
+ */
7
+ import * as z from 'zod/v4';
8
+ import { CredentialReferenceSchema } from '@vibesdotdev/infra-core/kinds';
9
+ /** Kubernetes toleration shape, mirroring the neutral kind's field contract. */
10
+ const KubernetesTolerationSchema = z.object({
11
+ key: z.string().min(1).optional(),
12
+ operator: z.enum(['Exists', 'Equal']).optional(),
13
+ value: z.string().optional(),
14
+ effect: z.enum(['NoSchedule', 'PreferNoSchedule', 'NoExecute']).optional()
15
+ });
16
+ const KubernetesNameSchema = z.string().regex(/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/);
17
+ const KubernetesSecretKeySchema = z.string().regex(/^[-._a-zA-Z0-9]+$/);
18
+ export const DoksImmutableImageSchema = z.string().regex(/^(?:[^\s@]+:[a-f0-9]{40}|[^\s@]+@sha256:[a-f0-9]{64})$/);
19
+ export const DoksDeploymentWorkerConfigSchema = z.object({
20
+ /** Target DOKS cluster. Exactly one stable id or cluster name is required. */
21
+ cluster: z
22
+ .object({
23
+ id: z.string().min(1).optional(),
24
+ name: z.string().min(1).optional()
25
+ })
26
+ .refine((cluster) => Number(Boolean(cluster.id)) + Number(Boolean(cluster.name)) === 1, {
27
+ message: 'Exactly one DOKS cluster id or name is required.'
28
+ })
29
+ .optional(),
30
+ /** Kubernetes namespace supplied by the composing worker descriptor. */
31
+ namespace: KubernetesNameSchema,
32
+ /** Immutable image reference with a source SHA tag or sha256 digest. */
33
+ image: DoksImmutableImageSchema.optional(),
34
+ /** Source-owned inputs for the provider image-build Job. */
35
+ build: z.object({
36
+ repositoryUrl: z.string().url(),
37
+ contextPath: z.string().min(1).default('.'),
38
+ dockerfile: z.string().min(1).default('Dockerfile'),
39
+ destinationRepository: z.string().min(1),
40
+ /** Immutable Kaniko executor image, including a digest. */
41
+ builderImage: z.string().regex(/^[^\s@]+@sha256:[a-f0-9]{64}$/),
42
+ serviceAccountName: KubernetesNameSchema,
43
+ sourceCredential: z.object({
44
+ secretName: KubernetesNameSchema,
45
+ key: KubernetesSecretKeySchema,
46
+ broker: z.object({ repositoryId: z.uuid(), authority: CredentialReferenceSchema })
47
+ }),
48
+ registryCredential: z.object({
49
+ secretName: KubernetesNameSchema,
50
+ key: z.literal('config.json'),
51
+ provider: z.literal('digitalocean'),
52
+ expirySeconds: z.number().int().min(900).max(14_400).default(7200)
53
+ }),
54
+ packageCredential: z.object({
55
+ secretName: KubernetesNameSchema,
56
+ key: z.enum(['.npmrc', '.bunfig.toml']).default('.bunfig.toml'),
57
+ mountPath: z.string().min(1).default('/root/.bunfig.toml'),
58
+ authority: CredentialReferenceSchema
59
+ }).optional()
60
+ }).optional(),
61
+ /** Health probe port (default: 8080). */
62
+ healthPort: z.number().int().positive().default(8080),
63
+ /** Health probe path (default: /healthz). */
64
+ healthPath: z.string().min(1).default('/healthz'),
65
+ /** Readiness probe path (default: /readyz). */
66
+ readyPath: z.string().min(1).default('/readyz'),
67
+ /** Kubernetes ServiceAccount supplied by the composing worker descriptor. */
68
+ serviceAccountName: KubernetesNameSchema,
69
+ /** Kubernetes resource requests and limits. */
70
+ resources: z.object({
71
+ requests: z.object({ cpu: z.string().min(1), memory: z.string().min(1) }),
72
+ limits: z.object({ cpu: z.string().min(1), memory: z.string().min(1) })
73
+ }).optional(),
74
+ /** Graceful drain and rollout policy for queue consumers. */
75
+ shutdown: z.object({
76
+ gracePeriodSeconds: z.number().int().min(30).default(120),
77
+ preStopDelaySeconds: z.number().int().nonnegative().default(15),
78
+ terminationMessage: z.string().min(1).default('SIGTERM drains in-flight jobs before exit')
79
+ }).optional(),
80
+ /** Voluntary disruption floor. */
81
+ disruption: z.object({
82
+ minAvailable: z.union([z.number().int().nonnegative(), z.string().regex(/^\d+%$/)]).default(1)
83
+ }).default({ minAvailable: 1 }),
84
+ /** Node selector labels for dedicated worker pools. */
85
+ nodeSelector: z.record(z.string(), z.string()).optional(),
86
+ /** Tolerations for dedicated worker pools. */
87
+ tolerations: z.array(KubernetesTolerationSchema).optional(),
88
+ /** Image pull secret references supplied by the composing worker descriptor (empty when not needed). */
89
+ imagePullSecrets: z.array(z.object({ name: KubernetesNameSchema }))
90
+ });
91
+ /**
92
+ * DigitalOcean App Platform Functions adapter.
93
+ *
94
+ * Functions are still modeled as `infra/worker` per the roadmap — they are
95
+ * event/HTTP-triggered code with no long-lived process surface, but the
96
+ * descriptor shape (entrypoint, env, scaling) matches the worker kind.
97
+ * The reconciler in `src/infra/functions.impl.ts`
98
+ * resolves this config and creates/updates a DO App with a `functions[]`
99
+ * component (or a Functions namespace package, depending on `mode`).
100
+ */
101
+ export const DigitalOceanFunctionsWorkerConfigSchema = z.object({
102
+ /** DigitalOcean Functions namespace (e.g. 'fn-12345678-...'). */
103
+ namespace: z.string().min(1).optional(),
104
+ /** Deployment surface — App Platform `functions[]` component (default) or a standalone Functions package. */
105
+ mode: z.enum(['app-platform', 'namespace']).default('app-platform'),
106
+ /** Region slug, used when mode='namespace'. */
107
+ region: z.string().min(1).optional(),
108
+ /** App Platform App name when mode='app-platform' (required to attach the component). */
109
+ appName: z.string().min(1).optional(),
110
+ /** Source directory containing the function package (relative to repo root). */
111
+ sourceDir: z.string().min(1).optional(),
112
+ /** GitHub source ref for App Platform attachment. */
113
+ github: z
114
+ .object({
115
+ repo: z.string().min(1),
116
+ branch: z.string().min(1).default('main'),
117
+ deployOnPush: z.boolean().default(false)
118
+ })
119
+ .optional(),
120
+ /** App Platform environment slug (e.g. 'node-js'). */
121
+ environmentSlug: z.string().min(1).optional(),
122
+ /** Functions namespace label, used for inventory grouping. */
123
+ label: z.string().min(1).optional(),
124
+ /** Default memory (MB) per function invocation; ignored for app-platform mode. */
125
+ memoryMb: z.number().int().positive().optional(),
126
+ /** Max execution time (seconds) per function invocation; ignored for app-platform mode. */
127
+ timeoutSeconds: z.number().int().positive().optional()
128
+ });
129
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/schemas/worker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,gFAAgF;AAChF,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1E,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;AACxF,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAEnH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,8EAA8E;IAC9E,OAAO,EAAE,CAAC;SACR,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KAClC,CAAC;SACD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE;QACvF,OAAO,EAAE,kDAAkD;KAC3D,CAAC;SACD,QAAQ,EAAE;IACZ,wEAAwE;IACxE,SAAS,EAAE,oBAAoB;IAC/B,wEAAwE;IACxE,KAAK,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAC1C,4DAA4D;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QACnD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,2DAA2D;QAC3D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC;QAC/D,kBAAkB,EAAE,oBAAoB;QACxC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC;YAC1B,UAAU,EAAE,oBAAoB;YAChC,GAAG,EAAE,yBAAyB;YAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC;SAClF,CAAC;QACF,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC;YAC5B,UAAU,EAAE,oBAAoB;YAChC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC7B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;YACnC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;SAClE,CAAC;QACF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;YAC3B,UAAU,EAAE,oBAAoB;YAChC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;YAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;YAC1D,SAAS,EAAE,yBAAyB;SACpC,CAAC,CAAC,QAAQ,EAAE;KACb,CAAC,CAAC,QAAQ,EAAE;IACb,yCAAyC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrD,6CAA6C;IAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IACjD,+CAA+C;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC/C,6EAA6E;IAC7E,kBAAkB,EAAE,oBAAoB;IACxC,+CAA+C;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC,CAAC,QAAQ,EAAE;IACb,6DAA6D;IAC7D,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QACzD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAAC;KAC1F,CAAC,CAAC,QAAQ,EAAE;IACb,kCAAkC;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9F,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC/B,uDAAuD;IACvD,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzD,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;IAC3D,wGAAwG;IACxG,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;CACnE,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/D,iEAAiE;IACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,6GAA6G;IAC7G,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACnE,+CAA+C;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,yFAAyF;IACzF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,gFAAgF;IAChF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,qDAAqD;IACrD,MAAM,EAAE,CAAC;SACP,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACxC,CAAC;SACD,QAAQ,EAAE;IACZ,sDAAsD;IACtD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,8DAA8D;IAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,kFAAkF;IAClF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,2FAA2F;IAC3F,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * DigitalOcean App credential use builds reference bindings and sends each
3
+ * bound mutation through Secrets authenticated-request. Caller-owned values
4
+ * live only in an operation-scoped by-id store registered for that mutation.
5
+ */
6
+ import { type VibesRuntime } from '@vibesdotdev/kernel';
7
+ import { BaseRuntimeClient } from '@vibesdotdev/kernel/client';
8
+ import { DIGITALOCEAN_APP_CREDENTIALS_CLIENT_ID, type DigitalOceanAppCredentialMutationRequest, type DigitalOceanAppCredentialMutationOutcome, type DigitalOceanAppCredentialDeliveryOptions, type DigitalOceanAppCredentialDelivery } from '../../schemas/app-deployment.ts';
9
+ /** Registered owner for DigitalOcean App secret use and mutation. */
10
+ export declare class DigitalOceanAppCredentialsClient extends BaseRuntimeClient<VibesRuntime> implements DigitalOceanAppCredentialDelivery {
11
+ deploy(input: DigitalOceanAppCredentialMutationRequest, options?: DigitalOceanAppCredentialDeliveryOptions): Promise<DigitalOceanAppCredentialMutationOutcome>;
12
+ }
13
+ export { DIGITALOCEAN_APP_CREDENTIALS_CLIENT_ID };
14
+ //# sourceMappingURL=app-credentials.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-credentials.impl.d.ts","sourceRoot":"","sources":["../../../src/secrets/app-platform/app-credentials.impl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAqB/D,OAAO,EACN,sCAAsC,EAItC,KAAK,wCAAwC,EAC7C,KAAK,wCAAwC,EAC7C,KAAK,wCAAwC,EAE7C,KAAK,iCAAiC,EACtC,MAAM,iCAAiC,CAAC;AAqMzC,qEAAqE;AACrE,qBAAa,gCACZ,SAAQ,iBAAiB,CAAC,YAAY,CACtC,YAAW,iCAAiC;IAEtC,MAAM,CACX,KAAK,EAAE,wCAAwC,EAC/C,OAAO,GAAE,wCAA6C,GACpD,OAAO,CAAC,wCAAwC,CAAC;CA2HpD;AAED,OAAO,EAAE,sCAAsC,EAAE,CAAC"}