alchemy 0.16.9 → 0.17.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 (429) hide show
  1. package/lib/ai/astro-file.d.ts +1 -1
  2. package/lib/ai/astro-file.d.ts.map +1 -1
  3. package/lib/ai/astro-file.js +1 -1
  4. package/lib/ai/astro-file.js.map +1 -1
  5. package/lib/ai/client.js +2 -2
  6. package/lib/ai/client.js.map +1 -1
  7. package/lib/ai/css-file.d.ts +1 -1
  8. package/lib/ai/css-file.d.ts.map +1 -1
  9. package/lib/ai/css-file.js +1 -1
  10. package/lib/ai/css-file.js.map +1 -1
  11. package/lib/ai/data.d.ts +1 -1
  12. package/lib/ai/data.d.ts.map +1 -1
  13. package/lib/ai/data.js +1 -1
  14. package/lib/ai/data.js.map +1 -1
  15. package/lib/ai/html-file.d.ts +1 -1
  16. package/lib/ai/html-file.d.ts.map +1 -1
  17. package/lib/ai/html-file.js +1 -1
  18. package/lib/ai/html-file.js.map +1 -1
  19. package/lib/ai/json-file.d.ts +1 -1
  20. package/lib/ai/json-file.d.ts.map +1 -1
  21. package/lib/ai/json-file.js +1 -1
  22. package/lib/ai/json-file.js.map +1 -1
  23. package/lib/ai/typescript-file.d.ts +1 -1
  24. package/lib/ai/typescript-file.d.ts.map +1 -1
  25. package/lib/ai/typescript-file.js +1 -1
  26. package/lib/ai/typescript-file.js.map +1 -1
  27. package/lib/ai/vue-file.d.ts +1 -1
  28. package/lib/ai/vue-file.d.ts.map +1 -1
  29. package/lib/ai/vue-file.js +1 -1
  30. package/lib/ai/vue-file.js.map +1 -1
  31. package/lib/ai/yaml-file.d.ts +1 -1
  32. package/lib/ai/yaml-file.d.ts.map +1 -1
  33. package/lib/ai/yaml-file.js +2 -2
  34. package/lib/ai/yaml-file.js.map +1 -1
  35. package/lib/alchemy.d.ts +4 -0
  36. package/lib/alchemy.d.ts.map +1 -1
  37. package/lib/alchemy.js +14 -4
  38. package/lib/alchemy.js.map +1 -1
  39. package/lib/apply.d.ts +2 -0
  40. package/lib/apply.d.ts.map +1 -1
  41. package/lib/apply.js +17 -2
  42. package/lib/apply.js.map +1 -1
  43. package/lib/aws/bucket.d.ts +1 -1
  44. package/lib/aws/bucket.d.ts.map +1 -1
  45. package/lib/aws/bucket.js +1 -1
  46. package/lib/aws/bucket.js.map +1 -1
  47. package/lib/aws/function.d.ts +1 -1
  48. package/lib/aws/function.d.ts.map +1 -1
  49. package/lib/aws/function.js +2 -2
  50. package/lib/aws/function.js.map +1 -1
  51. package/lib/aws/oidc/oidc-provider.d.ts +1 -1
  52. package/lib/aws/oidc/oidc-provider.d.ts.map +1 -1
  53. package/lib/aws/oidc/oidc-provider.js +1 -1
  54. package/lib/aws/oidc/oidc-provider.js.map +1 -1
  55. package/lib/aws/policy-attachment.d.ts +1 -1
  56. package/lib/aws/policy-attachment.d.ts.map +1 -1
  57. package/lib/aws/policy-attachment.js +1 -1
  58. package/lib/aws/policy-attachment.js.map +1 -1
  59. package/lib/aws/policy.d.ts +1 -1
  60. package/lib/aws/policy.d.ts.map +1 -1
  61. package/lib/aws/policy.js +1 -1
  62. package/lib/aws/policy.js.map +1 -1
  63. package/lib/aws/queue.d.ts +1 -1
  64. package/lib/aws/queue.d.ts.map +1 -1
  65. package/lib/aws/queue.js +20 -25
  66. package/lib/aws/queue.js.map +1 -1
  67. package/lib/aws/role.d.ts +1 -1
  68. package/lib/aws/role.d.ts.map +1 -1
  69. package/lib/aws/role.js +1 -1
  70. package/lib/aws/role.js.map +1 -1
  71. package/lib/aws/ses.d.ts +1 -1
  72. package/lib/aws/ses.d.ts.map +1 -1
  73. package/lib/aws/ses.js +1 -1
  74. package/lib/aws/ses.js.map +1 -1
  75. package/lib/aws/table.d.ts +1 -1
  76. package/lib/aws/table.d.ts.map +1 -1
  77. package/lib/aws/table.js +1 -1
  78. package/lib/aws/table.js.map +1 -1
  79. package/lib/cloudflare/account-api-token.d.ts +1 -1
  80. package/lib/cloudflare/account-api-token.d.ts.map +1 -1
  81. package/lib/cloudflare/account-api-token.js +1 -1
  82. package/lib/cloudflare/account-api-token.js.map +1 -1
  83. package/lib/cloudflare/ai-gateway.d.ts +4 -3
  84. package/lib/cloudflare/ai-gateway.d.ts.map +1 -1
  85. package/lib/cloudflare/ai-gateway.js +13 -1
  86. package/lib/cloudflare/ai-gateway.js.map +1 -1
  87. package/lib/cloudflare/analytics-engine.d.ts +21 -0
  88. package/lib/cloudflare/analytics-engine.d.ts.map +1 -0
  89. package/lib/cloudflare/analytics-engine.js +17 -0
  90. package/lib/cloudflare/analytics-engine.js.map +1 -0
  91. package/lib/cloudflare/api-error.js +1 -1
  92. package/lib/cloudflare/api-error.js.map +1 -1
  93. package/lib/cloudflare/assets.js +2 -2
  94. package/lib/cloudflare/assets.js.map +1 -1
  95. package/lib/cloudflare/auth.js +1 -1
  96. package/lib/cloudflare/auth.js.map +1 -1
  97. package/lib/cloudflare/bindings.d.ts +18 -11
  98. package/lib/cloudflare/bindings.d.ts.map +1 -1
  99. package/lib/cloudflare/bindings.js +6 -0
  100. package/lib/cloudflare/bindings.js.map +1 -1
  101. package/lib/cloudflare/bound.d.ts +12 -10
  102. package/lib/cloudflare/bound.d.ts.map +1 -1
  103. package/lib/cloudflare/bucket.d.ts +6 -4
  104. package/lib/cloudflare/bucket.d.ts.map +1 -1
  105. package/lib/cloudflare/bucket.js +22 -2
  106. package/lib/cloudflare/bucket.js.map +1 -1
  107. package/lib/cloudflare/bundle/bundle-worker.d.ts +1 -0
  108. package/lib/cloudflare/bundle/bundle-worker.d.ts.map +1 -1
  109. package/lib/cloudflare/bundle/bundle-worker.js +4 -2
  110. package/lib/cloudflare/bundle/bundle-worker.js.map +1 -1
  111. package/lib/cloudflare/bundle/nodejs-compat-mode.d.ts +1 -1
  112. package/lib/cloudflare/bundle/nodejs-compat-mode.d.ts.map +1 -1
  113. package/lib/cloudflare/bundle/nodejs-compat-mode.js +2 -2
  114. package/lib/cloudflare/bundle/nodejs-compat-mode.js.map +1 -1
  115. package/lib/cloudflare/bundle/nodejs-compat.js +1 -1
  116. package/lib/cloudflare/bundle/nodejs-compat.js.map +1 -1
  117. package/lib/cloudflare/custom-domain.js +1 -1
  118. package/lib/cloudflare/custom-domain.js.map +1 -1
  119. package/lib/cloudflare/d1-database.d.ts +4 -62
  120. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  121. package/lib/cloudflare/d1-database.js +27 -11
  122. package/lib/cloudflare/d1-database.js.map +1 -1
  123. package/lib/cloudflare/dns-records.d.ts +1 -1
  124. package/lib/cloudflare/dns-records.d.ts.map +1 -1
  125. package/lib/cloudflare/dns-records.js +2 -2
  126. package/lib/cloudflare/dns-records.js.map +1 -1
  127. package/lib/cloudflare/event-source.d.ts +3 -3
  128. package/lib/cloudflare/event-source.d.ts.map +1 -1
  129. package/lib/cloudflare/hyperdrive.d.ts +4 -3
  130. package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
  131. package/lib/cloudflare/hyperdrive.js +9 -1
  132. package/lib/cloudflare/hyperdrive.js.map +1 -1
  133. package/lib/cloudflare/kv-namespace.d.ts +9 -5
  134. package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
  135. package/lib/cloudflare/kv-namespace.js +26 -6
  136. package/lib/cloudflare/kv-namespace.js.map +1 -1
  137. package/lib/cloudflare/permission-groups.d.ts +1 -1
  138. package/lib/cloudflare/permission-groups.d.ts.map +1 -1
  139. package/lib/cloudflare/permission-groups.js +1 -1
  140. package/lib/cloudflare/permission-groups.js.map +1 -1
  141. package/lib/cloudflare/pipeline.d.ts +5 -3
  142. package/lib/cloudflare/pipeline.d.ts.map +1 -1
  143. package/lib/cloudflare/pipeline.js +16 -2
  144. package/lib/cloudflare/pipeline.js.map +1 -1
  145. package/lib/cloudflare/queue-consumer.d.ts +3 -3
  146. package/lib/cloudflare/queue-consumer.d.ts.map +1 -1
  147. package/lib/cloudflare/queue-consumer.js +1 -1
  148. package/lib/cloudflare/queue-consumer.js.map +1 -1
  149. package/lib/cloudflare/queue.d.ts +34 -22
  150. package/lib/cloudflare/queue.d.ts.map +1 -1
  151. package/lib/cloudflare/queue.js +66 -4
  152. package/lib/cloudflare/queue.js.map +1 -1
  153. package/lib/cloudflare/route.d.ts +1 -1
  154. package/lib/cloudflare/route.d.ts.map +1 -1
  155. package/lib/cloudflare/route.js +1 -1
  156. package/lib/cloudflare/route.js.map +1 -1
  157. package/lib/cloudflare/types.js +1 -1
  158. package/lib/cloudflare/types.js.map +1 -1
  159. package/lib/cloudflare/vectorize-index.d.ts +6 -4
  160. package/lib/cloudflare/vectorize-index.d.ts.map +1 -1
  161. package/lib/cloudflare/vectorize-index.js +20 -3
  162. package/lib/cloudflare/vectorize-index.js.map +1 -1
  163. package/lib/cloudflare/vectorize-metadata-index.d.ts +4 -3
  164. package/lib/cloudflare/vectorize-metadata-index.d.ts.map +1 -1
  165. package/lib/cloudflare/vectorize-metadata-index.js +5 -2
  166. package/lib/cloudflare/vectorize-metadata-index.js.map +1 -1
  167. package/lib/cloudflare/website.d.ts.map +1 -1
  168. package/lib/cloudflare/website.js +3 -0
  169. package/lib/cloudflare/website.js.map +1 -1
  170. package/lib/cloudflare/worker-assets.d.ts +32 -0
  171. package/lib/cloudflare/worker-assets.d.ts.map +1 -0
  172. package/lib/cloudflare/worker-assets.js +143 -0
  173. package/lib/cloudflare/worker-assets.js.map +1 -0
  174. package/lib/cloudflare/worker-metadata.d.ts +31 -0
  175. package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
  176. package/lib/cloudflare/worker-metadata.js +248 -0
  177. package/lib/cloudflare/worker-metadata.js.map +1 -1
  178. package/lib/cloudflare/worker-stub.d.ts +40 -0
  179. package/lib/cloudflare/worker-stub.d.ts.map +1 -0
  180. package/lib/cloudflare/worker-stub.js +86 -0
  181. package/lib/cloudflare/worker-stub.js.map +1 -0
  182. package/lib/cloudflare/worker.d.ts +57 -28
  183. package/lib/cloudflare/worker.d.ts.map +1 -1
  184. package/lib/cloudflare/worker.js +203 -472
  185. package/lib/cloudflare/worker.js.map +1 -1
  186. package/lib/cloudflare/wrangler.json.d.ts +29 -1
  187. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  188. package/lib/cloudflare/wrangler.json.js +50 -2
  189. package/lib/cloudflare/wrangler.json.js.map +1 -1
  190. package/lib/cloudflare/zone.d.ts +1 -1
  191. package/lib/cloudflare/zone.d.ts.map +1 -1
  192. package/lib/cloudflare/zone.js +1 -1
  193. package/lib/cloudflare/zone.js.map +1 -1
  194. package/lib/destroy.d.ts +1 -4
  195. package/lib/destroy.d.ts.map +1 -1
  196. package/lib/destroy.js +10 -21
  197. package/lib/destroy.js.map +1 -1
  198. package/lib/dns/import-dns.d.ts +1 -1
  199. package/lib/dns/import-dns.d.ts.map +1 -1
  200. package/lib/dns/import-dns.js +1 -1
  201. package/lib/dns/import-dns.js.map +1 -1
  202. package/lib/encrypt.d.ts.map +1 -1
  203. package/lib/encrypt.js +2 -1
  204. package/lib/encrypt.js.map +1 -1
  205. package/lib/env.js +14 -8
  206. package/lib/env.js.map +1 -1
  207. package/lib/esbuild/bundle.d.ts +2 -2
  208. package/lib/esbuild/bundle.d.ts.map +1 -1
  209. package/lib/esbuild/bundle.js +3 -3
  210. package/lib/esbuild/bundle.js.map +1 -1
  211. package/lib/fs/copy-file.d.ts +1 -1
  212. package/lib/fs/copy-file.d.ts.map +1 -1
  213. package/lib/fs/copy-file.js +1 -1
  214. package/lib/fs/copy-file.js.map +1 -1
  215. package/lib/github/client.js +1 -1
  216. package/lib/github/client.js.map +1 -1
  217. package/lib/github/repository-environment.d.ts +1 -1
  218. package/lib/github/repository-environment.d.ts.map +1 -1
  219. package/lib/github/repository-environment.js +2 -2
  220. package/lib/github/repository-environment.js.map +1 -1
  221. package/lib/github/secret.d.ts +1 -1
  222. package/lib/github/secret.d.ts.map +1 -1
  223. package/lib/github/secret.js +1 -1
  224. package/lib/github/secret.js.map +1 -1
  225. package/lib/internal/docs/providers.d.ts +1 -1
  226. package/lib/internal/docs/providers.d.ts.map +1 -1
  227. package/lib/internal/docs/providers.js +3 -1
  228. package/lib/internal/docs/providers.js.map +1 -1
  229. package/lib/neon/api-error.js +2 -2
  230. package/lib/neon/api-error.js.map +1 -1
  231. package/lib/os/exec.js +1 -1
  232. package/lib/os/exec.js.map +1 -1
  233. package/lib/resource.d.ts +13 -11
  234. package/lib/resource.d.ts.map +1 -1
  235. package/lib/resource.js +10 -5
  236. package/lib/resource.js.map +1 -1
  237. package/lib/runtime/bind.d.ts +25 -0
  238. package/lib/runtime/bind.d.ts.map +1 -0
  239. package/lib/runtime/bind.js +76 -0
  240. package/lib/runtime/bind.js.map +1 -0
  241. package/lib/runtime/global.d.ts +8 -0
  242. package/lib/runtime/global.d.ts.map +1 -0
  243. package/lib/runtime/global.js +3 -0
  244. package/lib/runtime/global.js.map +1 -0
  245. package/lib/runtime/plugin.d.ts +35 -0
  246. package/lib/runtime/plugin.d.ts.map +1 -0
  247. package/lib/runtime/plugin.js +133 -0
  248. package/lib/runtime/plugin.js.map +1 -0
  249. package/lib/runtime/shims.d.ts +6 -0
  250. package/lib/runtime/shims.d.ts.map +1 -0
  251. package/lib/runtime/shims.js +27 -0
  252. package/lib/runtime/shims.js.map +1 -0
  253. package/lib/runtime/state.d.ts +5 -0
  254. package/lib/runtime/state.d.ts.map +1 -0
  255. package/lib/runtime/state.js +4 -0
  256. package/lib/runtime/state.js.map +1 -0
  257. package/lib/scope.d.ts +16 -2
  258. package/lib/scope.d.ts.map +1 -1
  259. package/lib/scope.js +56 -9
  260. package/lib/scope.js.map +1 -1
  261. package/lib/secret.d.ts +7 -2
  262. package/lib/secret.d.ts.map +1 -1
  263. package/lib/secret.js +19 -4
  264. package/lib/secret.js.map +1 -1
  265. package/lib/sentry/client-key.d.ts +1 -1
  266. package/lib/sentry/client-key.d.ts.map +1 -1
  267. package/lib/sentry/client-key.js +1 -1
  268. package/lib/sentry/client-key.js.map +1 -1
  269. package/lib/sentry/project.d.ts +1 -1
  270. package/lib/sentry/project.d.ts.map +1 -1
  271. package/lib/sentry/project.js +1 -1
  272. package/lib/sentry/project.js.map +1 -1
  273. package/lib/sentry/team.d.ts +1 -1
  274. package/lib/sentry/team.d.ts.map +1 -1
  275. package/lib/sentry/team.js +1 -1
  276. package/lib/sentry/team.js.map +1 -1
  277. package/lib/serde.d.ts +26 -1
  278. package/lib/serde.d.ts.map +1 -1
  279. package/lib/serde.js +53 -8
  280. package/lib/serde.js.map +1 -1
  281. package/lib/stripe/meter.d.ts +1 -1
  282. package/lib/stripe/meter.d.ts.map +1 -1
  283. package/lib/stripe/meter.js +1 -1
  284. package/lib/stripe/meter.js.map +1 -1
  285. package/lib/stripe/price.d.ts +1 -1
  286. package/lib/stripe/price.d.ts.map +1 -1
  287. package/lib/stripe/price.js +1 -1
  288. package/lib/stripe/price.js.map +1 -1
  289. package/lib/stripe/product.d.ts +1 -1
  290. package/lib/stripe/product.d.ts.map +1 -1
  291. package/lib/stripe/product.js +1 -1
  292. package/lib/stripe/product.js.map +1 -1
  293. package/lib/stripe/webhook.d.ts +1 -1
  294. package/lib/stripe/webhook.d.ts.map +1 -1
  295. package/lib/stripe/webhook.js +1 -1
  296. package/lib/stripe/webhook.js.map +1 -1
  297. package/lib/test/bun.js +1 -1
  298. package/lib/test/bun.js.map +1 -1
  299. package/lib/test/prune.js +1 -1
  300. package/lib/test/prune.js.map +1 -1
  301. package/lib/upstash/redis.d.ts +1 -1
  302. package/lib/upstash/redis.d.ts.map +1 -1
  303. package/lib/upstash/redis.js +1 -1
  304. package/lib/upstash/redis.js.map +1 -1
  305. package/lib/util/assert-never.d.ts +2 -0
  306. package/lib/util/assert-never.d.ts.map +1 -0
  307. package/lib/util/assert-never.js +4 -0
  308. package/lib/util/assert-never.js.map +1 -0
  309. package/lib/util/content-type.d.ts +1 -1
  310. package/lib/util/content-type.d.ts.map +1 -1
  311. package/lib/util/content-type.js +1 -2
  312. package/lib/util/content-type.js.map +1 -1
  313. package/lib/util/retry.d.ts.map +1 -1
  314. package/lib/util/retry.js +1 -0
  315. package/lib/util/retry.js.map +1 -1
  316. package/lib/vercel/project-domain.d.ts +1 -1
  317. package/lib/vercel/project-domain.d.ts.map +1 -1
  318. package/lib/vercel/project-domain.js +1 -1
  319. package/lib/vercel/project-domain.js.map +1 -1
  320. package/lib/vercel/project.js +1 -1
  321. package/lib/vercel/project.js.map +1 -1
  322. package/lib/web/shadcn-component.d.ts +1 -1
  323. package/lib/web/shadcn-component.d.ts.map +1 -1
  324. package/lib/web/shadcn-component.js +1 -1
  325. package/lib/web/shadcn-component.js.map +1 -1
  326. package/lib/web/shadcn.d.ts +1 -1
  327. package/lib/web/shadcn.d.ts.map +1 -1
  328. package/lib/web/shadcn.js +1 -1
  329. package/lib/web/shadcn.js.map +1 -1
  330. package/lib/web/vitepress/dependencies.d.ts +1 -1
  331. package/lib/web/vitepress/dependencies.d.ts.map +1 -1
  332. package/lib/web/vitepress/dependencies.js +1 -1
  333. package/lib/web/vitepress/dependencies.js.map +1 -1
  334. package/lib/web/vitepress/vitepress.js +1 -1
  335. package/lib/web/vitepress/vitepress.js.map +1 -1
  336. package/package.json +2 -1
  337. package/src/ai/astro-file.ts +1 -1
  338. package/src/ai/client.ts +2 -2
  339. package/src/ai/css-file.ts +1 -1
  340. package/src/ai/data.ts +1 -1
  341. package/src/ai/html-file.ts +1 -1
  342. package/src/ai/json-file.ts +1 -1
  343. package/src/ai/typescript-file.ts +1 -1
  344. package/src/ai/vue-file.ts +1 -1
  345. package/src/ai/yaml-file.ts +2 -2
  346. package/src/alchemy.ts +18 -4
  347. package/src/apply.ts +27 -2
  348. package/src/aws/bucket.ts +1 -1
  349. package/src/aws/function.ts +2 -2
  350. package/src/aws/oidc/oidc-provider.ts +1 -1
  351. package/src/aws/policy-attachment.ts +1 -1
  352. package/src/aws/policy.ts +1 -1
  353. package/src/aws/queue.ts +28 -29
  354. package/src/aws/role.ts +1 -1
  355. package/src/aws/ses.ts +1 -1
  356. package/src/aws/table.ts +1 -1
  357. package/src/cloudflare/account-api-token.ts +1 -1
  358. package/src/cloudflare/ai-gateway.ts +23 -4
  359. package/src/cloudflare/analytics-engine.ts +26 -0
  360. package/src/cloudflare/api-error.ts +1 -1
  361. package/src/cloudflare/assets.ts +2 -2
  362. package/src/cloudflare/auth.ts +1 -1
  363. package/src/cloudflare/bindings.ts +35 -18
  364. package/src/cloudflare/bound.ts +27 -23
  365. package/src/cloudflare/bucket.ts +52 -24
  366. package/src/cloudflare/bundle/bundle-worker.ts +5 -2
  367. package/src/cloudflare/bundle/nodejs-compat-mode.ts +3 -3
  368. package/src/cloudflare/bundle/nodejs-compat.ts +1 -1
  369. package/src/cloudflare/custom-domain.ts +1 -1
  370. package/src/cloudflare/d1-database.ts +40 -19
  371. package/src/cloudflare/dns-records.ts +2 -2
  372. package/src/cloudflare/event-source.ts +3 -3
  373. package/src/cloudflare/hyperdrive.ts +19 -4
  374. package/src/cloudflare/kv-namespace.ts +46 -15
  375. package/src/cloudflare/permission-groups.ts +1 -1
  376. package/src/cloudflare/pipeline.ts +29 -6
  377. package/src/cloudflare/queue-consumer.ts +3 -3
  378. package/src/cloudflare/queue.ts +124 -23
  379. package/src/cloudflare/route.ts +1 -1
  380. package/src/cloudflare/types.ts +1 -1
  381. package/src/cloudflare/vectorize-index.ts +36 -8
  382. package/src/cloudflare/vectorize-metadata-index.ts +10 -4
  383. package/src/cloudflare/website.ts +3 -0
  384. package/src/cloudflare/worker-assets.ts +237 -0
  385. package/src/cloudflare/worker-metadata.ts +287 -0
  386. package/src/cloudflare/worker-stub.ts +153 -0
  387. package/src/cloudflare/worker.ts +386 -586
  388. package/src/cloudflare/wrangler.json.ts +75 -2
  389. package/src/cloudflare/zone.ts +1 -1
  390. package/src/destroy.ts +12 -23
  391. package/src/dns/import-dns.ts +1 -1
  392. package/src/encrypt.ts +2 -2
  393. package/src/env.ts +15 -8
  394. package/src/esbuild/bundle.ts +4 -3
  395. package/src/fs/copy-file.ts +1 -1
  396. package/src/github/client.ts +1 -1
  397. package/src/github/repository-environment.ts +2 -2
  398. package/src/github/secret.ts +1 -1
  399. package/src/internal/docs/providers.ts +1 -1
  400. package/src/neon/api-error.ts +2 -2
  401. package/src/os/exec.ts +1 -1
  402. package/src/resource.ts +22 -31
  403. package/src/runtime/bind.ts +95 -0
  404. package/src/runtime/global.ts +10 -0
  405. package/src/runtime/plugin.ts +162 -0
  406. package/src/runtime/shims.js +34 -0
  407. package/src/runtime/state.ts +9 -0
  408. package/src/scope.ts +72 -11
  409. package/src/secret.ts +29 -4
  410. package/src/sentry/client-key.ts +1 -1
  411. package/src/sentry/project.ts +1 -1
  412. package/src/sentry/team.ts +1 -1
  413. package/src/serde.ts +126 -10
  414. package/src/stripe/meter.ts +1 -1
  415. package/src/stripe/price.ts +1 -1
  416. package/src/stripe/product.ts +1 -1
  417. package/src/stripe/webhook.ts +1 -1
  418. package/src/test/bun.ts +1 -1
  419. package/src/test/prune.ts +1 -1
  420. package/src/upstash/redis.ts +1 -1
  421. package/src/util/assert-never.ts +3 -0
  422. package/src/util/content-type.ts +2 -3
  423. package/src/util/retry.ts +1 -0
  424. package/src/vercel/project-domain.ts +1 -1
  425. package/src/vercel/project.ts +1 -1
  426. package/src/web/shadcn-component.ts +1 -1
  427. package/src/web/shadcn.ts +1 -1
  428. package/src/web/vitepress/dependencies.ts +1 -1
  429. package/src/web/vitepress/vitepress.ts +1 -1
@@ -0,0 +1,3 @@
1
+ // __ALCHEMY_SERIALIZED_SCOPE__ is injected by esbuild when bundling a Worker
2
+ export const isRuntime = typeof __ALCHEMY_RUNTIME__ !== "undefined";
3
+ //# sourceMappingURL=global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/runtime/global.ts"],"names":[],"mappings":"AAQA,6EAA6E;AAC7E,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,mBAAmB,KAAK,WAAW,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { Plugin } from "esbuild";
2
+ /**
3
+ * Bundles a single Worker function entrypoint by:
4
+ * 1. Evaluate the script and detect which resources are included in its bundle.
5
+ * 2. Create a static map of Resource ID -> State
6
+ * 3. Apply esbuild with {@link bootstrapPlugin} to erase Resource lifecycle operations
7
+ * 4. The final bundle should then tree-shake away all infrastructure-code, leaving only runtime code.
8
+ *
9
+ * TODO(sam): should we inline the state map in the bundle or bind to a Cloudflare Worker with a blob?
10
+ * TODO(sam): what should we do with secrets? Seems like we could auto-bind them and resolve without requiring encryption logic.
11
+ *
12
+ * @param file the `.ts` file containing an `export default function`
13
+ */
14
+ export declare function bundleEntrypoint(_file: string): void;
15
+ /**
16
+ * This is a plugin that bootstraps Alchemy Infrastructure into Runtime by replacing Resources
17
+ * with a stub that loads from a statically bundled state.
18
+ *
19
+ * Take the following table for example:
20
+ * ```ts
21
+ * const Table = Resource(
22
+ * "dynamodb::Table",
23
+ * async function(this, id, props) {
24
+ * // lifecycle logic in here
25
+ * }
26
+ * );
27
+ * ```
28
+ *
29
+ * The plugin replaces the Resource with a stub:
30
+ * ```ts
31
+ * const Table = (id, props) => STATE.get(id)
32
+ * ```
33
+ */
34
+ export declare const bootstrapPlugin: Plugin;
35
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/runtime/plugin.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,QAAI;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,EAAE,MAqH7B,CAAC"}
@@ -0,0 +1,133 @@
1
+ import fs from "node:fs/promises";
2
+ /**
3
+ * Bundles a single Worker function entrypoint by:
4
+ * 1. Evaluate the script and detect which resources are included in its bundle.
5
+ * 2. Create a static map of Resource ID -> State
6
+ * 3. Apply esbuild with {@link bootstrapPlugin} to erase Resource lifecycle operations
7
+ * 4. The final bundle should then tree-shake away all infrastructure-code, leaving only runtime code.
8
+ *
9
+ * TODO(sam): should we inline the state map in the bundle or bind to a Cloudflare Worker with a blob?
10
+ * TODO(sam): what should we do with secrets? Seems like we could auto-bind them and resolve without requiring encryption logic.
11
+ *
12
+ * @param file the `.ts` file containing an `export default function`
13
+ */
14
+ export function bundleEntrypoint(_file) { }
15
+ /**
16
+ * This is a plugin that bootstraps Alchemy Infrastructure into Runtime by replacing Resources
17
+ * with a stub that loads from a statically bundled state.
18
+ *
19
+ * Take the following table for example:
20
+ * ```ts
21
+ * const Table = Resource(
22
+ * "dynamodb::Table",
23
+ * async function(this, id, props) {
24
+ * // lifecycle logic in here
25
+ * }
26
+ * );
27
+ * ```
28
+ *
29
+ * The plugin replaces the Resource with a stub:
30
+ * ```ts
31
+ * const Table = (id, props) => STATE.get(id)
32
+ * ```
33
+ */
34
+ export const bootstrapPlugin = {
35
+ name: "alchemy-bootstrap",
36
+ async setup(build) {
37
+ const { parse, print } = await import("@swc/core");
38
+ const { Visitor } = await import("@swc/core/Visitor.js");
39
+ async function expr(expr) {
40
+ return (await parse(`const __temp__ = ${expr}`)).body[0].declarations[0].init;
41
+ }
42
+ async function decl(decl) {
43
+ return (await parse(decl)).body[0];
44
+ }
45
+ const Provider = await decl("async function Resource() {}");
46
+ const Resource = await expr("(id) => STATE.get(id)");
47
+ // const alchemy = await expr("(async () => {})");
48
+ // Add a global STATE object to bundle for resource lookup
49
+ build.onLoad({
50
+ filter: /.*\.(ts|js)x?/,
51
+ }, async (args) => {
52
+ try {
53
+ const source = await fs.readFile(args.path, "utf-8");
54
+ function transformed(code) {
55
+ return {
56
+ contents: code,
57
+ loader: args.path.endsWith(".ts")
58
+ ? args.path.endsWith(".tsx")
59
+ ? "tsx"
60
+ : "ts"
61
+ : args.path.endsWith(".jsx")
62
+ ? "jsx"
63
+ : "js",
64
+ };
65
+ }
66
+ // Parse the source code using SWC
67
+ const ast = await parse(source, {
68
+ syntax: "typescript",
69
+ tsx: args.path.endsWith(".tsx"),
70
+ decorators: true,
71
+ dynamicImport: true,
72
+ });
73
+ // function text({ span }: HasSpan) {
74
+ // return source.slice(
75
+ // span.start - ast.span.start,
76
+ // span.end - ast.span.start,
77
+ // );
78
+ // }
79
+ // Create visitor to transform Resource calls
80
+ class ResourceTransformer extends Visitor {
81
+ visitTsType(n) {
82
+ return n;
83
+ }
84
+ visitFunctionDeclaration(decl) {
85
+ const param = decl.params[0];
86
+ if (decl.identifier.value === "Resource" &&
87
+ param?.pat.type === "Identifier" &&
88
+ param.pat.value === "type" &&
89
+ decl.body) {
90
+ return Provider;
91
+ }
92
+ return decl;
93
+ }
94
+ visitCallExpression(expr) {
95
+ // Check if this is a Resource call
96
+ if (expr.callee.type === "Identifier" &&
97
+ expr.callee.value === "Resource" &&
98
+ expr.arguments.length >= 2) {
99
+ return Resource;
100
+ // } else if (
101
+ // expr.callee.type === "Identifier" &&
102
+ // expr.callee.value === "alchemy"
103
+ // ) {
104
+ // return alchemy;
105
+ }
106
+ return super.visitCallExpression(expr);
107
+ }
108
+ }
109
+ // Apply the transformation
110
+ const visitor = new ResourceTransformer();
111
+ const program = visitor.visitProgram(ast);
112
+ // Print the transformed AST back to code
113
+ const { code } = await print(program, {
114
+ sourceMaps: true,
115
+ minify: false,
116
+ });
117
+ return transformed(code);
118
+ }
119
+ catch (error) {
120
+ console.error(`Error transforming ${args.path}:`, error);
121
+ return {
122
+ errors: [
123
+ {
124
+ text: `Failed to transform: ${error instanceof Error ? error.message : String(error)}`,
125
+ location: { file: args.path },
126
+ },
127
+ ],
128
+ };
129
+ }
130
+ });
131
+ },
132
+ };
133
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/runtime/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export const __ALCHEMY_RUNTIME__: true;
2
+ export const __ALCHEMY_SERIALIZED_SCOPE__: any;
3
+ export namespace STATE {
4
+ function get(id: any): Promise<any>;
5
+ }
6
+ //# sourceMappingURL=shims.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shims.d.ts","sourceRoot":"","sources":["../../src/runtime/shims.js"],"names":[],"mappings":"AAOA,kCAAmC,IAAI,CAAC;AAExC,+CAEE;;IAGA,oCAiBC"}
@@ -0,0 +1,27 @@
1
+ import { env } from "cloudflare:workers";
2
+ import { Scope } from "../scope.js";
3
+ import { Secret } from "../secret.js";
4
+ import { deserialize } from "../serde.js";
5
+ globalThis.process.env = env;
6
+ export const __ALCHEMY_RUNTIME__ = true;
7
+ export var __ALCHEMY_SERIALIZED_SCOPE__ = JSON.parse(env.__ALCHEMY_SERIALIZED_SCOPE__);
8
+ export const STATE = {
9
+ async get(id) {
10
+ const fqn = globalThis.__ALCHEMY_SCOPE__.current.fqn(id);
11
+ const state = __ALCHEMY_SERIALIZED_SCOPE__[fqn];
12
+ if (!state) {
13
+ throw new Error(`Resource ${fqn} not found in __ALCHEMY_SERIALIZED_SCOPE__\n${JSON.stringify(__ALCHEMY_SERIALIZED_SCOPE__, null, 2)}`);
14
+ }
15
+ return await deserialize(Scope.current, state, {
16
+ transform: (value) => {
17
+ if (value && typeof value === "object" && value["@secret-env"]) {
18
+ return {
19
+ value: new Secret(env[value["@secret-env"]]),
20
+ };
21
+ }
22
+ },
23
+ });
24
+ },
25
+ };
26
+ // export const process = { env };
27
+ //# sourceMappingURL=shims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shims.js","sourceRoot":"","sources":["../../src/runtime/shims.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAE7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,MAAM,CAAC,IAAI,4BAA4B,GAAG,IAAI,CAAC,KAAK,CAClD,GAAG,CAAC,4BAA4B,CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,CAAC,GAAG,CAAC,EAAE;QACV,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,YAAY,GAAG,+CAA+C,IAAI,CAAC,SAAS,CAAC,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACtH,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE;YAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC/D,OAAO;wBACL,KAAK,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;qBAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AACF,kCAAkC"}
@@ -0,0 +1,5 @@
1
+ import type { Resource } from "../resource.js";
2
+ export interface RuntimeState {
3
+ get(id: string): Resource;
4
+ }
5
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/runtime/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC3B"}
@@ -0,0 +1,4 @@
1
+ // /**
2
+ // * Runtime state injected into the environment.
3
+ // */
4
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/runtime/state.ts"],"names":[],"mappings":"AAMA,MAAM;AACN,kDAAkD;AAClD,MAAM"}
package/lib/scope.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
1
2
  import type { Phase } from "./alchemy.js";
2
3
  import { ResourceID, type PendingResource } from "./resource.js";
3
4
  import type { StateStore, StateStoreType } from "./state.js";
@@ -13,9 +14,13 @@ export type ScopeOptions = {
13
14
  };
14
15
  export declare class Scope {
15
16
  static readonly KIND: "alchemy::Scope";
17
+ static storage: AsyncLocalStorage<Scope>;
18
+ static globals: Scope[];
16
19
  static get(): Scope | undefined;
20
+ static get root(): Scope;
17
21
  static get current(): Scope;
18
- readonly resources: Map<string, PendingResource>;
22
+ readonly resources: Map<string, PendingResource<unknown>>;
23
+ readonly children: Map<ResourceID, Scope>;
19
24
  readonly appName: string | undefined;
20
25
  readonly stage: string;
21
26
  readonly scopeName: string | null;
@@ -26,22 +31,31 @@ export declare class Scope {
26
31
  readonly quiet: boolean;
27
32
  readonly phase: Phase;
28
33
  private isErrored;
34
+ private finalized;
35
+ private deferred;
29
36
  constructor(options: ScopeOptions);
37
+ get root(): Scope;
30
38
  delete(resourceID: ResourceID): Promise<void>;
31
39
  private _seq;
32
40
  seq(): number;
33
41
  get chain(): string[];
34
42
  fail(): void;
35
- enter(): void;
36
43
  init(): Promise<void>;
37
44
  deinit(): Promise<void>;
38
45
  fqn(resourceID: ResourceID): string;
39
46
  run<T>(fn: (scope: Scope) => Promise<T>): Promise<T>;
40
47
  [Symbol.asyncDispose](): Promise<void>;
41
48
  finalize(): Promise<void>;
49
+ /**
50
+ * Defers execution of a function until the Alchemy application finalizes.
51
+ */
52
+ defer<T>(fn: () => Promise<T>): Promise<T>;
42
53
  /**
43
54
  * Returns a string representation of the scope.
44
55
  */
45
56
  toString(): string;
46
57
  }
58
+ declare global {
59
+ var __ALCHEMY_SCOPE__: typeof Scope;
60
+ }
47
61
  //# sourceMappingURL=scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI7D,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAKF,qBAAa,KAAK;IAChB,gBAAuB,IAAI,EAAG,gBAAgB,CAAU;WAE1C,GAAG,IAAI,KAAK,GAAG,SAAS;IAItC,WAAkB,OAAO,IAAI,KAAK,CAMjC;IAED,SAAgB,SAAS,+BAA0C;IACnE,SAAgB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,SAAgB,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1C,SAAgB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,SAAgB,KAAK,EAAE,UAAU,CAAC;IAClC,SAAgB,UAAU,EAAE,cAAc,CAAC;IAC3C,SAAgB,KAAK,EAAE,OAAO,CAAC;IAC/B,SAAgB,KAAK,EAAE,KAAK,CAAC;IAE7B,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,YAAY;IA4BpB,MAAM,CAAC,UAAU,EAAE,UAAU;IAK1C,OAAO,CAAC,IAAI,CAAK;IAEV,GAAG;IAIV,IAAW,KAAK,IAAI,MAAM,EAAE,CAO3B;IAEM,IAAI;IAKJ,KAAK;IAIC,IAAI;IAIJ,MAAM;IAKZ,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAI7B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjE,CAAC,MAAM,CAAC,YAAY,CAAC;IAIR,QAAQ;IAuBrB;;OAEG;IACI,QAAQ;CAQhB"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAKF,qBAAa,KAAK;IAChB,gBAAuB,IAAI,EAAG,gBAAgB,CAAU;IAExD,OAAc,OAAO,2BAAkC;IACvD,OAAc,OAAO,EAAE,KAAK,EAAE,CAAM;WAEtB,GAAG,IAAI,KAAK,GAAG,SAAS;IAItC,WAAkB,IAAI,IAAI,KAAK,CAE9B;IAED,WAAkB,OAAO,IAAI,KAAK,CASjC;IAED,SAAgB,SAAS,wCAA0C;IACnE,SAAgB,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAa;IAC7D,SAAgB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,SAAgB,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1C,SAAgB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,SAAgB,KAAK,EAAE,UAAU,CAAC;IAClC,SAAgB,UAAU,EAAE,cAAc,CAAC;IAC3C,SAAgB,KAAK,EAAE,OAAO,CAAC;IAC/B,SAAgB,KAAK,EAAE,KAAK,CAAC;IAE7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAA8B;gBAElC,OAAO,EAAE,YAAY;IA6BjC,IAAW,IAAI,IAAI,KAAK,CAMvB;IAEY,MAAM,CAAC,UAAU,EAAE,UAAU;IAK1C,OAAO,CAAC,IAAI,CAAK;IAEV,GAAG;IAIV,IAAW,KAAK,IAAI,MAAM,EAAE,CAO3B;IAEM,IAAI;IAKE,IAAI;IAIJ,MAAM;IAKZ,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAI7B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjE,CAAC,MAAM,CAAC,YAAY,CAAC;IAIR,QAAQ;IAqCrB;;OAEG;IACI,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmBjD;;OAEG;IACI,QAAQ;CAQhB;AAED,OAAO,CAAC,MAAM,CAAC;IAGb,IAAI,iBAAiB,EAAE,OAAO,KAAK,CAAC;CACrC"}
package/lib/scope.js CHANGED
@@ -1,23 +1,31 @@
1
1
  import { AsyncLocalStorage } from "node:async_hooks";
2
- import { destroy } from "./destroy.js";
2
+ import { destroyAll } from "./destroy.js";
3
3
  import { FileSystemStateStore } from "./fs/file-system-state-store.js";
4
4
  import { ResourceID } from "./resource.js";
5
- const scopeStorage = new AsyncLocalStorage();
6
5
  // TODO: support browser
7
6
  const DEFAULT_STAGE = process.env.ALCHEMY_STAGE ?? process.env.USER ?? "dev";
8
7
  export class Scope {
9
8
  static KIND = "alchemy::Scope";
9
+ static storage = new AsyncLocalStorage();
10
+ static globals = [];
10
11
  static get() {
11
- return scopeStorage.getStore();
12
+ return Scope.storage.getStore();
13
+ }
14
+ static get root() {
15
+ return Scope.current.root;
12
16
  }
13
17
  static get current() {
14
18
  const scope = Scope.get();
15
19
  if (!scope) {
20
+ if (Scope.globals.length > 0) {
21
+ return Scope.globals[Scope.globals.length - 1];
22
+ }
16
23
  throw new Error("Not running within an Alchemy Scope");
17
24
  }
18
25
  return scope;
19
26
  }
20
27
  resources = new Map();
28
+ children = new Map();
21
29
  appName;
22
30
  stage;
23
31
  scopeName;
@@ -28,14 +36,17 @@ export class Scope {
28
36
  quiet;
29
37
  phase;
30
38
  isErrored = false;
39
+ finalized = false;
40
+ deferred = [];
31
41
  constructor(options) {
32
42
  this.appName = options.appName;
33
- this.stage = options?.stage ?? DEFAULT_STAGE;
34
43
  this.scopeName = options.scopeName ?? null;
35
44
  if (this.scopeName?.includes(":")) {
36
45
  throw new Error(`Scope name ${this.scopeName} cannot contain double colons`);
37
46
  }
38
47
  this.parent = options.parent ?? Scope.get();
48
+ this.stage = options?.stage ?? this.parent?.stage ?? DEFAULT_STAGE;
49
+ this.parent?.children.set(this.scopeName, this);
39
50
  this.quiet = options.quiet ?? this.parent?.quiet ?? false;
40
51
  if (this.parent && !this.scopeName) {
41
52
  throw new Error("Scope name is required when creating a child scope");
@@ -52,6 +63,13 @@ export class Scope {
52
63
  ((scope) => new FileSystemStateStore(scope));
53
64
  this.state = this.stateStore(this);
54
65
  }
66
+ get root() {
67
+ let root = this;
68
+ while (root.parent) {
69
+ root = root.parent;
70
+ }
71
+ return root;
72
+ }
55
73
  async delete(resourceID) {
56
74
  await this.state.delete(resourceID);
57
75
  this.resources.delete(resourceID);
@@ -72,9 +90,6 @@ export class Scope {
72
90
  console.error("Scope failed", this.chain.join("/"));
73
91
  this.isErrored = true;
74
92
  }
75
- enter() {
76
- scopeStorage.enterWith(this);
77
- }
78
93
  async init() {
79
94
  await this.state.init?.();
80
95
  }
@@ -86,7 +101,7 @@ export class Scope {
86
101
  return [...this.chain, resourceID].join("/");
87
102
  }
88
103
  async run(fn) {
89
- return scopeStorage.run(this, () => fn(this));
104
+ return Scope.storage.run(this, () => fn(this));
90
105
  }
91
106
  [Symbol.asyncDispose]() {
92
107
  return this.finalize();
@@ -95,13 +110,25 @@ export class Scope {
95
110
  if (this.phase === "read") {
96
111
  return;
97
112
  }
113
+ if (this.finalized) {
114
+ return;
115
+ }
116
+ if (this.parent === undefined && Scope.globals.length > 0) {
117
+ const last = Scope.globals.pop();
118
+ if (last !== this) {
119
+ throw new Error("Running in AsyncLocaStorage.enterWith emultation mode and attempted to finalize a global Scope that wasn't top of the stack");
120
+ }
121
+ }
122
+ this.finalized = true;
123
+ // trigger and await all deferred promises
124
+ await Promise.all(this.deferred.map((fn) => fn()));
98
125
  if (!this.isErrored) {
99
126
  // TODO: need to detect if it is in error
100
127
  const resourceIds = await this.state.list();
101
128
  const aliveIds = new Set(this.resources.keys());
102
129
  const orphanIds = Array.from(resourceIds.filter((id) => !aliveIds.has(id)));
103
130
  const orphans = await Promise.all(orphanIds.map(async (id) => (await this.state.get(id)).output));
104
- await destroy.all(orphans, {
131
+ await destroyAll(orphans, {
105
132
  quiet: this.quiet,
106
133
  strategy: "sequential",
107
134
  });
@@ -110,6 +137,25 @@ export class Scope {
110
137
  console.warn("Scope is in error, skipping finalize");
111
138
  }
112
139
  }
140
+ /**
141
+ * Defers execution of a function until the Alchemy application finalizes.
142
+ */
143
+ defer(fn) {
144
+ let _resolve;
145
+ let _reject;
146
+ const promise = new Promise((resolve, reject) => {
147
+ _resolve = resolve;
148
+ _reject = reject;
149
+ });
150
+ this.deferred.push(() => {
151
+ if (!this.finalized) {
152
+ throw new Error("Attempted to await a deferred Promise before finalization");
153
+ }
154
+ // lazily trigger the worker on first await
155
+ return this.run(() => fn()).then(_resolve, _reject);
156
+ });
157
+ return promise;
158
+ }
113
159
  /**
114
160
  * Returns a string representation of the scope.
115
161
  */
@@ -122,4 +168,5 @@ export class Scope {
122
168
  )`;
123
169
  }
124
170
  }
171
+ globalThis.__ALCHEMY_SCOPE__ = Scope;
125
172
  //# sourceMappingURL=scope.js.map
package/lib/scope.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
package/lib/secret.d.ts CHANGED
@@ -35,8 +35,13 @@
35
35
  */
36
36
  export declare class Secret {
37
37
  readonly unencrypted: string;
38
+ readonly name: string;
39
+ /**
40
+ * @internal
41
+ */
42
+ static all(): Secret[];
38
43
  readonly type = "secret";
39
- constructor(unencrypted: string);
44
+ constructor(unencrypted: string, name?: string);
40
45
  }
41
46
  /**
42
47
  * Type guard to check if a value is a Secret wrapper
@@ -71,7 +76,7 @@ export declare function isSecret(binding: any): binding is Secret;
71
76
  * @throws {Error} If the value is undefined
72
77
  * @throws {Error} If no password is set in the alchemy application options or current scope
73
78
  */
74
- export declare function secret<S extends string | undefined>(unencrypted: S): Secret;
79
+ export declare function secret<S extends string | undefined>(unencrypted: S, name?: string): Secret;
75
80
  export declare namespace secret {
76
81
  interface Env {
77
82
  [key: string]: Promise<Secret>;
@@ -1 +1 @@
1
- {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,MAAM;IAEL,QAAQ,CAAC,WAAW,EAAE,MAAM;IADxC,SAAgB,IAAI,YAAY;gBACX,WAAW,EAAE,MAAM;CACzC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,MAAM,CAKxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,MAAM,CAK3E;AAED,yBAAiB,MAAM,CAAC;IACtB,UAAiB,GAAG;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;KACjE;IAEM,MAAM,GAAG,EAGV,GAAG,CAAC;CAaX"}
1
+ {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,MAAM;IAUf,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAVvB;;OAEG;WACW,GAAG,IAAI,MAAM,EAAE;IAI7B,SAAgB,IAAI,YAAY;gBAErB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,MAAmB;CAIrC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,MAAM,CAKxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EACjD,WAAW,EAAE,CAAC,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,yBAAiB,MAAM,CAAC;IACtB,UAAiB,GAAG;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;KACjE;IAEM,MAAM,GAAG,EAGV,GAAG,CAAC;CAaX"}
package/lib/secret.js CHANGED
@@ -1,4 +1,10 @@
1
1
  import { alchemy } from "./alchemy.js";
2
+ // a global registry of all secrets that we will use when serializing an application
3
+ const globalSecrets = {};
4
+ let i = 0;
5
+ function nextName() {
6
+ return `alchemy:anonymous-secret-${i++}`;
7
+ }
2
8
  /**
3
9
  * Internal wrapper for sensitive values like API keys and credentials.
4
10
  * When stored in alchemy state files, the value is automatically encrypted
@@ -36,9 +42,18 @@ import { alchemy } from "./alchemy.js";
36
42
  */
37
43
  export class Secret {
38
44
  unencrypted;
45
+ name;
46
+ /**
47
+ * @internal
48
+ */
49
+ static all() {
50
+ return Object.values(globalSecrets);
51
+ }
39
52
  type = "secret";
40
- constructor(unencrypted) {
53
+ constructor(unencrypted, name = nextName()) {
41
54
  this.unencrypted = unencrypted;
55
+ this.name = name;
56
+ globalSecrets[name] = this;
42
57
  }
43
58
  }
44
59
  /**
@@ -77,11 +92,11 @@ export function isSecret(binding) {
77
92
  * @throws {Error} If the value is undefined
78
93
  * @throws {Error} If no password is set in the alchemy application options or current scope
79
94
  */
80
- export function secret(unencrypted) {
95
+ export function secret(unencrypted, name) {
81
96
  if (unencrypted === undefined) {
82
97
  throw new Error("Secret cannot be undefined");
83
98
  }
84
- return new Secret(unencrypted);
99
+ return new Secret(unencrypted, name);
85
100
  }
86
101
  (function (secret) {
87
102
  secret.env = new Proxy(_env, {
@@ -91,7 +106,7 @@ export function secret(unencrypted) {
91
106
  async function _env(name, value, error) {
92
107
  const result = await alchemy.env(name, value, error);
93
108
  if (typeof result === "string") {
94
- return secret(result);
109
+ return secret(result, name);
95
110
  }
96
111
  throw new Error(`Secret environment variable ${name} is not a string`);
97
112
  }
package/lib/secret.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"secret.js","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,OAAO,MAAM;IAEI;IADL,IAAI,GAAG,QAAQ,CAAC;IAChC,YAAqB,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAY;IACnC,OAAO,CACL,OAAO,YAAY,MAAM;QACzB,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAChE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,MAAM,CAA+B,WAAc;IACjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED,WAAiB,MAAM;IAMR,UAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;QACjC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC/D,CAAQ,CAAC;IAEV,KAAK,UAAU,IAAI,CACjB,IAAY,EACZ,KAAc,EACd,KAAc;QAEd,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,kBAAkB,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,EAtBgB,MAAM,KAAN,MAAM,QAsBtB"}
1
+ {"version":3,"file":"secret.js","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,oFAAoF;AACpF,MAAM,aAAa,GAEf,EAAE,CAAC;AAEP,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,SAAS,QAAQ;IACf,OAAO,4BAA4B,CAAC,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,OAAO,MAAM;IAUN;IACA;IAVX;;OAEG;IACI,MAAM,CAAC,GAAG;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAEe,IAAI,GAAG,QAAQ,CAAC;IAChC,YACW,WAAmB,EACnB,OAAe,QAAQ,EAAE;QADzB,gBAAW,GAAX,WAAW,CAAQ;QACnB,SAAI,GAAJ,IAAI,CAAqB;QAElC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAY;IACnC,OAAO,CACL,OAAO,YAAY,MAAM;QACzB,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAChE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,MAAM,CACpB,WAAc,EACd,IAAa;IAEb,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,WAAiB,MAAM;IAMR,UAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;QACjC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC/D,CAAQ,CAAC;IAEV,KAAK,UAAU,IAAI,CACjB,IAAY,EACZ,KAAc,EACd,KAAc;QAEd,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,kBAAkB,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,EAtBgB,MAAM,KAAN,MAAM,QAsBtB"}
@@ -152,5 +152,5 @@ export interface ClientKey extends Resource<"sentry::ClientKey">, ClientKeyProps
152
152
  * adopt: true
153
153
  * });
154
154
  */
155
- export declare const ClientKey: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<ClientKey>, id: string, props: ClientKeyProps) => Promise<ClientKey>);
155
+ export declare const ClientKey: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<ClientKey>, _id: string, props: ClientKeyProps) => Promise<ClientKey>);
156
156
  //# sourceMappingURL=client-key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-key.d.ts","sourceRoot":"","sources":["../../src/sentry/client-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;QAEf;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC;IAE1E;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,SACf,SAAQ,QAAQ,CAAC,mBAAmB,CAAC,EACnC,cAAc;IAChB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,GAAG,EAAE;QACH,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,UAAU,EAAE;QACV,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KAClC,CAAC;IAEF;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,uBAAuB,EAAE;QACvB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,SAAS,yFAGZ,OAAO,CAAC,SAAS,CAAC,MACpB,MAAM,SACH,cAAc,KACpB,OAAO,CAAC,SAAS,CAAC,CA4FtB,CAAC"}
1
+ {"version":3,"file":"client-key.d.ts","sourceRoot":"","sources":["../../src/sentry/client-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;QAEf;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC;IAE1E;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,SACf,SAAQ,QAAQ,CAAC,mBAAmB,CAAC,EACnC,cAAc;IAChB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,GAAG,EAAE;QACH,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,UAAU,EAAE;QACV,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KAClC,CAAC;IAEF;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,uBAAuB,EAAE;QACvB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,SAAS,yFAGZ,OAAO,CAAC,SAAS,CAAC,OACnB,MAAM,SACJ,cAAc,KACpB,OAAO,CAAC,SAAS,CAAC,CA4FtB,CAAC"}
@@ -41,7 +41,7 @@ import { SentryApi } from "./api.js";
41
41
  * adopt: true
42
42
  * });
43
43
  */
44
- export const ClientKey = Resource("sentry::ClientKey", async function (id, props) {
44
+ export const ClientKey = Resource("sentry::ClientKey", async function (_id, props) {
45
45
  const api = new SentryApi({ authToken: props.authToken });
46
46
  if (this.phase === "delete") {
47
47
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"client-key.js","sourceRoot":"","sources":["../../src/sentry/client-key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-key.js","sourceRoot":"","sources":["../../src/sentry/client-key.ts"],"names":[],"mappings":"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"}
@@ -231,5 +231,5 @@ export interface Project extends Omit<Resource<"sentry::Project">, "team">, Omit
231
231
  * adopt: true
232
232
  * });
233
233
  */
234
- export declare const Project: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<Project>, id: string, props: ProjectProps) => Promise<Project>);
234
+ export declare const Project: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<Project>, _id: string, props: ProjectProps) => Promise<Project>);
235
235
  //# sourceMappingURL=project.d.ts.map