alchemy 2.0.0-beta.40 → 2.0.0-beta.41

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 (179) hide show
  1. package/bin/exec.js +16 -3
  2. package/bin/exec.js.map +1 -1
  3. package/lib/AWS/EC2/hosted.js +1 -1
  4. package/lib/AWS/EC2/hosted.js.map +1 -1
  5. package/lib/AWS/ECS/Task.js +1 -1
  6. package/lib/AWS/ECS/Task.js.map +1 -1
  7. package/lib/AWS/Lambda/BucketEventSource.d.ts +1 -1
  8. package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
  9. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +1 -1
  10. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts.map +1 -1
  11. package/lib/AWS/Lambda/Function.js +1 -1
  12. package/lib/AWS/Lambda/Function.js.map +1 -1
  13. package/lib/AWS/Lambda/QueueEventSource.d.ts +1 -1
  14. package/lib/AWS/Lambda/QueueEventSource.d.ts.map +1 -1
  15. package/lib/AWS/Lambda/StreamEventSource.d.ts +1 -1
  16. package/lib/AWS/Lambda/StreamEventSource.d.ts.map +1 -1
  17. package/lib/AWS/Lambda/TableEventSource.d.ts +1 -1
  18. package/lib/AWS/Lambda/TableEventSource.d.ts.map +1 -1
  19. package/lib/AWS/Lambda/TopicEventSource.d.ts +1 -1
  20. package/lib/AWS/Lambda/TopicEventSource.d.ts.map +1 -1
  21. package/lib/Apply.d.ts.map +1 -1
  22. package/lib/Apply.js +41 -7
  23. package/lib/Apply.js.map +1 -1
  24. package/lib/Cloudflare/Bridge.d.ts +1 -0
  25. package/lib/Cloudflare/Bridge.d.ts.map +1 -1
  26. package/lib/Cloudflare/Bridge.js +1 -0
  27. package/lib/Cloudflare/Bridge.js.map +1 -1
  28. package/lib/Cloudflare/Container/ContainerApplication.js +1 -1
  29. package/lib/Cloudflare/Container/ContainerApplication.js.map +1 -1
  30. package/lib/Cloudflare/Container/ContainerBinding.d.ts +1 -1
  31. package/lib/Cloudflare/Container/ContainerBinding.d.ts.map +1 -1
  32. package/lib/Cloudflare/Container/ContainerBinding.js +1 -1
  33. package/lib/Cloudflare/Container/ContainerBinding.js.map +1 -1
  34. package/lib/Cloudflare/Fetcher.d.ts +9 -0
  35. package/lib/Cloudflare/Fetcher.d.ts.map +1 -1
  36. package/lib/Cloudflare/Fetcher.js +20 -1
  37. package/lib/Cloudflare/Fetcher.js.map +1 -1
  38. package/lib/Cloudflare/Local/SidecarHandlers.d.ts.map +1 -1
  39. package/lib/Cloudflare/Local/SidecarHandlers.js +1 -1
  40. package/lib/Cloudflare/Local/SidecarHandlers.js.map +1 -1
  41. package/lib/Cloudflare/StateStore/Api.d.ts +2 -2
  42. package/lib/Cloudflare/Website/StaticSite.d.ts +5 -4
  43. package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
  44. package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
  45. package/lib/Cloudflare/Website/Vite.d.ts +4 -4
  46. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  47. package/lib/Cloudflare/Website/Vite.js.map +1 -1
  48. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts +17 -0
  49. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -0
  50. package/lib/Cloudflare/Workers/DurableObjectBridge.js +86 -0
  51. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -0
  52. package/lib/Cloudflare/Workers/DurableObjectNamespace.d.ts +2 -1
  53. package/lib/Cloudflare/Workers/DurableObjectNamespace.d.ts.map +1 -1
  54. package/lib/Cloudflare/Workers/DurableObjectNamespace.js +10 -39
  55. package/lib/Cloudflare/Workers/DurableObjectNamespace.js.map +1 -1
  56. package/lib/Cloudflare/Workers/HttpServer.d.ts +2 -8
  57. package/lib/Cloudflare/Workers/HttpServer.d.ts.map +1 -1
  58. package/lib/Cloudflare/Workers/HttpServer.js +29 -33
  59. package/lib/Cloudflare/Workers/HttpServer.js.map +1 -1
  60. package/lib/Cloudflare/Workers/InferEnv.d.ts +5 -24
  61. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  62. package/lib/Cloudflare/Workers/Rpc.d.ts +0 -101
  63. package/lib/Cloudflare/Workers/Rpc.d.ts.map +1 -1
  64. package/lib/Cloudflare/Workers/Rpc.js +9 -286
  65. package/lib/Cloudflare/Workers/Rpc.js.map +1 -1
  66. package/lib/Cloudflare/Workers/RpcAsync.d.ts +8 -0
  67. package/lib/Cloudflare/Workers/RpcAsync.d.ts.map +1 -0
  68. package/lib/Cloudflare/Workers/RpcAsync.js +45 -0
  69. package/lib/Cloudflare/Workers/RpcAsync.js.map +1 -0
  70. package/lib/Cloudflare/Workers/Worker.d.ts +16 -162
  71. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  72. package/lib/Cloudflare/Workers/Worker.js +49 -354
  73. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  74. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +8 -0
  75. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -0
  76. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +129 -0
  77. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -0
  78. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +154 -0
  79. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -0
  80. package/lib/Cloudflare/Workers/WorkerBinding.js +51 -0
  81. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -0
  82. package/lib/Cloudflare/Workers/WorkerBridge.d.ts +35 -0
  83. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -0
  84. package/lib/Cloudflare/Workers/WorkerBridge.js +149 -0
  85. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -0
  86. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  87. package/lib/Cloudflare/Workers/WorkerBundle.js +18 -84
  88. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  89. package/lib/Cloudflare/Workers/WorkerRuntimeContext.d.ts +8 -0
  90. package/lib/Cloudflare/Workers/WorkerRuntimeContext.d.ts.map +1 -0
  91. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js +113 -0
  92. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js.map +1 -0
  93. package/lib/Cloudflare/Workers/WorkflowBridge.d.ts +26 -0
  94. package/lib/Cloudflare/Workers/WorkflowBridge.d.ts.map +1 -0
  95. package/lib/Cloudflare/Workers/WorkflowBridge.js +41 -0
  96. package/lib/Cloudflare/Workers/WorkflowBridge.js.map +1 -0
  97. package/lib/Cloudflare/Workers/index.d.ts +4 -0
  98. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  99. package/lib/Cloudflare/Workers/index.js +4 -0
  100. package/lib/Cloudflare/Workers/index.js.map +1 -1
  101. package/lib/Cloudflare/index.d.ts +4 -2
  102. package/lib/Cloudflare/index.d.ts.map +1 -1
  103. package/lib/Cloudflare/index.js +4 -2
  104. package/lib/Cloudflare/index.js.map +1 -1
  105. package/lib/Neon/Project.d.ts.map +1 -1
  106. package/lib/Neon/Project.js +2 -1
  107. package/lib/Neon/Project.js.map +1 -1
  108. package/lib/Platform.d.ts +3 -4
  109. package/lib/Platform.d.ts.map +1 -1
  110. package/lib/Platform.js.map +1 -1
  111. package/lib/Rpc.d.ts +17 -0
  112. package/lib/Rpc.d.ts.map +1 -0
  113. package/lib/Rpc.js +1 -0
  114. package/lib/Rpc.js.map +1 -0
  115. package/lib/RuntimeContext.d.ts +1 -0
  116. package/lib/RuntimeContext.d.ts.map +1 -1
  117. package/lib/RuntimeContext.js.map +1 -1
  118. package/lib/Sidecar/RpcHandler.d.ts.map +1 -1
  119. package/lib/Sidecar/RpcHandler.js +13 -9
  120. package/lib/Sidecar/RpcHandler.js.map +1 -1
  121. package/lib/State/HttpStateApi.d.ts +10 -0
  122. package/lib/State/HttpStateApi.d.ts.map +1 -1
  123. package/lib/State/HttpStateApi.js +10 -0
  124. package/lib/State/HttpStateApi.js.map +1 -1
  125. package/lib/State/HttpStateStore.d.ts.map +1 -1
  126. package/lib/State/HttpStateStore.js +2 -1
  127. package/lib/State/HttpStateStore.js.map +1 -1
  128. package/lib/State/InMemoryState.d.ts.map +1 -1
  129. package/lib/State/InMemoryState.js +2 -0
  130. package/lib/State/InMemoryState.js.map +1 -1
  131. package/lib/State/LocalState.d.ts.map +1 -1
  132. package/lib/State/LocalState.js +2 -0
  133. package/lib/State/LocalState.js.map +1 -1
  134. package/lib/State/State.d.ts +8 -0
  135. package/lib/State/State.d.ts.map +1 -1
  136. package/lib/State/StateEncoding.d.ts.map +1 -1
  137. package/lib/State/StateEncoding.js +5 -1
  138. package/lib/State/StateEncoding.js.map +1 -1
  139. package/lib/index.d.ts +2 -1
  140. package/lib/index.d.ts.map +1 -1
  141. package/lib/index.js +1 -1
  142. package/lib/index.js.map +1 -1
  143. package/lib/tsconfig.test.tsbuildinfo +1 -1
  144. package/package.json +1 -1
  145. package/src/Apply.ts +44 -10
  146. package/src/Cli/Event.ts +1 -1
  147. package/src/Cloudflare/Bridge.ts +1 -0
  148. package/src/Cloudflare/Container/ContainerBinding.ts +1 -1
  149. package/src/Cloudflare/Fetcher.ts +38 -1
  150. package/src/Cloudflare/Local/SidecarHandlers.ts +3 -6
  151. package/src/Cloudflare/Website/StaticSite.ts +10 -5
  152. package/src/Cloudflare/Website/Vite.ts +7 -4
  153. package/src/Cloudflare/Workers/DurableObjectBridge.ts +180 -0
  154. package/src/Cloudflare/Workers/DurableObjectNamespace.ts +22 -70
  155. package/src/Cloudflare/Workers/HttpServer.ts +25 -39
  156. package/src/Cloudflare/Workers/InferEnv.ts +42 -78
  157. package/src/Cloudflare/Workers/Rpc.ts +18 -417
  158. package/src/Cloudflare/Workers/RpcAsync.ts +63 -0
  159. package/src/Cloudflare/Workers/Worker.ts +107 -548
  160. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +149 -0
  161. package/src/Cloudflare/Workers/WorkerBinding.ts +103 -0
  162. package/src/Cloudflare/Workers/WorkerBridge.ts +304 -0
  163. package/src/Cloudflare/Workers/WorkerBundle.ts +17 -83
  164. package/src/Cloudflare/Workers/WorkerRuntimeContext.ts +164 -0
  165. package/src/Cloudflare/Workers/WorkflowBridge.ts +92 -0
  166. package/src/Cloudflare/Workers/index.ts +4 -0
  167. package/src/Cloudflare/index.ts +4 -2
  168. package/src/Neon/Project.ts +3 -1
  169. package/src/Platform.ts +3 -4
  170. package/src/Rpc.ts +25 -0
  171. package/src/RuntimeContext.ts +1 -0
  172. package/src/Sidecar/RpcHandler.ts +18 -9
  173. package/src/State/HttpStateApi.ts +11 -0
  174. package/src/State/HttpStateStore.ts +7 -2
  175. package/src/State/InMemoryState.ts +2 -0
  176. package/src/State/LocalState.ts +2 -0
  177. package/src/State/State.ts +8 -0
  178. package/src/State/StateEncoding.ts +8 -1
  179. package/src/index.ts +7 -6
@@ -1,9 +1,7 @@
1
- import type * as cf from "@cloudflare/workers-types";
2
1
  import * as Cause from "effect/Cause";
3
2
  import * as Effect from "effect/Effect";
4
3
  import * as Stream from "effect/Stream";
5
4
  import * as Socket from "effect/unstable/socket/Socket";
6
- import type { ExtractRpcShape, RpcPromiseShape } from "./InferEnv.ts";
7
5
  export declare const StreamTag = "~alchemy/rpc/stream";
8
6
  export declare const ErrorTag = "~alchemy/rpc/error";
9
7
  export declare const StreamErrorTag = "~alchemy/rpc/stream-error";
@@ -75,105 +73,6 @@ export declare const decodeRpcResult: (value: unknown) => Effect.Effect<unknown,
75
73
  * its methods are called at exec, even though it's *defined* at init).
76
74
  */
77
75
  export declare const makeRpcStub: <Shape>(stubSource: unknown | Effect.Effect<unknown, never, never>) => Shape;
78
- /**
79
- * Wrap a raw Cloudflare service binding (the wire-typed view emitted by
80
- * `InferEnv`) into a Promise-flavored API for non-Effect consumers.
81
- *
82
- * Effect-native worker methods serialize their results as envelopes:
83
- * `Effect.fail` becomes `RpcErrorEnvelope`, `Stream` becomes
84
- * `RpcStreamEnvelope`, and `Effect.succeed`/raw values pass through. This
85
- * proxy auto-decodes those envelopes — error envelopes are thrown so the
86
- * caller's `await` rejects, and stream envelopes are unwrapped to their raw
87
- * `ReadableStream<Uint8Array>` body.
88
- *
89
- * `Service.fetch` and `Service.connect` pass through untouched, so the
90
- * returned proxy is still a usable `Service` binding.
91
- *
92
- * For Effect-to-Effect cross-worker calls, prefer `bindWorker(Worker)` —
93
- * it preserves typed errors and decoded streams.
94
- *
95
- * The generic parameter is the Worker *class* (or its Effect form), the
96
- * same value you would pass to `bindWorker`. Shape is recovered from the
97
- * embedded `Rpc<Shape>`.
98
- *
99
- * @example
100
- * ```ts
101
- * import * as Cloudflare from "alchemy/Cloudflare";
102
- * import Backend from "./backend.ts";
103
- *
104
- * const backend = Cloudflare.toPromiseApi<typeof Backend>(env.BACKEND);
105
- * const greeting = await backend.hello(key); // throws on Effect.fail
106
- * ```
107
- */
108
- export declare const toPromiseApi: <W>(stub: any) => RpcPromiseShape<ExtractRpcShape<W>> & Service;
109
- /**
110
- * Create a DurableObjectBridge class that proxies RPC method calls through
111
- * the Effect runtime, encoding success/fail/stream results as RPC envelopes.
112
- *
113
- * Accepts the `DurableObject` base class and a `getExport` resolver so the
114
- * implementation lives in real TypeScript instead of a generated string template.
115
- */
116
- export declare const makeDurableObjectBridge: (DurableObject: abstract new (state: unknown, env: unknown) => cf.DurableObject, getExport: (name: string) => Promise<(state: unknown, env: unknown) => Effect.Effect<Record<string, unknown>>>) => (className: string) => {
117
- new (state: {
118
- blockConcurrencyWhile: (fn: () => Promise<unknown>) => Promise<unknown>;
119
- }, env: unknown): {
120
- readonly object: Promise<DurableObjectShape>;
121
- fetch(request: cf.Request): Promise<cf.Response>;
122
- alarm(alarmInfo?: cf.AlarmInvocationInfo): Promise<void>;
123
- webSocketMessage(ws: cf.WebSocket, message: string | ArrayBuffer): Promise<void>;
124
- webSocketClose(ws: cf.WebSocket, code: number, reason: string, wasClean: boolean): Promise<void>;
125
- connect?(socket: cf.Socket): void | Promise<void>;
126
- webSocketError?(ws: cf.WebSocket, error: unknown): void | Promise<void>;
127
- };
128
- };
129
- /**
130
- * Create a `WorkerBridge` class — a `WorkerEntrypoint` subclass that
131
- * Cloudflare instantiates per request and dispatches both standard
132
- * handlers (`fetch`/`scheduled`/…) and RPC method calls into.
133
- *
134
- * The bridge is intentionally layer-ignorant: all runtime-layer plumbing
135
- * (services, scope, `WorkerExecutionContext`) lives in the platform's
136
- * `runtimeContext.exports` flow, which builds:
137
- *
138
- * - `getDefault()` → `{ fetch, scheduled, … }` — handler dispatchers
139
- * that the bridge forwards `(input, env, ctx)` to.
140
- * - `getRpc()` → `{ method: (args, ctx) => Promise<envelope> }` —
141
- * pre-wrapped RPC dispatchers that already run the user effect with
142
- * the right runtime layer and envelope-encode the result.
143
- *
144
- * Cloudflare's script-validate step requires standard handler methods
145
- * (`fetch`/`scheduled`/etc.) to be visible on the class prototype. We
146
- * declare static stubs there and override them per-instance with
147
- * closure-bound forwarders that capture `ctx`/`env` from the constructor
148
- * (prototype-level `this` doesn't survive the proxy + RPC dispatch
149
- * round-trip in some Cloudflare runtime versions).
150
- */
151
- export declare const makeWorkerBridge: (WorkerEntrypoint: abstract new (ctx: unknown, env: unknown) => {
152
- fetch?(request: cf.Request): Promise<cf.Response> | cf.Response;
153
- }, ExportedHandlerMethods: ReadonlyArray<string>, getDefault: () => Promise<Record<string, any>>, getRpc: () => Promise<Record<string, any>>) => {
154
- new (ctx: unknown, env: unknown): {
155
- fetch?(request: cf.Request): Promise<cf.Response> | cf.Response;
156
- };
157
- };
158
- /**
159
- * Create a WorkflowBridge class that extends `WorkflowEntrypoint` and
160
- * delegates the `run(event, step)` call to the Effect-native workflow body
161
- * registered via `worker.export(...)`.
162
- *
163
- * The bridge provides `WorkflowEvent` and `WorkflowStep` as Effect
164
- * services so the user writes `yield* WorkflowEvent` and `yield* task(...)`
165
- * instead of receiving callback parameters.
166
- */
167
- export declare const makeWorkflowBridge: (WorkflowEntrypoint: abstract new (ctx: unknown, env: unknown) => {
168
- run(event: any, step: any): Promise<unknown>;
169
- }, getExport: (name: string) => Promise<(env: unknown) => Effect.Effect<(input: unknown) => Effect.Effect<unknown, never, any>>>) => (className: string) => {
170
- new (ctx: unknown, env: unknown): {
171
- readonly fn: Promise<(input: unknown) => Effect.Effect<unknown, never, any>>;
172
- readonly env: unknown;
173
- run(event: any, step: any): Promise<unknown>;
174
- };
175
- };
176
- import type { DurableObjectShape } from "./DurableObjectNamespace.ts";
177
76
  export declare const toRpcStream: (stream: Stream.Stream<any, any, any>) => Effect.Effect<{
178
77
  _tag: "~alchemy/rpc/stream";
179
78
  encoding: "bytes";
@@ -1 +1 @@
1
- {"version":3,"file":"Rpc.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/Rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Rpc.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/Rpc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AAIxD,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,eAAO,MAAM,QAAQ,uBAAuB,CAAC;AAC7C,eAAO,MAAM,cAAc,8BAA8B,CAAC;AAE1D,KAAK,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;AAExC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,SAAS,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CAClC,CAAC;;;;AAEF,qBAAa,cAAe,SAAQ,oBAAmC;IACrE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;IACA,IAAa,OAAO,WAInB;CACF;;;;AAED,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;IACA,IAAa,OAAO,WAInB;CACF;;;;AAED,qBAAa,oBAAqB,SAAQ,0BAExC;IACA,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAEL,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,OAAO,QAAQ,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,OAAO,cAAc,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,OAAO,KACb,KAAK,IAAI,oBAKM,CAAC;AAEnB,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,gBAK3C,CAAC;AAEnB;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,OAqB/C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,OAAO,KACb,KAAK,IAAI,iBAQ0B,CAAC;AAEvC,eAAO,MAAM,qBAAqB,GAChC,MAAM,cAAc,CAAC,UAAU,CAAC,EAChC,UAAU,cAAc,KACvB,MAAM,CAAC,MAAM,CACd,GAAG,EACH,MAAM,CAAC,WAAW,GAAG,cAAc,GAAG,oBAAoB,CAgC3D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,UAAU,iBAAiB,KAC1B,MAAM,CAAC,MAAM,CACd,GAAG,EACH,MAAM,CAAC,WAAW,GAAG,cAAc,GAAG,oBAAoB,CACA,CAAC;AAE7D,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,YAU5C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,OAAO,KACb,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAKhC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,EAC/B,YAAY,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KACzD,KAyBF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;;;cA6C7D,CAAC"}
@@ -7,8 +7,6 @@ import * as Stream from "effect/Stream";
7
7
  import * as Socket from "effect/unstable/socket/Socket";
8
8
  import { isYieldableEffect } from "../../Util/effect.js";
9
9
  import { fromCloudflareFetcher } from "../Fetcher.js";
10
- import { serveWebRequest } from "./HttpServer.js";
11
- import { fromWebSocket } from "./WebSocket.js";
12
10
  export const StreamTag = "~alchemy/rpc/stream";
13
11
  export const ErrorTag = "~alchemy/rpc/error";
14
12
  export const StreamErrorTag = "~alchemy/rpc/stream-error";
@@ -146,290 +144,6 @@ export const makeRpcStub = (stubSource) => {
146
144
  },
147
145
  });
148
146
  };
149
- /**
150
- * Wrap a raw Cloudflare service binding (the wire-typed view emitted by
151
- * `InferEnv`) into a Promise-flavored API for non-Effect consumers.
152
- *
153
- * Effect-native worker methods serialize their results as envelopes:
154
- * `Effect.fail` becomes `RpcErrorEnvelope`, `Stream` becomes
155
- * `RpcStreamEnvelope`, and `Effect.succeed`/raw values pass through. This
156
- * proxy auto-decodes those envelopes — error envelopes are thrown so the
157
- * caller's `await` rejects, and stream envelopes are unwrapped to their raw
158
- * `ReadableStream<Uint8Array>` body.
159
- *
160
- * `Service.fetch` and `Service.connect` pass through untouched, so the
161
- * returned proxy is still a usable `Service` binding.
162
- *
163
- * For Effect-to-Effect cross-worker calls, prefer `bindWorker(Worker)` —
164
- * it preserves typed errors and decoded streams.
165
- *
166
- * The generic parameter is the Worker *class* (or its Effect form), the
167
- * same value you would pass to `bindWorker`. Shape is recovered from the
168
- * embedded `Rpc<Shape>`.
169
- *
170
- * @example
171
- * ```ts
172
- * import * as Cloudflare from "alchemy/Cloudflare";
173
- * import Backend from "./backend.ts";
174
- *
175
- * const backend = Cloudflare.toPromiseApi<typeof Backend>(env.BACKEND);
176
- * const greeting = await backend.hello(key); // throws on Effect.fail
177
- * ```
178
- */
179
- export const toPromiseApi = (stub) => new Proxy(stub, {
180
- get: (target, prop) => {
181
- // `Service` methods (fetch/connect) and any non-string keys (Symbol.dispose, etc.)
182
- // pass through to the underlying Cloudflare binding unchanged.
183
- if (typeof prop !== "string" || prop === "fetch" || prop === "connect") {
184
- const value = target[prop];
185
- return typeof value === "function" ? value.bind(target) : value;
186
- }
187
- return async (...args) => {
188
- const result = await target[prop](...args);
189
- if (isRpcErrorEnvelope(result)) {
190
- throw decodeRpcThrowable(result.error);
191
- }
192
- if (isRpcStreamEnvelope(result)) {
193
- return result.body;
194
- }
195
- return result;
196
- };
197
- },
198
- });
199
- /**
200
- * Reconstruct a throwable from {@link encodeRpcError}'s wire form. Plain
201
- * `Error` payloads are rebuilt as `Error` instances so `.message`/`.name`/
202
- * `.stack` survive. Tagged errors (anything with a `_tag`) and primitives
203
- * are thrown as-is so `try { ... } catch (e) { if (e._tag === ...) }` keeps
204
- * working.
205
- */
206
- const decodeRpcThrowable = (error) => {
207
- if (error === null || typeof error !== "object")
208
- return error;
209
- const obj = error;
210
- if ("_tag" in obj)
211
- return obj;
212
- if (typeof obj.message === "string" || typeof obj.name === "string") {
213
- const e = new Error(typeof obj.message === "string" ? obj.message : "");
214
- if (typeof obj.name === "string")
215
- e.name = obj.name;
216
- if (typeof obj.stack === "string")
217
- e.stack = obj.stack;
218
- return e;
219
- }
220
- return error;
221
- };
222
- /**
223
- * Create a DurableObjectBridge class that proxies RPC method calls through
224
- * the Effect runtime, encoding success/fail/stream results as RPC envelopes.
225
- *
226
- * Accepts the `DurableObject` base class and a `getExport` resolver so the
227
- * implementation lives in real TypeScript instead of a generated string template.
228
- */
229
- export const makeDurableObjectBridge = (DurableObject, getExport) => (className) => class DurableObjectBridge extends DurableObject {
230
- object;
231
- async fetch(request) {
232
- const methods = await this.object;
233
- if (methods.fetch) {
234
- const fetch = methods.fetch;
235
- const response = await serveWebRequest(request, fetch).pipe(Effect.runPromise);
236
- return response;
237
- }
238
- else {
239
- return new Response("Method not found", { status: 404 });
240
- }
241
- }
242
- async alarm(alarmInfo) {
243
- const methods = await this.object;
244
- if (methods.alarm) {
245
- await Effect.runPromise(methods.alarm(alarmInfo));
246
- }
247
- }
248
- async webSocketMessage(ws, message) {
249
- const methods = await this.object;
250
- if (methods.webSocketMessage) {
251
- const socket = fromWebSocket(ws);
252
- const value = methods.webSocketMessage(socket, message);
253
- if (Effect.isEffect(value)) {
254
- await Effect.runPromise(value);
255
- }
256
- }
257
- }
258
- async webSocketClose(ws, code, reason, wasClean) {
259
- const methods = await this.object;
260
- if (methods.webSocketClose) {
261
- const socket = fromWebSocket(ws);
262
- const value = methods.webSocketClose(socket, code, reason, wasClean);
263
- if (Effect.isEffect(value)) {
264
- await Effect.runPromise(value);
265
- }
266
- }
267
- }
268
- constructor(state, env) {
269
- super(state, env);
270
- this.object = state.blockConcurrencyWhile(async () => {
271
- const makeDurableObject = await getExport(className);
272
- return await Effect.runPromise(makeDurableObject(state, env));
273
- });
274
- return new Proxy(this, {
275
- get: (target, prop) => prop in target
276
- ? target[prop]
277
- : async (...args) => {
278
- const methods = await this.object;
279
- const method = methods[prop]; // TODO(sam): what should the type be? Is it safe to always call it?
280
- const value = method(...args);
281
- if (Effect.isEffect(value)) {
282
- const exit = await Effect.runPromiseExit(value);
283
- if (exit._tag === "Success") {
284
- if (Stream.isStream(exit.value)) {
285
- return await Effect.runPromise(toRpcStream(exit.value));
286
- }
287
- return exit.value;
288
- }
289
- const failReason = exit.cause.reasons.find(Cause.isFailReason);
290
- if (failReason) {
291
- return {
292
- _tag: ErrorTag,
293
- error: encodeRpcError(failReason.error),
294
- };
295
- }
296
- const dieReason = exit.cause.reasons.find(Cause.isDieReason);
297
- throw (dieReason?.defect ??
298
- new Error("RPC method failed with an unexpected cause"));
299
- }
300
- return value;
301
- },
302
- });
303
- }
304
- };
305
- /**
306
- * Create a `WorkerBridge` class — a `WorkerEntrypoint` subclass that
307
- * Cloudflare instantiates per request and dispatches both standard
308
- * handlers (`fetch`/`scheduled`/…) and RPC method calls into.
309
- *
310
- * The bridge is intentionally layer-ignorant: all runtime-layer plumbing
311
- * (services, scope, `WorkerExecutionContext`) lives in the platform's
312
- * `runtimeContext.exports` flow, which builds:
313
- *
314
- * - `getDefault()` → `{ fetch, scheduled, … }` — handler dispatchers
315
- * that the bridge forwards `(input, env, ctx)` to.
316
- * - `getRpc()` → `{ method: (args, ctx) => Promise<envelope> }` —
317
- * pre-wrapped RPC dispatchers that already run the user effect with
318
- * the right runtime layer and envelope-encode the result.
319
- *
320
- * Cloudflare's script-validate step requires standard handler methods
321
- * (`fetch`/`scheduled`/etc.) to be visible on the class prototype. We
322
- * declare static stubs there and override them per-instance with
323
- * closure-bound forwarders that capture `ctx`/`env` from the constructor
324
- * (prototype-level `this` doesn't survive the proxy + RPC dispatch
325
- * round-trip in some Cloudflare runtime versions).
326
- */
327
- export const makeWorkerBridge = (WorkerEntrypoint, ExportedHandlerMethods, getDefault, getRpc) => {
328
- class WorkerBridge extends WorkerEntrypoint {
329
- constructor(ctx, env) {
330
- super(ctx, env);
331
- // Override handler methods per-instance with closure-bound forwarders.
332
- // We read `this.ctx`/`this.env` at *call time* rather than capturing
333
- // the constructor args because Cloudflare's runtime appears to
334
- // populate those instance fields differently depending on whether
335
- // the entrypoint is invoked via direct fetch or RPC — `super(ctx, env)`
336
- // alone isn't enough to guarantee they survive into the call.
337
- const self = this;
338
- // Cloudflare invokes `WorkerEntrypoint.fetch(request)` with only the
339
- // primary input on the *parameter list* — `env`/`ctx` live on `this`
340
- // (and the runtime sometimes passes `(request, undefined, undefined)`
341
- // anyway for legacy compat). Other handlers, including `scheduled`, may
342
- // receive the classic `(input, env, ctx)` arguments. The platform's
343
- // underlying handler dispatch (`handle("fetch")`, `handle("scheduled")`,
344
- // etc.) follows the plain-export signature `(input, env, context)`, so
345
- // prefer explicit handler args when Cloudflare provides them and fall
346
- // back to the WorkerEntrypoint instance fields.
347
- for (const method of ExportedHandlerMethods) {
348
- this[method] = async (input, envArg, ctxArg) => {
349
- const def = await getDefault();
350
- return def?.[method]?.(input, envArg ?? self.env, ctxArg ?? self.ctx);
351
- };
352
- }
353
- // RPC method dispatch — anything Cloudflare RPC tries to invoke that
354
- // isn't an own property goes through the dispatcher table built by
355
- // the platform's exports flow.
356
- return new Proxy(this, {
357
- get: (target, prop) => {
358
- if (typeof prop !== "string")
359
- return target[prop];
360
- if (prop in target)
361
- return target[prop];
362
- return async (...args) => {
363
- const rpc = await getRpc();
364
- const dispatcher = rpc?.[prop];
365
- if (typeof dispatcher !== "function") {
366
- throw new Error(`Method "${prop}" not found on worker. ` +
367
- `Make sure it's returned from the worker's default export.`);
368
- }
369
- return dispatcher(args, self.ctx);
370
- };
371
- },
372
- });
373
- }
374
- }
375
- // Stub prototype methods so Cloudflare's script-validate detects the
376
- // standard handler set; per-instance overrides above are what actually
377
- // run.
378
- for (const method of ExportedHandlerMethods) {
379
- Object.defineProperty(WorkerBridge.prototype, method, {
380
- value: function () {
381
- throw new Error(`Bridge method '${method}' was called before instance setup`);
382
- },
383
- writable: true,
384
- configurable: true,
385
- });
386
- }
387
- return WorkerBridge;
388
- };
389
- /**
390
- * Create a WorkflowBridge class that extends `WorkflowEntrypoint` and
391
- * delegates the `run(event, step)` call to the Effect-native workflow body
392
- * registered via `worker.export(...)`.
393
- *
394
- * The bridge provides `WorkflowEvent` and `WorkflowStep` as Effect
395
- * services so the user writes `yield* WorkflowEvent` and `yield* task(...)`
396
- * instead of receiving callback parameters.
397
- */
398
- export const makeWorkflowBridge = (WorkflowEntrypoint, getExport) => (className) => class WorkflowBridge extends WorkflowEntrypoint {
399
- fn;
400
- env;
401
- constructor(ctx, env) {
402
- super(ctx, env);
403
- this.env = env;
404
- this.fn = getExport(className).then((factory) => Effect.runPromise(factory(env)));
405
- }
406
- async run(event, step) {
407
- const fn = await this.fn;
408
- return Effect.runPromise(fn(event.payload).pipe(Effect.provideService(WorkflowEventService, wrapWorkflowEvent(event)), Effect.provideService(WorkflowStep, wrapWorkflowStep(step))));
409
- }
410
- };
411
- import { WorkflowEvent as WorkflowEventService, WorkflowStep, } from "./Workflow.js";
412
- const wrapWorkflowEvent = (event) => ({
413
- payload: event.payload,
414
- timestamp: event.timestamp instanceof Date
415
- ? event.timestamp
416
- : new Date(event.timestamp),
417
- instanceId: event.instanceId ?? "",
418
- });
419
- const wrapWorkflowStep = (step) => ({
420
- do: (name, effect) => Effect.tryPromise(() => step.do(name, () => Effect.runPromise(effect))),
421
- sleep: (name, duration) => Effect.tryPromise(() => step.sleep(name, duration)),
422
- sleepUntil: (name, timestamp) => Effect.tryPromise(() => step.sleepUntil(name, timestamp instanceof Date ? timestamp.toISOString() : timestamp)),
423
- });
424
- const encodeStreamErrorMarker = (cause) => {
425
- const failReason = cause.reasons.find(Cause.isFailReason);
426
- const error = failReason ? encodeRpcError(failReason.error) : undefined;
427
- return (JSON.stringify({
428
- _tag: StreamErrorTag,
429
- error,
430
- }) + "\n");
431
- };
432
- const appendStreamErrors = (s) => s.pipe(Stream.catchCause((cause) => Stream.succeed(encodeStreamErrorMarker(cause))));
433
147
  export const toRpcStream = (stream) => Effect.scoped(Effect.gen(function* () {
434
148
  const [head, rest] = yield* Stream.peel(stream, Sink.head());
435
149
  if (Option.isSome(head) && head.value instanceof Uint8Array) {
@@ -458,4 +172,13 @@ export const toRpcStream = (stream) => Effect.scoped(Effect.gen(function* () {
458
172
  }
459
173
  return Effect.die(Cause.squash(cause));
460
174
  }));
175
+ const encodeStreamErrorMarker = (cause) => {
176
+ const failReason = cause.reasons.find(Cause.isFailReason);
177
+ const error = failReason ? encodeRpcError(failReason.error) : undefined;
178
+ return (JSON.stringify({
179
+ _tag: StreamErrorTag,
180
+ error,
181
+ }) + "\n");
182
+ };
183
+ const appendStreamErrors = (s) => s.pipe(Stream.catchCause((cause) => Stream.succeed(encodeStreamErrorMarker(cause))));
461
184
  //# sourceMappingURL=Rpc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Rpc.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/Rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Rpc.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/Rpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type * as Effect from "effect/Effect";
2
+ import type * as Stream from "effect/Stream";
3
+ import type { Rpc } from "../../Rpc.ts";
4
+ export type RpcAsync<Shape> = {
5
+ [K in keyof Shape as K extends "fetch" ? never : K]: Shape[K] extends (...args: infer A) => Effect.Effect<infer T, any, any> ? (...args: A) => Promise<T> : Shape[K] extends (...args: infer A) => Stream.Stream<any, any, any> ? (...args: A) => Promise<ReadableStream<Uint8Array>> : Shape[K] extends Effect.Effect<infer T, any, any> ? Promise<T> : Shape[K] extends Stream.Stream<any, any, any> ? Promise<ReadableStream<Uint8Array>> : Shape[K] extends (...args: infer A) => infer R ? (...args: A) => Promise<Awaited<R>> : Promise<Shape[K]>;
6
+ };
7
+ export declare const toRpcAsync: <W>(stub: any) => RpcAsync<Rpc.Shape<W>> & Service;
8
+ //# sourceMappingURL=RpcAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RpcAsync.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/RpcAsync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGxC,MAAM,MAAM,QAAQ,CAAC,KAAK,IAAI;KAC3B,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,SAAS,OAAO,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CACpE,GAAG,IAAI,EAAE,MAAM,CAAC,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1B,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACjE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,GACnD,KAAK,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/C,OAAO,CAAC,CAAC,CAAC,GACV,KAAK,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC3C,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,GACnC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GAC5C,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACnC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,MAAM,GAAG,KAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAqBxD,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { isRpcErrorEnvelope, isRpcStreamEnvelope } from "../Bridge.js";
2
+ export const toRpcAsync = (stub) => new Proxy(stub, {
3
+ get: (target, prop) => {
4
+ // `Service` methods (fetch/connect) and any non-string keys (Symbol.dispose, etc.)
5
+ // pass through to the underlying Cloudflare binding unchanged.
6
+ if (typeof prop !== "string" || prop === "fetch" || prop === "connect") {
7
+ const value = target[prop];
8
+ return typeof value === "function" ? value.bind(target) : value;
9
+ }
10
+ return async (...args) => {
11
+ const result = await target[prop](...args);
12
+ if (isRpcErrorEnvelope(result)) {
13
+ throw decodeRpcThrowable(result.error);
14
+ }
15
+ if (isRpcStreamEnvelope(result)) {
16
+ return result.body;
17
+ }
18
+ return result;
19
+ };
20
+ },
21
+ });
22
+ /**
23
+ * Reconstruct a throwable from {@link encodeRpcError}'s wire form. Plain
24
+ * `Error` payloads are rebuilt as `Error` instances so `.message`/`.name`/
25
+ * `.stack` survive. Tagged errors (anything with a `_tag`) and primitives
26
+ * are thrown as-is so `try { ... } catch (e) { if (e._tag === ...) }` keeps
27
+ * working.
28
+ */
29
+ const decodeRpcThrowable = (error) => {
30
+ if (error === null || typeof error !== "object")
31
+ return error;
32
+ const obj = error;
33
+ if ("_tag" in obj)
34
+ return obj;
35
+ if (typeof obj.message === "string" || typeof obj.name === "string") {
36
+ const e = new Error(typeof obj.message === "string" ? obj.message : "");
37
+ if (typeof obj.name === "string")
38
+ e.name = obj.name;
39
+ if (typeof obj.stack === "string")
40
+ e.stack = obj.stack;
41
+ return e;
42
+ }
43
+ return error;
44
+ };
45
+ //# sourceMappingURL=RpcAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RpcAsync.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/RpcAsync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAkBvE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,IAAS,EAAoC,EAAE,CAC3E,IAAI,KAAK,CAAC,IAAI,EAAE;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACpB,mFAAmF;QACnF,+DAA+D;QAC/D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvE,MAAM,KAAK,GAAI,MAAc,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,CAAC;QAED,OAAO,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,MAAO,MAAc,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACpD,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;CACF,CAAQ,CAAC;AAEZ;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAW,EAAE;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAC9B,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpE,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACpD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACvD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}