@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,183 @@
1
+ declare const digitaloceanProviderDescriptor: {
2
+ id: string;
3
+ kind: "ai/provider";
4
+ name: string;
5
+ version: string;
6
+ connectionSchema: unknown;
7
+ priority: number;
8
+ enabled: boolean;
9
+ description?: string | undefined;
10
+ defaults?: Record<string, unknown> | undefined;
11
+ baseUrlTemplate?: string | undefined;
12
+ capabilities?: {
13
+ [x: string]: unknown;
14
+ modalities?: ("image" | "text" | "vision" | "audio" | "video" | "embedding" | "transcription" | "evaluation")[] | undefined;
15
+ authType?: "none" | "bearer" | "api_key" | "basic" | "oauth" | undefined;
16
+ authMethods?: {
17
+ [x: string]: unknown;
18
+ id: string;
19
+ type: "none" | "bearer" | "api_key" | "basic" | "oauth";
20
+ label: string;
21
+ credentialFields: string[];
22
+ enabled: boolean;
23
+ description?: string | undefined;
24
+ tokenSource?: "none" | "runtime" | "credential" | "oauth-browser" | "oauth-device-code" | undefined;
25
+ recommended?: boolean | undefined;
26
+ docsUrl?: string | undefined;
27
+ scopes?: string[] | undefined;
28
+ execution?: {
29
+ credentialCustodies: ("consumer" | "server")[];
30
+ billingOwners: ("user" | "organization" | "platform")[];
31
+ } | undefined;
32
+ }[] | undefined;
33
+ streaming?: boolean | undefined;
34
+ tools?: boolean | undefined;
35
+ vision?: boolean | undefined;
36
+ jsonMode?: boolean | undefined;
37
+ functionCalling?: boolean | undefined;
38
+ contextWindow?: number | undefined;
39
+ maxOutputTokens?: number | undefined;
40
+ } | undefined;
41
+ category?: "cloud" | "local" | "hybrid" | undefined;
42
+ hardware?: ("consumer" | "cloud")[] | undefined;
43
+ icon?: string | undefined;
44
+ branding?: {
45
+ [x: string]: unknown;
46
+ logo?: {
47
+ [x: string]: unknown;
48
+ kind: "wordmark" | "mark" | "lockup" | "badge";
49
+ format: "svg";
50
+ path: string;
51
+ sourceUrl: string;
52
+ sourcePageUrl: string;
53
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
54
+ theme: "any" | "light" | "dark";
55
+ usageNotes?: string | undefined;
56
+ licenseNotes?: string | undefined;
57
+ } | undefined;
58
+ darkLogo?: {
59
+ [x: string]: unknown;
60
+ kind: "wordmark" | "mark" | "lockup" | "badge";
61
+ format: "svg";
62
+ path: string;
63
+ sourceUrl: string;
64
+ sourcePageUrl: string;
65
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
66
+ theme: "any" | "light" | "dark";
67
+ usageNotes?: string | undefined;
68
+ licenseNotes?: string | undefined;
69
+ } | undefined;
70
+ wordmark?: {
71
+ [x: string]: unknown;
72
+ kind: "wordmark" | "mark" | "lockup" | "badge";
73
+ format: "svg";
74
+ path: string;
75
+ sourceUrl: string;
76
+ sourcePageUrl: string;
77
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
78
+ theme: "any" | "light" | "dark";
79
+ usageNotes?: string | undefined;
80
+ licenseNotes?: string | undefined;
81
+ } | undefined;
82
+ darkWordmark?: {
83
+ [x: string]: unknown;
84
+ kind: "wordmark" | "mark" | "lockup" | "badge";
85
+ format: "svg";
86
+ path: string;
87
+ sourceUrl: string;
88
+ sourcePageUrl: string;
89
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
90
+ theme: "any" | "light" | "dark";
91
+ usageNotes?: string | undefined;
92
+ licenseNotes?: string | undefined;
93
+ } | undefined;
94
+ sourcePageUrl?: string | undefined;
95
+ usageNotes?: string | undefined;
96
+ } | undefined;
97
+ docsUrl?: string | undefined;
98
+ tags?: string[] | undefined;
99
+ variants?: {
100
+ id: string;
101
+ label: string;
102
+ transport: string;
103
+ specId: string;
104
+ endpoint: string;
105
+ auth: {
106
+ kind: "none";
107
+ } | {
108
+ kind: "bearer";
109
+ token: string | {
110
+ source: "secret";
111
+ key: string;
112
+ store?: string | undefined;
113
+ };
114
+ scheme?: string | undefined;
115
+ } | {
116
+ kind: "api-key-header";
117
+ header: string;
118
+ value: string | {
119
+ source: "secret";
120
+ key: string;
121
+ store?: string | undefined;
122
+ };
123
+ } | {
124
+ kind: "basic";
125
+ username: string;
126
+ password: string | {
127
+ source: "secret";
128
+ key: string;
129
+ store?: string | undefined;
130
+ };
131
+ } | {
132
+ kind: "cf-binding";
133
+ bindingName: string;
134
+ };
135
+ modelIdRule: {
136
+ kind: "strip-prefix";
137
+ } | {
138
+ kind: "passthrough";
139
+ } | {
140
+ kind: "explicit";
141
+ modelMap: Record<string, string>;
142
+ };
143
+ priority: number;
144
+ enabled: boolean;
145
+ description?: string | undefined;
146
+ modalities?: ("image" | "text" | "audio" | "video" | "embedding" | "transcription" | "evaluation" | "speech" | "ocr")[] | undefined;
147
+ inheritEnv?: string[] | undefined;
148
+ requiredConfiguration?: string[] | undefined;
149
+ authMethodId?: string | undefined;
150
+ execution?: {
151
+ generationLocations: ("consumer" | "server")[];
152
+ headless: boolean;
153
+ } | undefined;
154
+ tags?: string[] | undefined;
155
+ models?: {
156
+ tags?: string[] | undefined;
157
+ } | undefined;
158
+ additionalHeaders?: Record<string, string> | undefined;
159
+ capabilities?: {
160
+ supportsToolChoiceRequired?: boolean | undefined;
161
+ } | undefined;
162
+ }[] | undefined;
163
+ localDiscovery?: {
164
+ defaultRootDir: string;
165
+ modelGlob: string;
166
+ descriptorFilename?: string | undefined;
167
+ } | undefined;
168
+ loadedModels?: {
169
+ path: string;
170
+ listPath: string;
171
+ idField: string;
172
+ loadedField: string;
173
+ loginPath?: string | undefined;
174
+ loginKeyField?: string | undefined;
175
+ } | undefined;
176
+ cloudStorageDiscovery?: {
177
+ requiredCapabilities: string[];
178
+ modelGlob?: string | undefined;
179
+ descriptorFilename?: string | undefined;
180
+ } | undefined;
181
+ };
182
+ export default digitaloceanProviderDescriptor;
183
+ //# sourceMappingURL=provider.digitalocean.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.digitalocean.descriptor.d.ts","sourceRoot":"","sources":["../../../../../../src/ai/providers/cloud/frontier/digitalocean/provider.digitalocean.descriptor.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgElC,CAAC;AAEH,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { createAIProviderTypeDescriptor } from '@vibesdotdev/ai/providers-runtime/core/type-descriptor';
2
+ import { digitaloceanConnectionSchema } from "./config/schemas/index.js";
3
+ const digitaloceanProviderDescriptor = createAIProviderTypeDescriptor({
4
+ id: 'digitalocean',
5
+ version: '0.1.0-rc.0',
6
+ name: 'DigitalOcean Inference',
7
+ description: 'DigitalOcean serverless inference: OpenAI-compatible chat completions and embeddings on inference.do-ai.run.',
8
+ connectionSchema: digitaloceanConnectionSchema,
9
+ defaults: {
10
+ baseUrl: 'https://inference.do-ai.run',
11
+ apiFormat: 'openai',
12
+ apiSurface: 'serverless',
13
+ timeout: 60000
14
+ },
15
+ capabilities: {
16
+ modalities: ['text', 'embedding'],
17
+ authType: 'bearer',
18
+ streaming: true,
19
+ tools: true,
20
+ jsonMode: true,
21
+ functionCalling: true
22
+ },
23
+ category: 'cloud',
24
+ hardware: ['consumer', 'cloud'],
25
+ icon: '🌊',
26
+ docsUrl: 'https://docs.digitalocean.com/',
27
+ priority: 80,
28
+ enabled: true,
29
+ tags: ['cloud', 'openai-compatible', 'serverless-inference'],
30
+ /**
31
+ * The connection schema stores baseUrl as the origin. The provider-owned
32
+ * spec aliases carry the OpenAI wire dialect over the authenticated
33
+ * DigitalOcean transport and append the /v1 API prefix here.
34
+ */
35
+ variants: [
36
+ {
37
+ id: 'chat',
38
+ label: 'DigitalOcean OpenAI-compatible',
39
+ description: 'Text generation via /v1/chat/completions on the serverless inference endpoint.',
40
+ transport: 'digitalocean-inference',
41
+ specId: 'digitalocean-openai-chat',
42
+ modalities: ['text'],
43
+ endpoint: '{baseUrl}/v1',
44
+ auth: { kind: 'none' },
45
+ modelIdRule: { kind: 'strip-prefix' },
46
+ priority: 10,
47
+ enabled: true,
48
+ capabilities: { supportsToolChoiceRequired: false }
49
+ },
50
+ {
51
+ id: 'embeddings',
52
+ label: 'DigitalOcean embeddings',
53
+ description: 'Embeddings via /v1/embeddings on the inference endpoint.',
54
+ transport: 'digitalocean-inference',
55
+ specId: 'digitalocean-openai-embedding',
56
+ modalities: ['embedding'],
57
+ endpoint: '{baseUrl}/v1',
58
+ auth: { kind: 'none' },
59
+ modelIdRule: { kind: 'strip-prefix' },
60
+ priority: 10,
61
+ enabled: true
62
+ }
63
+ ]
64
+ });
65
+ export default digitaloceanProviderDescriptor;
66
+ //# sourceMappingURL=provider.digitalocean.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.digitalocean.descriptor.js","sourceRoot":"","sources":["../../../../../../src/ai/providers/cloud/frontier/digitalocean/provider.digitalocean.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAC;AACxG,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAEzE,MAAM,8BAA8B,GAAG,8BAA8B,CAAC;IACrE,EAAE,EAAE,cAAc;IAClB,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACV,8GAA8G;IAC/G,gBAAgB,EAAE,4BAA4B;IAC9C,QAAQ,EAAE;QACT,OAAO,EAAE,6BAA6B;QACtC,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,KAAK;KACd;IACD,YAAY,EAAE;QACb,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;QACjC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;KACrB;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,gCAAgC;IACzC,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,CAAC;IAE5D;;;;OAIG;IACH,QAAQ,EAAE;QACT;YACC,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,gCAAgC;YACvC,WAAW,EACV,gFAAgF;YACjF,SAAS,EAAE,wBAAwB;YACnC,MAAM,EAAE,0BAA0B;YAClC,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,cAAc;YACxB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACtB,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;YACrC,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE;SACnD;QACD;YACC,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,0DAA0D;YACvE,SAAS,EAAE,wBAAwB;YACnC,MAAM,EAAE,+BAA+B;YACvC,UAAU,EAAE,CAAC,WAAW,CAAC;YACzB,QAAQ,EAAE,cAAc;YACxB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACtB,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;YACrC,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,IAAI;SACb;KACD;CACD,CAAC,CAAC;AAEH,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * App Platform read/status client.
3
+ *
4
+ * Complements the spec builder (`build-spec.ts`) and the deploy/update
5
+ * client (`deploy-client.ts`) with the read-only and list operations
6
+ * needed by inventory and status surfaces.
7
+ */
8
+ import type { DigitalOceanControlPlaneClient } from '../client/control-plane.ts';
9
+ export interface DoAppEnvSpec {
10
+ key: string;
11
+ value?: string;
12
+ scope?: 'RUN_TIME' | 'BUILD_TIME' | 'RUN_AND_BUILD_TIME';
13
+ type?: 'GENERAL' | 'SECRET';
14
+ }
15
+ export interface DoAppGitHubRef {
16
+ repo?: string;
17
+ branch?: string;
18
+ deploy_on_push?: boolean;
19
+ }
20
+ export interface DoAppHealthCheck {
21
+ http_path?: string;
22
+ initial_delay_seconds?: number;
23
+ period_seconds?: number;
24
+ timeout_seconds?: number;
25
+ success_threshold?: number;
26
+ failure_threshold?: number;
27
+ }
28
+ export type DoAppServiceSpec = NonNullable<DoAppSpec['services']>[number];
29
+ export type DoAppStaticSiteSpec = NonNullable<DoAppSpec['static_sites']>[number];
30
+ export type DoAppSpec = DoApp['spec'];
31
+ export type DoApp = import('zod/v4').infer<typeof import('../schemas/http.ts').DoAppSchema>;
32
+ export type DoAppDeployment = import('zod/v4').infer<typeof import('../schemas/http.ts').DoAppDeploymentSchema>;
33
+ export declare class DigitalOceanAppsClient {
34
+ private readonly client;
35
+ constructor(client: DigitalOceanControlPlaneClient);
36
+ list(): Promise<DoApp[]>;
37
+ get(appId: string): Promise<DoApp>;
38
+ getOrNull(appId: string): Promise<DoApp | null>;
39
+ create(spec: DoAppSpec): Promise<DoApp>;
40
+ update(appId: string, spec: DoAppSpec): Promise<DoApp>;
41
+ deleteApp(appId: string): Promise<void>;
42
+ listDeployments(appId: string): Promise<DoAppDeployment[]>;
43
+ getDeployment(appId: string, deploymentId: string): Promise<DoAppDeployment>;
44
+ }
45
+ //# sourceMappingURL=api-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/apps/api-client.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEjF,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,oBAAoB,CAAC;IACzD,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAEtC,MAAM,MAAM,KAAK,GAAG,OAAO,QAAQ,EAAE,KAAK,CAAC,cAAc,oBAAoB,EAAE,WAAW,CAAC,CAAC;AAE5F,MAAM,MAAM,eAAe,GAAG,OAAO,QAAQ,EAAE,KAAK,CACnD,cAAc,oBAAoB,EAAE,qBAAqB,CACzD,CAAC;AAEF,qBAAa,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,8BAA8B;IAE7D,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IASxB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAKlC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAS/C,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAKvC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAUtD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAS1D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAQlF"}
@@ -0,0 +1,47 @@
1
+ import { AppsListResponseSchema, DoAppSchema, AppResponseSchema, DeploymentsListResponseSchema, DoAppDeploymentSchema, DeploymentResponseSchema } from "../schemas/http.js";
2
+ export class DigitalOceanAppsClient {
3
+ client;
4
+ constructor(client) {
5
+ this.client = client;
6
+ }
7
+ async list() {
8
+ return this.client.collect({
9
+ path: '/apps',
10
+ extract: (page) => page.apps ?? [],
11
+ schema: AppsListResponseSchema,
12
+ itemSchema: DoAppSchema
13
+ });
14
+ }
15
+ async get(appId) {
16
+ const res = await this.client.get(`/apps/${appId}`, {}, AppResponseSchema);
17
+ return res.app;
18
+ }
19
+ async getOrNull(appId) {
20
+ const res = await this.client.getOrNull(`/apps/${appId}`, {}, AppResponseSchema);
21
+ return res?.app ?? null;
22
+ }
23
+ async create(spec) {
24
+ const res = await this.client.post(`/apps`, { spec }, {}, AppResponseSchema);
25
+ return res.app;
26
+ }
27
+ async update(appId, spec) {
28
+ const res = await this.client.put(`/apps/${appId}`, { spec }, {}, AppResponseSchema);
29
+ return res.app;
30
+ }
31
+ async deleteApp(appId) {
32
+ await this.client.delete(`/apps/${appId}`);
33
+ }
34
+ async listDeployments(appId) {
35
+ return this.client.collect({
36
+ path: `/apps/${appId}/deployments`,
37
+ extract: (page) => page.deployments ?? [],
38
+ schema: DeploymentsListResponseSchema,
39
+ itemSchema: DoAppDeploymentSchema
40
+ });
41
+ }
42
+ async getDeployment(appId, deploymentId) {
43
+ const res = await this.client.get(`/apps/${appId}/deployments/${deploymentId}`, {}, DeploymentResponseSchema);
44
+ return res.deployment;
45
+ }
46
+ }
47
+ //# sourceMappingURL=api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/apps/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EACjB,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,EACxB,MAAM,oBAAoB,CAAC;AA6C5B,MAAM,OAAO,sBAAsB;IACL;IAA7B,YAA6B,MAAsC;QAAtC,WAAM,GAAN,MAAM,CAAgC;IAAG,CAAC;IAEvE,KAAK,CAAC,IAAI;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1B,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YAClC,MAAM,EAAE,sBAAsB;YAC9B,UAAU,EAAE,WAAW;SACvB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAiB,SAAS,KAAK,EAAE,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAC3F,OAAO,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACtC,SAAS,KAAK,EAAE,EAChB,EAAE,EACF,iBAAiB,CACjB,CAAC;QACF,OAAO,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;QAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAiB,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAC7F,OAAO,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAAe;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAChC,SAAS,KAAK,EAAE,EAChB,EAAE,IAAI,EAAE,EACR,EAAE,EACF,iBAAiB,CACjB,CAAC;QACF,OAAO,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1B,IAAI,EAAE,SAAS,KAAK,cAAc;YAClC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE;YACzC,MAAM,EAAE,6BAA6B;YACrC,UAAU,EAAE,qBAAqB;SACjC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,YAAoB;QACtD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAChC,SAAS,KAAK,gBAAgB,YAAY,EAAE,EAC5C,EAAE,EACF,wBAAwB,CACxB,CAAC;QACF,OAAO,GAAG,CAAC,UAAU,CAAC;IACvB,CAAC;CACD"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Build a normalized DigitalOcean App Platform spec from typed inputs.
3
+ *
4
+ * Consumers pass:
5
+ * - the provider-neutral `AppDeployment` (always present)
6
+ * - the optional `DigitalOceanAppWebAppConfig` from the web-app descriptor
7
+ * (controls instance shape, autoscaling, domains, alerts, jobs, workers,
8
+ * log destinations, container images)
9
+ * - an optional secrets map that has already been resolved by the caller
10
+ * (typically out of `secrets/store`) — used to populate SECRET-typed envs
11
+ * so the connector never has to resolve credentials or hit a store itself
12
+ *
13
+ * The output is the JSON body accepted by both `POST /v2/apps` and
14
+ * `PUT /v2/apps/:id`. The builder is pure — same input, same spec — so we
15
+ * can fixture-test it without touching the network.
16
+ */
17
+ import type { AppDeployment } from '@vibesdotdev/infra-core';
18
+ import type { DigitalOceanAppWebAppConfig, DigitalOceanAppGitHubRef } from '../schemas/app-platform.ts';
19
+ import type { DOAppSpec } from './types.ts';
20
+ export interface BuildAppSpecOptions {
21
+ deployment: AppDeployment;
22
+ /** Typed App Platform config from the web-app descriptor. */
23
+ appConfig?: DigitalOceanAppWebAppConfig;
24
+ /** GitHub source reference (CLI override; takes precedence over component-level github when components don't set their own). */
25
+ defaultGithub?: DigitalOceanAppGitHubRef;
26
+ /** Region override; falls back to appConfig.region, then 'nyc'. */
27
+ regionOverride?: string;
28
+ /** App name override; falls back to appConfig.digitaloceanAppName, then deployment.appId. */
29
+ appNameOverride?: string;
30
+ /**
31
+ * Resolved secrets keyed by env var name (or storeKey if provided).
32
+ * For any env var with `secret: true`, the builder uses this map to fill
33
+ * `value`. Missing entries leave `value` unset — DO requires that to be
34
+ * populated separately via the API or dashboard before deploy.
35
+ */
36
+ resolvedSecrets?: Record<string, string>;
37
+ /** Keep value-free secret entries present for a credential-use owner to bind. */
38
+ includeUnresolvedSecrets?: boolean;
39
+ }
40
+ /**
41
+ * Pure function: turn typed inputs into a normalized App spec.
42
+ */
43
+ export declare function buildDigitalOceanAppSpec(options: BuildAppSpecOptions): DOAppSpec;
44
+ //# sourceMappingURL=build-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-spec.d.ts","sourceRoot":"","sources":["../../src/apps/build-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EACX,2BAA2B,EAK3B,wBAAwB,EASxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACX,SAAS,EAcT,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,aAAa,CAAC;IAC1B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,gIAAgI;IAChI,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,iFAAiF;IACjF,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACnC;AAobD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAiFhF"}