alchemy 0.1.15 → 0.1.16

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 (217) hide show
  1. package/lib/apply.js +1 -1
  2. package/lib/apply.js.map +1 -1
  3. package/lib/destroy.js +9 -3
  4. package/lib/destroy.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/apply.ts +1 -1
  7. package/src/destroy.ts +15 -10
  8. package/lib/$.d.ts +0 -12
  9. package/lib/$.d.ts.map +0 -1
  10. package/lib/$.js +0 -42
  11. package/lib/$.js.map +0 -1
  12. package/lib/alchemize.d.ts +0 -43
  13. package/lib/alchemize.d.ts.map +0 -1
  14. package/lib/alchemize.js +0 -112
  15. package/lib/alchemize.js.map +0 -1
  16. package/lib/apply.d.ts +0 -23
  17. package/lib/aws/account-id.d.ts +0 -5
  18. package/lib/aws/account-id.d.ts.map +0 -1
  19. package/lib/aws/account-id.js +0 -10
  20. package/lib/aws/account-id.js.map +0 -1
  21. package/lib/aws/bucket.d.ts +0 -21
  22. package/lib/aws/bucket.d.ts.map +0 -1
  23. package/lib/aws/bucket.js +0 -114
  24. package/lib/aws/bucket.js.map +0 -1
  25. package/lib/aws/function.d.ts +0 -53
  26. package/lib/aws/function.d.ts.map +0 -1
  27. package/lib/aws/function.js +0 -195
  28. package/lib/aws/function.js.map +0 -1
  29. package/lib/aws/index.d.ts +0 -9
  30. package/lib/aws/index.d.ts.map +0 -1
  31. package/lib/aws/index.js +0 -9
  32. package/lib/aws/index.js.map +0 -1
  33. package/lib/aws/oidc/github-oidc-provider.d.ts +0 -11
  34. package/lib/aws/oidc/github-oidc-provider.d.ts.map +0 -1
  35. package/lib/aws/oidc/github-oidc-provider.js +0 -22
  36. package/lib/aws/oidc/github-oidc-provider.js.map +0 -1
  37. package/lib/aws/oidc/index.d.ts +0 -3
  38. package/lib/aws/oidc/index.d.ts.map +0 -1
  39. package/lib/aws/oidc/index.js +0 -3
  40. package/lib/aws/oidc/index.js.map +0 -1
  41. package/lib/aws/oidc/oidc-provider.d.ts +0 -60
  42. package/lib/aws/oidc/oidc-provider.d.ts.map +0 -1
  43. package/lib/aws/oidc/oidc-provider.js +0 -140
  44. package/lib/aws/oidc/oidc-provider.js.map +0 -1
  45. package/lib/aws/policy.d.ts +0 -46
  46. package/lib/aws/policy.d.ts.map +0 -1
  47. package/lib/aws/policy.js +0 -139
  48. package/lib/aws/policy.js.map +0 -1
  49. package/lib/aws/queue.d.ts +0 -62
  50. package/lib/aws/queue.d.ts.map +0 -1
  51. package/lib/aws/queue.js +0 -167
  52. package/lib/aws/queue.js.map +0 -1
  53. package/lib/aws/role.d.ts +0 -27
  54. package/lib/aws/role.d.ts.map +0 -1
  55. package/lib/aws/role.js +0 -197
  56. package/lib/aws/role.js.map +0 -1
  57. package/lib/aws/ses.d.ts +0 -75
  58. package/lib/aws/ses.d.ts.map +0 -1
  59. package/lib/aws/ses.js +0 -189
  60. package/lib/aws/ses.js.map +0 -1
  61. package/lib/aws/table.d.ts +0 -26
  62. package/lib/aws/table.d.ts.map +0 -1
  63. package/lib/aws/table.js +0 -154
  64. package/lib/aws/table.js.map +0 -1
  65. package/lib/cloudflare/api.d.ts +0 -88
  66. package/lib/cloudflare/api.d.ts.map +0 -1
  67. package/lib/cloudflare/api.js +0 -184
  68. package/lib/cloudflare/api.js.map +0 -1
  69. package/lib/cloudflare/asset-manifest.d.ts +0 -15
  70. package/lib/cloudflare/asset-manifest.d.ts.map +0 -1
  71. package/lib/cloudflare/asset-manifest.js +0 -2
  72. package/lib/cloudflare/asset-manifest.js.map +0 -1
  73. package/lib/cloudflare/auth.d.ts +0 -52
  74. package/lib/cloudflare/auth.d.ts.map +0 -1
  75. package/lib/cloudflare/auth.js +0 -114
  76. package/lib/cloudflare/auth.js.map +0 -1
  77. package/lib/cloudflare/bindings.d.ts +0 -259
  78. package/lib/cloudflare/bindings.d.ts.map +0 -1
  79. package/lib/cloudflare/bindings.js +0 -2
  80. package/lib/cloudflare/bindings.js.map +0 -1
  81. package/lib/cloudflare/durable-object-namespace.d.ts +0 -20
  82. package/lib/cloudflare/durable-object-namespace.d.ts.map +0 -1
  83. package/lib/cloudflare/durable-object-namespace.js +0 -21
  84. package/lib/cloudflare/durable-object-namespace.js.map +0 -1
  85. package/lib/cloudflare/generate-asset-manifest.d.ts +0 -3
  86. package/lib/cloudflare/generate-asset-manifest.d.ts.map +0 -1
  87. package/lib/cloudflare/generate-asset-manifest.js +0 -69
  88. package/lib/cloudflare/generate-asset-manifest.js.map +0 -1
  89. package/lib/cloudflare/index.d.ts +0 -7
  90. package/lib/cloudflare/index.d.ts.map +0 -1
  91. package/lib/cloudflare/index.js +0 -7
  92. package/lib/cloudflare/index.js.map +0 -1
  93. package/lib/cloudflare/kv-namespace.d.ts +0 -64
  94. package/lib/cloudflare/kv-namespace.d.ts.map +0 -1
  95. package/lib/cloudflare/kv-namespace.js +0 -114
  96. package/lib/cloudflare/kv-namespace.js.map +0 -1
  97. package/lib/cloudflare/state.d.ts +0 -83
  98. package/lib/cloudflare/state.d.ts.map +0 -1
  99. package/lib/cloudflare/state.js +0 -109
  100. package/lib/cloudflare/state.js.map +0 -1
  101. package/lib/cloudflare/static-site-router.d.ts +0 -19
  102. package/lib/cloudflare/static-site-router.d.ts.map +0 -1
  103. package/lib/cloudflare/static-site-router.js +0 -110
  104. package/lib/cloudflare/static-site-router.js.map +0 -1
  105. package/lib/cloudflare/static-site.d.ts +0 -166
  106. package/lib/cloudflare/static-site.d.ts.map +0 -1
  107. package/lib/cloudflare/static-site.js +0 -150
  108. package/lib/cloudflare/static-site.js.map +0 -1
  109. package/lib/cloudflare/types.d.ts +0 -52
  110. package/lib/cloudflare/types.d.ts.map +0 -1
  111. package/lib/cloudflare/types.js +0 -21
  112. package/lib/cloudflare/types.js.map +0 -1
  113. package/lib/cloudflare/upload-asset-manifest.d.ts +0 -12
  114. package/lib/cloudflare/upload-asset-manifest.d.ts.map +0 -1
  115. package/lib/cloudflare/upload-asset-manifest.js +0 -55
  116. package/lib/cloudflare/upload-asset-manifest.js.map +0 -1
  117. package/lib/cloudflare/worker-metadata.d.ts +0 -130
  118. package/lib/cloudflare/worker-metadata.d.ts.map +0 -1
  119. package/lib/cloudflare/worker-metadata.js +0 -2
  120. package/lib/cloudflare/worker-metadata.js.map +0 -1
  121. package/lib/cloudflare/worker-migration.d.ts +0 -110
  122. package/lib/cloudflare/worker-migration.d.ts.map +0 -1
  123. package/lib/cloudflare/worker-migration.js +0 -11
  124. package/lib/cloudflare/worker-migration.js.map +0 -1
  125. package/lib/cloudflare/worker.d.ts +0 -108
  126. package/lib/cloudflare/worker.d.ts.map +0 -1
  127. package/lib/cloudflare/worker.js +0 -399
  128. package/lib/cloudflare/worker.js.map +0 -1
  129. package/lib/destroy.d.ts +0 -19
  130. package/lib/error.d.ts +0 -2
  131. package/lib/error.d.ts.map +0 -1
  132. package/lib/error.js +0 -13
  133. package/lib/error.js.map +0 -1
  134. package/lib/esbuild.d.ts +0 -152
  135. package/lib/esbuild.d.ts.map +0 -1
  136. package/lib/esbuild.js +0 -67
  137. package/lib/esbuild.js.map +0 -1
  138. package/lib/fs.d.ts +0 -12
  139. package/lib/fs.d.ts.map +0 -1
  140. package/lib/fs.js +0 -41
  141. package/lib/fs.js.map +0 -1
  142. package/lib/github/client.d.ts +0 -34
  143. package/lib/github/client.d.ts.map +0 -1
  144. package/lib/github/client.js +0 -91
  145. package/lib/github/client.js.map +0 -1
  146. package/lib/github/index.d.ts +0 -2
  147. package/lib/github/index.d.ts.map +0 -1
  148. package/lib/github/index.js +0 -2
  149. package/lib/github/index.js.map +0 -1
  150. package/lib/github/secret.d.ts +0 -46
  151. package/lib/github/secret.d.ts.map +0 -1
  152. package/lib/github/secret.js +0 -103
  153. package/lib/github/secret.js.map +0 -1
  154. package/lib/global.d.ts +0 -16
  155. package/lib/global.d.ts.map +0 -1
  156. package/lib/global.js +0 -42
  157. package/lib/global.js.map +0 -1
  158. package/lib/index.d.ts +0 -10
  159. package/lib/index.d.ts.map +0 -1
  160. package/lib/index.js +0 -9
  161. package/lib/index.js.map +0 -1
  162. package/lib/input.d.ts +0 -6
  163. package/lib/input.d.ts.map +0 -1
  164. package/lib/input.js +0 -2
  165. package/lib/input.js.map +0 -1
  166. package/lib/main.d.ts +0 -3
  167. package/lib/main.d.ts.map +0 -1
  168. package/lib/main.js +0 -32
  169. package/lib/main.js.map +0 -1
  170. package/lib/output.d.ts +0 -24
  171. package/lib/output.d.ts.map +0 -1
  172. package/lib/output.js +0 -23
  173. package/lib/output.js.map +0 -1
  174. package/lib/print.d.ts +0 -7
  175. package/lib/print.d.ts.map +0 -1
  176. package/lib/print.js +0 -10
  177. package/lib/print.js.map +0 -1
  178. package/lib/resource.d.ts +0 -71
  179. package/lib/resource.d.ts.map +0 -1
  180. package/lib/resource.js +0 -276
  181. package/lib/resource.js.map +0 -1
  182. package/lib/scope.d.ts +0 -18
  183. package/lib/scope.d.ts.map +0 -1
  184. package/lib/scope.js +0 -30
  185. package/lib/scope.js.map +0 -1
  186. package/lib/slug.d.ts +0 -2
  187. package/lib/slug.d.ts.map +0 -1
  188. package/lib/slug.js +0 -4
  189. package/lib/slug.js.map +0 -1
  190. package/lib/state.d.ts +0 -40
  191. package/lib/state.d.ts.map +0 -1
  192. package/lib/state.js +0 -73
  193. package/lib/state.js.map +0 -1
  194. package/lib/stripe/index.d.ts +0 -4
  195. package/lib/stripe/index.d.ts.map +0 -1
  196. package/lib/stripe/index.js +0 -4
  197. package/lib/stripe/index.js.map +0 -1
  198. package/lib/stripe/price.d.ts +0 -109
  199. package/lib/stripe/price.d.ts.map +0 -1
  200. package/lib/stripe/price.js +0 -112
  201. package/lib/stripe/price.js.map +0 -1
  202. package/lib/stripe/product.d.ts +0 -86
  203. package/lib/stripe/product.d.ts.map +0 -1
  204. package/lib/stripe/product.js +0 -90
  205. package/lib/stripe/product.js.map +0 -1
  206. package/lib/stripe/webhook.d.ts +0 -73
  207. package/lib/stripe/webhook.d.ts.map +0 -1
  208. package/lib/stripe/webhook.js +0 -94
  209. package/lib/stripe/webhook.js.map +0 -1
  210. package/lib/utils/content-type.d.ts +0 -8
  211. package/lib/utils/content-type.d.ts.map +0 -1
  212. package/lib/utils/content-type.js +0 -41
  213. package/lib/utils/content-type.js.map +0 -1
  214. package/lib/utils/retry.d.ts +0 -13
  215. package/lib/utils/retry.d.ts.map +0 -1
  216. package/lib/utils/retry.js +0 -32
  217. package/lib/utils/retry.js.map +0 -1
@@ -1,20 +0,0 @@
1
- import type { Resolved } from "../output";
2
- export interface DurableObjectNamespaceInput {
3
- className: string;
4
- scriptName?: string | undefined;
5
- environment?: string | undefined;
6
- sqlite?: boolean | undefined;
7
- namespaceId?: string | undefined;
8
- }
9
- export declare function isDurableObjectNamespace(binding: any): binding is Resolved<DurableObjectNamespace>;
10
- export declare class DurableObjectNamespace implements DurableObjectNamespaceInput {
11
- readonly id: string;
12
- readonly type: "durable_object_namespace";
13
- readonly className: string;
14
- readonly scriptName?: string | undefined;
15
- readonly environment?: string | undefined;
16
- readonly sqlite?: boolean | undefined;
17
- readonly namespaceId?: string | undefined;
18
- constructor(id: string, input: DurableObjectNamespaceInput);
19
- }
20
- //# sourceMappingURL=durable-object-namespace.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"durable-object-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,GAAG,GACX,OAAO,IAAI,QAAQ,CAAC,sBAAsB,CAAC,CAI7C;AAED,qBAAa,sBAAuB,YAAW,2BAA2B;aAUtD,EAAE,EAAE,MAAM;IAT5B,SAAgB,IAAI,EAAG,0BAA0B,CAAU;IAE3D,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,SAAgB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7C,SAAgB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAG/B,EAAE,EAAE,MAAM,EAC1B,KAAK,EAAE,2BAA2B;CAOrC"}
@@ -1,21 +0,0 @@
1
- export function isDurableObjectNamespace(binding) {
2
- return (typeof binding === "object" && binding.type === "durable_object_namespace");
3
- }
4
- export class DurableObjectNamespace {
5
- id;
6
- type = "durable_object_namespace";
7
- // alias for bindingName to be consistent with other bindings
8
- className;
9
- scriptName;
10
- environment;
11
- sqlite;
12
- namespaceId;
13
- constructor(id, input) {
14
- this.id = id;
15
- this.className = input.className;
16
- this.scriptName = input.scriptName;
17
- this.environment = input.environment;
18
- this.sqlite = input.sqlite;
19
- }
20
- }
21
- //# sourceMappingURL=durable-object-namespace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"durable-object-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,wBAAwB,CACtC,OAAY;IAEZ,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,0BAA0B,CAC3E,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,sBAAsB;IAUf;IATF,IAAI,GAAG,0BAAmC,CAAC;IAC3D,6DAA6D;IAC7C,SAAS,CAAS;IAClB,UAAU,CAAsB;IAChC,WAAW,CAAsB;IACjC,MAAM,CAAuB;IAC7B,WAAW,CAAsB;IAEjD,YACkB,EAAU,EAC1B,KAAkC;QADlB,OAAE,GAAF,EAAE,CAAQ;QAG1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- import type { AssetManifest, FileOption } from "./asset-manifest";
2
- export declare function generateAssetManifest(dir: string, fileOptions?: FileOption[]): Promise<AssetManifest>;
3
- //# sourceMappingURL=generate-asset-manifest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-asset-manifest.d.ts","sourceRoot":"","sources":["../../src/cloudflare/generate-asset-manifest.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EAEb,UAAU,EACX,MAAM,kBAAkB,CAAC;AAE1B,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,WAAW,GAAE,UAAU,EAStB,GACA,OAAO,CAAC,aAAa,CAAC,CAqExB"}
@@ -1,69 +0,0 @@
1
- import crypto from "crypto";
2
- import { promises as fs } from "fs";
3
- import { glob } from "glob";
4
- import path from "path";
5
- import { getContentType } from "../utils/content-type";
6
- export async function generateAssetManifest(dir, fileOptions = [
7
- {
8
- files: "**",
9
- cacheControl: "max-age=0,no-cache,no-store,must-revalidate",
10
- },
11
- {
12
- files: ["**/*.js", "**/*.css"],
13
- cacheControl: "max-age=31536000,public,immutable",
14
- },
15
- ]) {
16
- // First, collect all file info based on fileOptions (reversed to prioritize later rules)
17
- const fileInfos = [];
18
- const filesProcessed = new Set();
19
- // Process file options in reverse order (later rules override earlier ones)
20
- // Use for...of to maintain order but allow await inside the loop
21
- const reversedOptions = [...fileOptions].reverse();
22
- for (const fileOption of reversedOptions) {
23
- const patterns = Array.isArray(fileOption.files)
24
- ? fileOption.files
25
- : [fileOption.files];
26
- // Get all files matching the pattern
27
- const files = (await Promise.all(patterns.map(async (p) => {
28
- // Use glob as async function instead of globSync
29
- return glob(p, {
30
- cwd: path.resolve(dir),
31
- nodir: true,
32
- dot: true,
33
- ignore: [
34
- ".git/**",
35
- "node_modules/**",
36
- ...(typeof fileOption.ignore === "string"
37
- ? [fileOption.ignore]
38
- : (fileOption.ignore ?? [])),
39
- ],
40
- });
41
- })))
42
- .flat()
43
- .filter((file) => !filesProcessed.has(file));
44
- // Add files to processed set
45
- for (const file of files) {
46
- filesProcessed.add(file);
47
- fileInfos.push({
48
- file,
49
- cacheControl: fileOption.cacheControl,
50
- contentType: fileOption.contentType,
51
- });
52
- }
53
- }
54
- // Process all files in parallel
55
- const manifestEntries = await Promise.all(fileInfos.map(async ({ file, cacheControl, contentType }) => {
56
- const source = path.resolve(dir, file);
57
- const content = await fs.readFile(source);
58
- const hash = crypto.createHash("sha256").update(content).digest("hex");
59
- return {
60
- source,
61
- key: file,
62
- hash,
63
- cacheControl,
64
- contentType: contentType ?? getContentType(file),
65
- };
66
- }));
67
- return manifestEntries;
68
- }
69
- //# sourceMappingURL=generate-asset-manifest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-asset-manifest.js","sourceRoot":"","sources":["../../src/cloudflare/generate-asset-manifest.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export * from "./bindings";
2
- export * from "./durable-object-namespace";
3
- export * from "./kv-namespace";
4
- export * from "./state";
5
- export * from "./static-site";
6
- export * from "./worker";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
@@ -1,7 +0,0 @@
1
- export * from "./bindings";
2
- export * from "./durable-object-namespace";
3
- export * from "./kv-namespace";
4
- export * from "./state";
5
- export * from "./static-site";
6
- export * from "./worker";
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
@@ -1,64 +0,0 @@
1
- import type { Resolved } from "../output";
2
- /**
3
- * Properties for creating or updating a KV Namespace
4
- */
5
- export interface KVNamespaceProps {
6
- /**
7
- * Title of the namespace
8
- */
9
- title: string;
10
- /**
11
- * KV pairs to store in the namespace
12
- * Only used for initial setup or updates
13
- */
14
- values?: KVPair[];
15
- }
16
- /**
17
- * Key-value pair to store in a KV Namespace
18
- */
19
- export interface KVPair {
20
- /**
21
- * Key name
22
- */
23
- key: string;
24
- /**
25
- * Value to store (string or JSON object)
26
- */
27
- value: string | object;
28
- /**
29
- * Optional expiration in seconds from now
30
- */
31
- expiration?: number;
32
- /**
33
- * Optional expiration timestamp in seconds since epoch
34
- */
35
- expirationTtl?: number;
36
- /**
37
- * Optional metadata for the key
38
- */
39
- metadata?: any;
40
- }
41
- /**
42
- * Output returned after KV Namespace creation/update
43
- */
44
- export interface KVNamespaceOutput extends KVNamespaceProps {
45
- type: "kv_namespace";
46
- /**
47
- * The ID of the namespace
48
- */
49
- id: string;
50
- /**
51
- * Time at which the namespace was created
52
- */
53
- createdAt: number;
54
- /**
55
- * Time at which the namespace was last modified
56
- */
57
- modifiedAt: number;
58
- }
59
- export declare function isKVNamespace(resource: any): resource is Resolved<KVNamespace>;
60
- declare const KVNamespace_base: import("../resource").Provider<"cloudflare::KVNamespace", [props: KVNamespaceProps], KVNamespaceOutput>;
61
- export declare class KVNamespace extends KVNamespace_base {
62
- }
63
- export {};
64
- //# sourceMappingURL=kv-namespace.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kv-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/kv-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAK1C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,IAAI,EAAE,cAAc,CAAC;IACrB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,GAAG,GACZ,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,CAInC;;AAED,qBAAa,WAAY,SAAQ,gBAgJhC;CAAG"}
@@ -1,114 +0,0 @@
1
- import { Resource } from "../resource";
2
- import { withExponentialBackoff } from "../utils/retry";
3
- import { createCloudflareApi } from "./api";
4
- export function isKVNamespace(resource) {
5
- return (resource && typeof resource === "object" && resource.type === "kv_namespace");
6
- }
7
- export class KVNamespace extends Resource("cloudflare::KVNamespace", async (ctx, props) => {
8
- // Create Cloudflare API client with automatic account discovery
9
- const api = await createCloudflareApi();
10
- if (ctx.event === "delete") {
11
- // For delete operations, we need to check if the namespace ID exists in the output
12
- const namespaceId = ctx.output?.id;
13
- if (namespaceId) {
14
- // Delete KV namespace
15
- const deleteResponse = await api.delete(`/accounts/${api.accountId}/storage/kv/namespaces/${namespaceId}`);
16
- if (!deleteResponse.ok && deleteResponse.status !== 404) {
17
- const errorData = await deleteResponse.json().catch(() => ({
18
- errors: [{ message: deleteResponse.statusText }],
19
- }));
20
- throw new Error(`Error deleting KV namespace '${props.title}': ${errorData.errors?.[0]?.message || deleteResponse.statusText}`);
21
- }
22
- }
23
- // Return minimal output for deleted state
24
- return;
25
- }
26
- else {
27
- // For create or update operations
28
- // If ctx.event is "update", we expect ctx.output to exist
29
- let namespaceId = ctx.event === "update" ? ctx.output?.id || "" : "";
30
- let createdAt = ctx.event === "update"
31
- ? ctx.output?.createdAt || Date.now()
32
- : Date.now();
33
- if (ctx.event === "update" && namespaceId) {
34
- // Can't update a KV namespace title directly, just work with existing ID
35
- }
36
- else {
37
- // Create new KV namespace
38
- const createResponse = await api.post(`/accounts/${api.accountId}/storage/kv/namespaces`, {
39
- title: props.title,
40
- });
41
- if (!createResponse.ok) {
42
- const errorData = await createResponse.json().catch(() => ({
43
- errors: [{ message: createResponse.statusText }],
44
- }));
45
- throw new Error(`Error creating KV namespace '${props.title}': ${errorData.errors?.[0]?.message || createResponse.statusText}`);
46
- }
47
- const createResult = await createResponse.json();
48
- namespaceId = createResult.result.id;
49
- createdAt = Date.now();
50
- }
51
- // Handle KV pairs if provided
52
- if (props.values && props.values.length > 0 && namespaceId) {
53
- // Process KV pairs in batches of 10000 (API limit)
54
- const BATCH_SIZE = 10000;
55
- for (let i = 0; i < props.values.length; i += BATCH_SIZE) {
56
- const batch = props.values.slice(i, i + BATCH_SIZE);
57
- const bulkPayload = batch.map((entry) => {
58
- const item = {
59
- key: entry.key,
60
- value: typeof entry.value === "string"
61
- ? entry.value
62
- : JSON.stringify(entry.value),
63
- };
64
- if (entry.expiration) {
65
- item.expiration = entry.expiration;
66
- }
67
- if (entry.expirationTtl) {
68
- item.expiration_ttl = entry.expirationTtl;
69
- }
70
- if (entry.metadata) {
71
- item.metadata = entry.metadata;
72
- }
73
- return item;
74
- });
75
- try {
76
- await withExponentialBackoff(async () => {
77
- const bulkResponse = await api.put(`/accounts/${api.accountId}/storage/kv/namespaces/${namespaceId}/bulk`, bulkPayload);
78
- if (!bulkResponse.ok) {
79
- const errorData = await bulkResponse
80
- .json()
81
- .catch(() => ({
82
- errors: [{ message: bulkResponse.statusText }],
83
- }));
84
- const errorMessage = errorData.errors?.[0]?.message || bulkResponse.statusText;
85
- // Throw error to trigger retry
86
- throw new Error(`Error writing KV batch: ${errorMessage}`);
87
- }
88
- return bulkResponse;
89
- }, (error) => {
90
- // Retry on "namespace not found" errors as they're likely propagation delays
91
- return error.message?.includes("not found");
92
- }, 5, // 5 retry attempts
93
- 1000);
94
- }
95
- catch (error) {
96
- console.warn(error.message);
97
- }
98
- }
99
- }
100
- const now = Date.now();
101
- // Construct the output
102
- const output = {
103
- type: "kv_namespace",
104
- id: namespaceId,
105
- title: props.title,
106
- values: props.values,
107
- createdAt: createdAt,
108
- modifiedAt: now,
109
- };
110
- return output;
111
- }
112
- }) {
113
- }
114
- //# sourceMappingURL=kv-namespace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kv-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/kv-namespace.ts"],"names":[],"mappings":"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"}
@@ -1,83 +0,0 @@
1
- import type { KVNamespace } from "@cloudflare/workers-types";
2
- import type { State, StateStore } from "../state";
3
- /**
4
- * Options for CloudflareStateStore
5
- */
6
- export interface CloudflareStateStoreOptions {
7
- /**
8
- * The prefix to use for keys in the KV namespace
9
- * This allows multiple state stores to use the same KV namespace
10
- */
11
- prefix?: string;
12
- }
13
- /**
14
- * State store implementation using Cloudflare KV Namespace
15
- */
16
- export declare class CloudflareStateStore implements StateStore {
17
- private namespace;
18
- private prefix;
19
- /**
20
- * Create a new CloudflareStateStore
21
- *
22
- * @param namespace The KV namespace to use for storing state
23
- * @param options Options for the state store
24
- */
25
- constructor(namespace: KVNamespace, options?: CloudflareStateStoreOptions);
26
- /**
27
- * No initialization needed for KV namespaces as they are pre-provisioned
28
- */
29
- init(): Promise<void>;
30
- /**
31
- * KV namespaces cannot be deleted programmatically
32
- */
33
- deinit(): Promise<void>;
34
- /**
35
- * List all resources in the state store
36
- */
37
- list(): Promise<string[]>;
38
- /**
39
- * Count the number of items in the state store
40
- */
41
- count(): Promise<number>;
42
- /**
43
- * Get a state by key
44
- *
45
- * @param key The key to look up
46
- * @returns The state or undefined if not found
47
- */
48
- get(key: string): Promise<State | undefined>;
49
- /**
50
- * Get multiple states by their keys
51
- *
52
- * @param ids Array of keys to fetch
53
- * @returns Record mapping keys to their states
54
- */
55
- getBatch(ids: string[]): Promise<Record<string, State>>;
56
- /**
57
- * Get all states in the store
58
- *
59
- * @returns Record mapping all keys to their states
60
- */
61
- all(): Promise<Record<string, State>>;
62
- /**
63
- * Set a state for a key
64
- *
65
- * @param key The key to set
66
- * @param value The state to store
67
- */
68
- set(key: string, value: State): Promise<void>;
69
- /**
70
- * Delete a state by key
71
- *
72
- * @param key The key to delete
73
- */
74
- delete(key: string): Promise<void>;
75
- /**
76
- * Get the namespaced key for storage
77
- *
78
- * @param key The original key
79
- * @returns The key with prefix for use in the KV namespace
80
- */
81
- private getNamespacedKey;
82
- }
83
- //# sourceMappingURL=state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/cloudflare/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,UAAU;IACrD,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;;OAKG;gBAED,SAAS,EAAE,WAAW,EACtB,OAAO,GAAE,2BAAgC;IAM3C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9B;;;;;OAKG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAKlD;;;;;OAKG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAgB7D;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAK3C;;;;;OAKG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;;;OAIG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;CAGzB"}
@@ -1,109 +0,0 @@
1
- /**
2
- * State store implementation using Cloudflare KV Namespace
3
- */
4
- export class CloudflareStateStore {
5
- namespace;
6
- prefix;
7
- /**
8
- * Create a new CloudflareStateStore
9
- *
10
- * @param namespace The KV namespace to use for storing state
11
- * @param options Options for the state store
12
- */
13
- constructor(namespace, options = {}) {
14
- this.namespace = namespace;
15
- this.prefix = options.prefix || "alchemy-state:";
16
- }
17
- /**
18
- * No initialization needed for KV namespaces as they are pre-provisioned
19
- */
20
- async init() {
21
- // KV namespaces are pre-provisioned in Cloudflare, so no initialization is needed
22
- }
23
- /**
24
- * KV namespaces cannot be deleted programmatically
25
- */
26
- async deinit() {
27
- // KV namespaces can only be deleted through the Cloudflare dashboard or API
28
- // We cannot delete the namespace itself here
29
- }
30
- /**
31
- * List all resources in the state store
32
- */
33
- async list() {
34
- const list = await this.namespace.list({ prefix: this.prefix });
35
- return list.keys.map((key) => key.name.slice(this.prefix.length));
36
- }
37
- /**
38
- * Count the number of items in the state store
39
- */
40
- async count() {
41
- const list = await this.namespace.list({ prefix: this.prefix });
42
- return list.keys.length;
43
- }
44
- /**
45
- * Get a state by key
46
- *
47
- * @param key The key to look up
48
- * @returns The state or undefined if not found
49
- */
50
- async get(key) {
51
- const data = await this.namespace.get(this.getNamespacedKey(key), "json");
52
- return data;
53
- }
54
- /**
55
- * Get multiple states by their keys
56
- *
57
- * @param ids Array of keys to fetch
58
- * @returns Record mapping keys to their states
59
- */
60
- async getBatch(ids) {
61
- const result = {};
62
- // KV doesn't have a native batch get operation, so we need to make multiple requests
63
- // We could optimize this with Promise.all for parallel fetching
64
- const promises = ids.map(async (id) => {
65
- const state = await this.get(id);
66
- if (state) {
67
- result[id] = state;
68
- }
69
- });
70
- await Promise.all(promises);
71
- return result;
72
- }
73
- /**
74
- * Get all states in the store
75
- *
76
- * @returns Record mapping all keys to their states
77
- */
78
- async all() {
79
- const keys = await this.list();
80
- return this.getBatch(keys);
81
- }
82
- /**
83
- * Set a state for a key
84
- *
85
- * @param key The key to set
86
- * @param value The state to store
87
- */
88
- async set(key, value) {
89
- await this.namespace.put(this.getNamespacedKey(key), JSON.stringify(value));
90
- }
91
- /**
92
- * Delete a state by key
93
- *
94
- * @param key The key to delete
95
- */
96
- async delete(key) {
97
- await this.namespace.delete(this.getNamespacedKey(key));
98
- }
99
- /**
100
- * Get the namespaced key for storage
101
- *
102
- * @param key The original key
103
- * @returns The key with prefix for use in the KV namespace
104
- */
105
- getNamespacedKey(key) {
106
- return `${this.prefix}${key}`;
107
- }
108
- }
109
- //# sourceMappingURL=state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/cloudflare/state.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACvB,SAAS,CAAc;IACvB,MAAM,CAAS;IAEvB;;;;;OAKG;IACH,YACE,SAAsB,EACtB,UAAuC,EAAE;QAEzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,gBAAgB,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,kFAAkF;IACpF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,4EAA4E;QAC5E,6CAA6C;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1E,OAAO,IAAyB,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAa;QAC1B,MAAM,MAAM,GAA0B,EAAE,CAAC;QAEzC,qFAAqF;QACrF,gEAAgE;QAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAY;QACjC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,GAAW;QAClC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;IAChC,CAAC;CACF"}
@@ -1,19 +0,0 @@
1
- export type Env = {
2
- ASSETS: KVNamespace;
3
- INDEX_PAGE: string;
4
- ERROR_PAGE?: string;
5
- /**
6
- * Optional backend worker bound to this static site
7
- * Used to handle requests that don't match any static files
8
- */
9
- BACKEND_WORKER?: Service;
10
- } & {
11
- [key in `ROUTE_${string}`]: Service;
12
- } & {
13
- [key in `__ROUTE_${string}`]: string;
14
- };
15
- declare const _default: {
16
- fetch(request: Request, env: Env): Promise<Response>;
17
- };
18
- export default _default;
19
- //# sourceMappingURL=static-site-router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"static-site-router.d.ts","sourceRoot":"","sources":["../../src/cloudflare/static-site-router.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,GAAG,GAAG;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG;KAED,GAAG,IAAI,SAAS,MAAM,EAAE,GAAG,OAAO;CACpC,GAAG;KAED,GAAG,IAAI,WAAW,MAAM,EAAE,GAAG,MAAM;CACrC,CAAC;;mBAMqB,OAAO,OAAO,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;;AAD5D,wBAqBE"}