alchemy 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/lib/ai/astro-file.d.ts +4 -4
  2. package/lib/ai/client.d.ts +1 -1
  3. package/lib/ai/css-file.d.ts +4 -4
  4. package/lib/ai/data.d.ts +4 -4
  5. package/lib/ai/document.d.ts +5 -5
  6. package/lib/ai/html-file.d.ts +4 -4
  7. package/lib/ai/index.d.ts +10 -10
  8. package/lib/ai/json-file.d.ts +4 -4
  9. package/lib/ai/typescript-file.d.ts +4 -4
  10. package/lib/ai/vue-file.d.ts +4 -4
  11. package/lib/ai/yaml-file.d.ts +4 -4
  12. package/lib/alchemy.d.ts +5 -5
  13. package/lib/apply.d.ts +2 -2
  14. package/lib/aws/bucket.d.ts +2 -2
  15. package/lib/aws/control/error.d.ts +1 -1
  16. package/lib/aws/control/index.d.ts +4 -4
  17. package/lib/aws/control/resource.d.ts +2 -2
  18. package/lib/aws/credentials.d.ts +1 -1
  19. package/lib/aws/function.d.ts +3 -3
  20. package/lib/aws/index.d.ts +9 -9
  21. package/lib/aws/oidc/github-oidc-provider.d.ts +1 -1
  22. package/lib/aws/oidc/index.d.ts +2 -2
  23. package/lib/aws/oidc/oidc-provider.d.ts +2 -2
  24. package/lib/aws/policy-attachment.d.ts +2 -2
  25. package/lib/aws/policy.d.ts +2 -2
  26. package/lib/aws/queue.d.ts +2 -2
  27. package/lib/aws/role.d.ts +3 -3
  28. package/lib/aws/ses.d.ts +2 -2
  29. package/lib/aws/table.d.ts +2 -2
  30. package/lib/cloudflare/account-api-token.d.ts +5 -5
  31. package/lib/cloudflare/account-id.d.ts +1 -1
  32. package/lib/cloudflare/ai-gateway.d.ts +3 -3
  33. package/lib/cloudflare/api.d.ts +2 -2
  34. package/lib/cloudflare/assets.d.ts +2 -2
  35. package/lib/cloudflare/auth.d.ts +1 -1
  36. package/lib/cloudflare/bindings.d.ts +18 -18
  37. package/lib/cloudflare/bound.d.ts +16 -16
  38. package/lib/cloudflare/bucket.d.ts +4 -4
  39. package/lib/cloudflare/bundle/bundle-worker.d.ts +2 -2
  40. package/lib/cloudflare/custom-domain.d.ts +3 -3
  41. package/lib/cloudflare/custom-domain.js.map +1 -1
  42. package/lib/cloudflare/d1-clone.d.ts +3 -3
  43. package/lib/cloudflare/d1-database.d.ts +3 -3
  44. package/lib/cloudflare/d1-export.d.ts +1 -1
  45. package/lib/cloudflare/d1-import.d.ts +1 -1
  46. package/lib/cloudflare/d1-migrations.d.ts +1 -1
  47. package/lib/cloudflare/dns-records.d.ts +4 -4
  48. package/lib/cloudflare/durable-object-namespace.d.ts +1 -1
  49. package/lib/cloudflare/event-source.d.ts +2 -2
  50. package/lib/cloudflare/hyperdrive.d.ts +4 -4
  51. package/lib/cloudflare/index.d.ts +40 -39
  52. package/lib/cloudflare/index.d.ts.map +1 -1
  53. package/lib/cloudflare/index.js +1 -0
  54. package/lib/cloudflare/index.js.map +1 -1
  55. package/lib/cloudflare/kv-namespace.d.ts +3 -3
  56. package/lib/cloudflare/nuxt.d.ts +4 -4
  57. package/lib/cloudflare/nuxt.d.ts.map +1 -1
  58. package/lib/cloudflare/nuxt.js +2 -1
  59. package/lib/cloudflare/nuxt.js.map +1 -1
  60. package/lib/cloudflare/permission-groups.d.ts +3 -3
  61. package/lib/cloudflare/pipeline.d.ts +4 -4
  62. package/lib/cloudflare/queue-consumer.d.ts +4 -4
  63. package/lib/cloudflare/queue.d.ts +3 -3
  64. package/lib/cloudflare/r2-rest-state-store.d.ts +3 -3
  65. package/lib/cloudflare/react-router.d.ts +13 -0
  66. package/lib/cloudflare/react-router.d.ts.map +1 -0
  67. package/lib/cloudflare/react-router.js +29 -0
  68. package/lib/cloudflare/react-router.js.map +1 -0
  69. package/lib/cloudflare/redwood.d.ts +4 -4
  70. package/lib/cloudflare/route.d.ts +4 -4
  71. package/lib/cloudflare/tanstack-start.d.ts +4 -4
  72. package/lib/cloudflare/user.d.ts +2 -2
  73. package/lib/cloudflare/vectorize-index.d.ts +3 -3
  74. package/lib/cloudflare/vectorize-metadata-index.d.ts +4 -4
  75. package/lib/cloudflare/vite.d.ts +4 -4
  76. package/lib/cloudflare/website.d.ts +3 -3
  77. package/lib/cloudflare/website.d.ts.map +1 -1
  78. package/lib/cloudflare/website.js +30 -35
  79. package/lib/cloudflare/website.js.map +1 -1
  80. package/lib/cloudflare/worker-assets.d.ts +3 -3
  81. package/lib/cloudflare/worker-metadata.d.ts +5 -5
  82. package/lib/cloudflare/worker-stub.d.ts +3 -3
  83. package/lib/cloudflare/worker.d.ts +12 -11
  84. package/lib/cloudflare/worker.d.ts.map +1 -1
  85. package/lib/cloudflare/worker.js +2 -1
  86. package/lib/cloudflare/worker.js.map +1 -1
  87. package/lib/cloudflare/workflow.d.ts +2 -2
  88. package/lib/cloudflare/wrangler.json.d.ts +13 -2
  89. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  90. package/lib/cloudflare/wrangler.json.js +1 -0
  91. package/lib/cloudflare/wrangler.json.js.map +1 -1
  92. package/lib/cloudflare/zone.d.ts +4 -4
  93. package/lib/context.d.ts +3 -3
  94. package/lib/destroy.d.ts +2 -2
  95. package/lib/dns/import-dns.d.ts +3 -3
  96. package/lib/dns/index.d.ts +2 -2
  97. package/lib/esbuild/bundle.d.ts +2 -2
  98. package/lib/esbuild/index.d.ts +1 -1
  99. package/lib/fs/copy-file.d.ts +2 -2
  100. package/lib/fs/file-system-state-store.d.ts +2 -2
  101. package/lib/fs/file.d.ts +5 -5
  102. package/lib/fs/folder.d.ts +2 -2
  103. package/lib/fs/index.d.ts +14 -14
  104. package/lib/fs/static-astro-file.d.ts +1 -1
  105. package/lib/fs/static-css-file.d.ts +1 -1
  106. package/lib/fs/static-html-file.d.ts +1 -1
  107. package/lib/fs/static-json-file.d.ts +1 -1
  108. package/lib/fs/static-text-file.d.ts +1 -1
  109. package/lib/fs/static-typescript-file.d.ts +1 -1
  110. package/lib/fs/static-vue-file.d.ts +1 -1
  111. package/lib/fs/static-yaml-file.d.ts +1 -1
  112. package/lib/github/index.d.ts +2 -2
  113. package/lib/github/repository-environment.d.ts +2 -2
  114. package/lib/github/secret.d.ts +3 -3
  115. package/lib/index.d.ts +10 -10
  116. package/lib/internal/docs/providers.d.ts +2 -2
  117. package/lib/neon/api.d.ts +1 -1
  118. package/lib/neon/index.d.ts +3 -3
  119. package/lib/neon/project.d.ts +4 -4
  120. package/lib/os/exec.d.ts +2 -2
  121. package/lib/os/index.d.ts +1 -1
  122. package/lib/resource.d.ts +2 -2
  123. package/lib/runtime/bind.d.ts +3 -3
  124. package/lib/runtime/global.d.ts +1 -1
  125. package/lib/runtime/state.d.ts +1 -1
  126. package/lib/scope.d.ts +3 -3
  127. package/lib/sentry/api.d.ts +1 -1
  128. package/lib/sentry/client-key.d.ts +3 -3
  129. package/lib/sentry/index.d.ts +4 -4
  130. package/lib/sentry/project.d.ts +3 -3
  131. package/lib/sentry/team.d.ts +3 -3
  132. package/lib/serde.d.ts +3 -3
  133. package/lib/state.d.ts +2 -2
  134. package/lib/stripe/index.d.ts +4 -4
  135. package/lib/stripe/index.d.ts.map +1 -1
  136. package/lib/stripe/index.js +1 -1
  137. package/lib/stripe/index.js.map +1 -1
  138. package/lib/stripe/meter.d.ts +2 -2
  139. package/lib/stripe/price.d.ts +2 -2
  140. package/lib/stripe/product.d.ts +2 -2
  141. package/lib/stripe/webhook.d.ts +2 -2
  142. package/lib/test/bun.d.ts +3 -3
  143. package/lib/upstash/api.d.ts +1 -1
  144. package/lib/upstash/index.d.ts +3 -3
  145. package/lib/upstash/redis.d.ts +4 -4
  146. package/lib/vercel/api.d.ts +1 -1
  147. package/lib/vercel/index.d.ts +3 -3
  148. package/lib/vercel/project-domain.d.ts +3 -3
  149. package/lib/vercel/project.d.ts +4 -4
  150. package/lib/web/astro.d.ts +2 -2
  151. package/lib/web/shadcn-component.d.ts +2 -2
  152. package/lib/web/shadcn.d.ts +3 -3
  153. package/lib/web/tailwind.d.ts +2 -2
  154. package/lib/web/vite.d.ts +2 -2
  155. package/lib/web/vitepress/config.d.ts +1 -1
  156. package/lib/web/vitepress/custom-theme.d.ts +4 -4
  157. package/lib/web/vitepress/dependencies.d.ts +2 -2
  158. package/lib/web/vitepress/home-page.d.ts +3 -3
  159. package/lib/web/vitepress/index.d.ts +5 -5
  160. package/lib/web/vitepress/vitepress.d.ts +2 -2
  161. package/package.json +7 -7
  162. package/src/ai/astro-file.ts +5 -5
  163. package/src/ai/client.ts +1 -1
  164. package/src/ai/css-file.ts +5 -5
  165. package/src/ai/data.ts +5 -5
  166. package/src/ai/document.ts +5 -5
  167. package/src/ai/html-file.ts +5 -5
  168. package/src/ai/index.ts +10 -10
  169. package/src/ai/json-file.ts +6 -6
  170. package/src/ai/typescript-file.ts +5 -5
  171. package/src/ai/vue-file.ts +5 -5
  172. package/src/ai/yaml-file.ts +6 -6
  173. package/src/alchemy.ts +9 -9
  174. package/src/apply.ts +6 -6
  175. package/src/aws/bucket.ts +3 -3
  176. package/src/aws/control/client.ts +1 -1
  177. package/src/aws/control/error.ts +1 -1
  178. package/src/aws/control/index.ts +4 -4
  179. package/src/aws/control/proxy.ts +1 -1
  180. package/src/aws/control/resource.ts +5 -5
  181. package/src/aws/credentials.ts +1 -1
  182. package/src/aws/function.ts +4 -4
  183. package/src/aws/index.ts +9 -9
  184. package/src/aws/oidc/github-oidc-provider.ts +1 -1
  185. package/src/aws/oidc/index.ts +2 -2
  186. package/src/aws/oidc/oidc-provider.ts +3 -3
  187. package/src/aws/policy-attachment.ts +3 -3
  188. package/src/aws/policy.ts +2 -2
  189. package/src/aws/queue.ts +2 -2
  190. package/src/aws/role.ts +4 -4
  191. package/src/aws/ses.ts +3 -3
  192. package/src/aws/table.ts +4 -4
  193. package/src/cloudflare/account-api-token.ts +7 -7
  194. package/src/cloudflare/account-id.ts +1 -1
  195. package/src/cloudflare/ai-gateway.ts +6 -6
  196. package/src/cloudflare/api.ts +5 -5
  197. package/src/cloudflare/assets.ts +3 -3
  198. package/src/cloudflare/auth.ts +1 -1
  199. package/src/cloudflare/bindings.ts +18 -18
  200. package/src/cloudflare/bound.ts +16 -16
  201. package/src/cloudflare/bucket.ts +7 -7
  202. package/src/cloudflare/bundle/bundle-worker.ts +8 -8
  203. package/src/cloudflare/bundle/local-dev-cloudflare-shim.ts +1 -1
  204. package/src/cloudflare/bundle/nodejs-compat.ts +1 -1
  205. package/src/cloudflare/custom-domain.ts +5 -5
  206. package/src/cloudflare/d1-clone.ts +3 -3
  207. package/src/cloudflare/d1-database.ts +7 -7
  208. package/src/cloudflare/d1-export.ts +1 -1
  209. package/src/cloudflare/d1-import.ts +1 -1
  210. package/src/cloudflare/d1-migrations.ts +2 -2
  211. package/src/cloudflare/dns-records.ts +5 -5
  212. package/src/cloudflare/durable-object-namespace.ts +1 -1
  213. package/src/cloudflare/event-source.ts +2 -2
  214. package/src/cloudflare/hyperdrive.ts +7 -7
  215. package/src/cloudflare/index.ts +40 -39
  216. package/src/cloudflare/kv-namespace.ts +7 -7
  217. package/src/cloudflare/nuxt.ts +6 -5
  218. package/src/cloudflare/permission-groups.ts +3 -3
  219. package/src/cloudflare/pipeline.ts +7 -7
  220. package/src/cloudflare/queue-consumer.ts +5 -5
  221. package/src/cloudflare/queue.ts +6 -6
  222. package/src/cloudflare/r2-rest-state-store.ts +8 -8
  223. package/src/cloudflare/react-router.ts +45 -0
  224. package/src/cloudflare/redwood.ts +4 -4
  225. package/src/cloudflare/route.ts +5 -5
  226. package/src/cloudflare/tanstack-start.ts +4 -4
  227. package/src/cloudflare/user.ts +3 -3
  228. package/src/cloudflare/vectorize-index.ts +6 -6
  229. package/src/cloudflare/vectorize-metadata-index.ts +5 -5
  230. package/src/cloudflare/vite.ts +4 -4
  231. package/src/cloudflare/website.ts +42 -48
  232. package/src/cloudflare/worker-assets.ts +4 -4
  233. package/src/cloudflare/worker-metadata.ts +7 -7
  234. package/src/cloudflare/worker-stub.ts +4 -4
  235. package/src/cloudflare/worker.ts +36 -33
  236. package/src/cloudflare/workflow.ts +3 -3
  237. package/src/cloudflare/wrangler.json.ts +17 -2
  238. package/src/cloudflare/zone.ts +5 -5
  239. package/src/context.ts +4 -4
  240. package/src/destroy.ts +4 -4
  241. package/src/dns/import-dns.ts +3 -3
  242. package/src/dns/index.ts +2 -2
  243. package/src/esbuild/bundle.ts +2 -2
  244. package/src/esbuild/index.ts +1 -1
  245. package/src/fs/copy-file.ts +3 -3
  246. package/src/fs/file-system-state-store.ts +5 -5
  247. package/src/fs/file.ts +7 -7
  248. package/src/fs/folder.ts +3 -3
  249. package/src/fs/index.ts +14 -14
  250. package/src/fs/static-astro-file.ts +1 -1
  251. package/src/fs/static-css-file.ts +1 -1
  252. package/src/fs/static-html-file.ts +1 -1
  253. package/src/fs/static-json-file.ts +1 -1
  254. package/src/fs/static-text-file.ts +1 -1
  255. package/src/fs/static-typescript-file.ts +1 -1
  256. package/src/fs/static-vue-file.ts +1 -1
  257. package/src/fs/static-yaml-file.ts +1 -1
  258. package/src/github/index.ts +2 -2
  259. package/src/github/repository-environment.ts +3 -3
  260. package/src/github/secret.ts +4 -4
  261. package/src/index.ts +10 -10
  262. package/src/internal/docs/providers.ts +4 -4
  263. package/src/neon/api.ts +2 -2
  264. package/src/neon/index.ts +3 -3
  265. package/src/neon/project.ts +6 -6
  266. package/src/os/exec.ts +2 -2
  267. package/src/os/index.ts +1 -1
  268. package/src/resource.ts +3 -3
  269. package/src/runtime/bind.ts +7 -7
  270. package/src/runtime/global.ts +1 -1
  271. package/src/runtime/state.ts +1 -1
  272. package/src/scope.ts +5 -5
  273. package/src/secret.ts +1 -1
  274. package/src/sentry/api.ts +2 -2
  275. package/src/sentry/client-key.ts +4 -4
  276. package/src/sentry/index.ts +4 -4
  277. package/src/sentry/project.ts +4 -4
  278. package/src/sentry/team.ts +4 -4
  279. package/src/serde.ts +4 -4
  280. package/src/state.ts +3 -3
  281. package/src/stripe/index.ts +4 -4
  282. package/src/stripe/meter.ts +2 -2
  283. package/src/stripe/price.ts +2 -2
  284. package/src/stripe/product.ts +2 -2
  285. package/src/stripe/webhook.ts +2 -2
  286. package/src/test/bun.ts +5 -5
  287. package/src/upstash/api.ts +1 -1
  288. package/src/upstash/index.ts +3 -3
  289. package/src/upstash/redis.ts +6 -6
  290. package/src/vercel/api.ts +2 -2
  291. package/src/vercel/index.ts +3 -3
  292. package/src/vercel/project-domain.ts +4 -4
  293. package/src/vercel/project.ts +4 -4
  294. package/src/web/astro.ts +7 -7
  295. package/src/web/shadcn-component.ts +3 -3
  296. package/src/web/shadcn.ts +6 -6
  297. package/src/web/tailwind.ts +4 -4
  298. package/src/web/vite.ts +8 -8
  299. package/src/web/vitepress/config.ts +1 -1
  300. package/src/web/vitepress/custom-theme.ts +10 -10
  301. package/src/web/vitepress/dependencies.ts +2 -2
  302. package/src/web/vitepress/home-page.ts +4 -4
  303. package/src/web/vitepress/index.ts +5 -5
  304. package/src/web/vitepress/vitepress.ts +7 -7
  305. package/lib/runtime/shims.d.ts +0 -6
  306. package/lib/runtime/shims.d.ts.map +0 -1
  307. package/lib/runtime/shims.js +0 -27
  308. package/lib/runtime/shims.js.map +0 -1
@@ -1,60 +1,60 @@
1
1
  import path from "node:path";
2
- import type { Context } from "../context.js";
3
- import type { BundleProps } from "../esbuild/bundle.js";
4
- import { InnerResourceScope, Resource, ResourceKind } from "../resource.js";
5
- import { getBindKey, tryGetBinding } from "../runtime/bind.js";
6
- import { isRuntime } from "../runtime/global.js";
7
- import { bootstrapPlugin } from "../runtime/plugin.js";
8
- import { Scope } from "../scope.js";
9
- import { Secret, secret } from "../secret.js";
10
- import { serializeScope } from "../serde.js";
11
- import type { type } from "../type.js";
12
- import { withExponentialBackoff } from "../util/retry.js";
13
- import { slugify } from "../util/slugify.js";
14
- import { CloudflareApiError, handleApiError } from "./api-error.js";
2
+ import type { Context } from "../context.ts";
3
+ import type { BundleProps } from "../esbuild/bundle.ts";
4
+ import { InnerResourceScope, Resource, ResourceKind } from "../resource.ts";
5
+ import { getBindKey, tryGetBinding } from "../runtime/bind.ts";
6
+ import { isRuntime } from "../runtime/global.ts";
7
+ import { bootstrapPlugin } from "../runtime/plugin.ts";
8
+ import { Scope } from "../scope.ts";
9
+ import { Secret, secret } from "../secret.ts";
10
+ import { serializeScope } from "../serde.ts";
11
+ import type { type } from "../type.ts";
12
+ import { withExponentialBackoff } from "../util/retry.ts";
13
+ import { slugify } from "../util/slugify.ts";
14
+ import { CloudflareApiError, handleApiError } from "./api-error.ts";
15
15
  import {
16
16
  type CloudflareApi,
17
17
  type CloudflareApiOptions,
18
18
  createCloudflareApi,
19
- } from "./api.js";
20
- import type { Assets } from "./assets.js";
19
+ } from "./api.ts";
20
+ import type { Assets } from "./assets.ts";
21
21
  import {
22
22
  type Binding,
23
23
  type Bindings,
24
24
  Json,
25
25
  type WorkerBindingSpec,
26
- } from "./bindings.js";
27
- import type { Bound } from "./bound.js";
28
- import { isBucket } from "./bucket.js";
29
- import { bundleWorkerScript } from "./bundle/bundle-worker.js";
30
- import { isD1Database } from "./d1-database.js";
26
+ } from "./bindings.ts";
27
+ import type { Bound } from "./bound.ts";
28
+ import { isBucket } from "./bucket.ts";
29
+ import { bundleWorkerScript } from "./bundle/bundle-worker.ts";
30
+ import { isD1Database } from "./d1-database.ts";
31
31
  import {
32
32
  DurableObjectNamespace,
33
33
  isDurableObjectNamespace,
34
- } from "./durable-object-namespace.js";
34
+ } from "./durable-object-namespace.ts";
35
35
  import {
36
36
  type EventSource,
37
37
  type QueueEventSource,
38
38
  isQueueEventSource,
39
- } from "./event-source.js";
40
- import { isKVNamespace } from "./kv-namespace.js";
41
- import { isPipeline } from "./pipeline.js";
39
+ } from "./event-source.ts";
40
+ import { isKVNamespace } from "./kv-namespace.ts";
41
+ import { isPipeline } from "./pipeline.ts";
42
42
  import {
43
43
  QueueConsumer,
44
44
  deleteQueueConsumer,
45
45
  listQueueConsumers,
46
- } from "./queue-consumer.js";
47
- import { type QueueResource, isQueue } from "./queue.js";
48
- import { isVectorizeIndex } from "./vectorize-index.js";
49
- import { type AssetUploadResult, uploadAssets } from "./worker-assets.js";
46
+ } from "./queue-consumer.ts";
47
+ import { type QueueResource, isQueue } from "./queue.ts";
48
+ import { isVectorizeIndex } from "./vectorize-index.ts";
49
+ import { type AssetUploadResult, uploadAssets } from "./worker-assets.ts";
50
50
  import {
51
51
  type WorkerMetadata,
52
52
  type WorkerScriptMetadata,
53
53
  prepareWorkerMetadata,
54
- } from "./worker-metadata.js";
55
- import type { SingleStepMigration } from "./worker-migration.js";
56
- import { WorkerStub, isWorkerStub } from "./worker-stub.js";
57
- import { type Workflow, upsertWorkflow } from "./workflow.js";
54
+ } from "./worker-metadata.ts";
55
+ import type { SingleStepMigration } from "./worker-migration.ts";
56
+ import { WorkerStub, isWorkerStub } from "./worker-stub.ts";
57
+ import { type Workflow, upsertWorkflow } from "./workflow.ts";
58
58
 
59
59
  /**
60
60
  * Configuration options for static assets
@@ -683,6 +683,8 @@ export function Worker<const B extends Bindings>(
683
683
  });
684
684
  }
685
685
 
686
+ export const DEFAULT_COMPATIBILITY_DATE = "2025-04-20";
687
+
686
688
  export const _Worker = Resource(
687
689
  "cloudflare::Worker",
688
690
  {
@@ -699,7 +701,8 @@ export const _Worker = Resource(
699
701
  // Use the provided name
700
702
  const workerName = props.name ?? id;
701
703
 
702
- const compatibilityDate = props.compatibilityDate ?? "2025-04-20";
704
+ const compatibilityDate =
705
+ props.compatibilityDate ?? DEFAULT_COMPATIBILITY_DATE;
703
706
  const compatibilityFlags = props.compatibilityFlags ?? [];
704
707
 
705
708
  const uploadWorkerScript = async (props: WorkerProps<B>) => {
@@ -1,6 +1,6 @@
1
- import { handleApiError } from "./api-error.js";
2
- import type { CloudflareApi } from "./api.js";
3
- import type { Binding } from "./bindings.js";
1
+ import { handleApiError } from "./api-error.ts";
2
+ import type { CloudflareApi } from "./api.ts";
3
+ import type { Binding } from "./bindings.ts";
4
4
 
5
5
  export interface WorkflowProps {
6
6
  /**
@@ -7,7 +7,7 @@ import type { DurableObjectNamespace } from "./durable-object-namespace.js";
7
7
  import type { EventSource } from "./event-source.js";
8
8
  import { isQueueEventSource } from "./event-source.js";
9
9
  import { isQueue } from "./queue.js";
10
- import type { Worker } from "./worker.js";
10
+ import type { Worker, WorkerProps } from "./worker.js";
11
11
 
12
12
  /**
13
13
  * Properties for wrangler.json configuration file
@@ -17,7 +17,11 @@ export interface WranglerJsonProps {
17
17
  /**
18
18
  * The worker to generate the wrangler.json file for
19
19
  */
20
- worker: Worker<any>;
20
+ worker:
21
+ | Worker
22
+ | (WorkerProps<any> & {
23
+ name: string;
24
+ });
21
25
  /**
22
26
  * Path to write the wrangler.json file to
23
27
  *
@@ -31,6 +35,16 @@ export interface WranglerJsonProps {
31
35
  * @default worker.entrypoint
32
36
  */
33
37
  main?: string;
38
+
39
+ /**
40
+ * Path to the assets directory
41
+ *
42
+ * @default inferred from the worker's Asset bindings
43
+ */
44
+ assets?: {
45
+ binding: string;
46
+ directory: string;
47
+ };
34
48
  }
35
49
 
36
50
  /**
@@ -92,6 +106,7 @@ export const WranglerJson = Resource(
92
106
  // see: https://developers.cloudflare.com/workers/configuration/compatibility-dates/
93
107
  compatibility_date: worker.compatibilityDate,
94
108
  compatibility_flags: props.worker.compatibilityFlags,
109
+ assets: props.assets,
95
110
  };
96
111
 
97
112
  // Process bindings if they exist
@@ -1,7 +1,7 @@
1
- import type { Context } from "../context.js";
2
- import { Resource } from "../resource.js";
3
- import { handleApiError } from "./api-error.js";
4
- import { createCloudflareApi, type CloudflareApiOptions } from "./api.js";
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import { handleApiError } from "./api-error.ts";
4
+ import { createCloudflareApi, type CloudflareApiOptions } from "./api.ts";
5
5
  import type {
6
6
  AlwaysUseHTTPSValue,
7
7
  AutomaticHTTPSRewritesValue,
@@ -20,7 +20,7 @@ import type {
20
20
  UpdateZoneSettingParams,
21
21
  WebSocketsValue,
22
22
  ZeroRTTValue,
23
- } from "./zone-settings.js";
23
+ } from "./zone-settings.ts";
24
24
 
25
25
  /**
26
26
  * Properties for creating or updating a Zone
package/src/context.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DestroyedSignal } from "./destroy.js";
1
+ import { DestroyedSignal } from "./destroy.ts";
2
2
  import {
3
3
  ResourceFQN,
4
4
  ResourceID,
@@ -7,9 +7,9 @@ import {
7
7
  ResourceSeq,
8
8
  type Resource,
9
9
  type ResourceProps,
10
- } from "./resource.js";
11
- import type { Scope } from "./scope.js";
12
- import type { State } from "./state.js";
10
+ } from "./resource.ts";
11
+ import type { Scope } from "./scope.ts";
12
+ import type { State } from "./state.ts";
13
13
 
14
14
  export type Context<
15
15
  Out extends Resource,
package/src/destroy.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { alchemy } from "./alchemy.js";
2
- import { context } from "./context.js";
1
+ import { alchemy } from "./alchemy.ts";
2
+ import { context } from "./context.ts";
3
3
  import {
4
4
  resolveDeletionHandler,
5
5
  type Resource,
@@ -8,8 +8,8 @@ import {
8
8
  ResourceKind,
9
9
  ResourceScope,
10
10
  ResourceSeq,
11
- } from "./resource.js";
12
- import { Scope } from "./scope.js";
11
+ } from "./resource.ts";
12
+ import { Scope } from "./scope.ts";
13
13
 
14
14
  export class DestroyedSignal extends Error {}
15
15
 
@@ -1,6 +1,6 @@
1
- import type { Context } from "../context.js";
2
- import { Resource } from "../resource.js";
3
- import { DEFAULT_RECORD_TYPES, type DnsRecordType } from "./record.js";
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import { DEFAULT_RECORD_TYPES, type DnsRecordType } from "./record.ts";
4
4
 
5
5
  /**
6
6
  * DNS record response structure from Cloudflare DNS API
package/src/dns/index.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./import-dns.js";
2
- export * from "./record.js";
1
+ export * from "./import-dns.ts";
2
+ export * from "./record.ts";
@@ -2,8 +2,8 @@ import type esbuild from "esbuild";
2
2
  import crypto from "node:crypto";
3
3
  import fs from "node:fs/promises";
4
4
  import path from "node:path";
5
- import type { Context } from "../context.js";
6
- import { Resource } from "../resource.js";
5
+ import type { Context } from "../context.ts";
6
+ import { Resource } from "../resource.ts";
7
7
 
8
8
  /**
9
9
  * Properties for creating or updating an esbuild bundle
@@ -1 +1 @@
1
- export * from "./bundle.js";
1
+ export * from "./bundle.ts";
@@ -1,7 +1,7 @@
1
1
  import fs from "node:fs";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
4
- import { ignore } from "../util/ignore.js";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
+ import { ignore } from "../util/ignore.ts";
5
5
 
6
6
  /**
7
7
  * Properties for creating a CopyFile resource
@@ -1,10 +1,10 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import { ResourceScope } from "../resource.js";
4
- import type { Scope } from "../scope.js";
5
- import { serialize } from "../serde.js";
6
- import { deserializeState, type State, type StateStore } from "../state.js";
7
- import { ignore } from "../util/ignore.js";
3
+ import { ResourceScope } from "../resource.ts";
4
+ import type { Scope } from "../scope.ts";
5
+ import { serialize } from "../serde.ts";
6
+ import { deserializeState, type State, type StateStore } from "../state.ts";
7
+ import { ignore } from "../util/ignore.ts";
8
8
 
9
9
  const stateRootDir = path.join(process.cwd(), ".alchemy");
10
10
 
package/src/fs/file.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import type { Context } from "../context.js";
4
- import { Resource } from "../resource.js";
5
- import { ignore } from "../util/ignore.js";
3
+ import type { Context } from "../context.ts";
4
+ import { Resource } from "../resource.ts";
5
+ import { ignore } from "../util/ignore.ts";
6
6
 
7
- import { alchemy } from "../alchemy.js";
8
- import type { FileCollection } from "./file-collection.js";
9
- import type { FileRef } from "./file-ref.js";
7
+ import { alchemy } from "../alchemy.ts";
8
+ import type { FileCollection } from "./file-collection.ts";
9
+ import type { FileRef } from "./file-ref.ts";
10
10
 
11
- declare module "../alchemy.js" {
11
+ declare module "../alchemy.ts" {
12
12
  interface Alchemy {
13
13
  /**
14
14
  * Creates a reference to a file in the filesystem.
package/src/fs/folder.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import fs from "node:fs";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
4
- import { ignore } from "../util/ignore.js";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
+ import { ignore } from "../util/ignore.ts";
5
5
 
6
6
  export interface FolderProps {
7
7
  /**
package/src/fs/index.ts CHANGED
@@ -1,14 +1,14 @@
1
- export * from "./copy-file.js";
2
- export * from "./file-collection.js";
3
- export * from "./file-ref.js";
4
- export * from "./file-system-state-store.js";
5
- export * from "./file.js";
6
- export * from "./folder.js";
7
- export * from "./static-astro-file.js";
8
- export * from "./static-css-file.js";
9
- export * from "./static-html-file.js";
10
- export * from "./static-json-file.js";
11
- export * from "./static-text-file.js";
12
- export * from "./static-typescript-file.js";
13
- export * from "./static-vue-file.js";
14
- export * from "./static-yaml-file.js";
1
+ export * from "./copy-file.ts";
2
+ export * from "./file-collection.ts";
3
+ export * from "./file-ref.ts";
4
+ export * from "./file-system-state-store.ts";
5
+ export * from "./file.ts";
6
+ export * from "./folder.ts";
7
+ export * from "./static-astro-file.ts";
8
+ export * from "./static-css-file.ts";
9
+ export * from "./static-html-file.ts";
10
+ export * from "./static-json-file.ts";
11
+ export * from "./static-text-file.ts";
12
+ export * from "./static-typescript-file.ts";
13
+ export * from "./static-vue-file.ts";
14
+ export * from "./static-yaml-file.ts";
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  export type StaticAstroFile = File;
4
4
 
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  export type StaticCSSFile = File;
4
4
 
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  export type StaticHTMLFile = File;
4
4
 
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  /**
4
4
  * Creates a JSON file with formatted content
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  /**
4
4
  * Creates a plain text file
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  /**
4
4
  * Creates a TypeScript file with formatted content using prettier
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  export type StaticVueFile = File;
4
4
 
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
  /**
3
3
  * Creates a YAML file with formatted content
4
4
  *
@@ -1,2 +1,2 @@
1
- export * from "./repository-environment.js";
2
- export * from "./secret.js";
1
+ export * from "./repository-environment.ts";
2
+ export * from "./secret.ts";
@@ -1,6 +1,6 @@
1
- import type { Context } from "../context.js";
2
- import { Resource } from "../resource.js";
3
- import { createGitHubClient, verifyGitHubAuth } from "./client.js";
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import { createGitHubClient, verifyGitHubAuth } from "./client.ts";
4
4
 
5
5
  /**
6
6
  * Properties for creating or updating a GitHub Repository Environment
@@ -1,8 +1,8 @@
1
1
  import sodium from "libsodium-wrappers";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
4
- import type { Secret } from "../secret.js";
5
- import { createGitHubClient, verifyGitHubAuth } from "./client.js";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
+ import type { Secret } from "../secret.ts";
5
+ import { createGitHubClient, verifyGitHubAuth } from "./client.ts";
6
6
  /**
7
7
  * Properties for creating or updating a GitHub Secret
8
8
  */
package/src/index.ts CHANGED
@@ -1,12 +1,12 @@
1
- export type { AlchemyOptions } from "./alchemy.js";
2
- export type * from "./context.js";
3
- export * from "./resource.js";
4
- export type * from "./scope.js";
5
- export * from "./secret.js";
6
- export * from "./serde.js";
7
- export * from "./state.js";
8
- export * from "./type.js";
9
- export * from "./util/ignore.js";
1
+ export type { AlchemyOptions } from "./alchemy.ts";
2
+ export type * from "./context.ts";
3
+ export * from "./resource.ts";
4
+ export type * from "./scope.ts";
5
+ export * from "./secret.ts";
6
+ export * from "./serde.ts";
7
+ export * from "./state.ts";
8
+ export * from "./type.ts";
9
+ export * from "./util/ignore.ts";
10
10
 
11
- import { alchemy } from "./alchemy.js";
11
+ import { alchemy } from "./alchemy.ts";
12
12
  export default alchemy;
@@ -1,10 +1,10 @@
1
1
  import { type } from "arktype";
2
2
  import fs from "node:fs/promises";
3
3
  import path from "node:path";
4
- import { Data } from "../../ai/data.js";
5
- import { Document } from "../../ai/document.js";
6
- import { alchemy } from "../../alchemy.js";
7
- import { Folder } from "../../fs/folder.js";
4
+ import { Data } from "../../ai/data.ts";
5
+ import { Document } from "../../ai/document.ts";
6
+ import { alchemy } from "../../alchemy.ts";
7
+ import { Folder } from "../../fs/folder.ts";
8
8
 
9
9
  function getArg(arg: string) {
10
10
  const idx = process.argv.findIndex((a) => a === arg);
package/src/neon/api.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { Secret } from "../secret.js";
2
- import { withExponentialBackoff } from "../util/retry.js";
1
+ import type { Secret } from "../secret.ts";
2
+ import { withExponentialBackoff } from "../util/retry.ts";
3
3
 
4
4
  /**
5
5
  * Options for Neon API requests
package/src/neon/index.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./api-error.js";
2
- export * from "./api.js";
3
- export * from "./project.js";
1
+ export * from "./api-error.ts";
2
+ export * from "./api.ts";
3
+ export * from "./project.ts";
@@ -1,9 +1,9 @@
1
- import { alchemy } from "../alchemy.js";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
4
- import type { Secret } from "../secret.js";
5
- import { handleApiError } from "./api-error.js";
6
- import { createNeonApi, type NeonApiOptions } from "./api.js";
1
+ import { alchemy } from "../alchemy.ts";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
+ import type { Secret } from "../secret.ts";
5
+ import { handleApiError } from "./api-error.ts";
6
+ import { createNeonApi, type NeonApiOptions } from "./api.ts";
7
7
 
8
8
  /**
9
9
  * A Neon region where projects can be provisioned
package/src/os/exec.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { spawn, type SpawnOptions } from "node:child_process";
2
2
  import { createHash } from "node:crypto";
3
3
  import { join } from "node:path";
4
- import type { Context } from "../context.js";
5
- import { Resource } from "../resource.js";
4
+ import type { Context } from "../context.ts";
5
+ import { Resource } from "../resource.ts";
6
6
 
7
7
  /**
8
8
  * Properties for executing a shell command
package/src/os/index.ts CHANGED
@@ -1 +1 @@
1
- export * from "./exec.js";
1
+ export * from "./exec.ts";
package/src/resource.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { apply } from "./apply.js";
2
- import type { Context } from "./context.js";
3
- import { Scope as _Scope, type Scope } from "./scope.js";
1
+ import { apply } from "./apply.ts";
2
+ import type { Context } from "./context.ts";
3
+ import { Scope as _Scope, type Scope } from "./scope.ts";
4
4
 
5
5
  export const PROVIDERS: Map<ResourceKind, Provider<string, any>> = new Map<
6
6
  ResourceKind,
@@ -1,11 +1,11 @@
1
1
  import { isPromise } from "node:util/types";
2
- import type { Binding as CloudflareBinding } from "../cloudflare/bindings.js";
3
- import type { Bound as CloudflareBound } from "../cloudflare/bound.js";
4
- import { isWorkerStub } from "../cloudflare/worker-stub.js";
5
- import { isWorker } from "../cloudflare/worker.js";
6
- import { env } from "../env.js";
7
- import { ResourceFQN, ResourceScope, type Resource } from "../resource.js";
8
- import { isRuntime } from "./global.js";
2
+ import type { Binding as CloudflareBinding } from "../cloudflare/bindings.ts";
3
+ import type { Bound as CloudflareBound } from "../cloudflare/bound.ts";
4
+ import { isWorkerStub } from "../cloudflare/worker-stub.ts";
5
+ import { isWorker } from "../cloudflare/worker.ts";
6
+ import { env } from "../env.ts";
7
+ import { ResourceFQN, ResourceScope, type Resource } from "../resource.ts";
8
+ import { isRuntime } from "./global.ts";
9
9
 
10
10
  /**
11
11
  * Get a Resource's Binding from the Environment.
@@ -1,4 +1,4 @@
1
- import type { SerializedScope } from "../serde.js";
1
+ import type { SerializedScope } from "../serde.ts";
2
2
 
3
3
  declare global {
4
4
  const __ALCHEMY_WORKER_NAME__: string;
@@ -1,4 +1,4 @@
1
- import type { Resource } from "../resource.js";
1
+ import type { Resource } from "../resource.ts";
2
2
 
3
3
  export interface RuntimeState {
4
4
  get(id: string): Resource;
package/src/scope.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { AsyncLocalStorage } from "node:async_hooks";
2
- import type { Phase } from "./alchemy.js";
3
- import { destroyAll } from "./destroy.js";
4
- import { FileSystemStateStore } from "./fs/file-system-state-store.js";
5
- import { ResourceID, type PendingResource } from "./resource.js";
6
- import type { StateStore, StateStoreType } from "./state.js";
2
+ import type { Phase } from "./alchemy.ts";
3
+ import { destroyAll } from "./destroy.ts";
4
+ import { FileSystemStateStore } from "./fs/file-system-state-store.ts";
5
+ import { ResourceID, type PendingResource } from "./resource.ts";
6
+ import type { StateStore, StateStoreType } from "./state.ts";
7
7
 
8
8
  export type ScopeOptions = {
9
9
  appName?: string;
package/src/secret.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { alchemy } from "./alchemy.js";
1
+ import { alchemy } from "./alchemy.ts";
2
2
 
3
3
  // a global registry of all secrets that we will use when serializing an application
4
4
  const globalSecrets: {
package/src/sentry/api.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { alchemy } from "../alchemy.js";
2
- import type { Secret } from "../secret.js";
1
+ import { alchemy } from "../alchemy.ts";
2
+ import type { Secret } from "../secret.ts";
3
3
 
4
4
  /**
5
5
  * Options for Sentry API requests
@@ -1,7 +1,7 @@
1
- import type { Context } from "../context.js";
2
- import { Resource } from "../resource.js";
3
- import type { Secret } from "../secret.js";
4
- import { SentryApi } from "./api.js";
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import type { Secret } from "../secret.ts";
4
+ import { SentryApi } from "./api.ts";
5
5
 
6
6
  /**
7
7
  * Properties for creating or updating a ClientKey