alchemy 0.1.16 → 0.1.18

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 (250) hide show
  1. package/lib/$.d.ts +12 -0
  2. package/lib/$.d.ts.map +1 -0
  3. package/lib/$.js +42 -0
  4. package/lib/$.js.map +1 -0
  5. package/lib/alchemize.d.ts +47 -0
  6. package/lib/alchemize.d.ts.map +1 -0
  7. package/lib/alchemize.js +116 -0
  8. package/lib/alchemize.js.map +1 -0
  9. package/lib/apply.d.ts +23 -0
  10. package/lib/apply.d.ts.map +1 -1
  11. package/lib/apply.js +4 -0
  12. package/lib/apply.js.map +1 -1
  13. package/lib/aws/account-id.d.ts +5 -0
  14. package/lib/aws/account-id.d.ts.map +1 -0
  15. package/lib/aws/account-id.js +10 -0
  16. package/lib/aws/account-id.js.map +1 -0
  17. package/lib/aws/bucket.d.ts +21 -0
  18. package/lib/aws/bucket.d.ts.map +1 -0
  19. package/lib/aws/bucket.js +114 -0
  20. package/lib/aws/bucket.js.map +1 -0
  21. package/lib/aws/function.d.ts +53 -0
  22. package/lib/aws/function.d.ts.map +1 -0
  23. package/lib/aws/function.js +195 -0
  24. package/lib/aws/function.js.map +1 -0
  25. package/lib/aws/index.d.ts +9 -0
  26. package/lib/aws/index.d.ts.map +1 -0
  27. package/lib/aws/index.js +9 -0
  28. package/lib/aws/index.js.map +1 -0
  29. package/lib/aws/oidc/github-oidc-provider.d.ts +11 -0
  30. package/lib/aws/oidc/github-oidc-provider.d.ts.map +1 -0
  31. package/lib/aws/oidc/github-oidc-provider.js +22 -0
  32. package/lib/aws/oidc/github-oidc-provider.js.map +1 -0
  33. package/lib/aws/oidc/index.d.ts +3 -0
  34. package/lib/aws/oidc/index.d.ts.map +1 -0
  35. package/lib/aws/oidc/index.js +3 -0
  36. package/lib/aws/oidc/index.js.map +1 -0
  37. package/lib/aws/oidc/oidc-provider.d.ts +60 -0
  38. package/lib/aws/oidc/oidc-provider.d.ts.map +1 -0
  39. package/lib/aws/oidc/oidc-provider.js +140 -0
  40. package/lib/aws/oidc/oidc-provider.js.map +1 -0
  41. package/lib/aws/policy.d.ts +46 -0
  42. package/lib/aws/policy.d.ts.map +1 -0
  43. package/lib/aws/policy.js +139 -0
  44. package/lib/aws/policy.js.map +1 -0
  45. package/lib/aws/queue.d.ts +62 -0
  46. package/lib/aws/queue.d.ts.map +1 -0
  47. package/lib/aws/queue.js +167 -0
  48. package/lib/aws/queue.js.map +1 -0
  49. package/lib/aws/role.d.ts +27 -0
  50. package/lib/aws/role.d.ts.map +1 -0
  51. package/lib/aws/role.js +197 -0
  52. package/lib/aws/role.js.map +1 -0
  53. package/lib/aws/ses.d.ts +75 -0
  54. package/lib/aws/ses.d.ts.map +1 -0
  55. package/lib/aws/ses.js +189 -0
  56. package/lib/aws/ses.js.map +1 -0
  57. package/lib/aws/table.d.ts +26 -0
  58. package/lib/aws/table.d.ts.map +1 -0
  59. package/lib/aws/table.js +154 -0
  60. package/lib/aws/table.js.map +1 -0
  61. package/lib/cloudflare/api.d.ts +88 -0
  62. package/lib/cloudflare/api.d.ts.map +1 -0
  63. package/lib/cloudflare/api.js +184 -0
  64. package/lib/cloudflare/api.js.map +1 -0
  65. package/lib/cloudflare/asset-manifest.d.ts +15 -0
  66. package/lib/cloudflare/asset-manifest.d.ts.map +1 -0
  67. package/lib/cloudflare/asset-manifest.js +2 -0
  68. package/lib/cloudflare/asset-manifest.js.map +1 -0
  69. package/lib/cloudflare/auth.d.ts +52 -0
  70. package/lib/cloudflare/auth.d.ts.map +1 -0
  71. package/lib/cloudflare/auth.js +114 -0
  72. package/lib/cloudflare/auth.js.map +1 -0
  73. package/lib/cloudflare/bindings.d.ts +261 -0
  74. package/lib/cloudflare/bindings.d.ts.map +1 -0
  75. package/lib/cloudflare/bindings.js +2 -0
  76. package/lib/cloudflare/bindings.js.map +1 -0
  77. package/lib/cloudflare/bound.d.ts +8 -0
  78. package/lib/cloudflare/bound.d.ts.map +1 -0
  79. package/lib/cloudflare/bound.js +2 -0
  80. package/lib/cloudflare/bound.js.map +1 -0
  81. package/lib/cloudflare/bucket.d.ts +54 -0
  82. package/lib/cloudflare/bucket.d.ts.map +1 -0
  83. package/lib/cloudflare/bucket.js +120 -0
  84. package/lib/cloudflare/bucket.js.map +1 -0
  85. package/lib/cloudflare/durable-object-namespace.d.ts +20 -0
  86. package/lib/cloudflare/durable-object-namespace.d.ts.map +1 -0
  87. package/lib/cloudflare/durable-object-namespace.js +21 -0
  88. package/lib/cloudflare/durable-object-namespace.js.map +1 -0
  89. package/lib/cloudflare/generate-asset-manifest.d.ts +3 -0
  90. package/lib/cloudflare/generate-asset-manifest.d.ts.map +1 -0
  91. package/lib/cloudflare/generate-asset-manifest.js +69 -0
  92. package/lib/cloudflare/generate-asset-manifest.js.map +1 -0
  93. package/lib/cloudflare/index.d.ts +8 -0
  94. package/lib/cloudflare/index.d.ts.map +1 -0
  95. package/lib/cloudflare/index.js +8 -0
  96. package/lib/cloudflare/index.js.map +1 -0
  97. package/lib/cloudflare/kv-namespace.d.ts +64 -0
  98. package/lib/cloudflare/kv-namespace.d.ts.map +1 -0
  99. package/lib/cloudflare/kv-namespace.js +114 -0
  100. package/lib/cloudflare/kv-namespace.js.map +1 -0
  101. package/lib/cloudflare/state.d.ts +83 -0
  102. package/lib/cloudflare/state.d.ts.map +1 -0
  103. package/lib/cloudflare/state.js +109 -0
  104. package/lib/cloudflare/state.js.map +1 -0
  105. package/lib/cloudflare/static-site-router.d.ts +19 -0
  106. package/lib/cloudflare/static-site-router.d.ts.map +1 -0
  107. package/lib/cloudflare/static-site-router.js +110 -0
  108. package/lib/cloudflare/static-site-router.js.map +1 -0
  109. package/lib/cloudflare/static-site.d.ts +166 -0
  110. package/lib/cloudflare/static-site.d.ts.map +1 -0
  111. package/lib/cloudflare/static-site.js +161 -0
  112. package/lib/cloudflare/static-site.js.map +1 -0
  113. package/lib/cloudflare/types.d.ts +52 -0
  114. package/lib/cloudflare/types.d.ts.map +1 -0
  115. package/lib/cloudflare/types.js +21 -0
  116. package/lib/cloudflare/types.js.map +1 -0
  117. package/lib/cloudflare/upload-asset-manifest.d.ts +12 -0
  118. package/lib/cloudflare/upload-asset-manifest.d.ts.map +1 -0
  119. package/lib/cloudflare/upload-asset-manifest.js +55 -0
  120. package/lib/cloudflare/upload-asset-manifest.js.map +1 -0
  121. package/lib/cloudflare/worker-metadata.d.ts +130 -0
  122. package/lib/cloudflare/worker-metadata.d.ts.map +1 -0
  123. package/lib/cloudflare/worker-metadata.js +2 -0
  124. package/lib/cloudflare/worker-metadata.js.map +1 -0
  125. package/lib/cloudflare/worker-migration.d.ts +110 -0
  126. package/lib/cloudflare/worker-migration.d.ts.map +1 -0
  127. package/lib/cloudflare/worker-migration.js +11 -0
  128. package/lib/cloudflare/worker-migration.js.map +1 -0
  129. package/lib/cloudflare/worker.d.ts +114 -0
  130. package/lib/cloudflare/worker.d.ts.map +1 -0
  131. package/lib/cloudflare/worker.js +419 -0
  132. package/lib/cloudflare/worker.js.map +1 -0
  133. package/lib/destroy.d.ts +19 -0
  134. package/lib/encrypt.d.ts +17 -0
  135. package/lib/encrypt.d.ts.map +1 -0
  136. package/lib/encrypt.js +45 -0
  137. package/lib/encrypt.js.map +1 -0
  138. package/lib/error.d.ts +2 -0
  139. package/lib/error.d.ts.map +1 -0
  140. package/lib/error.js +13 -0
  141. package/lib/error.js.map +1 -0
  142. package/lib/esbuild.d.ts +152 -0
  143. package/lib/esbuild.d.ts.map +1 -0
  144. package/lib/esbuild.js +67 -0
  145. package/lib/esbuild.js.map +1 -0
  146. package/lib/fs.d.ts +12 -0
  147. package/lib/fs.d.ts.map +1 -0
  148. package/lib/fs.js +41 -0
  149. package/lib/fs.js.map +1 -0
  150. package/lib/github/client.d.ts +34 -0
  151. package/lib/github/client.d.ts.map +1 -0
  152. package/lib/github/client.js +91 -0
  153. package/lib/github/client.js.map +1 -0
  154. package/lib/github/index.d.ts +2 -0
  155. package/lib/github/index.d.ts.map +1 -0
  156. package/lib/github/index.js +2 -0
  157. package/lib/github/index.js.map +1 -0
  158. package/lib/github/secret.d.ts +47 -0
  159. package/lib/github/secret.d.ts.map +1 -0
  160. package/lib/github/secret.js +99 -0
  161. package/lib/github/secret.js.map +1 -0
  162. package/lib/global.d.ts +16 -0
  163. package/lib/global.d.ts.map +1 -0
  164. package/lib/global.js +42 -0
  165. package/lib/global.js.map +1 -0
  166. package/lib/index.d.ts +11 -0
  167. package/lib/index.d.ts.map +1 -0
  168. package/lib/index.js +10 -0
  169. package/lib/index.js.map +1 -0
  170. package/lib/input.d.ts +7 -0
  171. package/lib/input.d.ts.map +1 -0
  172. package/lib/input.js +2 -0
  173. package/lib/input.js.map +1 -0
  174. package/lib/main.d.ts +3 -0
  175. package/lib/main.d.ts.map +1 -0
  176. package/lib/main.js +32 -0
  177. package/lib/main.js.map +1 -0
  178. package/lib/output.d.ts +25 -0
  179. package/lib/output.d.ts.map +1 -0
  180. package/lib/output.js +23 -0
  181. package/lib/output.js.map +1 -0
  182. package/lib/print.d.ts +7 -0
  183. package/lib/print.d.ts.map +1 -0
  184. package/lib/print.js +10 -0
  185. package/lib/print.js.map +1 -0
  186. package/lib/resource.d.ts +71 -0
  187. package/lib/resource.d.ts.map +1 -0
  188. package/lib/resource.js +276 -0
  189. package/lib/resource.js.map +1 -0
  190. package/lib/scope.d.ts +18 -0
  191. package/lib/scope.d.ts.map +1 -0
  192. package/lib/scope.js +30 -0
  193. package/lib/scope.js.map +1 -0
  194. package/lib/secret.d.ts +12 -0
  195. package/lib/secret.d.ts.map +1 -0
  196. package/lib/secret.js +30 -0
  197. package/lib/secret.js.map +1 -0
  198. package/lib/serde.d.ts +3 -0
  199. package/lib/serde.d.ts.map +1 -0
  200. package/lib/serde.js +37 -0
  201. package/lib/serde.js.map +1 -0
  202. package/lib/slug.d.ts +2 -0
  203. package/lib/slug.d.ts.map +1 -0
  204. package/lib/slug.js +4 -0
  205. package/lib/slug.js.map +1 -0
  206. package/lib/state.d.ts +40 -0
  207. package/lib/state.d.ts.map +1 -0
  208. package/lib/state.js +74 -0
  209. package/lib/state.js.map +1 -0
  210. package/lib/stripe/index.d.ts +4 -0
  211. package/lib/stripe/index.d.ts.map +1 -0
  212. package/lib/stripe/index.js +4 -0
  213. package/lib/stripe/index.js.map +1 -0
  214. package/lib/stripe/price.d.ts +109 -0
  215. package/lib/stripe/price.d.ts.map +1 -0
  216. package/lib/stripe/price.js +112 -0
  217. package/lib/stripe/price.js.map +1 -0
  218. package/lib/stripe/product.d.ts +86 -0
  219. package/lib/stripe/product.d.ts.map +1 -0
  220. package/lib/stripe/product.js +90 -0
  221. package/lib/stripe/product.js.map +1 -0
  222. package/lib/stripe/webhook.d.ts +73 -0
  223. package/lib/stripe/webhook.d.ts.map +1 -0
  224. package/lib/stripe/webhook.js +94 -0
  225. package/lib/stripe/webhook.js.map +1 -0
  226. package/lib/utils/content-type.d.ts +8 -0
  227. package/lib/utils/content-type.d.ts.map +1 -0
  228. package/lib/utils/content-type.js +41 -0
  229. package/lib/utils/content-type.js.map +1 -0
  230. package/lib/utils/retry.d.ts +13 -0
  231. package/lib/utils/retry.d.ts.map +1 -0
  232. package/lib/utils/retry.js +32 -0
  233. package/lib/utils/retry.js.map +1 -0
  234. package/package.json +3 -6
  235. package/src/alchemize.ts +9 -0
  236. package/src/apply.ts +3 -0
  237. package/src/cloudflare/bindings.ts +9 -1
  238. package/src/cloudflare/bound.ts +18 -0
  239. package/src/cloudflare/bucket.ts +240 -0
  240. package/src/cloudflare/index.ts +1 -0
  241. package/src/cloudflare/static-site.ts +14 -2
  242. package/src/cloudflare/worker.ts +84 -59
  243. package/src/encrypt.ts +79 -0
  244. package/src/github/secret.ts +34 -33
  245. package/src/index.ts +1 -0
  246. package/src/input.ts +13 -10
  247. package/src/output.ts +13 -9
  248. package/src/secret.ts +41 -0
  249. package/src/serde.ts +46 -0
  250. package/src/state.ts +3 -2
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Helper to extract and handle Cloudflare API errors
3
+ *
4
+ * @param response Fetch response object
5
+ * @returns Formatted error message
6
+ */
7
+ export async function extractCloudflareError(response) {
8
+ try {
9
+ const data = (await response.json());
10
+ if (data.errors && data.errors.length > 0) {
11
+ return data.errors.map((e) => `Error ${e.code}: ${e.message}`).join(", ");
12
+ }
13
+ else {
14
+ return `HTTP ${response.status}: ${response.statusText}`;
15
+ }
16
+ }
17
+ catch (e) {
18
+ return `HTTP ${response.status}: ${response.statusText}`;
19
+ }
20
+ }
21
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cloudflare/types.ts"],"names":[],"mappings":"AAmDA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAkB;IAElB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA+B,CAAC;QACnE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { CloudflareApi } from "./api";
2
+ import type { AssetManifest } from "./asset-manifest";
3
+ type AssetItem = AssetManifest[number];
4
+ type UploadResult = {
5
+ item: AssetItem;
6
+ success: boolean;
7
+ status?: number;
8
+ error?: unknown;
9
+ };
10
+ export declare function uploadAssetManifest(api: CloudflareApi, namespaceId: string, manifest: AssetManifest): Promise<UploadResult[]>;
11
+ export {};
12
+ //# sourceMappingURL=upload-asset-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-asset-manifest.d.ts","sourceRoot":"","sources":["../../src/cloudflare/upload-asset-manifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,KAAK,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AACvC,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,aAAa,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC,CA8DzB"}
@@ -0,0 +1,55 @@
1
+ import fs from "node:fs/promises";
2
+ // Maximum number of concurrent uploads
3
+ const MAX_CONCURRENT = 100; // Adjust based on API limits and performance testing
4
+ export async function uploadAssetManifest(api, namespaceId, manifest) {
5
+ const results = [];
6
+ // Process in batches with controlled concurrency
7
+ let index = 0;
8
+ const activePromises = new Set();
9
+ while (index < manifest.length || activePromises.size > 0) {
10
+ // Fill up to MAX_CONCURRENT active uploads
11
+ while (activePromises.size < MAX_CONCURRENT && index < manifest.length) {
12
+ const item = manifest[index++];
13
+ const promise = uploadItem(item).then((result) => {
14
+ results.push(result);
15
+ activePromises.delete(promise);
16
+ });
17
+ activePromises.add(promise);
18
+ }
19
+ // Wait for at least one promise to complete if we have any active
20
+ if (activePromises.size > 0) {
21
+ await Promise.race(activePromises);
22
+ }
23
+ }
24
+ return results;
25
+ async function uploadItem(item) {
26
+ const content = await fs.readFile(item.source);
27
+ // Create metadata object
28
+ const metadata = {
29
+ key: item.key,
30
+ hash: item.hash,
31
+ contentType: item.contentType,
32
+ cacheControl: item.cacheControl,
33
+ };
34
+ // Create FormData for multipart upload
35
+ const formData = new FormData();
36
+ formData.append("metadata", JSON.stringify(metadata));
37
+ // Add file content as 'value'
38
+ const blob = new Blob([content]);
39
+ formData.append("value", blob);
40
+ try {
41
+ const response = await api.put(`/accounts/${api.accountId}/storage/kv/namespaces/${namespaceId}/values/${item.key}`, formData);
42
+ const result = { item, success: response.ok, status: response.status };
43
+ if (!result.success) {
44
+ console.warn(`Error uploading asset ${item.key}: ${result.status}`);
45
+ }
46
+ return result;
47
+ }
48
+ catch (error) {
49
+ const result = { item, success: false, error };
50
+ console.warn(`Error uploading asset ${item.key}: ${error}`);
51
+ return result;
52
+ }
53
+ }
54
+ }
55
+ //# sourceMappingURL=upload-asset-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-asset-manifest.js","sourceRoot":"","sources":["../../src/cloudflare/upload-asset-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Metadata returned by Cloudflare API for a worker script
3
+ */
4
+ export interface WorkerScriptMetadata {
5
+ /**
6
+ * Worker ID
7
+ */
8
+ id: string;
9
+ /**
10
+ * Default environment information
11
+ */
12
+ default_environment?: WorkerDefaultEnvironment;
13
+ /**
14
+ * Worker creation timestamp
15
+ */
16
+ created_on: string;
17
+ /**
18
+ * Worker last modification timestamp
19
+ */
20
+ modified_on: string;
21
+ /**
22
+ * Worker usage model
23
+ */
24
+ usage_model: string;
25
+ /**
26
+ * Worker environments
27
+ */
28
+ environments?: WorkerEnvironment[];
29
+ }
30
+ /**
31
+ * Worker script information
32
+ */
33
+ export interface WorkerScriptInfo {
34
+ /**
35
+ * Script creation timestamp
36
+ */
37
+ created_on: string;
38
+ /**
39
+ * Script last modification timestamp
40
+ */
41
+ modified_on: string;
42
+ /**
43
+ * Script ID
44
+ */
45
+ id: string;
46
+ /**
47
+ * Script tag
48
+ */
49
+ tag: string;
50
+ /**
51
+ * Script tags
52
+ */
53
+ tags: string[];
54
+ /**
55
+ * Deployment ID
56
+ */
57
+ deployment_id: string;
58
+ /**
59
+ * Tail consumers
60
+ */
61
+ tail_consumers: any;
62
+ /**
63
+ * Whether logpush is enabled
64
+ */
65
+ logpush: boolean;
66
+ /**
67
+ * Observability settings
68
+ */
69
+ observability: {
70
+ /**
71
+ * Whether observability is enabled
72
+ */
73
+ enabled: boolean;
74
+ /**
75
+ * Head sampling rate
76
+ */
77
+ head_sampling_rate: number | null;
78
+ };
79
+ /**
80
+ * Whether the script has assets
81
+ */
82
+ has_assets: boolean;
83
+ /**
84
+ * Whether the script has modules
85
+ */
86
+ has_modules: boolean;
87
+ /**
88
+ * Script etag
89
+ */
90
+ etag: string;
91
+ /**
92
+ * Script handlers
93
+ */
94
+ handlers: string[];
95
+ /**
96
+ * Where the script was last deployed from
97
+ */
98
+ last_deployed_from: string;
99
+ /**
100
+ * Script usage model
101
+ */
102
+ usage_model: string;
103
+ }
104
+ /**
105
+ * Worker environment information
106
+ */
107
+ export interface WorkerEnvironment {
108
+ /**
109
+ * Environment name
110
+ */
111
+ environment: string;
112
+ /**
113
+ * Environment creation timestamp
114
+ */
115
+ created_on: string;
116
+ /**
117
+ * Environment last modification timestamp
118
+ */
119
+ modified_on: string;
120
+ }
121
+ /**
122
+ * Default environment with script information
123
+ */
124
+ export interface WorkerDefaultEnvironment extends WorkerEnvironment {
125
+ /**
126
+ * Script information
127
+ */
128
+ script: WorkerScriptInfo;
129
+ }
130
+ //# sourceMappingURL=worker-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-metadata.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IAE/C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,cAAc,EAAE,GAAG,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,aAAa,EAAE;QACb;;WAEG;QACH,OAAO,EAAE,OAAO,CAAC;QAEjB;;WAEG;QACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IAEF;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=worker-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-metadata.js","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":""}
@@ -0,0 +1,110 @@
1
+ export type WorkerMigrations = SingleStepMigration | MultiStepMigration;
2
+ export declare function isSingleStepMigration(migration: WorkerMigrations): migration is SingleStepMigration;
3
+ export interface SingleStepMigration {
4
+ /**
5
+ * A list of classes to delete Durable Object namespaces from
6
+ */
7
+ deleted_classes?: string[];
8
+ /**
9
+ * A list of classes to create Durable Object namespaces from
10
+ */
11
+ new_classes?: string[];
12
+ /**
13
+ * A list of classes to create Durable Object namespaces with SQLite from
14
+ */
15
+ new_sqlite_classes?: string[];
16
+ /**
17
+ * Tag to set as the latest migration tag
18
+ */
19
+ new_tag?: string;
20
+ /**
21
+ * Tag used to verify against the latest migration tag for this Worker.
22
+ * If they don't match, the upload is rejected.
23
+ */
24
+ old_tag?: string;
25
+ /**
26
+ * A list of classes with Durable Object namespaces that were renamed
27
+ */
28
+ renamed_classes?: RenamedClass[];
29
+ /**
30
+ * A list of transfers for Durable Object namespaces from a different Worker
31
+ * and class to a class defined in this Worker
32
+ */
33
+ transferred_classes?: TransferredClass[];
34
+ }
35
+ /**
36
+ * Represents a renamed class in a Durable Object migration
37
+ */
38
+ export interface RenamedClass {
39
+ /**
40
+ * Original class name
41
+ */
42
+ from: string;
43
+ /**
44
+ * New class name
45
+ */
46
+ to: string;
47
+ }
48
+ /**
49
+ * Represents a transferred class in a Durable Object migration
50
+ */
51
+ export interface TransferredClass {
52
+ /**
53
+ * Original class name
54
+ */
55
+ from: string;
56
+ /**
57
+ * Original script name
58
+ */
59
+ from_script: string;
60
+ /**
61
+ * New class name in this Worker
62
+ */
63
+ to: string;
64
+ }
65
+ export declare function isMultiStepMigration(migration: WorkerMigrations): migration is MultiStepMigration;
66
+ /**
67
+ * Represents a multi-step migration for Durable Objects
68
+ */
69
+ export interface MultiStepMigration {
70
+ /**
71
+ * Tag to set as the latest migration tag
72
+ */
73
+ new_tag?: string;
74
+ /**
75
+ * Tag used to verify against the latest migration tag for this Worker.
76
+ * If they don't match, the upload is rejected.
77
+ */
78
+ old_tag?: string;
79
+ /**
80
+ * Migrations to apply in order
81
+ */
82
+ steps: MigrationStep[];
83
+ }
84
+ /**
85
+ * Represents a single step in a Durable Object migration
86
+ */
87
+ export interface MigrationStep {
88
+ /**
89
+ * A list of classes to delete Durable Object namespaces from
90
+ */
91
+ deleted_classes?: string[];
92
+ /**
93
+ * A list of classes to create Durable Object namespaces from
94
+ */
95
+ new_classes?: string[];
96
+ /**
97
+ * A list of classes to create Durable Object namespaces with SQLite from
98
+ */
99
+ new_sqlite_classes?: string[];
100
+ /**
101
+ * A list of classes with Durable Object namespaces that were renamed
102
+ */
103
+ renamed_classes?: RenamedClass[];
104
+ /**
105
+ * A list of transfers for Durable Object namespaces from a different Worker
106
+ * and class to a class defined in this Worker
107
+ */
108
+ transferred_classes?: TransferredClass[];
109
+ }
110
+ //# sourceMappingURL=worker-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-migration.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-migration.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAExE,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,gBAAgB,GAC1B,SAAS,IAAI,mBAAmB,CAQlC;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IAEjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,gBAAgB,GAC1B,SAAS,IAAI,kBAAkB,CAEjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IAEjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC1C"}
@@ -0,0 +1,11 @@
1
+ export function isSingleStepMigration(migration) {
2
+ return ("deleted_classes" in migration ||
3
+ "new_classes" in migration ||
4
+ "new_sqlite_classes" in migration ||
5
+ "renamed_classes" in migration ||
6
+ "transferred_classes" in migration);
7
+ }
8
+ export function isMultiStepMigration(migration) {
9
+ return "steps" in migration;
10
+ }
11
+ //# sourceMappingURL=worker-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-migration.js","sourceRoot":"","sources":["../../src/cloudflare/worker-migration.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CACnC,SAA2B;IAE3B,OAAO,CACL,iBAAiB,IAAI,SAAS;QAC9B,aAAa,IAAI,SAAS;QAC1B,oBAAoB,IAAI,SAAS;QACjC,iBAAiB,IAAI,SAAS;QAC9B,qBAAqB,IAAI,SAAS,CACnC,CAAC;AACJ,CAAC;AA4ED,MAAM,UAAU,oBAAoB,CAClC,SAA2B;IAE3B,OAAO,OAAO,IAAI,SAAS,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { type BundleProps } from "../esbuild";
2
+ import type { Input } from "../input";
3
+ import type { Resolved } from "../output";
4
+ import type { Bindings } from "./bindings";
5
+ import type { Bound } from "./bound";
6
+ import type { SingleStepMigration } from "./worker-migration";
7
+ /**
8
+ * Properties for creating or updating a Worker
9
+ */
10
+ export interface WorkerProps<B extends Bindings = Bindings> {
11
+ /**
12
+ * The worker script content (JavaScript or WASM)
13
+ * One of script, entryPoint, or bundle must be provided
14
+ */
15
+ script?: string;
16
+ /**
17
+ * Path to the entry point file
18
+ * Will be bundled using esbuild
19
+ * One of script, entryPoint, or bundle must be provided
20
+ */
21
+ entrypoint?: string;
22
+ /**
23
+ * Bundle options when using entryPoint
24
+ * Ignored if bundle is provided
25
+ */
26
+ bundle?: Omit<BundleProps, "entryPoint">;
27
+ /**
28
+ * Module format for the worker script
29
+ * 'esm' - ECMAScript modules (default)
30
+ * 'cjs' - CommonJS modules
31
+ * @default 'esm'
32
+ */
33
+ format?: "esm" | "cjs";
34
+ /**
35
+ * Name for the worker
36
+ * This is mandatory - must be explicitly specified
37
+ */
38
+ name: string;
39
+ /**
40
+ * Routes to associate with this worker
41
+ * Format: example.com/* or *.example.com/*
42
+ */
43
+ routes?: string[];
44
+ /**
45
+ * Bindings to attach to the worker
46
+ */
47
+ bindings?: B;
48
+ /**
49
+ * Environment variables to attach to the worker
50
+ * These will be converted to plain_text bindings
51
+ */
52
+ env?: {
53
+ [key: string]: string;
54
+ };
55
+ /**
56
+ * Whether to enable a workers.dev URL for this worker
57
+ * If true, the worker will be available at {name}.{subdomain}.workers.dev
58
+ * @default false
59
+ */
60
+ url?: boolean;
61
+ /**
62
+ * Observability configuration for the worker
63
+ * Controls whether worker logs are enabled
64
+ * @default { enabled: true }
65
+ */
66
+ observability?: {
67
+ /**
68
+ * Whether to enable worker logs
69
+ * @default true
70
+ */
71
+ enabled?: boolean;
72
+ };
73
+ /**
74
+ * Migrations to apply to the worker
75
+ */
76
+ migrations?: SingleStepMigration;
77
+ }
78
+ /**
79
+ * Output returned after Worker creation/update
80
+ */
81
+ export interface WorkerOutput<B extends Bindings = Bindings> extends Omit<WorkerProps<B>, "url"> {
82
+ type: "service";
83
+ /**
84
+ * The ID of the worker
85
+ */
86
+ id: string;
87
+ /**
88
+ * Time at which the worker was created
89
+ */
90
+ createdAt: number;
91
+ /**
92
+ * Time at which the worker was last updated
93
+ */
94
+ updatedAt: number;
95
+ /**
96
+ * The worker's URL if enabled
97
+ * Format: {name}.{subdomain}.workers.dev
98
+ */
99
+ url?: string;
100
+ /**
101
+ * The bindings that were created
102
+ */
103
+ bindings: B;
104
+ }
105
+ export declare function isWorker(resource: any): resource is Resolved<Worker>;
106
+ declare const Worker_base: import("../resource").Provider<string, [props: WorkerProps<Bindings>], WorkerOutput<Bindings>>;
107
+ export declare class Worker<B extends Bindings = Bindings> extends Worker_base {
108
+ readonly Env: {
109
+ [bindingName in keyof B]: Bound<B[bindingName]>;
110
+ };
111
+ constructor(id: string, input: Input<WorkerProps<B>>, ...inputs: any[]);
112
+ }
113
+ export {};
114
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAK1C,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACxD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAEzC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEb;;;OAGG;IACH,GAAG,CAAC,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,aAAa,CAAC,EAAE;QACd;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF;;OAEG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CACzD,SAAQ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IACnC,IAAI,EAAE,SAAS,CAAC;IAEhB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAEpE;;AAED,qBAAa,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,WAM1D;IACC,SAAwB,GAAG,EAAE;SAC1B,WAAW,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;KAChD,CAAC;gBACU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;CAGvE"}