alchemy 2.0.0-beta.50 → 2.0.0-beta.52

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 (254) hide show
  1. package/bin/exec.js +133 -135
  2. package/bin/exec.js.map +1 -1
  3. package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
  4. package/lib/AWS/Lambda/BucketEventSource.js +13 -2
  5. package/lib/AWS/Lambda/BucketEventSource.js.map +1 -1
  6. package/lib/AWS/S3/Bucket.d.ts.map +1 -1
  7. package/lib/AWS/S3/Bucket.js +49 -0
  8. package/lib/AWS/S3/Bucket.js.map +1 -1
  9. package/lib/AWS/S3/BucketNotifications.d.ts +10 -0
  10. package/lib/AWS/S3/BucketNotifications.d.ts.map +1 -1
  11. package/lib/AWS/S3/BucketNotifications.js.map +1 -1
  12. package/lib/Apply.js +15 -3
  13. package/lib/Apply.js.map +1 -1
  14. package/lib/Auth/AuthProvider.js +1 -1
  15. package/lib/Auth/AuthProvider.js.map +1 -1
  16. package/lib/Binding.d.ts.map +1 -1
  17. package/lib/Binding.js +12 -8
  18. package/lib/Binding.js.map +1 -1
  19. package/lib/Build/DevServer.d.ts +113 -0
  20. package/lib/Build/DevServer.d.ts.map +1 -0
  21. package/lib/Build/DevServer.js +212 -0
  22. package/lib/Build/DevServer.js.map +1 -0
  23. package/lib/Build/Local.d.ts +2 -0
  24. package/lib/Build/Local.d.ts.map +1 -0
  25. package/lib/Build/Local.js +4 -0
  26. package/lib/Build/Local.js.map +1 -0
  27. package/lib/Bundle/Bundle.js +1 -1
  28. package/lib/Bundle/Bundle.js.map +1 -1
  29. package/lib/Cli/commands/cloudflare.d.ts +1 -1
  30. package/lib/Cloudflare/Access.js +1 -1
  31. package/lib/Cloudflare/Access.js.map +1 -1
  32. package/lib/Cloudflare/AiGateway/AiGateway.d.ts +1 -1
  33. package/lib/Cloudflare/AiGateway/AiGateway.js +1 -1
  34. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts +1 -1
  35. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts.map +1 -1
  36. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js +6 -2
  37. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js.map +1 -1
  38. package/lib/Cloudflare/Browser/Browser.d.ts +84 -12
  39. package/lib/Cloudflare/Browser/Browser.d.ts.map +1 -1
  40. package/lib/Cloudflare/Browser/Browser.js +80 -9
  41. package/lib/Cloudflare/Browser/Browser.js.map +1 -1
  42. package/lib/Cloudflare/Browser/BrowserBinding.d.ts +90 -16
  43. package/lib/Cloudflare/Browser/BrowserBinding.d.ts.map +1 -1
  44. package/lib/Cloudflare/Browser/BrowserBinding.js +41 -6
  45. package/lib/Cloudflare/Browser/BrowserBinding.js.map +1 -1
  46. package/lib/Cloudflare/Browser/index.d.ts +1 -1
  47. package/lib/Cloudflare/Browser/index.d.ts.map +1 -1
  48. package/lib/Cloudflare/Browser/index.js.map +1 -1
  49. package/lib/Cloudflare/Container/ContainerBinding.d.ts.map +1 -1
  50. package/lib/Cloudflare/Container/ContainerBinding.js +2 -4
  51. package/lib/Cloudflare/Container/ContainerBinding.js.map +1 -1
  52. package/lib/Cloudflare/Images/Images.d.ts +4 -3
  53. package/lib/Cloudflare/Images/Images.d.ts.map +1 -1
  54. package/lib/Cloudflare/Images/Images.js.map +1 -1
  55. package/lib/Cloudflare/Providers.d.ts +1 -1
  56. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  57. package/lib/Cloudflare/Providers.js +6 -1
  58. package/lib/Cloudflare/Providers.js.map +1 -1
  59. package/lib/Cloudflare/RateLimit/RateLimit.d.ts +4 -3
  60. package/lib/Cloudflare/RateLimit/RateLimit.d.ts.map +1 -1
  61. package/lib/Cloudflare/RateLimit/RateLimit.js.map +1 -1
  62. package/lib/Cloudflare/Ruleset/Ruleset.d.ts +82 -0
  63. package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -0
  64. package/lib/Cloudflare/Ruleset/Ruleset.js +126 -0
  65. package/lib/Cloudflare/Ruleset/Ruleset.js.map +1 -0
  66. package/lib/Cloudflare/Ruleset/index.d.ts +2 -0
  67. package/lib/Cloudflare/Ruleset/index.d.ts.map +1 -0
  68. package/lib/Cloudflare/Ruleset/index.js +2 -0
  69. package/lib/Cloudflare/Ruleset/index.js.map +1 -0
  70. package/lib/Cloudflare/SecretsStore/Secret.d.ts +1 -0
  71. package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -1
  72. package/lib/Cloudflare/SecretsStore/Secret.js +2 -0
  73. package/lib/Cloudflare/SecretsStore/Secret.js.map +1 -1
  74. package/lib/Cloudflare/StateStore/State.d.ts +1 -1
  75. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  76. package/lib/Cloudflare/Website/StaticSite.d.ts +64 -12
  77. package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
  78. package/lib/Cloudflare/Website/StaticSite.js +80 -30
  79. package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
  80. package/lib/Cloudflare/Website/Vite.d.ts +36 -7
  81. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  82. package/lib/Cloudflare/Website/Vite.js +26 -8
  83. package/lib/Cloudflare/Website/Vite.js.map +1 -1
  84. package/lib/Cloudflare/Workers/Assets.d.ts +10 -4
  85. package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
  86. package/lib/Cloudflare/Workers/Assets.js +6 -6
  87. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  88. package/lib/Cloudflare/Workers/DurableObjectChatPersistence.d.ts +69 -0
  89. package/lib/Cloudflare/Workers/DurableObjectChatPersistence.d.ts.map +1 -0
  90. package/lib/Cloudflare/Workers/DurableObjectChatPersistence.js +104 -0
  91. package/lib/Cloudflare/Workers/DurableObjectChatPersistence.js.map +1 -0
  92. package/lib/Cloudflare/Workers/DynamicWorkerLoader.d.ts +4 -4
  93. package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
  94. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  95. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  96. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +45 -11
  97. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  98. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.d.ts +5 -4
  99. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.d.ts.map +1 -1
  100. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.js +4 -2
  101. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.js.map +1 -1
  102. package/lib/Cloudflare/Workers/RpcWorker.d.ts +3 -2
  103. package/lib/Cloudflare/Workers/RpcWorker.d.ts.map +1 -1
  104. package/lib/Cloudflare/Workers/RpcWorker.js +5 -3
  105. package/lib/Cloudflare/Workers/RpcWorker.js.map +1 -1
  106. package/lib/Cloudflare/Workers/VersionMetadata.d.ts +99 -0
  107. package/lib/Cloudflare/Workers/VersionMetadata.d.ts.map +1 -0
  108. package/lib/Cloudflare/Workers/VersionMetadata.js +65 -0
  109. package/lib/Cloudflare/Workers/VersionMetadata.js.map +1 -0
  110. package/lib/Cloudflare/Workers/VersionMetadataBinding.d.ts +35 -0
  111. package/lib/Cloudflare/Workers/VersionMetadataBinding.d.ts.map +1 -0
  112. package/lib/Cloudflare/Workers/VersionMetadataBinding.js +31 -0
  113. package/lib/Cloudflare/Workers/VersionMetadataBinding.js.map +1 -0
  114. package/lib/Cloudflare/Workers/Worker.d.ts +20 -19
  115. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  116. package/lib/Cloudflare/Workers/Worker.js +23 -37
  117. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  118. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  119. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +16 -0
  120. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  121. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +3 -1
  122. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  123. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  124. package/lib/Cloudflare/Workers/Workflow.d.ts +8 -1
  125. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  126. package/lib/Cloudflare/Workers/Workflow.js +1 -0
  127. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  128. package/lib/Cloudflare/Workers/WorkflowBridge.d.ts.map +1 -1
  129. package/lib/Cloudflare/Workers/WorkflowBridge.js +31 -2
  130. package/lib/Cloudflare/Workers/WorkflowBridge.js.map +1 -1
  131. package/lib/Cloudflare/Workers/index.d.ts +3 -0
  132. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  133. package/lib/Cloudflare/Workers/index.js +3 -0
  134. package/lib/Cloudflare/Workers/index.js.map +1 -1
  135. package/lib/Cloudflare/Zaraz/ZarazConfig.d.ts.map +1 -1
  136. package/lib/Cloudflare/index.d.ts +1 -0
  137. package/lib/Cloudflare/index.d.ts.map +1 -1
  138. package/lib/Cloudflare/index.js +1 -0
  139. package/lib/Cloudflare/index.js.map +1 -1
  140. package/lib/Deploy.d.ts +3 -2
  141. package/lib/Deploy.d.ts.map +1 -1
  142. package/lib/Deploy.js.map +1 -1
  143. package/lib/Destroy.d.ts +3 -2
  144. package/lib/Destroy.d.ts.map +1 -1
  145. package/lib/Destroy.js.map +1 -1
  146. package/lib/Diff.d.ts.map +1 -1
  147. package/lib/Diff.js +7 -0
  148. package/lib/Diff.js.map +1 -1
  149. package/lib/Drizzle/Postgres.d.ts +13 -12
  150. package/lib/Drizzle/Postgres.d.ts.map +1 -1
  151. package/lib/Drizzle/Postgres.js +13 -12
  152. package/lib/Drizzle/Postgres.js.map +1 -1
  153. package/lib/Drizzle/Schema.d.ts +1 -1
  154. package/lib/Drizzle/Schema.d.ts.map +1 -1
  155. package/lib/Drizzle/Schema.js +20 -9
  156. package/lib/Drizzle/Schema.js.map +1 -1
  157. package/lib/Local/RpcSerialization.js +5 -2
  158. package/lib/Local/RpcSerialization.js.map +1 -1
  159. package/lib/Output.d.ts.map +1 -1
  160. package/lib/Output.js +11 -10
  161. package/lib/Output.js.map +1 -1
  162. package/lib/Plan.d.ts.map +1 -1
  163. package/lib/Plan.js +5 -1
  164. package/lib/Plan.js.map +1 -1
  165. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts +0 -2
  166. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
  167. package/lib/Planetscale/MySQL/MySQLDatabase.js +1 -3
  168. package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
  169. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts +0 -2
  170. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
  171. package/lib/Planetscale/Postgres/PostgresDatabase.js +1 -3
  172. package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
  173. package/lib/Platform.d.ts +4 -4
  174. package/lib/Platform.d.ts.map +1 -1
  175. package/lib/Platform.js +27 -25
  176. package/lib/Platform.js.map +1 -1
  177. package/lib/Resource.d.ts +7 -1
  178. package/lib/Resource.d.ts.map +1 -1
  179. package/lib/Resource.js +11 -12
  180. package/lib/Resource.js.map +1 -1
  181. package/lib/Runtime.d.ts +1 -1
  182. package/lib/Runtime.d.ts.map +1 -1
  183. package/lib/Runtime.js +3 -4
  184. package/lib/Runtime.js.map +1 -1
  185. package/lib/Stack.d.ts +5 -4
  186. package/lib/Stack.d.ts.map +1 -1
  187. package/lib/Stack.js.map +1 -1
  188. package/lib/Test/Core.d.ts +2 -2
  189. package/lib/Test/Core.d.ts.map +1 -1
  190. package/lib/Util/effect.d.ts.map +1 -1
  191. package/lib/Util/effect.js +13 -15
  192. package/lib/Util/effect.js.map +1 -1
  193. package/lib/Util/poll.d.ts +0 -1
  194. package/lib/Util/poll.d.ts.map +1 -1
  195. package/lib/Util/poll.js +2 -2
  196. package/lib/Util/poll.js.map +1 -1
  197. package/lib/tsconfig.test.tsbuildinfo +1 -1
  198. package/package.json +20 -20
  199. package/src/AWS/Lambda/BucketEventSource.ts +16 -1
  200. package/src/AWS/S3/Bucket.ts +78 -0
  201. package/src/AWS/S3/BucketNotifications.ts +10 -0
  202. package/src/Apply.ts +22 -3
  203. package/src/Auth/AuthProvider.ts +1 -1
  204. package/src/Binding.ts +45 -38
  205. package/src/Build/DevServer.ts +330 -0
  206. package/src/Build/Local.ts +4 -0
  207. package/src/Bundle/Bundle.ts +1 -1
  208. package/src/Cloudflare/Access.ts +1 -1
  209. package/src/Cloudflare/AiGateway/AiGateway.ts +1 -1
  210. package/src/Cloudflare/AiGateway/AiGatewayBinding.ts +8 -3
  211. package/src/Cloudflare/Browser/Browser.ts +84 -12
  212. package/src/Cloudflare/Browser/BrowserBinding.ts +205 -33
  213. package/src/Cloudflare/Browser/index.ts +15 -2
  214. package/src/Cloudflare/Container/ContainerBinding.ts +5 -10
  215. package/src/Cloudflare/Images/Images.ts +4 -3
  216. package/src/Cloudflare/Providers.ts +8 -0
  217. package/src/Cloudflare/RateLimit/RateLimit.ts +4 -3
  218. package/src/Cloudflare/Ruleset/Ruleset.ts +223 -0
  219. package/src/Cloudflare/Ruleset/index.ts +1 -0
  220. package/src/Cloudflare/SecretsStore/Secret.ts +4 -0
  221. package/src/Cloudflare/Website/StaticSite.ts +154 -41
  222. package/src/Cloudflare/Website/Vite.ts +73 -25
  223. package/src/Cloudflare/Workers/Assets.ts +10 -8
  224. package/src/Cloudflare/Workers/DurableObjectChatPersistence.ts +131 -0
  225. package/src/Cloudflare/Workers/DynamicWorkerLoader.ts +4 -4
  226. package/src/Cloudflare/Workers/InferEnv.ts +14 -12
  227. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +54 -13
  228. package/src/Cloudflare/Workers/RpcDurableObjectNamespace.ts +11 -8
  229. package/src/Cloudflare/Workers/RpcWorker.ts +8 -7
  230. package/src/Cloudflare/Workers/VersionMetadata.ts +129 -0
  231. package/src/Cloudflare/Workers/VersionMetadataBinding.ts +82 -0
  232. package/src/Cloudflare/Workers/Worker.ts +66 -82
  233. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +14 -0
  234. package/src/Cloudflare/Workers/WorkerBinding.ts +4 -0
  235. package/src/Cloudflare/Workers/Workflow.ts +12 -1
  236. package/src/Cloudflare/Workers/WorkflowBridge.ts +47 -6
  237. package/src/Cloudflare/Workers/index.ts +3 -0
  238. package/src/Cloudflare/index.ts +1 -0
  239. package/src/Deploy.ts +2 -1
  240. package/src/Destroy.ts +2 -1
  241. package/src/Diff.ts +7 -0
  242. package/src/Drizzle/Postgres.ts +13 -12
  243. package/src/Drizzle/Schema.ts +27 -9
  244. package/src/Local/RpcSerialization.ts +5 -2
  245. package/src/Output.ts +12 -10
  246. package/src/Plan.ts +5 -1
  247. package/src/Planetscale/MySQL/MySQLDatabase.ts +1 -6
  248. package/src/Planetscale/Postgres/PostgresDatabase.ts +1 -5
  249. package/src/Platform.ts +48 -36
  250. package/src/Resource.ts +22 -13
  251. package/src/Runtime.ts +3 -7
  252. package/src/Stack.ts +11 -10
  253. package/src/Util/effect.ts +13 -17
  254. package/src/Util/poll.ts +3 -3
@@ -0,0 +1,113 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as Redacted from "effect/Redacted";
3
+ import * as Scope from "effect/Scope";
4
+ import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
5
+ import { AlchemyContext } from "../AlchemyContext.ts";
6
+ import * as Provider from "../Provider.ts";
7
+ import { Resource } from "../Resource.ts";
8
+ export interface DevServerProps {
9
+ /**
10
+ * Shell command to run as a long-lived dev process (e.g. `npm run dev`).
11
+ */
12
+ command: string;
13
+ /**
14
+ * Working directory for the command. Defaults to `process.cwd()`.
15
+ */
16
+ cwd?: string;
17
+ /**
18
+ * Extra environment variables passed to the command on top of `process.env`.
19
+ */
20
+ env?: Record<string, string | Redacted.Redacted<string>>;
21
+ }
22
+ /**
23
+ * A long-lived shell process scoped to a stack instance, started during
24
+ * `alchemy dev`, restarted when inputs are changes.
25
+ *
26
+ * The provider runs inside the dev sidecar (see `Build/Local.ts`) so the
27
+ * child process survives user-code HMR — Alchemy's user process can restart
28
+ * without killing your `npm run dev` server. During deploy this performs a no-op
29
+ *
30
+ * The child's stdout/stderr are mirrored to the sidecar's terminal so the
31
+ * user still sees colored dev-server output, and each line is scanned for
32
+ * the first `http(s)://…` URL. The first match (with ANSI escapes stripped)
33
+ * is exposed as `url` — useful for surfacing a dev server's local URL back
34
+ * out to whatever resource declared this `DevServer`.
35
+ */
36
+ export interface DevServer extends Resource<"Build.DevServer", DevServerProps, {
37
+ /**
38
+ * URL extracted from the first matching stdout/stderr line. Best-effort:
39
+ * `undefined` if no URL appeared within {@link URL_EXTRACT_TIMEOUT}.
40
+ */
41
+ url?: string;
42
+ }> {
43
+ }
44
+ /**
45
+ * A long-lived shell process scoped to a stack instance, started during
46
+ * `alchemy dev` and restarted when inputs change. During deploy this is
47
+ * a no-op — `DevServer` resources only run in dev mode.
48
+ *
49
+ * The child process runs inside the dev sidecar so it survives
50
+ * user-code HMR restarts. Its stdout/stderr are mirrored to the
51
+ * terminal and scanned for the first `http(s)://…` URL, which is
52
+ * exposed as the `url` output attribute.
53
+ *
54
+ * @resource
55
+ *
56
+ * @section Basic Usage
57
+ * Pass a shell command that starts a long-lived dev server. Alchemy
58
+ * runs it in the background and extracts the first URL it prints.
59
+ *
60
+ * @example Start a Vite dev server
61
+ * ```typescript
62
+ * const dev = yield* DevServer("Frontend", {
63
+ * command: "npm run dev",
64
+ * });
65
+ * console.log(dev.url); // e.g. "http://localhost:5173"
66
+ * ```
67
+ *
68
+ * @section Working Directory
69
+ * Use `cwd` to run the command in a subdirectory — useful in
70
+ * monorepos where each package has its own dev server.
71
+ *
72
+ * @example Monorepo package
73
+ * ```typescript
74
+ * const dev = yield* DevServer("Web", {
75
+ * command: "npm run dev",
76
+ * cwd: "apps/web",
77
+ * });
78
+ * ```
79
+ *
80
+ * @section Environment Variables
81
+ * Extra environment variables are merged on top of `process.env`.
82
+ * Sensitive values can be wrapped in `Redacted` to keep them out
83
+ * of logs and state files.
84
+ *
85
+ * @example Custom port and env
86
+ * ```typescript
87
+ * const dev = yield* DevServer("Api", {
88
+ * command: "npm run dev",
89
+ * env: {
90
+ * PORT: "4000",
91
+ * DATABASE_URL: Redacted.make("postgres://..."),
92
+ * },
93
+ * });
94
+ * ```
95
+ */
96
+ export declare const DevServer: import("../Resource.ts").ResourceClass<DevServer>;
97
+ /**
98
+ * Live-mode no-op. `DevServer` resources should only be created in dev mode;
99
+ * if one slips into a deploy, this is a noisy no-op rather than a crash.
100
+ */
101
+ export declare const LiveDevServerProvider: () => Layer.Layer<Provider.Provider<DevServer>, never, never>;
102
+ /**
103
+ * Dev-mode provider. Runs inside the RPC sidecar so the child process
104
+ * outlives user-code restarts. Tracks instances in a module-level closure
105
+ * keyed by resource id; on `reconcile`, it diffs the props hash and either
106
+ * reuses the existing process or interrupts + respawns.
107
+ */
108
+ export declare const LocalDevServerProvider: () => Layer.Layer<Provider.Provider<DevServer>, never, Scope.Scope | ChildProcessSpawner | AlchemyContext | import("../Stack.ts").Stack>;
109
+ /**
110
+ * Selects the live or dev DevServer provider based on `AlchemyContext.dev`.
111
+ */
112
+ export declare const DevServerProvider: () => Layer.Layer<Provider.Provider<DevServer>, never, Scope.Scope | ChildProcessSpawner | AlchemyContext | import("../Stack.ts").Stack>;
113
+ //# sourceMappingURL=DevServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevServer.d.ts","sourceRoot":"","sources":["../../src/Build/DevServer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EACL,mBAAmB,EAEpB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CAC1D;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAU,SAAQ,QAAQ,CACzC,iBAAiB,EACjB,cAAc,EACd;IACE;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CACF;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,eAAO,MAAM,SAAS,mDAAyC,CAAC;AAsBhE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,+DAU/B,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,0IAwHhC,CAAC;AA4CJ;;GAEG;AACH,eAAO,MAAM,iBAAiB,0IAK3B,CAAC"}
@@ -0,0 +1,212 @@
1
+ import * as Deferred from "effect/Deferred";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Exit from "effect/Exit";
4
+ import * as Hash from "effect/Hash";
5
+ import * as Layer from "effect/Layer";
6
+ import * as Option from "effect/Option";
7
+ import * as Redacted from "effect/Redacted";
8
+ import * as Scope from "effect/Scope";
9
+ import * as Stream from "effect/Stream";
10
+ import { ChildProcess } from "effect/unstable/process";
11
+ import { ChildProcessSpawner, } from "effect/unstable/process/ChildProcessSpawner";
12
+ import { AlchemyContext } from "../AlchemyContext.js";
13
+ import { isResolved } from "../Diff.js";
14
+ import * as RpcProvider from "../Local/RpcProvider.js";
15
+ import * as Provider from "../Provider.js";
16
+ import { Resource } from "../Resource.js";
17
+ /**
18
+ * A long-lived shell process scoped to a stack instance, started during
19
+ * `alchemy dev` and restarted when inputs change. During deploy this is
20
+ * a no-op — `DevServer` resources only run in dev mode.
21
+ *
22
+ * The child process runs inside the dev sidecar so it survives
23
+ * user-code HMR restarts. Its stdout/stderr are mirrored to the
24
+ * terminal and scanned for the first `http(s)://…` URL, which is
25
+ * exposed as the `url` output attribute.
26
+ *
27
+ * @resource
28
+ *
29
+ * @section Basic Usage
30
+ * Pass a shell command that starts a long-lived dev server. Alchemy
31
+ * runs it in the background and extracts the first URL it prints.
32
+ *
33
+ * @example Start a Vite dev server
34
+ * ```typescript
35
+ * const dev = yield* DevServer("Frontend", {
36
+ * command: "npm run dev",
37
+ * });
38
+ * console.log(dev.url); // e.g. "http://localhost:5173"
39
+ * ```
40
+ *
41
+ * @section Working Directory
42
+ * Use `cwd` to run the command in a subdirectory — useful in
43
+ * monorepos where each package has its own dev server.
44
+ *
45
+ * @example Monorepo package
46
+ * ```typescript
47
+ * const dev = yield* DevServer("Web", {
48
+ * command: "npm run dev",
49
+ * cwd: "apps/web",
50
+ * });
51
+ * ```
52
+ *
53
+ * @section Environment Variables
54
+ * Extra environment variables are merged on top of `process.env`.
55
+ * Sensitive values can be wrapped in `Redacted` to keep them out
56
+ * of logs and state files.
57
+ *
58
+ * @example Custom port and env
59
+ * ```typescript
60
+ * const dev = yield* DevServer("Api", {
61
+ * command: "npm run dev",
62
+ * env: {
63
+ * PORT: "4000",
64
+ * DATABASE_URL: Redacted.make("postgres://..."),
65
+ * },
66
+ * });
67
+ * ```
68
+ */
69
+ export const DevServer = Resource("Build.DevServer");
70
+ /**
71
+ * How long reconcile waits for a URL to appear in the child's output
72
+ * before giving up and returning `{ url: undefined }`. The child keeps
73
+ * running either way — this only bounds how long the deploy plan waits.
74
+ *
75
+ * Kept small because dev servers (vite, next, zola, …) print their URL
76
+ * within ~1s, and a long wait here just stalls `alchemy dev` startup
77
+ * for commands that never produce a URL.
78
+ */
79
+ const URL_EXTRACT_TIMEOUT = "5 seconds";
80
+ // Matches the first plain http(s) URL. Stops at whitespace and at a small
81
+ // set of punctuation typically used to wrap URLs in log output.
82
+ const URL_REGEX = /https?:\/\/[^\s)\],"'`]+/;
83
+ // ECMA-262 ANSI/VT100 escape sequences — `Vite`, `Next`, etc. surround the
84
+ // URL with color codes that would otherwise be eaten by the URL regex.
85
+ // eslint-disable-next-line no-control-regex
86
+ const ANSI_REGEX = /\x1b\[[0-9;]*m/g;
87
+ /**
88
+ * Live-mode no-op. `DevServer` resources should only be created in dev mode;
89
+ * if one slips into a deploy, this is a noisy no-op rather than a crash.
90
+ */
91
+ export const LiveDevServerProvider = () => Provider.effect(DevServer, Effect.succeed(DevServer.Provider.of({
92
+ diff: () => Effect.succeed({ action: "noop" }),
93
+ reconcile: () => Effect.succeed({}),
94
+ delete: () => Effect.void,
95
+ })));
96
+ /**
97
+ * Dev-mode provider. Runs inside the RPC sidecar so the child process
98
+ * outlives user-code restarts. Tracks instances in a module-level closure
99
+ * keyed by resource id; on `reconcile`, it diffs the props hash and either
100
+ * reuses the existing process or interrupts + respawns.
101
+ */
102
+ export const LocalDevServerProvider = () => RpcProvider.effect(DevServer, import.meta.resolve(
103
+ // See LocalWorkerProvider — must match the on-disk extension of the
104
+ // sidecar entry file.
105
+ import.meta.url.endsWith(".ts") ? "./Local.ts" : "./Local.js", import.meta.url), Effect.gen(function* () {
106
+ const spawner = yield* ChildProcessSpawner;
107
+ // The provider's outer scope lives for the lifetime of the sidecar,
108
+ // which is exactly what we want: child processes get forked into
109
+ // sub-scopes off of this one, so they survive any single user-code
110
+ // restart but die when the sidecar shuts down.
111
+ const rootScope = yield* Effect.scope;
112
+ const instances = new Map();
113
+ const spawn = Effect.fn(function* (props, urlDeferred) {
114
+ const [command, ...args] = props.command.split(" ");
115
+ const handle = yield* spawner.spawn(ChildProcess.make(command, args, {
116
+ cwd: props.cwd ?? process.cwd(),
117
+ env: {
118
+ ...process.env,
119
+ ...Object.fromEntries(Object.entries(props.env ?? {}).map(([k, v]) => [
120
+ k,
121
+ Redacted.isRedacted(v) ? Redacted.value(v) : v,
122
+ ])),
123
+ },
124
+ stdin: "inherit",
125
+ // Leave stdout/stderr piped so we can both mirror to the parent
126
+ // terminal AND parse lines for the first URL.
127
+ }));
128
+ // Mirror + extract on both streams, forked into the current scope so
129
+ // they're interrupted when the instance scope closes.
130
+ yield* mirrorAndExtract(handle.stdout, "stdout", urlDeferred).pipe(Effect.forkScoped);
131
+ yield* mirrorAndExtract(handle.stderr, "stderr", urlDeferred).pipe(Effect.forkScoped);
132
+ return handle;
133
+ });
134
+ const stop = Effect.fn(function* (id) {
135
+ const existing = instances.get(id);
136
+ if (existing) {
137
+ yield* existing.handle.kill();
138
+ yield* Scope.close(existing.scope, Exit.void);
139
+ instances.delete(id);
140
+ }
141
+ });
142
+ const awaitUrl = (deferred) => Deferred.await(deferred).pipe(Effect.timeoutOption(URL_EXTRACT_TIMEOUT), Effect.map(Option.getOrUndefined));
143
+ return DevServer.Provider.of({
144
+ diff: Effect.fn(function* ({ id, news }) {
145
+ if (!isResolved(news))
146
+ return undefined;
147
+ const hash = Hash.structure(news);
148
+ if (instances.get(id)?.hash === hash) {
149
+ return { action: "noop" };
150
+ }
151
+ return { action: "update" };
152
+ }),
153
+ reconcile: Effect.fn(function* ({ id, news }) {
154
+ const hash = Hash.structure(news);
155
+ const existing = instances.get(id);
156
+ if (existing) {
157
+ if (existing.hash === hash && (yield* existing.handle.isRunning)) {
158
+ const url = yield* awaitUrl(existing.urlDeferred);
159
+ return { url };
160
+ }
161
+ yield* stop(id);
162
+ }
163
+ const scope = yield* Scope.fork(rootScope);
164
+ const urlDeferred = yield* Deferred.make();
165
+ const handle = yield* spawn(news, urlDeferred).pipe(Scope.provide(scope));
166
+ instances.set(id, { hash, handle, scope, urlDeferred });
167
+ const url = yield* awaitUrl(urlDeferred);
168
+ return { url };
169
+ }),
170
+ delete: Effect.fn(function* ({ id }) {
171
+ yield* stop(id);
172
+ }),
173
+ });
174
+ }));
175
+ /**
176
+ * Drains a child stdout/stderr stream into the matching parent stream while
177
+ * scanning each completed line for the first URL. Resolves `urlDeferred`
178
+ * the first time a URL is found (subsequent calls are no-ops).
179
+ *
180
+ * Modeled on `idempotent-spawn.ts`'s `extract` hook — single-pass over each
181
+ * line, ANSI escapes stripped before matching, with a buffer for incomplete
182
+ * trailing lines across chunk boundaries.
183
+ */
184
+ const mirrorAndExtract = (source, sink, urlDeferred) => Effect.gen(function* () {
185
+ let lineBuffer = "";
186
+ const decoder = new TextDecoder("utf-8");
187
+ yield* Stream.runForEach(source, (chunk) => Effect.sync(() => {
188
+ // Pass the raw bytes through so terminal colors, cursor moves,
189
+ // progress bars etc. keep working.
190
+ process[sink].write(chunk);
191
+ lineBuffer += decoder.decode(chunk, { stream: true });
192
+ let newlineIdx = lineBuffer.indexOf("\n");
193
+ while (newlineIdx !== -1) {
194
+ const line = lineBuffer.slice(0, newlineIdx);
195
+ lineBuffer = lineBuffer.slice(newlineIdx + 1);
196
+ newlineIdx = lineBuffer.indexOf("\n");
197
+ const match = line.replace(ANSI_REGEX, "").match(URL_REGEX);
198
+ if (match) {
199
+ // Deferred.doneUnsafe is a synchronous fire-and-forget — first
200
+ // caller wins, subsequent calls are dropped, which is exactly
201
+ // what we want for "record the FIRST URL".
202
+ Deferred.doneUnsafe(urlDeferred, Effect.succeed(match[0]));
203
+ return;
204
+ }
205
+ }
206
+ }));
207
+ });
208
+ /**
209
+ * Selects the live or dev DevServer provider based on `AlchemyContext.dev`.
210
+ */
211
+ export const DevServerProvider = () => Layer.unwrap(AlchemyContext.useSync((context) => context.dev ? LocalDevServerProvider() : LiveDevServerProvider()));
212
+ //# sourceMappingURL=DevServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevServer.js","sourceRoot":"","sources":["../../src/Build/DevServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Local.d.ts","sourceRoot":"","sources":["../../src/Build/Local.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { LocalDevServerProvider } from "../Build/DevServer.js";
2
+ import * as RpcServer from "../Local/RpcServer.js";
3
+ LocalDevServerProvider().pipe(RpcServer.launch);
4
+ //# sourceMappingURL=Local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Local.js","sourceRoot":"","sources":["../../src/Build/Local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAEnD,sBAAsB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC"}
@@ -11,7 +11,7 @@ import { purePlugin } from "./PurePlugin.js";
11
11
  import { rawPlugin } from "./RawPlugin.js";
12
12
  export class BundleError extends Schema.TaggedErrorClass()("BundleError", {
13
13
  message: Schema.String,
14
- cause: Schema.optional(Schema.DefectWithStack),
14
+ cause: Schema.optional(Schema.Defect({ includeStack: true })),
15
15
  }) {
16
16
  }
17
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Bundle.js","sourceRoot":"","sources":["../../src/Bundle/Bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Bundle.js","sourceRoot":"","sources":["../../src/Bundle/Bundle.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import * as Config from "effect/Config";
3
3
  import { Command } from "effect/unstable/cli";
4
4
  import * as CloudflareAccess from "../../Cloudflare/Access.ts";
5
5
  import * as Clank from "../../Util/Clank.ts";
6
- export declare const cloudflareCommand: Command.Command<"cloudflare", {} | {}, {}, Config.ConfigError | import("../../AlchemyContext.ts").AlchemyContext | import("effect/PlatformError").PlatformError | import("../../Auth/AuthProvider.ts").AuthError | import("../../State/State.ts").StateStoreError | import("effect/unstable/http/HttpClientError").HttpClientError | import("../../Output.ts").InvalidReferenceError | import("../../Stage.ts").Stage | import("../../Output.ts").MissingSourceError | Clank.PromptCancelled | CloudflareAccess.AccessError | import("@distilled.cloud/axiom").Unauthorized | import("@distilled.cloud/axiom").TooManyRequests | import("@distilled.cloud/axiom").InternalServerError | import("@distilled.cloud/axiom").BadGateway | import("@distilled.cloud/axiom").ServiceUnavailable | import("@distilled.cloud/axiom").GatewayTimeout | import("@distilled.cloud/cloudflare").CloudflareHttpError | import("@distilled.cloud/cloudflare").CloudflareParseError | import("@distilled.cloud/cloudflare").InvalidRoute | import("@distilled.cloud/cloudflare").UnknownCloudflareError | import("@distilled.cloud/cloudflare/workers").InvalidRoute | import("@distilled.cloud/cloudflare/workers").WorkerNotFound | user.InvalidRoute | user.InvalidTokenName | user.PermissionGroupNotFound | import("@distilled.cloud/cloudflare/secrets-store").InvalidAccountId | {
6
+ export declare const cloudflareCommand: Command.Command<"cloudflare", {} | {}, {}, Config.ConfigError | import("effect/PlatformError").PlatformError | import("../../Auth/AuthProvider.ts").AuthError | import("../../State/State.ts").StateStoreError | import("effect/unstable/http/HttpClientError").HttpClientError | import("../../Output.ts").InvalidReferenceError | import("../../Output.ts").MissingSourceError | Clank.PromptCancelled | CloudflareAccess.AccessError | import("@distilled.cloud/axiom").Unauthorized | import("@distilled.cloud/axiom").TooManyRequests | import("@distilled.cloud/axiom").InternalServerError | import("@distilled.cloud/axiom").BadGateway | import("@distilled.cloud/axiom").ServiceUnavailable | import("@distilled.cloud/axiom").GatewayTimeout | import("@distilled.cloud/cloudflare").CloudflareHttpError | import("@distilled.cloud/cloudflare").CloudflareParseError | import("@distilled.cloud/cloudflare").InvalidRoute | import("@distilled.cloud/cloudflare").UnknownCloudflareError | import("@distilled.cloud/cloudflare/workers").InvalidRoute | import("@distilled.cloud/cloudflare/workers").WorkerNotFound | user.InvalidRoute | user.InvalidTokenName | user.PermissionGroupNotFound | import("@distilled.cloud/cloudflare/secrets-store").InvalidAccountId | {
7
7
  readonly _tag: "StateStoreVersionNotReady";
8
8
  readonly expected: number;
9
9
  readonly observed: number | undefined;
@@ -9,7 +9,7 @@ import * as ChildProcessSpawner from "effect/unstable/process/ChildProcessSpawne
9
9
  import { cachedFunction } from "../Util/cached-function.js";
10
10
  export class AccessError extends Schema.TaggedErrorClass()("AccessError", {
11
11
  message: Schema.String,
12
- cause: Schema.optional(Schema.Defect),
12
+ cause: Schema.optional(Schema.Defect()),
13
13
  }) {
14
14
  }
15
15
  export class Access extends Context.Service()("alchemy/Cloudflare/Access") {
@@ -1 +1 @@
1
- {"version":3,"file":"Access.js","sourceRoot":"","sources":["../../src/Cloudflare/Access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Access.js","sourceRoot":"","sources":["../../src/Cloudflare/Access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,gBAAgB,EAAe,CACrE,aAAa,EACb;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;CACxC,CACF;CAAG;AAEJ,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,OAAO,EAOxC,CAAC,2BAA2B,CAAC;CAAG;AAEnC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CACpC,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,mBAAmB,CAAC;IAC/D,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,MAAc,EAAE,EAAE,CAChE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,KAAK,CAAC,WAAW,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAC3D,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CACR,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,MAAM,KAAK,GAAG;QACvB,CAAC,QAAQ,CAAC,OAAO;aACd,GAAG,CAAC,UAAU,CAAC;YAChB,EAAE,QAAQ,CAAC,sBAAsB,CAAC;YAClC,KAAK,CAAC,CACX,EACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC1C,CACF,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE,CAC/B,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAChE,OAAO,CAAC,KAAK,EACb,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC9D,MAAM,CAAC,QAAQ,CACb,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,WAAW,CAAC;QACd,OAAO,EACL,eAAe,MAAM,kEAAkE;YACvF,kIAAkI;QACpI,KAAK,EAAE,KAAK;KACb,CAAC,CACL,EACD,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,MAAM;aACnB,QAAQ,EAAE;aACV,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACzC,OAAO,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;YACnC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC9D,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,IAAI,WAAW,CAAC;gBACd,OAAO,EAAE,+CAA+C;aACzD,CAAC,CACH,CAAC;IACR,CAAC,CAAC,EACF,MAAM,CAAC,MAAM,CACd,CAAC;IAEJ,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;SAEhB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE3E,OAAO,MAAM,CAAC,EAAE,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM;YAC3C,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACvC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;YACtE,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;gBAC7B,OAAO;oBACL,qBAAqB,EAAE,QAAQ;oBAC/B,yBAAyB,EAAE,YAAY;iBACd,CAAC;YAC9B,CAAC;YAED,IAAI,QAAQ,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBACzD,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CACtB,+HAA+H;oBAC7H,QACE,QAAQ,KAAK,SAAS;wBACpB,CAAC,CAAC,6BAA6B;wBAC/B,CAAC,CAAC,iCACN,aAAa,CAChB,CAAC;YACJ,CAAC;YAED,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC"}
@@ -247,7 +247,7 @@ export declare const isAiGateway: (value: unknown) => value is AiGateway;
247
247
  *
248
248
  * export default class Api extends Cloudflare.Worker<Api>()(
249
249
  * "Api",
250
- * { main: import.meta.path },
250
+ * { main: import.meta.filename },
251
251
  * Effect.gen(function* () {
252
252
  * const aiGateway = yield* Cloudflare.AiGateway.bind(Gateway);
253
253
  *
@@ -65,7 +65,7 @@ export const isAiGateway = (value) => typeof value === "object" &&
65
65
  *
66
66
  * export default class Api extends Cloudflare.Worker<Api>()(
67
67
  * "Api",
68
- * { main: import.meta.path },
68
+ * { main: import.meta.filename },
69
69
  * Effect.gen(function* () {
70
70
  * const aiGateway = yield* Cloudflare.AiGateway.bind(Gateway);
71
71
  *
@@ -58,7 +58,7 @@ export interface AiGatewayClient {
58
58
  * Run an AI Gateway request through the Cloudflare runtime binding.
59
59
  */
60
60
  run(data: Parameters<AiGateway["run"]>[0], options?: Parameters<AiGateway["run"]>[1]): Effect.Effect<Response, AiGatewayError, RuntimeContext>;
61
- model(options: LanguageModelOptions): Layer.Layer<LanguageModel, never, RuntimeContext>;
61
+ model(options: Omit<LanguageModelOptions, "client">): Layer.Layer<LanguageModel, never, RuntimeContext>;
62
62
  }
63
63
  declare const AiGatewayBinding_base: Binding.Service<AiGatewayBinding, "Cloudflare.AiGateway.Binding", (gateway: AiGatewayResource) => Effect.Effect<AiGatewayClient>> & {
64
64
  bind: (gateway: AiGatewayResource) => Effect.Effect<any, any, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"AiGatewayBinding.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/AiGateway/AiGatewayBinding.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAY,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;;;;AAG5B,qBAAa,cAAe,SAAQ,oBAAmC;IACrE;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;CAAG;AAEL;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAC9C;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACzD;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACjD;;OAEG;IACH,QAAQ,CACN,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACvD;;OAEG;IACH,MAAM,CACJ,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAC/D;;OAEG;IACH,MAAM,CACJ,QAAQ,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACzD;;OAEG;IACH,GAAG,CACD,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EACrC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAE3D,KAAK,CACH,OAAO,EAAE,oBAAoB,GAC5B,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;CACtD;iHA0DW,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;;;AAxDhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,qBAAa,gBAAiB,SAAQ,qBAGH;CAAG;AAEtC;;GAEG;AACH,eAAO,MAAM,oBAAoB,kFAqChC,CAAC;oIAOU,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AALrD;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,2BAGT;CAAG;AAEtC;;GAEG;AACH,eAAO,MAAM,0BAA0B,mDAiBtC,CAAC"}
1
+ {"version":3,"file":"AiGatewayBinding.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/AiGateway/AiGatewayBinding.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAY,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;;;;AAG5B,qBAAa,cAAe,SAAQ,oBAAmC;IACrE;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;CAAG;AAEL;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAC9C;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACzD;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACjD;;OAEG;IACH,QAAQ,CACN,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACvD;;OAEG;IACH,MAAM,CACJ,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAC/D;;OAEG;IACH,MAAM,CACJ,QAAQ,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACzD;;OAEG;IACH,GAAG,CACD,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EACrC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAE3D,KAAK,CACH,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,GAC5C,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;CACtD;iHA0DW,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;;;AAxDhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,qBAAa,gBAAiB,SAAQ,qBAGH;CAAG;AAEtC;;GAEG;AACH,eAAO,MAAM,oBAAoB,kFA0ChC,CAAC;oIAOU,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AALrD;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,2BAGT;CAAG;AAEtC;;GAEG;AACH,eAAO,MAAM,0BAA0B,mDAiBtC,CAAC"}
@@ -76,7 +76,7 @@ export const AiGatewayBindingLive = Layer.effect(AiGatewayBinding, Effect.gen(fu
76
76
  const ai = Effect.sync(() => env[gateway.LogicalId]);
77
77
  const runtimeGateway = yield* Effect.zip(ai, gatewayIdAccessor).pipe(Effect.map(([ai, gatewayId]) => ai.gateway(gatewayId)), Effect.cached);
78
78
  const use = (fn) => runtimeGateway.pipe(Effect.flatMap((gateway) => tryPromise(() => fn(gateway))));
79
- return {
79
+ const self = {
80
80
  raw: ai,
81
81
  gateway: runtimeGateway,
82
82
  id: gatewayIdAccessor,
@@ -84,8 +84,12 @@ export const AiGatewayBindingLive = Layer.effect(AiGatewayBinding, Effect.gen(fu
84
84
  getLog: (logId) => use((gateway) => gateway.getLog(logId)),
85
85
  getUrl: (provider) => use((gateway) => gateway.getUrl(provider)),
86
86
  run: (data, options) => use((gateway) => gateway.run(data, options)),
87
- model: (options) => makeLanguageModelLayer(options),
87
+ model: (options) => makeLanguageModelLayer({
88
+ ...options,
89
+ client: self,
90
+ }),
88
91
  };
92
+ return self;
89
93
  });
90
94
  }));
91
95
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AiGatewayBinding.js","sourceRoot":"","sources":["../../../src/Cloudflare/AiGateway/AiGatewayBinding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AiGatewayBinding.js","sourceRoot":"","sources":["../../../src/Cloudflare/AiGateway/AiGatewayBinding.ts"],"names":[],"mappings":"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"}