alchemy 2.0.0-beta.51 → 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 (176) hide show
  1. package/bin/exec.js +16 -22
  2. package/bin/exec.js.map +1 -1
  3. package/lib/Apply.js +15 -3
  4. package/lib/Apply.js.map +1 -1
  5. package/lib/Auth/AuthProvider.js +1 -1
  6. package/lib/Auth/AuthProvider.js.map +1 -1
  7. package/lib/Binding.d.ts.map +1 -1
  8. package/lib/Binding.js +12 -8
  9. package/lib/Binding.js.map +1 -1
  10. package/lib/Build/DevServer.d.ts +113 -0
  11. package/lib/Build/DevServer.d.ts.map +1 -0
  12. package/lib/Build/DevServer.js +212 -0
  13. package/lib/Build/DevServer.js.map +1 -0
  14. package/lib/Build/Local.d.ts +2 -0
  15. package/lib/Build/Local.d.ts.map +1 -0
  16. package/lib/Build/Local.js +4 -0
  17. package/lib/Build/Local.js.map +1 -0
  18. package/lib/Bundle/Bundle.js +1 -1
  19. package/lib/Bundle/Bundle.js.map +1 -1
  20. package/lib/Cloudflare/Access.js +1 -1
  21. package/lib/Cloudflare/Access.js.map +1 -1
  22. package/lib/Cloudflare/AiGateway/AiGateway.d.ts +1 -1
  23. package/lib/Cloudflare/AiGateway/AiGateway.js +1 -1
  24. package/lib/Cloudflare/Browser/Browser.d.ts +84 -12
  25. package/lib/Cloudflare/Browser/Browser.d.ts.map +1 -1
  26. package/lib/Cloudflare/Browser/Browser.js +80 -9
  27. package/lib/Cloudflare/Browser/Browser.js.map +1 -1
  28. package/lib/Cloudflare/Browser/BrowserBinding.d.ts +90 -16
  29. package/lib/Cloudflare/Browser/BrowserBinding.d.ts.map +1 -1
  30. package/lib/Cloudflare/Browser/BrowserBinding.js +41 -6
  31. package/lib/Cloudflare/Browser/BrowserBinding.js.map +1 -1
  32. package/lib/Cloudflare/Browser/index.d.ts +1 -1
  33. package/lib/Cloudflare/Browser/index.d.ts.map +1 -1
  34. package/lib/Cloudflare/Browser/index.js.map +1 -1
  35. package/lib/Cloudflare/Container/ContainerBinding.d.ts.map +1 -1
  36. package/lib/Cloudflare/Container/ContainerBinding.js +2 -4
  37. package/lib/Cloudflare/Container/ContainerBinding.js.map +1 -1
  38. package/lib/Cloudflare/Images/Images.d.ts +4 -3
  39. package/lib/Cloudflare/Images/Images.d.ts.map +1 -1
  40. package/lib/Cloudflare/Images/Images.js.map +1 -1
  41. package/lib/Cloudflare/Providers.d.ts +1 -1
  42. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  43. package/lib/Cloudflare/Providers.js +4 -1
  44. package/lib/Cloudflare/Providers.js.map +1 -1
  45. package/lib/Cloudflare/RateLimit/RateLimit.d.ts +4 -3
  46. package/lib/Cloudflare/RateLimit/RateLimit.d.ts.map +1 -1
  47. package/lib/Cloudflare/RateLimit/RateLimit.js.map +1 -1
  48. package/lib/Cloudflare/Website/StaticSite.d.ts +64 -12
  49. package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
  50. package/lib/Cloudflare/Website/StaticSite.js +80 -30
  51. package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
  52. package/lib/Cloudflare/Website/Vite.d.ts +36 -7
  53. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  54. package/lib/Cloudflare/Website/Vite.js +26 -8
  55. package/lib/Cloudflare/Website/Vite.js.map +1 -1
  56. package/lib/Cloudflare/Workers/Assets.d.ts +10 -4
  57. package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
  58. package/lib/Cloudflare/Workers/Assets.js +6 -6
  59. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  60. package/lib/Cloudflare/Workers/DynamicWorkerLoader.d.ts +4 -4
  61. package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
  62. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  63. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  64. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +45 -11
  65. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  66. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.d.ts +5 -4
  67. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.d.ts.map +1 -1
  68. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.js +4 -2
  69. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.js.map +1 -1
  70. package/lib/Cloudflare/Workers/RpcWorker.d.ts +3 -2
  71. package/lib/Cloudflare/Workers/RpcWorker.d.ts.map +1 -1
  72. package/lib/Cloudflare/Workers/RpcWorker.js +5 -3
  73. package/lib/Cloudflare/Workers/RpcWorker.js.map +1 -1
  74. package/lib/Cloudflare/Workers/VersionMetadata.d.ts +99 -0
  75. package/lib/Cloudflare/Workers/VersionMetadata.d.ts.map +1 -0
  76. package/lib/Cloudflare/Workers/VersionMetadata.js +65 -0
  77. package/lib/Cloudflare/Workers/VersionMetadata.js.map +1 -0
  78. package/lib/Cloudflare/Workers/VersionMetadataBinding.d.ts +35 -0
  79. package/lib/Cloudflare/Workers/VersionMetadataBinding.d.ts.map +1 -0
  80. package/lib/Cloudflare/Workers/VersionMetadataBinding.js +31 -0
  81. package/lib/Cloudflare/Workers/VersionMetadataBinding.js.map +1 -0
  82. package/lib/Cloudflare/Workers/Worker.d.ts +18 -18
  83. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  84. package/lib/Cloudflare/Workers/Worker.js +23 -37
  85. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  86. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  87. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +7 -0
  88. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  89. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +2 -1
  90. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  91. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  92. package/lib/Cloudflare/Workers/Workflow.d.ts +8 -1
  93. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  94. package/lib/Cloudflare/Workers/Workflow.js +1 -0
  95. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  96. package/lib/Cloudflare/Workers/WorkflowBridge.d.ts.map +1 -1
  97. package/lib/Cloudflare/Workers/WorkflowBridge.js +31 -2
  98. package/lib/Cloudflare/Workers/WorkflowBridge.js.map +1 -1
  99. package/lib/Cloudflare/Workers/index.d.ts +2 -0
  100. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  101. package/lib/Cloudflare/Workers/index.js +2 -0
  102. package/lib/Cloudflare/Workers/index.js.map +1 -1
  103. package/lib/Cloudflare/Zaraz/ZarazConfig.d.ts.map +1 -1
  104. package/lib/Diff.d.ts.map +1 -1
  105. package/lib/Diff.js +7 -0
  106. package/lib/Diff.js.map +1 -1
  107. package/lib/Drizzle/Postgres.d.ts +13 -12
  108. package/lib/Drizzle/Postgres.d.ts.map +1 -1
  109. package/lib/Drizzle/Postgres.js +13 -12
  110. package/lib/Drizzle/Postgres.js.map +1 -1
  111. package/lib/Drizzle/Schema.d.ts +1 -1
  112. package/lib/Drizzle/Schema.d.ts.map +1 -1
  113. package/lib/Drizzle/Schema.js +14 -6
  114. package/lib/Drizzle/Schema.js.map +1 -1
  115. package/lib/Local/RpcSerialization.js +5 -2
  116. package/lib/Local/RpcSerialization.js.map +1 -1
  117. package/lib/Platform.d.ts.map +1 -1
  118. package/lib/Platform.js +27 -25
  119. package/lib/Platform.js.map +1 -1
  120. package/lib/Resource.d.ts +1 -1
  121. package/lib/Resource.d.ts.map +1 -1
  122. package/lib/Resource.js +9 -12
  123. package/lib/Resource.js.map +1 -1
  124. package/lib/Runtime.d.ts +1 -1
  125. package/lib/Runtime.d.ts.map +1 -1
  126. package/lib/Runtime.js +3 -4
  127. package/lib/Runtime.js.map +1 -1
  128. package/lib/Util/effect.d.ts.map +1 -1
  129. package/lib/Util/effect.js +13 -15
  130. package/lib/Util/effect.js.map +1 -1
  131. package/lib/Util/poll.d.ts +0 -1
  132. package/lib/Util/poll.d.ts.map +1 -1
  133. package/lib/Util/poll.js +2 -2
  134. package/lib/Util/poll.js.map +1 -1
  135. package/lib/tsconfig.test.tsbuildinfo +1 -1
  136. package/package.json +20 -20
  137. package/src/Apply.ts +22 -3
  138. package/src/Auth/AuthProvider.ts +1 -1
  139. package/src/Binding.ts +45 -38
  140. package/src/Build/DevServer.ts +330 -0
  141. package/src/Build/Local.ts +4 -0
  142. package/src/Bundle/Bundle.ts +1 -1
  143. package/src/Cloudflare/Access.ts +1 -1
  144. package/src/Cloudflare/AiGateway/AiGateway.ts +1 -1
  145. package/src/Cloudflare/Browser/Browser.ts +84 -12
  146. package/src/Cloudflare/Browser/BrowserBinding.ts +205 -33
  147. package/src/Cloudflare/Browser/index.ts +15 -2
  148. package/src/Cloudflare/Container/ContainerBinding.ts +5 -10
  149. package/src/Cloudflare/Images/Images.ts +4 -3
  150. package/src/Cloudflare/Providers.ts +5 -0
  151. package/src/Cloudflare/RateLimit/RateLimit.ts +4 -3
  152. package/src/Cloudflare/Website/StaticSite.ts +154 -41
  153. package/src/Cloudflare/Website/Vite.ts +73 -25
  154. package/src/Cloudflare/Workers/Assets.ts +10 -8
  155. package/src/Cloudflare/Workers/DynamicWorkerLoader.ts +4 -4
  156. package/src/Cloudflare/Workers/InferEnv.ts +14 -12
  157. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +54 -13
  158. package/src/Cloudflare/Workers/RpcDurableObjectNamespace.ts +11 -8
  159. package/src/Cloudflare/Workers/RpcWorker.ts +8 -7
  160. package/src/Cloudflare/Workers/VersionMetadata.ts +129 -0
  161. package/src/Cloudflare/Workers/VersionMetadataBinding.ts +82 -0
  162. package/src/Cloudflare/Workers/Worker.ts +60 -81
  163. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +6 -0
  164. package/src/Cloudflare/Workers/WorkerBinding.ts +2 -0
  165. package/src/Cloudflare/Workers/Workflow.ts +12 -1
  166. package/src/Cloudflare/Workers/WorkflowBridge.ts +47 -6
  167. package/src/Cloudflare/Workers/index.ts +2 -0
  168. package/src/Diff.ts +7 -0
  169. package/src/Drizzle/Postgres.ts +13 -12
  170. package/src/Drizzle/Schema.ts +16 -6
  171. package/src/Local/RpcSerialization.ts +5 -2
  172. package/src/Platform.ts +36 -32
  173. package/src/Resource.ts +12 -13
  174. package/src/Runtime.ts +3 -7
  175. package/src/Util/effect.ts +13 -17
  176. package/src/Util/poll.ts +3 -3
@@ -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":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,mBAAmB,GAEpB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA2C1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAY,iBAAiB,CAAC,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAExC,0EAA0E;AAC1E,gEAAgE;AAChE,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAE7C,2EAA2E;AAC3E,uEAAuE;AACvE,4CAA4C;AAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CACxC,QAAQ,CAAC,MAAM,CACb,SAAS,EACT,MAAM,CAAC,OAAO,CACZ,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9C,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI;CAC1B,CAAC,CACH,CACF,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CACzC,WAAW,CAAC,MAAM,CAChB,SAAS,EACT,MAAM,CAAC,IAAI,CAAC,OAAO;AACjB,oEAAoE;AACpE,sBAAsB;AACtB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,EACD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC;IAC3C,oEAAoE;IACpE,iEAAiE;IACjE,mEAAmE;IACnE,+CAA+C;IAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAEtC,MAAM,SAAS,GAAG,IAAI,GAAG,EActB,CAAC;IAEJ,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAC/B,KAAqB,EACrB,WAAsC;QAEtC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CACjC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;YAC/B,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YAC/B,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC9C,CAAC;oBACD,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C,CAAC,CACH;aACF;YACD,KAAK,EAAE,SAAS;YAChB,gEAAgE;YAChE,8CAA8C;SAC/C,CAAC,CACH,CAAC;QAEF,qEAAqE;QACrE,sDAAsD;QACtD,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAChE,MAAM,CAAC,UAAU,CAClB,CAAC;QACF,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAChE,MAAM,CAAC,UAAU,CAClB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAU;QAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAAC,QAAmC,EAAE,EAAE,CACvD,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC3B,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,EACzC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAClC,CAAC;IAEJ,OAAO,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;gBACrC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC5B,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC;QACF,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEnC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjE,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAClD,OAAO,EAAE,GAAG,EAAE,CAAC;gBACjB,CAAC;gBAED,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAU,CAAC;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CACjD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CACrB,CAAC;YACF,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE;YACjC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC;AAEJ;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,CACvB,MAAsC,EACtC,IAAyB,EACzB,WAAsC,EACtC,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CACzC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACf,+DAA+D;QAC/D,mCAAmC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC7C,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC9C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,KAAK,EAAE,CAAC;gBACV,+DAA+D;gBAC/D,8DAA8D;gBAC9D,2CAA2C;gBAC3C,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CACpC,KAAK,CAAC,MAAM,CACV,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CACjE,CACF,CAAC"}
@@ -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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"}
@@ -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":"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"}
@@ -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
  *
@@ -28,9 +28,10 @@ type BindEffect = Effect.Effect<BrowserClient, never, BrowserBinding>;
28
28
  * Worker and returns the runtime {@link BrowserClient} — no separate
29
29
  * `.bind(...)` step required.
30
30
  *
31
- * The divergence is achieved via `[Symbol.iterator]`: the object is not an
32
- * `Effect` (so `InferEnv` resolves it to the native `Fetcher` in the `env`
33
- * position), but it is iterable as one when `yield*`-ed.
31
+ * The divergence is achieved via `[Symbol.iterator]`: the object is
32
+ * deliberately not an `Effect` (so `InferEnv` and the Worker `env` resolver
33
+ * keep it as the native `BrowserRun` rather than `yield*`-ing it), but it is
34
+ * iterable as one when `yield*`-ed.
34
35
  */
35
36
  export interface Browser {
36
37
  kind: BrowserTypeId;
@@ -46,7 +47,73 @@ export declare const isBrowser: (value: unknown) => value is Browser;
46
47
  * @binding
47
48
  *
48
49
  * @section Effect-style Worker (recommended)
49
- * @example Render a page title with managed browser cleanup
50
+ * @example Bind the runtime client and convert a page to Markdown
51
+ * Yielding the marker attaches the binding to the surrounding Worker and
52
+ * returns the runtime {@link BrowserClient}. Every `cf.BrowserRun` method is
53
+ * mirrored as an Effect, so no `Effect.tryPromise` wrapping is needed.
54
+ * ```typescript
55
+ * import * as Effect from "effect/Effect";
56
+ *
57
+ * Cloudflare.Worker(
58
+ * "BrowserWorker",
59
+ * { main: import.meta.filename },
60
+ * Effect.gen(function* () {
61
+ * const browser = yield* Cloudflare.Browser({ name: "BROWSER" });
62
+ *
63
+ * return {
64
+ * fetch: Effect.gen(function* () {
65
+ * return yield* browser.markdown({ url: "https://example.com" });
66
+ * }),
67
+ * };
68
+ * }).pipe(Effect.provide(Cloudflare.BrowserBindingLive)),
69
+ * );
70
+ * ```
71
+ *
72
+ * @section Quick Actions
73
+ * @example Render content, screenshot, PDF, and structured data
74
+ * JSON quick actions resolve to their parsed payload; binary actions
75
+ * (`screenshot`, `pdf`) resolve to a `Stream` of bytes. No `Promise` or
76
+ * `Response.json()` in sight.
77
+ * ```typescript
78
+ * import * as Effect from "effect/Effect";
79
+ * import * as Stream from "effect/Stream";
80
+ *
81
+ * const browser = yield* Cloudflare.Browser({ name: "BROWSER" });
82
+ * const url = "https://example.com";
83
+ *
84
+ * // HTML content — parsed payload, title lives in `meta`.
85
+ * const content = yield* browser.content({ url });
86
+ * const title = content.meta.title;
87
+ *
88
+ * // Scrape elements by CSS selector.
89
+ * yield* browser.scrape({ url, elements: [{ selector: "h1" }] });
90
+ *
91
+ * // Extract all links.
92
+ * const { result: links } = yield* browser.links({ url });
93
+ *
94
+ * // Binary actions stream bytes — collect or pipe them.
95
+ * const png = yield* browser.screenshot({ url }).pipe(Stream.runCollect);
96
+ * const pdf = yield* browser.pdf({ url }).pipe(Stream.runCollect);
97
+ *
98
+ * // AI-extracted structured data.
99
+ * yield* browser.json({ url, prompt: "Extract the page heading" });
100
+ * ```
101
+ *
102
+ * @example Call the generic `quickAction` directly
103
+ * The named methods are thin wrappers over `quickAction`, which mirrors
104
+ * `cf.BrowserRun["quickAction"]` one-to-one.
105
+ * ```typescript
106
+ * const browser = yield* Cloudflare.Browser({ name: "BROWSER" });
107
+ *
108
+ * const res = yield* browser.quickAction("snapshot", {
109
+ * url: "https://example.com",
110
+ * });
111
+ * ```
112
+ *
113
+ * @section Driving Puppeteer
114
+ * @example Use the raw `cf.BrowserRun` binding with `@cloudflare/puppeteer`
115
+ * `raw` hands you the underlying runtime binding. Puppeteer is promise-based,
116
+ * so this is the one place you reach for `Effect.tryPromise`.
50
117
  * ```typescript
51
118
  * import puppeteer from "@cloudflare/puppeteer";
52
119
  * import * as Effect from "effect/Effect";
@@ -55,25 +122,30 @@ export declare const isBrowser: (value: unknown) => value is Browser;
55
122
  * "BrowserWorker",
56
123
  * { main: import.meta.filename },
57
124
  * Effect.gen(function* () {
58
- * // Attaches the binding to this Worker AND returns the runtime client.
59
125
  * const browser = yield* Cloudflare.Browser({ name: "BROWSER" });
60
126
  *
61
127
  * return {
62
- * fetch: browser.withBrowser(puppeteer, (browser) =>
63
- * Effect.gen(function* () {
64
- * const page = yield* Effect.tryPromise(() => browser.newPage());
128
+ * fetch: Effect.gen(function* () {
129
+ * const binding = yield* browser.raw;
130
+ * const session = yield* Effect.tryPromise(() =>
131
+ * puppeteer.launch(binding),
132
+ * );
133
+ * try {
134
+ * const page = yield* Effect.tryPromise(() => session.newPage());
65
135
  * yield* Effect.tryPromise(() => page.goto("https://example.com"));
66
136
  * const title = yield* Effect.tryPromise(() => page.title());
67
137
  * return Response.json({ title });
68
- * }),
69
- * ),
138
+ * } finally {
139
+ * yield* Effect.promise(() => session.close());
140
+ * }
141
+ * }),
70
142
  * };
71
143
  * }).pipe(Effect.provide(Cloudflare.BrowserBindingLive)),
72
144
  * );
73
145
  * ```
74
146
  *
75
147
  * @section Worker binding metadata
76
- * @example
148
+ * @example Declare the binding on `env`
77
149
  * ```typescript
78
150
  * export const Worker = Cloudflare.Worker("Worker", {
79
151
  * main: "./src/worker.ts",
@@ -83,7 +155,7 @@ export declare const isBrowser: (value: unknown) => value is Browser;
83
155
  * });
84
156
  *
85
157
  * export type WorkerEnv = Cloudflare.InferEnv<typeof Worker>;
86
- * // { BROWSER: Fetcher }
158
+ * // { BROWSER: BrowserRun }
87
159
  * ```
88
160
  *
89
161
  * @example Async-style worker with the raw runtime binding
@@ -1 +1 @@
1
- {"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Browser/Browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzE,KAAK,aAAa,GAAG,OAAO,aAAa,CAAC;AAC1C,QAAA,MAAM,aAAa,EAAG,oBAA6B,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AAEtE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,IAAI,UAAU,CAAC;IACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;CAC/D;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OACqB,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAChC;;;;OAIG;IACH,IAAI,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;CAelC,CAAC"}
1
+ {"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Browser/Browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzE,KAAK,aAAa,GAAG,OAAO,aAAa,CAAC;AAC1C,QAAA,MAAM,aAAa,EAAG,oBAA6B,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,IAAI,UAAU,CAAC;IACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;CAC/D;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OACqB,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2IG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAChC;;;;OAIG;IACH,IAAI,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;CAelC,CAAC"}
@@ -9,7 +9,73 @@ export const isBrowser = (value) => typeof value === "object" && value?.kind ===
9
9
  * @binding
10
10
  *
11
11
  * @section Effect-style Worker (recommended)
12
- * @example Render a page title with managed browser cleanup
12
+ * @example Bind the runtime client and convert a page to Markdown
13
+ * Yielding the marker attaches the binding to the surrounding Worker and
14
+ * returns the runtime {@link BrowserClient}. Every `cf.BrowserRun` method is
15
+ * mirrored as an Effect, so no `Effect.tryPromise` wrapping is needed.
16
+ * ```typescript
17
+ * import * as Effect from "effect/Effect";
18
+ *
19
+ * Cloudflare.Worker(
20
+ * "BrowserWorker",
21
+ * { main: import.meta.filename },
22
+ * Effect.gen(function* () {
23
+ * const browser = yield* Cloudflare.Browser({ name: "BROWSER" });
24
+ *
25
+ * return {
26
+ * fetch: Effect.gen(function* () {
27
+ * return yield* browser.markdown({ url: "https://example.com" });
28
+ * }),
29
+ * };
30
+ * }).pipe(Effect.provide(Cloudflare.BrowserBindingLive)),
31
+ * );
32
+ * ```
33
+ *
34
+ * @section Quick Actions
35
+ * @example Render content, screenshot, PDF, and structured data
36
+ * JSON quick actions resolve to their parsed payload; binary actions
37
+ * (`screenshot`, `pdf`) resolve to a `Stream` of bytes. No `Promise` or
38
+ * `Response.json()` in sight.
39
+ * ```typescript
40
+ * import * as Effect from "effect/Effect";
41
+ * import * as Stream from "effect/Stream";
42
+ *
43
+ * const browser = yield* Cloudflare.Browser({ name: "BROWSER" });
44
+ * const url = "https://example.com";
45
+ *
46
+ * // HTML content — parsed payload, title lives in `meta`.
47
+ * const content = yield* browser.content({ url });
48
+ * const title = content.meta.title;
49
+ *
50
+ * // Scrape elements by CSS selector.
51
+ * yield* browser.scrape({ url, elements: [{ selector: "h1" }] });
52
+ *
53
+ * // Extract all links.
54
+ * const { result: links } = yield* browser.links({ url });
55
+ *
56
+ * // Binary actions stream bytes — collect or pipe them.
57
+ * const png = yield* browser.screenshot({ url }).pipe(Stream.runCollect);
58
+ * const pdf = yield* browser.pdf({ url }).pipe(Stream.runCollect);
59
+ *
60
+ * // AI-extracted structured data.
61
+ * yield* browser.json({ url, prompt: "Extract the page heading" });
62
+ * ```
63
+ *
64
+ * @example Call the generic `quickAction` directly
65
+ * The named methods are thin wrappers over `quickAction`, which mirrors
66
+ * `cf.BrowserRun["quickAction"]` one-to-one.
67
+ * ```typescript
68
+ * const browser = yield* Cloudflare.Browser({ name: "BROWSER" });
69
+ *
70
+ * const res = yield* browser.quickAction("snapshot", {
71
+ * url: "https://example.com",
72
+ * });
73
+ * ```
74
+ *
75
+ * @section Driving Puppeteer
76
+ * @example Use the raw `cf.BrowserRun` binding with `@cloudflare/puppeteer`
77
+ * `raw` hands you the underlying runtime binding. Puppeteer is promise-based,
78
+ * so this is the one place you reach for `Effect.tryPromise`.
13
79
  * ```typescript
14
80
  * import puppeteer from "@cloudflare/puppeteer";
15
81
  * import * as Effect from "effect/Effect";
@@ -18,25 +84,30 @@ export const isBrowser = (value) => typeof value === "object" && value?.kind ===
18
84
  * "BrowserWorker",
19
85
  * { main: import.meta.filename },
20
86
  * Effect.gen(function* () {
21
- * // Attaches the binding to this Worker AND returns the runtime client.
22
87
  * const browser = yield* Cloudflare.Browser({ name: "BROWSER" });
23
88
  *
24
89
  * return {
25
- * fetch: browser.withBrowser(puppeteer, (browser) =>
26
- * Effect.gen(function* () {
27
- * const page = yield* Effect.tryPromise(() => browser.newPage());
90
+ * fetch: Effect.gen(function* () {
91
+ * const binding = yield* browser.raw;
92
+ * const session = yield* Effect.tryPromise(() =>
93
+ * puppeteer.launch(binding),
94
+ * );
95
+ * try {
96
+ * const page = yield* Effect.tryPromise(() => session.newPage());
28
97
  * yield* Effect.tryPromise(() => page.goto("https://example.com"));
29
98
  * const title = yield* Effect.tryPromise(() => page.title());
30
99
  * return Response.json({ title });
31
- * }),
32
- * ),
100
+ * } finally {
101
+ * yield* Effect.promise(() => session.close());
102
+ * }
103
+ * }),
33
104
  * };
34
105
  * }).pipe(Effect.provide(Cloudflare.BrowserBindingLive)),
35
106
  * );
36
107
  * ```
37
108
  *
38
109
  * @section Worker binding metadata
39
- * @example
110
+ * @example Declare the binding on `env`
40
111
  * ```typescript
41
112
  * export const Worker = Cloudflare.Worker("Worker", {
42
113
  * main: "./src/worker.ts",
@@ -46,7 +117,7 @@ export const isBrowser = (value) => typeof value === "object" && value?.kind ===
46
117
  * });
47
118
  *
48
119
  * export type WorkerEnv = Cloudflare.InferEnv<typeof Worker>;
49
- * // { BROWSER: Fetcher }
120
+ * // { BROWSER: BrowserRun }
50
121
  * ```
51
122
  *
52
123
  * @example Async-style worker with the raw runtime binding
@@ -1 +1 @@
1
- {"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../src/Cloudflare/Browser/Browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAsB,MAAM,qBAAqB,CAAC;AAGzE,MAAM,aAAa,GAAG,oBAA6B,CAAC;AAwCpD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAoB,EAAE,CAC5D,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAiB,EAAE,IAAI,KAAK,aAAa,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,MAAM,CAAC,MAAM,OAAO,GAQhB,MAAM,CAAC,MAAM,CACf,CAAC,KAAoB,EAAW,EAAE;IAChC,MAAM,IAAI,GAAY;QACpB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,SAAS;QAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtE,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,EACD;IACE,IAAI,EAAE,CAAC,GAAG,IAA4C,EAAE,EAAE,CACxD,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/B,CACF,CAAC"}
1
+ {"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../src/Cloudflare/Browser/Browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAsB,MAAM,qBAAqB,CAAC;AAGzE,MAAM,aAAa,GAAG,oBAA6B,CAAC;AAyCpD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAoB,EAAE,CAC5D,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAiB,EAAE,IAAI,KAAK,aAAa,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2IG;AACH,MAAM,CAAC,MAAM,OAAO,GAQhB,MAAM,CAAC,MAAM,CACf,CAAC,KAAoB,EAAW,EAAE;IAChC,MAAM,IAAI,GAAY;QACpB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,SAAS;QAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtE,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,EACD;IACE,IAAI,EAAE,CAAC,GAAG,IAA4C,EAAE,EAAE,CACxD,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/B,CACF,CAAC"}