alchemy 0.1.11 → 0.1.13

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 (312) hide show
  1. package/README.md +324 -0
  2. package/lib/$.d.ts +8 -3
  3. package/lib/$.d.ts.map +1 -1
  4. package/lib/$.js +38 -27
  5. package/lib/$.js.map +1 -1
  6. package/lib/alchemize.d.ts.map +1 -1
  7. package/lib/alchemize.js +7 -0
  8. package/lib/alchemize.js.map +1 -1
  9. package/lib/apply.d.ts +2 -2
  10. package/lib/apply.d.ts.map +1 -1
  11. package/lib/apply.js +3 -3
  12. package/lib/apply.js.map +1 -1
  13. package/lib/aws/index.d.ts +1 -0
  14. package/lib/aws/index.d.ts.map +1 -1
  15. package/lib/aws/index.js +1 -0
  16. package/lib/aws/index.js.map +1 -1
  17. package/lib/aws/ses.d.ts +75 -0
  18. package/lib/aws/ses.d.ts.map +1 -0
  19. package/lib/aws/ses.js +197 -0
  20. package/lib/aws/ses.js.map +1 -0
  21. package/lib/cloudflare/api.d.ts +88 -0
  22. package/lib/cloudflare/api.d.ts.map +1 -0
  23. package/lib/cloudflare/api.js +184 -0
  24. package/lib/cloudflare/api.js.map +1 -0
  25. package/lib/cloudflare/asset-manifest.d.ts +15 -0
  26. package/lib/cloudflare/asset-manifest.d.ts.map +1 -0
  27. package/lib/cloudflare/asset-manifest.js +2 -0
  28. package/lib/cloudflare/asset-manifest.js.map +1 -0
  29. package/lib/cloudflare/auth.d.ts +52 -0
  30. package/lib/cloudflare/auth.d.ts.map +1 -0
  31. package/lib/cloudflare/auth.js +114 -0
  32. package/lib/cloudflare/auth.js.map +1 -0
  33. package/lib/cloudflare/bindings.d.ts +254 -0
  34. package/lib/cloudflare/bindings.d.ts.map +1 -0
  35. package/lib/cloudflare/bindings.js +2 -0
  36. package/lib/cloudflare/bindings.js.map +1 -0
  37. package/lib/cloudflare/durable-object-namespace.d.ts +23 -0
  38. package/lib/cloudflare/durable-object-namespace.d.ts.map +1 -0
  39. package/lib/cloudflare/durable-object-namespace.js +26 -0
  40. package/lib/cloudflare/durable-object-namespace.js.map +1 -0
  41. package/lib/cloudflare/generate-asset-manifest.d.ts +3 -0
  42. package/lib/cloudflare/generate-asset-manifest.d.ts.map +1 -0
  43. package/lib/cloudflare/generate-asset-manifest.js +69 -0
  44. package/lib/cloudflare/generate-asset-manifest.js.map +1 -0
  45. package/lib/cloudflare/index.d.ts +7 -0
  46. package/lib/cloudflare/index.d.ts.map +1 -0
  47. package/lib/cloudflare/index.js +7 -0
  48. package/lib/cloudflare/index.js.map +1 -0
  49. package/lib/cloudflare/kv-namespace.d.ts +61 -0
  50. package/lib/cloudflare/kv-namespace.d.ts.map +1 -0
  51. package/lib/cloudflare/kv-namespace.js +93 -0
  52. package/lib/cloudflare/kv-namespace.js.map +1 -0
  53. package/lib/cloudflare/state.d.ts +83 -0
  54. package/lib/cloudflare/state.d.ts.map +1 -0
  55. package/lib/cloudflare/state.js +109 -0
  56. package/lib/cloudflare/state.js.map +1 -0
  57. package/lib/cloudflare/static-site-router.d.ts +19 -0
  58. package/lib/cloudflare/static-site-router.d.ts.map +1 -0
  59. package/lib/cloudflare/static-site-router.js +110 -0
  60. package/lib/cloudflare/static-site-router.js.map +1 -0
  61. package/lib/cloudflare/static-site.d.ts +166 -0
  62. package/lib/cloudflare/static-site.d.ts.map +1 -0
  63. package/lib/cloudflare/static-site.js +168 -0
  64. package/lib/cloudflare/static-site.js.map +1 -0
  65. package/lib/cloudflare/types.d.ts +52 -0
  66. package/lib/cloudflare/types.d.ts.map +1 -0
  67. package/lib/cloudflare/types.js +21 -0
  68. package/lib/cloudflare/types.js.map +1 -0
  69. package/lib/cloudflare/upload-asset-manifest.d.ts +12 -0
  70. package/lib/cloudflare/upload-asset-manifest.d.ts.map +1 -0
  71. package/lib/cloudflare/upload-asset-manifest.js +55 -0
  72. package/lib/cloudflare/upload-asset-manifest.js.map +1 -0
  73. package/lib/cloudflare/worker-metadata.d.ts +130 -0
  74. package/lib/cloudflare/worker-metadata.d.ts.map +1 -0
  75. package/lib/cloudflare/worker-metadata.js +2 -0
  76. package/lib/cloudflare/worker-metadata.js.map +1 -0
  77. package/lib/cloudflare/worker-migration.d.ts +110 -0
  78. package/lib/cloudflare/worker-migration.d.ts.map +1 -0
  79. package/lib/cloudflare/worker-migration.js +11 -0
  80. package/lib/cloudflare/worker-migration.js.map +1 -0
  81. package/lib/cloudflare/worker.d.ts +105 -0
  82. package/lib/cloudflare/worker.d.ts.map +1 -0
  83. package/lib/cloudflare/worker.js +358 -0
  84. package/lib/cloudflare/worker.js.map +1 -0
  85. package/lib/destroy.d.ts +1 -1
  86. package/lib/destroy.d.ts.map +1 -1
  87. package/lib/destroy.js +2 -1
  88. package/lib/destroy.js.map +1 -1
  89. package/lib/esbuild.d.ts +83 -1
  90. package/lib/esbuild.d.ts.map +1 -1
  91. package/lib/esbuild.js +27 -18
  92. package/lib/esbuild.js.map +1 -1
  93. package/lib/fs.d.ts +1 -1
  94. package/lib/global.d.ts +0 -2
  95. package/lib/global.d.ts.map +1 -1
  96. package/lib/global.js +3 -3
  97. package/lib/global.js.map +1 -1
  98. package/lib/index.d.ts +1 -0
  99. package/lib/index.d.ts.map +1 -1
  100. package/lib/index.js +1 -0
  101. package/lib/index.js.map +1 -1
  102. package/lib/main.js +1 -1
  103. package/lib/main.js.map +1 -1
  104. package/lib/output.d.ts +18 -13
  105. package/lib/output.d.ts.map +1 -1
  106. package/lib/output.js +12 -5
  107. package/lib/output.js.map +1 -1
  108. package/lib/print.d.ts +7 -0
  109. package/lib/print.d.ts.map +1 -0
  110. package/lib/print.js +10 -0
  111. package/lib/print.js.map +1 -0
  112. package/lib/resource.d.ts +9 -4
  113. package/lib/resource.d.ts.map +1 -1
  114. package/lib/resource.js +127 -93
  115. package/lib/resource.js.map +1 -1
  116. package/lib/scope.d.ts +3 -0
  117. package/lib/scope.d.ts.map +1 -1
  118. package/lib/scope.js +4 -12
  119. package/lib/scope.js.map +1 -1
  120. package/lib/utils/content-type.d.ts +8 -0
  121. package/lib/utils/content-type.d.ts.map +1 -0
  122. package/lib/utils/content-type.js +41 -0
  123. package/lib/utils/content-type.js.map +1 -0
  124. package/package.json +27 -8
  125. package/src/$.ts +63 -30
  126. package/src/alchemize.ts +12 -0
  127. package/src/apply.ts +6 -6
  128. package/src/aws/index.ts +1 -0
  129. package/src/aws/ses.ts +346 -0
  130. package/src/cloudflare/api.ts +282 -0
  131. package/src/cloudflare/asset-manifest.ts +16 -0
  132. package/src/cloudflare/auth.ts +187 -0
  133. package/src/cloudflare/bindings.ts +297 -0
  134. package/src/cloudflare/durable-object-namespace.ts +43 -0
  135. package/src/cloudflare/generate-asset-manifest.ts +93 -0
  136. package/src/cloudflare/index.ts +6 -0
  137. package/src/cloudflare/kv-namespace.ts +195 -0
  138. package/src/cloudflare/state.ts +138 -0
  139. package/src/cloudflare/static-site-router.ts +150 -0
  140. package/src/cloudflare/static-site.ts +395 -0
  141. package/src/cloudflare/types.ts +71 -0
  142. package/src/cloudflare/upload-asset-manifest.ts +83 -0
  143. package/src/cloudflare/worker-metadata.ts +154 -0
  144. package/src/cloudflare/worker-migration.ts +145 -0
  145. package/src/cloudflare/worker.ts +666 -0
  146. package/src/destroy.ts +2 -2
  147. package/src/esbuild.ts +34 -22
  148. package/src/global.ts +1 -3
  149. package/src/index.ts +1 -1
  150. package/src/main.ts +1 -1
  151. package/src/output.ts +53 -37
  152. package/src/print.ts +18 -0
  153. package/src/resource.ts +163 -116
  154. package/src/scope.ts +7 -12
  155. package/src/utils/content-type.ts +42 -0
  156. package/lib/agent/ai.d.ts +0 -40
  157. package/lib/agent/ai.d.ts.map +0 -1
  158. package/lib/agent/ai.js +0 -132
  159. package/lib/agent/ai.js.map +0 -1
  160. package/lib/agent/anthropic.d.ts +0 -9
  161. package/lib/agent/anthropic.d.ts.map +0 -1
  162. package/lib/agent/anthropic.js +0 -25
  163. package/lib/agent/anthropic.js.map +0 -1
  164. package/lib/agent/dependencies.d.ts +0 -4
  165. package/lib/agent/dependencies.d.ts.map +0 -1
  166. package/lib/agent/dependencies.js +0 -48
  167. package/lib/agent/dependencies.js.map +0 -1
  168. package/lib/agent/file-context.d.ts +0 -13
  169. package/lib/agent/file-context.d.ts.map +0 -1
  170. package/lib/agent/file-context.js +0 -6
  171. package/lib/agent/file-context.js.map +0 -1
  172. package/lib/agent/index.d.ts +0 -10
  173. package/lib/agent/index.d.ts.map +0 -1
  174. package/lib/agent/index.js +0 -10
  175. package/lib/agent/index.js.map +0 -1
  176. package/lib/agent/model.d.ts +0 -8
  177. package/lib/agent/model.d.ts.map +0 -1
  178. package/lib/agent/model.js +0 -29
  179. package/lib/agent/model.js.map +0 -1
  180. package/lib/agent/module.d.ts +0 -81
  181. package/lib/agent/module.d.ts.map +0 -1
  182. package/lib/agent/module.js +0 -309
  183. package/lib/agent/module.js.map +0 -1
  184. package/lib/agent/openai.d.ts +0 -6
  185. package/lib/agent/openai.d.ts.map +0 -1
  186. package/lib/agent/openai.js +0 -41
  187. package/lib/agent/openai.js.map +0 -1
  188. package/lib/agent/program.d.ts +0 -12
  189. package/lib/agent/program.d.ts.map +0 -1
  190. package/lib/agent/program.js +0 -21
  191. package/lib/agent/program.js.map +0 -1
  192. package/lib/agent/prompts.d.ts +0 -4
  193. package/lib/agent/prompts.d.ts.map +0 -1
  194. package/lib/agent/prompts.js +0 -11
  195. package/lib/agent/prompts.js.map +0 -1
  196. package/lib/agent/scrape.d.ts +0 -71
  197. package/lib/agent/scrape.d.ts.map +0 -1
  198. package/lib/agent/scrape.js +0 -45
  199. package/lib/agent/scrape.js.map +0 -1
  200. package/lib/aws/auto/docs.d.ts +0 -11
  201. package/lib/aws/auto/docs.d.ts.map +0 -1
  202. package/lib/aws/auto/docs.js +0 -56
  203. package/lib/aws/auto/docs.js.map +0 -1
  204. package/lib/aws/auto/index.d.ts +0 -5
  205. package/lib/aws/auto/index.d.ts.map +0 -1
  206. package/lib/aws/auto/index.js +0 -5
  207. package/lib/aws/auto/index.js.map +0 -1
  208. package/lib/aws/auto/resource.d.ts +0 -24
  209. package/lib/aws/auto/resource.d.ts.map +0 -1
  210. package/lib/aws/auto/resource.js +0 -194
  211. package/lib/aws/auto/resource.js.map +0 -1
  212. package/lib/aws/auto/service.d.ts +0 -10
  213. package/lib/aws/auto/service.d.ts.map +0 -1
  214. package/lib/aws/auto/service.js +0 -34
  215. package/lib/aws/auto/service.js.map +0 -1
  216. package/lib/aws/auto/spec.d.ts +0 -83
  217. package/lib/aws/auto/spec.d.ts.map +0 -1
  218. package/lib/aws/auto/spec.js +0 -58
  219. package/lib/aws/auto/spec.js.map +0 -1
  220. package/lib/markdown/design.d.ts +0 -17
  221. package/lib/markdown/design.d.ts.map +0 -1
  222. package/lib/markdown/design.js +0 -92
  223. package/lib/markdown/design.js.map +0 -1
  224. package/lib/markdown/extract.d.ts +0 -7
  225. package/lib/markdown/extract.d.ts.map +0 -1
  226. package/lib/markdown/extract.js +0 -10
  227. package/lib/markdown/extract.js.map +0 -1
  228. package/lib/markdown/index.d.ts +0 -4
  229. package/lib/markdown/index.d.ts.map +0 -1
  230. package/lib/markdown/index.js +0 -4
  231. package/lib/markdown/index.js.map +0 -1
  232. package/lib/markdown/requirements.d.ts +0 -79
  233. package/lib/markdown/requirements.d.ts.map +0 -1
  234. package/lib/markdown/requirements.js +0 -105
  235. package/lib/markdown/requirements.js.map +0 -1
  236. package/lib/typescript/check-omission.d.ts +0 -2
  237. package/lib/typescript/check-omission.d.ts.map +0 -1
  238. package/lib/typescript/check-omission.js +0 -43
  239. package/lib/typescript/check-omission.js.map +0 -1
  240. package/lib/typescript/debug-type-errors.d.ts +0 -3
  241. package/lib/typescript/debug-type-errors.d.ts.map +0 -1
  242. package/lib/typescript/debug-type-errors.js +0 -35
  243. package/lib/typescript/debug-type-errors.js.map +0 -1
  244. package/lib/typescript/extract.d.ts +0 -7
  245. package/lib/typescript/extract.d.ts.map +0 -1
  246. package/lib/typescript/extract.js +0 -10
  247. package/lib/typescript/extract.js.map +0 -1
  248. package/lib/typescript/index.d.ts +0 -7
  249. package/lib/typescript/index.d.ts.map +0 -1
  250. package/lib/typescript/index.js +0 -7
  251. package/lib/typescript/index.js.map +0 -1
  252. package/lib/typescript/install-dependencies.d.ts +0 -29
  253. package/lib/typescript/install-dependencies.d.ts.map +0 -1
  254. package/lib/typescript/install-dependencies.js +0 -52
  255. package/lib/typescript/install-dependencies.js.map +0 -1
  256. package/lib/typescript/package.d.ts +0 -157
  257. package/lib/typescript/package.d.ts.map +0 -1
  258. package/lib/typescript/package.js +0 -115
  259. package/lib/typescript/package.js.map +0 -1
  260. package/lib/typescript/repair-omissions.d.ts +0 -3
  261. package/lib/typescript/repair-omissions.d.ts.map +0 -1
  262. package/lib/typescript/repair-omissions.js +0 -23
  263. package/lib/typescript/repair-omissions.js.map +0 -1
  264. package/lib/typescript/repair.d.ts +0 -3
  265. package/lib/typescript/repair.d.ts.map +0 -1
  266. package/lib/typescript/repair.js +0 -34
  267. package/lib/typescript/repair.js.map +0 -1
  268. package/lib/typescript/tsconfig.d.ts +0 -469
  269. package/lib/typescript/tsconfig.d.ts.map +0 -1
  270. package/lib/typescript/tsconfig.js +0 -143
  271. package/lib/typescript/tsconfig.js.map +0 -1
  272. package/lib/typescript/typescript.d.ts +0 -107
  273. package/lib/typescript/typescript.d.ts.map +0 -1
  274. package/lib/typescript/typescript.js +0 -180
  275. package/lib/typescript/typescript.js.map +0 -1
  276. package/lib/typescript/validate.d.ts +0 -10
  277. package/lib/typescript/validate.d.ts.map +0 -1
  278. package/lib/typescript/validate.js +0 -49
  279. package/lib/typescript/validate.js.map +0 -1
  280. package/src/agent/ai.ts +0 -215
  281. package/src/agent/anthropic.ts +0 -31
  282. package/src/agent/dependencies.ts +0 -62
  283. package/src/agent/file-context.ts +0 -8
  284. package/src/agent/index.ts +0 -9
  285. package/src/agent/model.ts +0 -39
  286. package/src/agent/module.ts +0 -418
  287. package/src/agent/openai.ts +0 -50
  288. package/src/agent/program.md +0 -38
  289. package/src/agent/program.ts +0 -37
  290. package/src/agent/prompts.ts +0 -20
  291. package/src/agent/scrape.ts +0 -47
  292. package/src/aws/auto/cfn.json +0 -225310
  293. package/src/aws/auto/docs.ts +0 -73
  294. package/src/aws/auto/index.ts +0 -4
  295. package/src/aws/auto/resource.ts +0 -269
  296. package/src/aws/auto/service.ts +0 -51
  297. package/src/aws/auto/spec.ts +0 -160
  298. package/src/markdown/design.ts +0 -125
  299. package/src/markdown/extract.ts +0 -9
  300. package/src/markdown/index.ts +0 -3
  301. package/src/markdown/requirements.ts +0 -135
  302. package/src/typescript/check-omission.ts +0 -47
  303. package/src/typescript/debug-type-errors.ts +0 -42
  304. package/src/typescript/extract.ts +0 -9
  305. package/src/typescript/index.ts +0 -6
  306. package/src/typescript/install-dependencies.ts +0 -61
  307. package/src/typescript/package.ts +0 -143
  308. package/src/typescript/repair-omissions.ts +0 -31
  309. package/src/typescript/repair.ts +0 -45
  310. package/src/typescript/tsconfig.ts +0 -170
  311. package/src/typescript/typescript.ts +0 -217
  312. package/src/typescript/validate.ts +0 -73
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Get authentication headers for Cloudflare API
3
+ *
4
+ * Priority:
5
+ * 1. API Token (CLOUDFLARE_API_TOKEN) - Recommended by Cloudflare
6
+ * 2. API Key (CLOUDFLARE_API_KEY) - Will attempt to discover email automatically
7
+ *
8
+ * @param options Authentication options
9
+ * @returns Authentication headers
10
+ */
11
+ export async function getCloudflareAuth(options = {}) {
12
+ const { required = true } = options;
13
+ // Check for API Token (preferred method)
14
+ const apiToken = process.env.CLOUDFLARE_API_TOKEN;
15
+ if (apiToken) {
16
+ return {
17
+ headers: {
18
+ Authorization: `Bearer ${apiToken}`,
19
+ },
20
+ type: "token",
21
+ };
22
+ }
23
+ // Check for API Key
24
+ const apiKey = process.env.CLOUDFLARE_API_KEY;
25
+ if (apiKey) {
26
+ // If email is provided directly, use it
27
+ const providedEmail = options.email || process.env.CLOUDFLARE_EMAIL;
28
+ if (providedEmail) {
29
+ return {
30
+ headers: {
31
+ "X-Auth-Key": apiKey,
32
+ "X-Auth-Email": providedEmail,
33
+ },
34
+ type: "key",
35
+ email: providedEmail,
36
+ };
37
+ }
38
+ // Otherwise, try to discover email from Cloudflare API
39
+ try {
40
+ const email = await getUserEmailFromApiKey(apiKey);
41
+ return {
42
+ headers: {
43
+ "X-Auth-Key": apiKey,
44
+ "X-Auth-Email": email,
45
+ },
46
+ type: "key",
47
+ email,
48
+ };
49
+ }
50
+ catch (error) {
51
+ console.error("Failed to discover email from API key:", error);
52
+ throw new Error("Failed to automatically discover email for API Key authentication.\n" +
53
+ "Options:\n" +
54
+ "1. Set CLOUDFLARE_EMAIL environment variable\n" +
55
+ "2. Use CLOUDFLARE_API_TOKEN instead (recommended by Cloudflare)");
56
+ }
57
+ }
58
+ // No authentication found
59
+ if (required) {
60
+ throw new Error("Cloudflare authentication required. Set either:\n" +
61
+ "1. CLOUDFLARE_API_TOKEN (recommended by Cloudflare)\n" +
62
+ " Generate a token at: https://dash.cloudflare.com/profile/api-tokens\n" +
63
+ "2. CLOUDFLARE_API_KEY environment variable");
64
+ }
65
+ return {
66
+ headers: {},
67
+ type: "none",
68
+ };
69
+ }
70
+ /**
71
+ * Fetch the user's email from Cloudflare API using API Key
72
+ *
73
+ * @param apiKey The Cloudflare API key
74
+ * @returns The user's email
75
+ */
76
+ async function getUserEmailFromApiKey(apiKey) {
77
+ try {
78
+ const baseUrl = "https://api.cloudflare.com/client/v4";
79
+ // Call the /user endpoint to get user information
80
+ const response = await fetch(`${baseUrl}/user`, {
81
+ headers: {
82
+ "Content-Type": "application/json",
83
+ "X-Auth-Key": apiKey,
84
+ },
85
+ });
86
+ if (!response.ok) {
87
+ throw new Error(`Failed to get user information: ${response.status} ${response.statusText}`);
88
+ }
89
+ const data = (await response.json());
90
+ if (!data.success || !data.result || !data.result.email) {
91
+ throw new Error("Cloudflare API did not return valid user information");
92
+ }
93
+ return data.result.email;
94
+ }
95
+ catch (error) {
96
+ console.error("Error retrieving email from Cloudflare API:", error);
97
+ throw new Error("Failed to automatically discover email for API Key authentication");
98
+ }
99
+ }
100
+ /**
101
+ * Get headers for a Cloudflare API request, including content-type
102
+ *
103
+ * @param contentType Content type for the request
104
+ * @param options Authentication options
105
+ * @returns Complete headers for the request
106
+ */
107
+ export async function getCloudflareHeaders(contentType = "application/json", options = {}) {
108
+ const auth = await getCloudflareAuth(options);
109
+ return {
110
+ "Content-Type": contentType,
111
+ ...auth.headers,
112
+ };
113
+ }
114
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cloudflare/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Type definitions for Cloudflare Worker bindings
3
+ * Based on Cloudflare API documentation:
4
+ * https://developers.cloudflare.com/api/resources/workers/subresources/scripts/methods/update/
5
+ */
6
+ import type { DurableObjectNamespace } from "./durable-object-namespace";
7
+ /**
8
+ * Union type for all Worker binding types (Alchemy abstraction)
9
+ */
10
+ export type WorkerBinding = WorkerBindingSpec | DurableObjectNamespace;
11
+ /**
12
+ * Union type for all Worker binding types (API spec)
13
+ */
14
+ export type WorkerBindingSpec = WorkerBindingAI | WorkerBindingAnalyticsEngine | WorkerBindingAssets | WorkerBindingBrowserRendering | WorkerBindingD1 | WorkerBindingDispatchNamespace | WorkerBindingDurableObjectNamespace | WorkerBindingHyperdrive | WorkerBindingJson | WorkerBindingKVNamespace | WorkerBindingMTLSCertificate | WorkerBindingPlainText | WorkerBindingQueue | WorkerBindingR2Bucket | WorkerBindingSecretText | WorkerBindingService | WorkerBindingStaticContent | WorkerBindingTailConsumer | WorkerBindingVectorize | WorkerBindingVersionMetadata | WorkerBindingWasmModule;
15
+ /**
16
+ * AI binding type
17
+ */
18
+ export interface WorkerBindingAI {
19
+ /** The name of the binding */
20
+ name: string;
21
+ /** Type identifier for AI binding */
22
+ type: "ai";
23
+ }
24
+ /**
25
+ * Analytics Engine binding type
26
+ */
27
+ export interface WorkerBindingAnalyticsEngine {
28
+ /** The name of the binding */
29
+ name: string;
30
+ /** Type identifier for Analytics Engine binding */
31
+ type: "analytics_engine";
32
+ /** Dataset name */
33
+ dataset: string;
34
+ }
35
+ /**
36
+ * Assets binding type
37
+ */
38
+ export interface WorkerBindingAssets {
39
+ /** The name of the binding */
40
+ name: string;
41
+ /** Type identifier for Assets binding */
42
+ type: "assets";
43
+ }
44
+ /**
45
+ * Browser Rendering binding type
46
+ */
47
+ export interface WorkerBindingBrowserRendering {
48
+ /** The name of the binding */
49
+ name: string;
50
+ /** Type identifier for Browser Rendering binding */
51
+ type: "browser_rendering";
52
+ }
53
+ /**
54
+ * D1 database binding type
55
+ */
56
+ export interface WorkerBindingD1 {
57
+ /** The name of the binding */
58
+ name: string;
59
+ /** Type identifier for D1 binding */
60
+ type: "d1";
61
+ /** D1 database ID */
62
+ id: string;
63
+ }
64
+ /**
65
+ * Dispatch Namespace binding type
66
+ */
67
+ export interface WorkerBindingDispatchNamespace {
68
+ /** The name of the binding */
69
+ name: string;
70
+ /** Type identifier for Dispatch Namespace binding */
71
+ type: "dispatch_namespace";
72
+ /** Namespace identifier */
73
+ namespace: string;
74
+ /** Optional outbound service */
75
+ outbound?: any;
76
+ }
77
+ /**
78
+ * Durable Object Namespace binding type
79
+ */
80
+ export interface WorkerBindingDurableObjectNamespace {
81
+ /**
82
+ * The stable ID of the binding
83
+ * @internal
84
+ */
85
+ stableId?: string;
86
+ /** The name of the binding */
87
+ name: string;
88
+ /** Type identifier for Durable Object Namespace binding */
89
+ type: "durable_object_namespace";
90
+ /** Durable Object class name */
91
+ class_name: string;
92
+ /** Script name that contains the Durable Object */
93
+ script_name?: string;
94
+ /** Environment */
95
+ environment?: string;
96
+ /** Namespace ID */
97
+ namespace_id?: string;
98
+ }
99
+ /**
100
+ * Hyperdrive binding type
101
+ */
102
+ export interface WorkerBindingHyperdrive {
103
+ /** The name of the binding */
104
+ name: string;
105
+ /** Type identifier for Hyperdrive binding */
106
+ type: "hyperdrive";
107
+ /** Hyperdrive ID */
108
+ id: string;
109
+ }
110
+ /**
111
+ * JSON binding type
112
+ */
113
+ export interface WorkerBindingJson {
114
+ /** The name of the binding */
115
+ name: string;
116
+ /** Type identifier for JSON binding */
117
+ type: "json";
118
+ /** JSON value */
119
+ json: any;
120
+ }
121
+ /**
122
+ * KV Namespace binding type
123
+ */
124
+ export interface WorkerBindingKVNamespace {
125
+ /** The name of the binding */
126
+ name: string;
127
+ /** Type identifier for KV Namespace binding */
128
+ type: "kv_namespace";
129
+ /** KV Namespace ID */
130
+ namespace_id: string;
131
+ }
132
+ /**
133
+ * MTLS Certificate binding type
134
+ */
135
+ export interface WorkerBindingMTLSCertificate {
136
+ /** The name of the binding */
137
+ name: string;
138
+ /** Type identifier for MTLS Certificate binding */
139
+ type: "mtls_certificate";
140
+ /** Certificate ID */
141
+ certificate_id: string;
142
+ }
143
+ /**
144
+ * Plain Text binding type
145
+ */
146
+ export interface WorkerBindingPlainText {
147
+ /** The name of the binding */
148
+ name: string;
149
+ /** Type identifier for Plain Text binding */
150
+ type: "plain_text";
151
+ /** Text content */
152
+ text: string;
153
+ }
154
+ /**
155
+ * Queue binding type
156
+ */
157
+ export interface WorkerBindingQueue {
158
+ /** The name of the binding */
159
+ name: string;
160
+ /** Type identifier for Queue binding */
161
+ type: "queue";
162
+ /** Queue name */
163
+ queue_name: string;
164
+ }
165
+ /**
166
+ * R2 Bucket binding type
167
+ */
168
+ export interface WorkerBindingR2Bucket {
169
+ /** The name of the binding */
170
+ name: string;
171
+ /** Type identifier for R2 Bucket binding */
172
+ type: "r2_bucket";
173
+ /** Bucket name */
174
+ bucket_name: string;
175
+ }
176
+ /**
177
+ * Secret Text binding type
178
+ */
179
+ export interface WorkerBindingSecretText {
180
+ /** The name of the binding */
181
+ name: string;
182
+ /** Type identifier for Secret Text binding */
183
+ type: "secret_text";
184
+ /** Secret value */
185
+ text: string;
186
+ }
187
+ /**
188
+ * Service binding type
189
+ */
190
+ export interface WorkerBindingService {
191
+ /** The name of the binding */
192
+ name: string;
193
+ /** Type identifier for Service binding */
194
+ type: "service";
195
+ /** Service name */
196
+ service: string;
197
+ /** Environment */
198
+ environment?: string;
199
+ /** Service namespace */
200
+ namespace?: string;
201
+ }
202
+ /**
203
+ * Tail Consumer binding type
204
+ */
205
+ export interface WorkerBindingTailConsumer {
206
+ /** The name of the binding */
207
+ name: string;
208
+ /** Type identifier for Tail Consumer binding */
209
+ type: "tail_consumer";
210
+ /** Service name */
211
+ service: string;
212
+ }
213
+ /**
214
+ * Vectorize binding type
215
+ */
216
+ export interface WorkerBindingVectorize {
217
+ /** The name of the binding */
218
+ name: string;
219
+ /** Type identifier for Vectorize binding */
220
+ type: "vectorize";
221
+ /** Index name */
222
+ index_name: string;
223
+ }
224
+ /**
225
+ * Version Metadata binding type
226
+ */
227
+ export interface WorkerBindingVersionMetadata {
228
+ /** The name of the binding */
229
+ name: string;
230
+ /** Type identifier for Version Metadata binding */
231
+ type: "version_metadata";
232
+ }
233
+ /**
234
+ * WASM Module binding type
235
+ */
236
+ export interface WorkerBindingWasmModule {
237
+ /** The name of the binding */
238
+ name: string;
239
+ /** Type identifier for WASM Module binding */
240
+ type: "wasm_module";
241
+ /** Module name */
242
+ module: string;
243
+ }
244
+ /**
245
+ * Static content binding for Cloudflare Workers
246
+ * Used for Workers Sites and static assets
247
+ */
248
+ export interface WorkerBindingStaticContent {
249
+ /** The name of the binding */
250
+ name: string;
251
+ /** Type identifier for Static Content binding */
252
+ type: "static_content";
253
+ }
254
+ //# sourceMappingURL=bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/cloudflare/bindings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/cloudflare/bindings.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import type { WorkerBinding } from "./bindings";
2
+ export interface DurableObjectNamespaceInput {
3
+ bindingName: string;
4
+ className: string;
5
+ scriptName?: string | undefined;
6
+ environment?: string | undefined;
7
+ sqlite?: boolean | undefined;
8
+ namespaceId?: string | undefined;
9
+ }
10
+ export declare function isDurableObjectNamespace(binding: WorkerBinding): binding is DurableObjectNamespace;
11
+ export declare class DurableObjectNamespace implements DurableObjectNamespaceInput {
12
+ readonly id: string;
13
+ readonly type: "durable_object_namespace";
14
+ readonly name: string;
15
+ readonly bindingName: string;
16
+ readonly className: string;
17
+ readonly scriptName?: string | undefined;
18
+ readonly environment?: string | undefined;
19
+ readonly sqlite?: boolean | undefined;
20
+ readonly namespaceId?: string | undefined;
21
+ constructor(id: string, input: DurableObjectNamespaceInput);
22
+ }
23
+ //# sourceMappingURL=durable-object-namespace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-object-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,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,aAAa,GACrB,OAAO,IAAI,sBAAsB,CAKnC;AAED,qBAAa,sBAAuB,YAAW,2BAA2B;aAYtD,EAAE,EAAE,MAAM;IAX5B,SAAgB,IAAI,EAAG,0BAA0B,CAAU;IAE3D,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,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;CASrC"}
@@ -0,0 +1,26 @@
1
+ export function isDurableObjectNamespace(binding) {
2
+ return (binding.type === "durable_object_namespace" &&
3
+ typeof binding.bindingName === "string");
4
+ }
5
+ export class DurableObjectNamespace {
6
+ id;
7
+ type = "durable_object_namespace";
8
+ // alias for bindingName to be consistent with other bindings
9
+ name;
10
+ bindingName;
11
+ className;
12
+ scriptName;
13
+ environment;
14
+ sqlite;
15
+ namespaceId;
16
+ constructor(id, input) {
17
+ this.id = id;
18
+ this.bindingName = input.bindingName;
19
+ this.name = this.bindingName;
20
+ this.className = input.className;
21
+ this.scriptName = input.scriptName;
22
+ this.environment = input.environment;
23
+ this.sqlite = input.sqlite;
24
+ }
25
+ }
26
+ //# sourceMappingURL=durable-object-namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-object-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,wBAAwB,CACtC,OAAsB;IAEtB,OAAO,CACL,OAAO,CAAC,IAAI,KAAK,0BAA0B;QAC3C,OAAQ,OAAe,CAAC,WAAW,KAAK,QAAQ,CACjD,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,sBAAsB;IAYf;IAXF,IAAI,GAAG,0BAAmC,CAAC;IAC3D,6DAA6D;IAC7C,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,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,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,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"}
@@ -0,0 +1,3 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,69 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-asset-manifest.js","sourceRoot":"","sources":["../../src/cloudflare/generate-asset-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Properties for creating or updating a KV Namespace
3
+ */
4
+ export interface KVNamespaceProps {
5
+ /**
6
+ * Title of the namespace
7
+ */
8
+ title: string;
9
+ /**
10
+ * KV pairs to store in the namespace
11
+ * Only used for initial setup or updates
12
+ */
13
+ values?: KVPair[];
14
+ }
15
+ /**
16
+ * Key-value pair to store in a KV Namespace
17
+ */
18
+ export interface KVPair {
19
+ /**
20
+ * Key name
21
+ */
22
+ key: string;
23
+ /**
24
+ * Value to store (string or JSON object)
25
+ */
26
+ value: string | object;
27
+ /**
28
+ * Optional expiration in seconds from now
29
+ */
30
+ expiration?: number;
31
+ /**
32
+ * Optional expiration timestamp in seconds since epoch
33
+ */
34
+ expirationTtl?: number;
35
+ /**
36
+ * Optional metadata for the key
37
+ */
38
+ metadata?: any;
39
+ }
40
+ /**
41
+ * Output returned after KV Namespace creation/update
42
+ */
43
+ export interface KVNamespaceOutput extends KVNamespaceProps {
44
+ /**
45
+ * The ID of the namespace
46
+ */
47
+ id: string;
48
+ /**
49
+ * Time at which the namespace was created
50
+ */
51
+ createdAt: number;
52
+ /**
53
+ * Time at which the namespace was last modified
54
+ */
55
+ modifiedAt: number;
56
+ }
57
+ declare const KVNamespace_base: import("../resource").Provider<"cloudflare::KVNamespace", [props: KVNamespaceProps], KVNamespaceOutput>;
58
+ export declare class KVNamespace extends KVNamespace_base {
59
+ }
60
+ export {};
61
+ //# sourceMappingURL=kv-namespace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kv-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/kv-namespace.ts"],"names":[],"mappings":"AAGA;;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;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;;AAED,qBAAa,WAAY,SAAQ,gBA6HhC;CAAG"}