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

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 +97 -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 +1474 -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 +4071 -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 +11 -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 +26 -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,92 @@
1
+ import { VolumeListResponseSchema, DoVolumeSchema, VolumeResponseSchema, VolumeSnapshotListResponseSchema, DoVolumeSnapshotSchema, VolumeSnapshotResponseSchema, CdnListResponseSchema, DoCdnEndpointSchema, NfsListResponseSchema, DoNfsShareSchema, NfsShareResponseSchema } from "../schemas/http.js";
2
+ export { DigitalOceanSpacesKeysClient } from "./spaces-keys.js";
3
+ export class DigitalOceanStorageClient {
4
+ client;
5
+ constructor(client) {
6
+ this.client = client;
7
+ }
8
+ async listVolumes(filters = {}) {
9
+ return this.client.collect({
10
+ path: '/volumes',
11
+ request: { query: { region: filters.region, name: filters.name } },
12
+ extract: (page) => page.volumes ?? [],
13
+ schema: VolumeListResponseSchema,
14
+ itemSchema: DoVolumeSchema
15
+ });
16
+ }
17
+ async getVolume(volumeId) {
18
+ const res = await this.client.get(`/volumes/${volumeId}`, {}, VolumeResponseSchema);
19
+ return res.volume;
20
+ }
21
+ async getVolumeOrNull(volumeId) {
22
+ const res = await this.client.getOrNull(`/volumes/${volumeId}`, {}, VolumeResponseSchema);
23
+ return res?.volume ?? null;
24
+ }
25
+ async createVolume(options) {
26
+ const res = await this.client.post('/volumes', options, {}, VolumeResponseSchema);
27
+ return res.volume;
28
+ }
29
+ async deleteVolume(volumeId) {
30
+ await this.client.delete(`/volumes/${volumeId}`);
31
+ }
32
+ async attachVolume(volumeId, dropletId, region) {
33
+ await this.client.post(`/volumes/${volumeId}/actions`, {
34
+ type: 'attach',
35
+ droplet_id: dropletId,
36
+ region
37
+ });
38
+ }
39
+ async detachVolume(volumeId, dropletId, region) {
40
+ await this.client.post(`/volumes/${volumeId}/actions`, {
41
+ type: 'detach',
42
+ droplet_id: dropletId,
43
+ region
44
+ });
45
+ }
46
+ async listVolumeSnapshots(volumeId) {
47
+ return this.client.collect({
48
+ path: `/volumes/${volumeId}/snapshots`,
49
+ extract: (page) => page.snapshots ?? [],
50
+ schema: VolumeSnapshotListResponseSchema,
51
+ itemSchema: DoVolumeSnapshotSchema
52
+ });
53
+ }
54
+ async createVolumeSnapshot(volumeId, name, tags) {
55
+ const res = await this.client.post(`/volumes/${volumeId}/snapshots`, {
56
+ name,
57
+ tags
58
+ }, {}, VolumeSnapshotResponseSchema);
59
+ return res.snapshot;
60
+ }
61
+ async listCdnEndpoints() {
62
+ return this.client.collect({
63
+ path: '/cdn/endpoints',
64
+ extract: (page) => page.endpoints ?? [],
65
+ schema: CdnListResponseSchema,
66
+ itemSchema: DoCdnEndpointSchema
67
+ });
68
+ }
69
+ async listNfsShares() {
70
+ return this.client.collect({
71
+ path: '/nfs/shares',
72
+ extract: (page) => page.shares ?? [],
73
+ schema: NfsListResponseSchema,
74
+ itemSchema: DoNfsShareSchema
75
+ });
76
+ }
77
+ async getNfsShare(shareId) {
78
+ const res = await this.client.get(`/nfs/shares/${shareId}`, {}, NfsShareResponseSchema);
79
+ return res.share;
80
+ }
81
+ async createNfsShare(options) {
82
+ const res = await this.client.post('/nfs/shares', options, {}, NfsShareResponseSchema);
83
+ return res.share;
84
+ }
85
+ async deleteNfsShare(shareId) {
86
+ await this.client.delete(`/nfs/shares/${shareId}`);
87
+ }
88
+ async updateNfsShareAccessRules(shareId, rules) {
89
+ await this.client.put(`/nfs/shares/${shareId}/access_rules`, { access_rules: rules });
90
+ }
91
+ }
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { DigitalOceanControlPlaneClient } from '../client/control-plane.ts';
2
+ export type DoSpacesKeyPermission = 'read' | 'readwrite' | 'fullaccess';
3
+ export interface DoSpacesKeyGrant {
4
+ bucket: string;
5
+ permission: DoSpacesKeyPermission;
6
+ }
7
+ export type DoSpacesKey = import('zod/v4').infer<typeof import('../schemas/http.ts').DoSpacesKeySchema>;
8
+ /** DigitalOcean v2 Spaces-key authority. Secret material is returned only on create. */
9
+ export declare class DigitalOceanSpacesKeysClient {
10
+ private readonly client;
11
+ constructor(client: DigitalOceanControlPlaneClient);
12
+ list(filters?: {
13
+ name?: string;
14
+ bucket?: string;
15
+ permission?: DoSpacesKeyPermission;
16
+ }): Promise<DoSpacesKey[]>;
17
+ create(input: {
18
+ name: string;
19
+ grants: DoSpacesKeyGrant[];
20
+ }): Promise<DoSpacesKey & {
21
+ secret_key: string;
22
+ }>;
23
+ delete(accessKey: string): Promise<void>;
24
+ }
25
+ //# sourceMappingURL=spaces-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spaces-keys.d.ts","sourceRoot":"","sources":["../../src/storage/spaces-keys.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEjF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,qBAAqB,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,EAAE,KAAK,CAC/C,cAAc,oBAAoB,EAAE,iBAAiB,CACrD,CAAC;AAEF,wFAAwF;AACxF,qBAAa,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,8BAA8B;IAEnE,IAAI,CACH,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,qBAAqB,CAAA;KAAO,GAClF,OAAO,CAAC,WAAW,EAAE,CAAC;IAUnB,MAAM,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,gBAAgB,EAAE,CAAC;KAC3B,GAAG,OAAO,CAAC,WAAW,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAc3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI9C"}
@@ -0,0 +1,32 @@
1
+ import * as z from 'zod/v4';
2
+ import { DoSpacesKeyListResponseSchema, DoSpacesKeySchema, SpacesKeyResponseSchema } from "../schemas/http.js";
3
+ /** DigitalOcean v2 Spaces-key authority. Secret material is returned only on create. */
4
+ export class DigitalOceanSpacesKeysClient {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ list(filters = {}) {
10
+ return this.client.collect({
11
+ path: '/spaces/keys',
12
+ request: { query: filters },
13
+ extract: (page) => page.keys ?? [],
14
+ schema: DoSpacesKeyListResponseSchema,
15
+ itemSchema: DoSpacesKeySchema
16
+ });
17
+ }
18
+ async create(input) {
19
+ const response = await this.client.post('/spaces/keys', input, {}, SpacesKeyResponseSchema);
20
+ const key = response.key;
21
+ if (!key?.access_key || !key.secret_key || !key.name || !Array.isArray(key.grants)) {
22
+ throw new Error('DigitalOcean did not return complete one-time Spaces key material.');
23
+ }
24
+ return DoSpacesKeySchema.extend({ secret_key: z.string().min(1) }).parse(key);
25
+ }
26
+ async delete(accessKey) {
27
+ if (!accessKey)
28
+ throw new Error('Spaces access-key deletion requires an exact key id.');
29
+ await this.client.delete(`/spaces/keys/${encodeURIComponent(accessKey)}`);
30
+ }
31
+ }
32
+ //# sourceMappingURL=spaces-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spaces-keys.js","sourceRoot":"","sources":["../../src/storage/spaces-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACN,6BAA6B,EAC7B,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,oBAAoB,CAAC;AAc5B,wFAAwF;AACxF,MAAM,OAAO,4BAA4B;IACX;IAA7B,YAA6B,MAAsC;QAAtC,WAAM,GAAN,MAAM,CAAgC;IAAG,CAAC;IAEvE,IAAI,CACH,UAAkF,EAAE;QAEpF,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1B,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YAClC,MAAM,EAAE,6BAA6B;YACrC,UAAU,EAAE,iBAAiB;SAC7B,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAGZ;QACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACtC,cAAc,EACd,KAAK,EACL,EAAE,EACF,uBAAuB,CACvB,CAAC;QACF,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,GAAG,EAAE,UAAU,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC7B,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;CACD"}
package/package.json CHANGED
@@ -1,6 +1,174 @@
1
1
  {
2
2
  "name": "@vibesdotdev/integrations-digitalocean",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "1.0.0-rc.2",
4
+ "dependencies": {
5
+ "@vibesdotdev/ai": "^1.0.0-rc.5",
6
+ "@vibesdotdev/config": "^1.0.0-rc.5",
7
+ "@vibesdotdev/infra-core": "^1.0.0-rc.5",
8
+ "@vibesdotdev/integrations": "^1.0.0-rc.3",
9
+ "@vibesdotdev/logging": "^1.0.0-rc.5",
10
+ "@vibesdotdev/registry": "^1.0.0-rc.4",
11
+ "@vibesdotdev/kernel": "^1.0.0-rc.8",
12
+ "@vibesdotdev/secrets": "^1.0.0-rc.5",
13
+ "@vibesdotdev/shared": "^1.0.0-rc.4",
14
+ "zod": "^4.6.7",
15
+ "yaml": "^2.9.1"
16
+ },
17
+ "main": "./dist/index.js",
18
+ "exports": {
19
+ "./ai": {
20
+ "bun": "./dist/ai/index.js",
21
+ "types": "./dist/ai/index.d.ts",
22
+ "import": "./dist/ai/index.js",
23
+ "default": "./dist/ai/index.js"
24
+ },
25
+ "./ai/*": {
26
+ "bun": "./dist/ai/*.js",
27
+ "types": "./dist/ai/*.d.ts",
28
+ "import": "./dist/ai/*.js",
29
+ "default": "./dist/ai/*.js"
30
+ },
31
+ ".": {
32
+ "bun": "./dist/index.js",
33
+ "types": "./dist/index.d.ts",
34
+ "import": "./dist/index.js",
35
+ "default": "./dist/index.js"
36
+ },
37
+ "./client": {
38
+ "bun": "./dist/client/index.js",
39
+ "types": "./dist/client/index.d.ts",
40
+ "import": "./dist/client/index.js",
41
+ "default": "./dist/client/index.js"
42
+ },
43
+ "./apps": {
44
+ "bun": "./dist/apps/index.js",
45
+ "types": "./dist/apps/index.d.ts",
46
+ "import": "./dist/apps/index.js",
47
+ "default": "./dist/apps/index.js"
48
+ },
49
+ "./kubernetes": {
50
+ "bun": "./dist/kubernetes/index.js",
51
+ "types": "./dist/kubernetes/index.d.ts",
52
+ "import": "./dist/kubernetes/index.js",
53
+ "default": "./dist/kubernetes/index.js"
54
+ },
55
+ "./droplets": {
56
+ "bun": "./dist/droplets/index.js",
57
+ "types": "./dist/droplets/index.d.ts",
58
+ "import": "./dist/droplets/index.js",
59
+ "default": "./dist/droplets/index.js"
60
+ },
61
+ "./storage": {
62
+ "bun": "./dist/storage/index.js",
63
+ "types": "./dist/storage/index.d.ts",
64
+ "import": "./dist/storage/index.js",
65
+ "default": "./dist/storage/index.js"
66
+ },
67
+ "./databases": {
68
+ "bun": "./dist/databases/index.js",
69
+ "types": "./dist/databases/index.d.ts",
70
+ "import": "./dist/databases/index.js",
71
+ "default": "./dist/databases/index.js"
72
+ },
73
+ "./inference-control-plane": {
74
+ "bun": "./dist/inference-control-plane/index.js",
75
+ "types": "./dist/inference-control-plane/index.d.ts",
76
+ "import": "./dist/inference-control-plane/index.js",
77
+ "default": "./dist/inference-control-plane/index.js"
78
+ },
79
+ "./credentials": {
80
+ "bun": "./dist/credentials/index.js",
81
+ "types": "./dist/credentials/index.d.ts",
82
+ "import": "./dist/credentials/index.js",
83
+ "default": "./dist/credentials/index.js"
84
+ },
85
+ "./infra": {
86
+ "bun": "./dist/infra/index.js",
87
+ "types": "./dist/infra/index.d.ts",
88
+ "import": "./dist/infra/index.js",
89
+ "default": "./dist/infra/index.js"
90
+ },
91
+ "./infra/plugin": {
92
+ "bun": "./dist/infra/digitalocean-infra.plugin.js",
93
+ "types": "./dist/infra/digitalocean-infra.plugin.d.ts",
94
+ "import": "./dist/infra/digitalocean-infra.plugin.js",
95
+ "default": "./dist/infra/digitalocean-infra.plugin.js"
96
+ },
97
+ "./plugin": {
98
+ "bun": "./dist/digitalocean.plugin.js",
99
+ "types": "./dist/digitalocean.plugin.d.ts",
100
+ "import": "./dist/digitalocean.plugin.js",
101
+ "default": "./dist/digitalocean.plugin.js"
102
+ },
103
+ "./ai/plugin": {
104
+ "bun": "./dist/ai/provider.plugin.js",
105
+ "types": "./dist/ai/provider.plugin.d.ts",
106
+ "import": "./dist/ai/provider.plugin.js",
107
+ "default": "./dist/ai/provider.plugin.js"
108
+ },
109
+ "./secrets": {
110
+ "bun": "./dist/secrets/index.js",
111
+ "types": "./dist/secrets/index.d.ts",
112
+ "import": "./dist/secrets/index.js",
113
+ "default": "./dist/secrets/index.js"
114
+ },
115
+ "./secrets/plugin": {
116
+ "bun": "./dist/secrets/secrets-backend-doks.plugin.js",
117
+ "types": "./dist/secrets/secrets-backend-doks.plugin.d.ts",
118
+ "import": "./dist/secrets/secrets-backend-doks.plugin.js",
119
+ "default": "./dist/secrets/secrets-backend-doks.plugin.js"
120
+ }
121
+ },
122
+ "files": [
123
+ "dist",
124
+ "README.md",
125
+ "LICENSE",
126
+ "!dist/**/__tests__/**",
127
+ "!dist/**/__stubs__/**",
128
+ "!dist/**/*.test.js",
129
+ "!dist/**/*.test.js.map",
130
+ "!dist/**/*.test.d.ts",
131
+ "!dist/**/*.test.d.ts.map",
132
+ "!dist/**/*.spec.js",
133
+ "!dist/**/*.spec.js.map",
134
+ "!dist/**/*.spec.d.ts",
135
+ "!dist/**/*.spec.d.ts.map"
136
+ ],
137
+ "scripts": {
138
+ "lint": "node ../../node_modules/@vibesdotdev/internal-oxlint-toolchain/ratchet.mjs .",
139
+ "check": "${BUN:-bun} --bun tsc -p tsconfig.json --noEmit",
140
+ "test": "${BUN:-bun} test src",
141
+ "build": "tsc -p tsconfig.build.json"
142
+ },
143
+ "repository": {
144
+ "type": "git",
145
+ "url": "ssh://git@git.vibes.dev/vibesdotdev/integrations.git",
146
+ "directory": "integrations/digitalocean"
147
+ },
148
+ "publishConfig": {
149
+ "registry": "https://packages.vibes.dev",
150
+ "access": "public"
151
+ },
152
+ "vibes": {
153
+ "visibility": "public",
154
+ "handedRuntimeLogging": true,
155
+ "registry": {
156
+ "repositoryId": "70be51c9-5ab7-4d7e-9f47-801cb17720d8",
157
+ "directory": "integrations/digitalocean"
158
+ }
159
+ },
160
+ "description": "Shared low-level DigitalOcean API client surface for Vibes (control plane, apps, k8s, droplets, storage, databases, inference control plane).",
161
+ "type": "module",
162
+ "types": "./dist/index.d.ts",
163
+ "license": "BUSL-1.1",
164
+ "homepage": "https://docs.vibes.dev/packages/integrations-digitalocean",
165
+ "bugs": {
166
+ "url": "https://docs.vibes.dev/packages/integrations-digitalocean#support"
167
+ },
168
+ "gitHead": "fd24c5c4d0c5ae2a7b0af8a7714675b55cac1368",
169
+ "_vibes_source": {
170
+ "repo": "ssh://git@git.vibes.dev/vibesdotdev/integrations.git",
171
+ "sha": "fd24c5c4d0c5ae2a7b0af8a7714675b55cac1368",
172
+ "workspaceDigest": "sha256:9c0de63d399d897709fcf1de7f364285c456c5a23e0e6ea5e590c5700cb82f28"
173
+ }
174
+ }