alchemy 0.63.0 → 0.64.0

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 (181) hide show
  1. package/bin/alchemy.js +97 -87
  2. package/bin/commands/init.ts +1 -1
  3. package/bin/services/github-workflow.ts +2 -2
  4. package/lib/alchemy.d.ts +4 -0
  5. package/lib/alchemy.d.ts.map +1 -1
  6. package/lib/alchemy.js +10 -4
  7. package/lib/alchemy.js.map +1 -1
  8. package/lib/apply.d.ts +3 -0
  9. package/lib/apply.d.ts.map +1 -1
  10. package/lib/apply.js +11 -1
  11. package/lib/apply.js.map +1 -1
  12. package/lib/cloudflare/bindings.d.ts +3 -1
  13. package/lib/cloudflare/bindings.d.ts.map +1 -1
  14. package/lib/cloudflare/bucket.d.ts +2 -1
  15. package/lib/cloudflare/bucket.d.ts.map +1 -1
  16. package/lib/cloudflare/bucket.js.map +1 -1
  17. package/lib/cloudflare/bundle/cloudflare-internal.d.ts +6 -0
  18. package/lib/cloudflare/bundle/cloudflare-internal.d.ts.map +1 -0
  19. package/lib/cloudflare/bundle/cloudflare-internal.js +39 -0
  20. package/lib/cloudflare/bundle/cloudflare-internal.js.map +1 -0
  21. package/lib/cloudflare/bundle/nodejs-builtin-modules.d.ts +2 -0
  22. package/lib/cloudflare/bundle/nodejs-builtin-modules.d.ts.map +1 -0
  23. package/lib/cloudflare/bundle/nodejs-builtin-modules.js +9 -0
  24. package/lib/cloudflare/bundle/nodejs-builtin-modules.js.map +1 -0
  25. package/lib/cloudflare/bundle/plugin-als-external.d.ts +6 -0
  26. package/lib/cloudflare/bundle/plugin-als-external.d.ts.map +1 -0
  27. package/lib/cloudflare/bundle/plugin-als-external.js +12 -0
  28. package/lib/cloudflare/bundle/plugin-als-external.js.map +1 -0
  29. package/lib/cloudflare/bundle/plugin-hybrid-node-compat.d.ts +4 -1
  30. package/lib/cloudflare/bundle/plugin-hybrid-node-compat.d.ts.map +1 -1
  31. package/lib/cloudflare/bundle/plugin-hybrid-node-compat.js +23 -23
  32. package/lib/cloudflare/bundle/plugin-hybrid-node-compat.js.map +1 -1
  33. package/lib/cloudflare/bundle/plugin-node-compat.d.ts +11 -0
  34. package/lib/cloudflare/bundle/plugin-node-compat.d.ts.map +1 -0
  35. package/lib/cloudflare/bundle/plugin-node-compat.js +93 -0
  36. package/lib/cloudflare/bundle/plugin-node-compat.js.map +1 -0
  37. package/lib/cloudflare/cloudflare-env-proxy.js +1 -1
  38. package/lib/cloudflare/cloudflare-env-proxy.js.map +1 -1
  39. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  40. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  41. package/lib/cloudflare/d1-local-migrations.js.map +1 -1
  42. package/lib/cloudflare/durable-object-namespace.d.ts +1 -0
  43. package/lib/cloudflare/durable-object-namespace.d.ts.map +1 -1
  44. package/lib/cloudflare/hyperdrive.js +1 -1
  45. package/lib/cloudflare/hyperdrive.js.map +1 -1
  46. package/lib/cloudflare/website.d.ts.map +1 -1
  47. package/lib/cloudflare/website.js +80 -82
  48. package/lib/cloudflare/website.js.map +1 -1
  49. package/lib/cloudflare/worker-bundle.d.ts +6 -0
  50. package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
  51. package/lib/cloudflare/worker-bundle.js +34 -10
  52. package/lib/cloudflare/worker-bundle.js.map +1 -1
  53. package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
  54. package/lib/cloudflare/worker-metadata.js +2 -1
  55. package/lib/cloudflare/worker-metadata.js.map +1 -1
  56. package/lib/cloudflare/worker.d.ts.map +1 -1
  57. package/lib/cloudflare/worker.js +24 -6
  58. package/lib/cloudflare/worker.js.map +1 -1
  59. package/lib/cloudflare/wrangler.json.d.ts +2 -4
  60. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  61. package/lib/cloudflare/wrangler.json.js +16 -14
  62. package/lib/cloudflare/wrangler.json.js.map +1 -1
  63. package/lib/context.d.ts +3 -1
  64. package/lib/context.d.ts.map +1 -1
  65. package/lib/context.js +2 -2
  66. package/lib/context.js.map +1 -1
  67. package/lib/destroy.d.ts +8 -0
  68. package/lib/destroy.d.ts.map +1 -1
  69. package/lib/destroy.js +20 -4
  70. package/lib/destroy.js.map +1 -1
  71. package/lib/neon/project.d.ts.map +1 -1
  72. package/lib/neon/project.js +4 -5
  73. package/lib/neon/project.js.map +1 -1
  74. package/lib/planetscale/api/client.gen.d.ts +1750 -0
  75. package/lib/planetscale/api/client.gen.d.ts.map +1 -0
  76. package/lib/planetscale/api/client.gen.js +2401 -0
  77. package/lib/planetscale/api/client.gen.js.map +1 -0
  78. package/lib/planetscale/api/index.d.ts +3 -0
  79. package/lib/planetscale/api/index.d.ts.map +1 -0
  80. package/lib/planetscale/api/index.js +4 -0
  81. package/lib/planetscale/api/index.js.map +1 -0
  82. package/lib/planetscale/api/types.gen.d.ts +12156 -0
  83. package/lib/planetscale/api/types.gen.d.ts.map +1 -0
  84. package/lib/planetscale/api/types.gen.js +2 -0
  85. package/lib/planetscale/api/types.gen.js.map +1 -0
  86. package/lib/planetscale/branch.d.ts +5 -8
  87. package/lib/planetscale/branch.d.ts.map +1 -1
  88. package/lib/planetscale/branch.js +111 -97
  89. package/lib/planetscale/branch.js.map +1 -1
  90. package/lib/planetscale/database.d.ts +2 -6
  91. package/lib/planetscale/database.d.ts.map +1 -1
  92. package/lib/planetscale/database.js +157 -118
  93. package/lib/planetscale/database.js.map +1 -1
  94. package/lib/planetscale/index.d.ts +1 -1
  95. package/lib/planetscale/index.d.ts.map +1 -1
  96. package/lib/planetscale/index.js +1 -1
  97. package/lib/planetscale/index.js.map +1 -1
  98. package/lib/planetscale/password.d.ts +4 -7
  99. package/lib/planetscale/password.d.ts.map +1 -1
  100. package/lib/planetscale/password.js +71 -56
  101. package/lib/planetscale/password.js.map +1 -1
  102. package/lib/planetscale/utils.d.ts +8 -6
  103. package/lib/planetscale/utils.d.ts.map +1 -1
  104. package/lib/planetscale/utils.js +85 -70
  105. package/lib/planetscale/utils.js.map +1 -1
  106. package/lib/scope.d.ts +5 -1
  107. package/lib/scope.d.ts.map +1 -1
  108. package/lib/scope.js +11 -3
  109. package/lib/scope.js.map +1 -1
  110. package/lib/upstash/redis.js +1 -1
  111. package/lib/upstash/redis.js.map +1 -1
  112. package/lib/util/dedent.d.ts +3 -14
  113. package/lib/util/dedent.d.ts.map +1 -1
  114. package/lib/util/dedent.js +28 -52
  115. package/lib/util/dedent.js.map +1 -1
  116. package/lib/util/idempotent-spawn.d.ts.map +1 -1
  117. package/lib/util/idempotent-spawn.js +21 -2
  118. package/lib/util/idempotent-spawn.js.map +1 -1
  119. package/lib/util/xml.js +1 -1
  120. package/lib/util/xml.js.map +1 -1
  121. package/package.json +4 -3
  122. package/src/alchemy.ts +14 -6
  123. package/src/apply.ts +13 -1
  124. package/src/cloudflare/bindings.ts +3 -1
  125. package/src/cloudflare/bucket.ts +3 -1
  126. package/src/cloudflare/bundle/cloudflare-internal.ts +42 -0
  127. package/src/cloudflare/bundle/nodejs-builtin-modules.ts +14 -0
  128. package/src/cloudflare/bundle/plugin-als-external.ts +13 -0
  129. package/src/cloudflare/bundle/plugin-hybrid-node-compat.ts +29 -28
  130. package/src/cloudflare/bundle/plugin-node-compat.ts +114 -0
  131. package/src/cloudflare/cloudflare-env-proxy.ts +1 -1
  132. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  133. package/src/cloudflare/d1-local-migrations.ts +2 -2
  134. package/src/cloudflare/durable-object-namespace.ts +1 -1
  135. package/src/cloudflare/hyperdrive.ts +1 -1
  136. package/src/cloudflare/website.ts +88 -89
  137. package/src/cloudflare/worker-bundle.ts +46 -9
  138. package/src/cloudflare/worker-metadata.ts +3 -1
  139. package/src/cloudflare/worker.ts +35 -7
  140. package/src/cloudflare/wrangler.json.ts +108 -110
  141. package/src/context.ts +5 -3
  142. package/src/destroy.ts +26 -8
  143. package/src/neon/project.ts +4 -5
  144. package/src/planetscale/api/client.gen.ts +2882 -0
  145. package/src/planetscale/api/index.ts +4 -0
  146. package/src/planetscale/api/types.gen.ts +13041 -0
  147. package/src/planetscale/branch.ts +152 -169
  148. package/src/planetscale/database.ts +195 -204
  149. package/src/planetscale/index.ts +1 -1
  150. package/src/planetscale/password.ts +86 -85
  151. package/src/planetscale/utils.ts +141 -122
  152. package/src/scope.ts +12 -3
  153. package/src/upstash/redis.ts +1 -1
  154. package/src/util/dedent.ts +33 -61
  155. package/src/util/idempotent-spawn.ts +23 -2
  156. package/src/util/xml.ts +1 -1
  157. package/templates/astro/alchemy.run.ts +1 -3
  158. package/templates/hono/alchemy.run.ts +0 -1
  159. package/templates/nuxt/alchemy.run.ts +1 -3
  160. package/templates/react-router/alchemy.run.ts +1 -3
  161. package/templates/rwsdk/alchemy.run.ts +0 -2
  162. package/templates/sveltekit/alchemy.run.ts +1 -3
  163. package/templates/tanstack-start/alchemy.run.ts +1 -3
  164. package/templates/typescript/alchemy.run.ts +0 -1
  165. package/templates/vite/alchemy.run.ts +0 -1
  166. package/workers/cloudflare-state-store.js +58 -58
  167. package/lib/cloudflare/bundle/externals.d.ts +0 -3
  168. package/lib/cloudflare/bundle/externals.d.ts.map +0 -1
  169. package/lib/cloudflare/bundle/externals.js +0 -35
  170. package/lib/cloudflare/bundle/externals.js.map +0 -1
  171. package/lib/cloudflare/bundle/plugin-compat-warning.d.ts +0 -10
  172. package/lib/cloudflare/bundle/plugin-compat-warning.d.ts.map +0 -1
  173. package/lib/cloudflare/bundle/plugin-compat-warning.js +0 -67
  174. package/lib/cloudflare/bundle/plugin-compat-warning.js.map +0 -1
  175. package/lib/planetscale/api.d.ts +0 -53
  176. package/lib/planetscale/api.d.ts.map +0 -1
  177. package/lib/planetscale/api.js +0 -84
  178. package/lib/planetscale/api.js.map +0 -1
  179. package/src/cloudflare/bundle/externals.ts +0 -36
  180. package/src/cloudflare/bundle/plugin-compat-warning.ts +0 -94
  181. package/src/planetscale/api.ts +0 -115
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/planetscale/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/planetscale/database.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export * from "./api.ts";
1
+ export * from "./api/client.gen.ts";
2
2
  export * from "./branch.ts";
3
3
  export * from "./database.ts";
4
4
  export * from "./password.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/planetscale/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/planetscale/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- export * from "./api.js";
1
+ export * from "./api/client.gen.js";
2
2
  export * from "./branch.js";
3
3
  export * from "./database.js";
4
4
  export * from "./password.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planetscale/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planetscale/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import type { Context } from "../context.ts";
2
2
  import { Resource } from "../resource.ts";
3
3
  import type { Secret } from "../secret.ts";
4
+ import { type PlanetScaleProps } from "./api/client.gen.ts";
4
5
  import type { Branch } from "./branch.ts";
5
6
  import type { Database } from "./database.ts";
6
7
  /**
7
8
  * Properties for creating or updating a PlanetScale Branch
8
9
  */
9
- export interface PasswordProps {
10
+ export interface PasswordProps extends PlanetScaleProps {
10
11
  /**
11
12
  * The name of the password
12
13
  *
@@ -15,7 +16,7 @@ export interface PasswordProps {
15
16
  name?: string;
16
17
  /**
17
18
  * The organization ID where the password will be created
18
- * Required when using string database name, optional when using Database resource
19
+ * Required when using string database name, optional when using Database or Branch resource
19
20
  */
20
21
  organizationId?: string;
21
22
  /**
@@ -26,13 +27,9 @@ export interface PasswordProps {
26
27
  /**
27
28
  * The branch where the password will be created
28
29
  * Can be either a branch name (string) or Branch resource
29
- * Defaults to "main" if not provided
30
+ * @default "main"
30
31
  */
31
32
  branch?: string | Branch;
32
- /**
33
- * PlanetScale API token (overrides environment variable)
34
- */
35
- apiKey?: Secret;
36
33
  /**
37
34
  * The password
38
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/planetscale/password.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IAEnD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QACf,SAAQ,QAAQ,CAAC,uBAAuB,CAAC,EACvC,aAAa;IACf;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuJG;AACH,eAAO,MAAM,QAAQ,yFAGX,OAAO,CAAC,QAAQ,CAAC,MACnB,MAAM,SACH,aAAa,KACnB,OAAO,CAAC,QAAQ,CAAC,CA0GrB,CAAC"}
1
+ {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/planetscale/password.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IAEnD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QACf,SAAQ,QAAQ,CAAC,uBAAuB,CAAC,EACvC,aAAa;IACf;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuJG;AACH,eAAO,MAAM,QAAQ,yFAGX,OAAO,CAAC,QAAQ,CAAC,MACnB,MAAM,SACH,aAAa,KACnB,OAAO,CAAC,QAAQ,CAAC,CAmGrB,CAAC"}
@@ -1,8 +1,8 @@
1
+ import { isDeepStrictEqual } from "node:util";
1
2
  import { alchemy } from "../alchemy.js";
2
3
  import { Resource } from "../resource.js";
3
- import { logger } from "../util/logger.js";
4
4
  import { lowercaseId } from "../util/nanoid.js";
5
- import { PlanetScaleApi } from "./api.js";
5
+ import { PlanetScaleClient } from "./api/client.gen.js";
6
6
  /**
7
7
  * Create and manage database passwords for PlanetScale branches. Database passwords provide secure access to your database with specific roles and permissions.
8
8
  *
@@ -156,83 +156,98 @@ import { PlanetScaleApi } from "./api.js";
156
156
  * ```
157
157
  */
158
158
  export const Password = Resource("planetscale::Password", async function (id, props) {
159
- const apiKey = props.apiKey?.unencrypted || process.env.PLANETSCALE_API_TOKEN;
160
- if (!apiKey) {
161
- throw new Error("PLANETSCALE_API_TOKEN environment variable is required");
162
- }
163
159
  const nameSlug = this.isReplacement
164
160
  ? lowercaseId()
165
161
  : (this.output?.nameSlug ?? lowercaseId());
166
162
  const name = `${(props.name ?? this.output?.name ?? this.scope.createPhysicalName(id)).toLowerCase()}-${nameSlug}`;
167
- const api = new PlanetScaleApi({ apiKey });
168
- const branchName = props.branch == null
169
- ? "main"
170
- : typeof props.branch === "string"
171
- ? props.branch
172
- : props.branch.name;
173
- const databaseName = typeof props.database === "string" ? props.database : props.database.name;
163
+ const api = new PlanetScaleClient(props);
164
+ const database = typeof props.database === "string" ? props.database : props.database.name;
165
+ const branch = typeof props.branch === "string"
166
+ ? props.branch
167
+ : (props.branch?.name ?? "main");
168
+ const organization = props.organizationId ??
169
+ ((typeof props.branch !== "string" && props.branch?.organizationId) ||
170
+ (typeof props.database !== "string" && props.database.organizationId));
171
+ if (!organization) {
172
+ throw new Error("Organization ID is required");
173
+ }
174
174
  if (this.phase === "delete") {
175
- try {
176
- if (this.output?.name) {
177
- const response = await api.delete(`/organizations/${props.organizationId}/databases/${databaseName}/branches/${branchName}/passwords/${this.output.id}`);
178
- if (!response.ok && response.status !== 404) {
179
- throw new Error(`Failed to delete branch: ${response.statusText} ${await response.text()}`);
180
- }
175
+ if (this.output?.id) {
176
+ const res = await api.organizations.databases.branches.passwords.delete({
177
+ path: {
178
+ organization,
179
+ database,
180
+ branch,
181
+ id: this.output.id,
182
+ },
183
+ result: "full",
184
+ });
185
+ if (res.error && res.error.status !== 404) {
186
+ throw new Error(`Failed to delete branch "${branch}"`, {
187
+ cause: res.error,
188
+ });
181
189
  }
182
190
  }
183
- catch (error) {
184
- logger.error("Error deleting password:", error);
185
- throw error;
186
- }
187
191
  return this.destroy();
188
192
  }
189
193
  if (this.phase === "update") {
190
- if (this.output?.name === name &&
191
- ((this.output?.cidrs === undefined && props.cidrs === undefined) ||
192
- (Array.isArray(this.output?.cidrs) &&
193
- Array.isArray(props.cidrs) &&
194
- this.output.cidrs.length === props.cidrs.length &&
195
- this.output.cidrs.every((cidr, i) => cidr === props.cidrs[i])))) {
194
+ // Only name and cidrs can be updated in place; all other properties require replacement.
195
+ if (diff({ ...props, name }, this.output).some((prop) => prop !== "name" && prop !== "cidrs")) {
196
196
  return this.replace();
197
197
  }
198
- const updateResponse = await api.patch(`/organizations/${props.organizationId}/databases/${databaseName}/branches/${branchName}/passwords/${this.output.id}`, {
199
- name,
200
- cidrs: props.cidrs,
198
+ await api.organizations.databases.branches.passwords.patch({
199
+ path: {
200
+ organization,
201
+ database,
202
+ branch,
203
+ id: this.output.id,
204
+ },
205
+ body: {
206
+ name,
207
+ cidrs: props.cidrs,
208
+ },
201
209
  });
202
- if (!updateResponse.ok) {
203
- throw new Error(`Failed to update password: ${updateResponse.statusText} ${await updateResponse.text()}`);
204
- }
205
210
  return this({
206
211
  ...this.output,
207
212
  ...props,
213
+ name,
208
214
  });
209
215
  }
210
- try {
211
- const createResponse = await api.post(`/organizations/${props.organizationId}/databases/${databaseName}/branches/${branchName}/passwords`, {
216
+ const data = await api.organizations.databases.branches.passwords.post({
217
+ path: {
218
+ organization,
219
+ database,
220
+ branch,
221
+ },
222
+ body: {
212
223
  name,
213
224
  role: props.role,
214
225
  replica: props.replica,
215
226
  ttl: props.ttl,
216
227
  cidrs: props.cidrs,
217
- });
218
- if (!createResponse.ok) {
219
- throw new Error(`Failed to create password: ${createResponse.statusText} ${await createResponse.text()}`);
228
+ },
229
+ });
230
+ return this({
231
+ id: data.id,
232
+ expiresAt: data.expires_at,
233
+ host: data.access_host_url,
234
+ username: data.username,
235
+ password: alchemy.secret(data.plain_text),
236
+ nameSlug,
237
+ ...props,
238
+ name: `${props.name}-${nameSlug}`,
239
+ });
240
+ });
241
+ /**
242
+ * Returns an array of keys in `b` that are different from `a`.
243
+ */
244
+ const diff = (a, b) => {
245
+ const keys = [];
246
+ for (const key in a) {
247
+ if (!isDeepStrictEqual(a[key], b[key])) {
248
+ keys.push(key);
220
249
  }
221
- const data = await createResponse.json();
222
- return this({
223
- id: data.id,
224
- expiresAt: data.expires_at,
225
- host: data.access_host_url,
226
- username: data.username,
227
- password: alchemy.secret(data.plain_text),
228
- nameSlug,
229
- ...props,
230
- name: `${props.name}-${nameSlug}`,
231
- });
232
250
  }
233
- catch (error) {
234
- logger.error("Error managing password:", error);
235
- throw error;
236
- }
237
- });
251
+ return keys;
252
+ };
238
253
  //# sourceMappingURL=password.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/planetscale/password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAsG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuJG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAC9B,uBAAuB,EACvB,KAAK,WAEH,EAAU,EACV,KAAoB;IAEpB,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACjE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa;QACjC,CAAC,CAAC,WAAW,EAAE;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAE,CAAC;IAEnH,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,IAAI,IAAI;QAClB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAChC,CAAC,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,MAAM,YAAY,GAChB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;IAE5E,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAC/B,kBAAkB,KAAK,CAAC,cAAc,cAAc,YAAY,aAAa,UAAU,cAAc,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CACtH,CAAC;gBAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,UAAU,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAC3E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YAChD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,IACE,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI;YAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;gBAC9D,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;oBAChC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM;oBAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpE,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,KAAK,CACpC,kBAAkB,KAAK,CAAC,cAAc,cAAc,YAAY,aAAa,UAAU,cAAc,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EACrH;YACE,IAAI;YACJ,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CACF,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,8BAA8B,cAAc,CAAC,UAAU,IAAI,MAAM,cAAc,CAAC,IAAI,EAAE,EAAE,CACzF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;YACV,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,IAAI,CACnC,kBAAkB,KAAK,CAAC,cAAc,cAAc,YAAY,aAAa,UAAU,YAAY,EACnG;YACE,IAAI;YACJ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CACF,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,8BAA8B,cAAc,CAAC,UAAU,IAAI,MAAM,cAAc,CAAC,IAAI,EAAE,EAAE,CACzF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,EAAO,CAAC;QAE9C,OAAO,IAAI,CAAC;YACV,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACzC,QAAQ;YACR,GAAG,KAAK;YACR,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/planetscale/password.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,17 @@
1
- import type { PlanetScaleApi } from "./api.ts";
1
+ import type { PlanetScaleClient } from "./api/client.gen.ts";
2
2
  export type PlanetScaleClusterSize = "PS_DEV" | "PS_10" | "PS_20" | "PS_40" | "PS_80" | "PS_160" | "PS_320" | "PS_400" | "PS_640" | "PS_700" | "PS_900" | "PS_1280" | "PS_1400" | "PS_1800" | "PS_2100" | "PS_2560" | "PS_2700" | "PS_2800" | (string & {});
3
3
  /**
4
4
  * Wait for a database to be ready with exponential backoff
5
5
  */
6
- export declare function waitForDatabaseReady(api: PlanetScaleApi, organizationId: string, databaseName: string, branchName?: string): Promise<void>;
6
+ export declare function waitForDatabaseReady(api: PlanetScaleClient, organization: string, database: string, branch?: string): Promise<void>;
7
7
  /**
8
- * Wait for a keyspace to be ready
8
+ * Polls a keyspace until it is finished resizing.
9
9
  */
10
- export declare function waitForKeyspaceReady(api: PlanetScaleApi, org: string, db: string, branch: string, keyspace: string): Promise<void>;
10
+ export declare function waitForKeyspaceReady(api: PlanetScaleClient, organization: string, database: string, branch: string, keyspace: string): Promise<void>;
11
11
  /**
12
- * Fix cluster size for a branch
12
+ * Ensure a branch is production and has the correct cluster size.
13
+ * If a branch is not production, it will be promoted to production because
14
+ * cluster sizes can only be configured for production branches.
13
15
  */
14
- export declare function fixClusterSize(api: PlanetScaleApi, organizationId: string, databaseName: string, branchName: string, expectedClusterSize: PlanetScaleClusterSize, isDBReady: boolean): Promise<void>;
16
+ export declare function ensureProductionBranchClusterSize(api: PlanetScaleClient, organization: string, database: string, branch: string, expectedClusterSize: PlanetScaleClusterSize, isDBReady: boolean): Promise<void>;
15
17
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/planetscale/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,sBAAsB,EAC3C,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Ef"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/planetscale/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,iBAAiB,EACtB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,iBAAiB,EACtB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,iBAAiB,EACtB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,sBAAsB,EAC3C,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAoEf"}
@@ -1,95 +1,110 @@
1
1
  /**
2
2
  * Wait for a database to be ready with exponential backoff
3
3
  */
4
- export async function waitForDatabaseReady(api, organizationId, databaseName, branchName) {
5
- const startTime = Date.now();
6
- let waitMs = 100;
7
- const branchSuffix = branchName ? `/branches/${branchName}` : "";
8
- while (true) {
9
- const response = await api.get(`/organizations/${organizationId}/databases/${databaseName}${branchSuffix}`);
10
- if (!response.ok) {
11
- throw new Error(`Failed to check database state: ${response.statusText}`);
12
- }
13
- const data = await response.json();
14
- if (data.ready === true) {
15
- return;
16
- }
17
- if (Date.now() - startTime >= 60000) {
18
- throw new Error(`Timeout waiting for database ${databaseName} to be ready`);
19
- }
20
- await new Promise((resolve) => setTimeout(resolve, waitMs));
21
- waitMs = Math.min(waitMs * 2, 1000); // Cap at 1s intervals
22
- }
4
+ export async function waitForDatabaseReady(api, organization, database, branch) {
5
+ await poll({
6
+ description: `database "${database}" ${branch ? `branch "${branch}"` : ""} ready`,
7
+ fn: async () => {
8
+ if (branch) {
9
+ return await api.organizations.databases.branches.get({
10
+ path: { organization, database, name: branch },
11
+ });
12
+ }
13
+ return await api.organizations.databases.get({
14
+ path: { organization, name: database },
15
+ });
16
+ },
17
+ predicate: (item) => item.ready,
18
+ });
23
19
  }
24
20
  /**
25
- * Wait for a keyspace to be ready
21
+ * Polls a keyspace until it is finished resizing.
26
22
  */
27
- export async function waitForKeyspaceReady(api, org, db, branch, keyspace) {
28
- const start = Date.now();
29
- let delay = 100;
30
- while (true) {
31
- const res = await api.get(`/organizations/${org}/databases/${db}/branches/${branch}/keyspaces/${keyspace}/resizes`);
32
- if (!res.ok) {
33
- throw new Error(`Error fetching keyspace "${keyspace}": ${res.statusText}`);
34
- }
35
- const ks = await res.json();
36
- // once it's fully ready, we can proceed
37
- if (ks.data.every((item) => item.state !== "resizing")) {
38
- return;
39
- }
40
- if (Date.now() - start > 600_000) {
41
- throw new Error(`Timeout waiting for keyspace "${keyspace}" to be ready`);
42
- }
43
- await new Promise((r) => setTimeout(r, delay));
44
- delay = Math.min(delay * 2, 1_000);
45
- }
23
+ export async function waitForKeyspaceReady(api, organization, database, branch, keyspace) {
24
+ await poll({
25
+ description: `keyspace "${keyspace}" ready`,
26
+ fn: () => api.organizations.databases.branches.keyspaces.resizes.list({
27
+ path: { organization, database, branch, name: keyspace },
28
+ }),
29
+ predicate: (response) => response.data.every((item) => item.state !== "resizing"),
30
+ initialDelay: 100,
31
+ maxDelay: 1000,
32
+ });
46
33
  }
47
34
  /**
48
- * Fix cluster size for a branch
35
+ * Ensure a branch is production and has the correct cluster size.
36
+ * If a branch is not production, it will be promoted to production because
37
+ * cluster sizes can only be configured for production branches.
49
38
  */
50
- export async function fixClusterSize(api, organizationId, databaseName, branchName, expectedClusterSize, isDBReady) {
39
+ export async function ensureProductionBranchClusterSize(api, organization, database, branch, expectedClusterSize, isDBReady) {
51
40
  if (!isDBReady) {
52
- await waitForDatabaseReady(api, organizationId, databaseName);
41
+ await waitForDatabaseReady(api, organization, database);
53
42
  }
54
43
  // 1. Ensure branch is production
55
- let branchRes = await api.get(`/organizations/${organizationId}/databases/${databaseName}/branches/${branchName}`);
56
- if (!branchRes.ok) {
57
- throw new Error(`Unable to get branch data: ${branchRes.statusText}`);
58
- }
59
- let branchData = await branchRes.json();
44
+ const branchData = await api.organizations.databases.branches.get({
45
+ path: {
46
+ organization,
47
+ database,
48
+ name: branch,
49
+ },
50
+ });
60
51
  if (!branchData.production) {
61
52
  if (!branchData.ready) {
62
- await waitForDatabaseReady(api, organizationId, databaseName, branchName);
63
- }
64
- const promoteRes = await api.post(`/organizations/${organizationId}/databases/${databaseName}/branches/${branchName}/promote`);
65
- if (!promoteRes.ok) {
66
- throw new Error(`Unable to promote branch: ${promoteRes.statusText}`);
53
+ await waitForDatabaseReady(api, organization, database, branch);
67
54
  }
55
+ await api.organizations.databases.branches.promote.post({
56
+ path: {
57
+ organization,
58
+ database,
59
+ name: branch,
60
+ },
61
+ });
68
62
  }
69
63
  // 2. Load default keyspace
70
- const ksListRes = await api.get(`/organizations/${organizationId}/databases/${databaseName}/branches/${branchName}/keyspaces`);
71
- if (!ksListRes.ok) {
72
- throw new Error(`Failed to list keyspaces: ${ksListRes.statusText}`);
73
- }
74
- const ksList = (await ksListRes.json()).data;
75
- const defaultKsData = ksList.find((x) => x.name === databaseName); // Default keypsace is always the same name as the database
76
- if (ksList.length === 0 || !defaultKsData) {
77
- throw new Error(`No default keyspace found for branch ${branchName}`);
64
+ const keyspaces = await api.organizations.databases.branches.keyspaces.list({
65
+ path: {
66
+ organization,
67
+ database,
68
+ branch,
69
+ },
70
+ });
71
+ const defaultKeyspace = keyspaces.data.find((x) => x.name === database); // Default keyspace is always the same name as the database
72
+ if (!defaultKeyspace) {
73
+ throw new Error(`No default keyspace found for branch ${branch}`);
78
74
  }
79
- const defaultKs = defaultKsData.name;
80
- let currentSize = defaultKsData.cluster_name;
81
75
  // 3. Wait until any in-flight resize is done
82
- await waitForKeyspaceReady(api, organizationId, databaseName, branchName, defaultKs);
76
+ await waitForKeyspaceReady(api, organization, database, branch, defaultKeyspace.name);
83
77
  // 4. If size mismatch, trigger resize and wait again
84
78
  // Ideally this would use the undocumented Keyspaces API, but there seems to be a missing oauth scope that we cannot add via the console yet
85
- if (currentSize !== expectedClusterSize) {
86
- const resizeRes = await api.patch(`/organizations/${organizationId}/databases/${databaseName}/branches/${branchName}/cluster`, { cluster_size: expectedClusterSize });
87
- if (!resizeRes.ok) {
88
- const text = await resizeRes.text();
89
- throw new Error(`Failed to start resize: ${resizeRes.statusText} ${text}`);
90
- }
79
+ if (defaultKeyspace.cluster_name !== expectedClusterSize) {
80
+ await api.organizations.databases.branches.cluster.patch({
81
+ path: {
82
+ organization,
83
+ database,
84
+ name: branch,
85
+ },
86
+ body: { cluster_size: expectedClusterSize },
87
+ });
91
88
  // Poll until the resize completes
92
- await waitForKeyspaceReady(api, organizationId, databaseName, branchName, defaultKs);
89
+ await waitForKeyspaceReady(api, organization, database, branch, defaultKeyspace.name);
90
+ }
91
+ }
92
+ /**
93
+ * Polls a function until it returns a result that satisfies the predicate.
94
+ */
95
+ async function poll(input) {
96
+ const start = Date.now();
97
+ let delay = input.initialDelay ?? 250;
98
+ while (true) {
99
+ const result = await input.fn();
100
+ if (input.predicate(result)) {
101
+ return result;
102
+ }
103
+ if (Date.now() - start >= (input.timeout ?? 1_000_000)) {
104
+ throw new Error(`Timed out waiting for ${input.description} after ${Math.round((input.timeout ?? 1_000_000) / 1000)}s`);
105
+ }
106
+ await new Promise((resolve) => setTimeout(resolve, delay));
107
+ delay = Math.min(delay * 2, input.maxDelay ?? 5_000);
93
108
  }
94
109
  }
95
110
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/planetscale/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/planetscale/utils.ts"],"names":[],"mappings":"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"}
package/lib/scope.d.ts CHANGED
@@ -131,6 +131,7 @@ export declare class Scope {
131
131
  private cleanups;
132
132
  get appName(): string;
133
133
  constructor(options: ScopeOptions);
134
+ has(id: string, type?: string): Promise<boolean>;
134
135
  createPhysicalName(id: string, delimiter?: string): string;
135
136
  spawn<E extends ((line: string) => string | undefined) | undefined>(id: string, options: Omit<IdempotentSpawnOptions, "log" | "stateFile">): Promise<E extends undefined ? undefined : string>;
136
137
  /**
@@ -167,7 +168,10 @@ export declare class Scope {
167
168
  * This is used so that app-level hooks are only called once.
168
169
  */
169
170
  private get rootTelemetryClient();
170
- finalize(force?: boolean): Promise<void>;
171
+ finalize(options?: {
172
+ force?: boolean;
173
+ noop?: boolean;
174
+ }): Promise<void>;
171
175
  destroyPendingDeletions(): Promise<void>;
172
176
  /**
173
177
  * Defers execution of a function until the Alchemy application finalizes.
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}