effect-cf 0.0.1

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.
@@ -0,0 +1,1362 @@
1
+ import { Cause, Config, ConfigProvider, Context, Effect, Layer, Option, Schema, Scope } from "effect";
2
+ import { DurableObject, RpcStub, RpcTarget, WorkerEntrypoint } from "cloudflare:workers";
3
+ import { HttpServerRequest } from "effect/unstable/http";
4
+ import * as RpcSerialization from "effect/unstable/rpc/RpcSerialization";
5
+ import * as RpcServer from "effect/unstable/rpc/RpcServer";
6
+ import * as _$effect_Types0 from "effect/Types";
7
+ import * as _$effect_Cause0 from "effect/Cause";
8
+ import * as _$effect_Redacted0 from "effect/Redacted";
9
+ import * as _$effect_Layer0 from "effect/Layer";
10
+ import * as _$effect_Schema0 from "effect/Schema";
11
+ import * as _$effect_Context0 from "effect/Context";
12
+ import * as _$effect_Scope0 from "effect/Scope";
13
+
14
+ //#region src/Environment.d.ts
15
+ /** Cloudflare worker environment object (`env`). */
16
+ type WorkerEnv = Cloudflare.Env;
17
+ declare const WorkerEnvironment_base: Context.ServiceClass<WorkerEnvironment, "effect-cf/WorkerEnvironment", Cloudflare.Env>;
18
+ /**
19
+ * Context service for reading worker bindings from the current `env` object.
20
+ */
21
+ declare class WorkerEnvironment extends WorkerEnvironment_base {}
22
+ type ScalarConfigValue = string | number | boolean;
23
+ type ScalarConfigKey = Extract<{ readonly [Key in keyof Cloudflare.Env]-?: NonNullable<Cloudflare.Env[Key]> extends ScalarConfigValue ? Key : never }[keyof Cloudflare.Env], string>;
24
+ /**
25
+ * Effect `Config` helpers for scalar Cloudflare vars and secrets declared on
26
+ * `Cloudflare.Env` / generated `worker-configuration.d.ts`.
27
+ *
28
+ * Users still author their app config explicitly with Effect `Config`:
29
+ *
30
+ * ```ts
31
+ * import { Config, Effect } from "effect";
32
+ * import { WorkerConfig } from "effect-cf";
33
+ *
34
+ * const AppConfig = Config.all({
35
+ * databaseUrl: WorkerConfig.redacted("DATABASE_URL"),
36
+ * port: WorkerConfig.integer("PORT").pipe(Config.withDefault(8787)),
37
+ * });
38
+ *
39
+ * const program = Effect.gen(function* () {
40
+ * const config = yield* AppConfig;
41
+ * // ...
42
+ * }).pipe(Effect.provide(WorkerConfig.layer));
43
+ * ```
44
+ *
45
+ * Keys are constrained to scalar `Cloudflare.Env` properties (`string`,
46
+ * `number`, or `boolean`, including optional scalar properties). Binding
47
+ * objects such as `KVNamespace`, `DurableObjectNamespace`, and service
48
+ * bindings are intentionally excluded; keep using the package binding helpers
49
+ * for those live resources.
50
+ */
51
+ declare namespace WorkerConfig {
52
+ /** Scalar env value types supported by the typed config key helpers. */
53
+ type Scalar = ScalarConfigValue;
54
+ /** Scalar keys available on the current consumer's `Cloudflare.Env`. */
55
+ type Key = ScalarConfigKey;
56
+ /** Read a scalar Cloudflare var or secret as a string. */
57
+ const string: <const Name extends Key>(name: Name) => Config.Config<string>;
58
+ /** Read a scalar Cloudflare secret as a redacted string. */
59
+ const redacted: <const Name extends Key>(name: Name) => Config.Config<_$effect_Redacted0.Redacted<string>>;
60
+ /** Read a scalar Cloudflare var or secret as a number. */
61
+ const number: <const Name extends Key>(name: Name) => Config.Config<number>;
62
+ /** Read a scalar Cloudflare var or secret as an integer. */
63
+ const integer: <const Name extends Key>(name: Name) => Config.Config<number>;
64
+ /** Read a scalar Cloudflare var or secret as a boolean. */
65
+ const boolean: <const Name extends Key>(name: Name) => Config.Config<boolean>;
66
+ /** Build a `ConfigProvider` from the current `WorkerEnvironment`. */
67
+ const provider: Effect.Effect<ConfigProvider.ConfigProvider, never, WorkerEnvironment>;
68
+ /**
69
+ * Replace the active Effect `ConfigProvider` with one backed by the current
70
+ * Cloudflare worker `env` object.
71
+ */
72
+ const providerLayer: _$effect_Layer0.Layer<never, never, WorkerEnvironment>;
73
+ /** Alias for `providerLayer` for concise use in worker layers. */
74
+ const layer: _$effect_Layer0.Layer<never, never, WorkerEnvironment>;
75
+ }
76
+ declare namespace Binding_d_exports {
77
+ export { BindingNotFoundError, BindingValidationError, Service$3 as Service, TypeId$2 as TypeId };
78
+ }
79
+ /** Internal type id marker used by binding helper services. */
80
+ declare const TypeId$2: "effect-cf/Binding";
81
+ declare const BindingNotFoundError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
82
+ readonly _tag: "BindingNotFoundError";
83
+ } & Readonly<A>;
84
+ /** Error raised when a configured binding does not exist on `env`. */
85
+ declare class BindingNotFoundError extends BindingNotFoundError_base<{
86
+ readonly binding: string;
87
+ }> {}
88
+ declare const BindingValidationError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
89
+ readonly _tag: "BindingValidationError";
90
+ } & Readonly<A>;
91
+ /** Error raised when a binding exists but does not match the expected shape. */
92
+ declare class BindingValidationError extends BindingValidationError_base<{
93
+ readonly binding: string;
94
+ }> {}
95
+ /**
96
+ * Creates a Context tag + layer for reading and validating a Cloudflare binding.
97
+ */
98
+ declare const Service$3: <Self>() => <Id extends string, Resource>(id: Id, binding: string, isResource: (value: unknown) => value is Resource) => Context.ServiceClass<Self, Id, Resource> & {
99
+ "effect-cf/Binding": "effect-cf/Binding";
100
+ binding: string;
101
+ layer: Layer.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
102
+ };
103
+ declare namespace Rpc_d_exports {
104
+ export { DisposableValue, MethodArgs, MethodKey, MethodReturn, Provider, Result, RpcStub, RpcTarget, Serializable, Stub, Stubable, Stubify, dispose, isDisposable, resolve, scoped };
105
+ }
106
+ type Stubable = Rpc.Stubable;
107
+ type Stub<T extends Stubable> = Rpc.Stub<T>;
108
+ type Provider<T extends object, Reserved extends string = never> = Rpc.Provider<T, Reserved>;
109
+ type BaseType = void | undefined | null | boolean | number | bigint | string | TypedArray | ArrayBuffer | DataView | Date | Error | RegExp | ReadableStream<Uint8Array> | WritableStream<Uint8Array> | Request | Response | Headers;
110
+ type Serializable<T> = BaseType | Map<T extends Map<infer Key, unknown> ? Serializable<Key> : never, T extends Map<unknown, infer Value> ? Serializable<Value> : never> | Set<T extends Set<infer Value> ? Serializable<Value> : never> | ReadonlyArray<T extends ReadonlyArray<infer Value> ? Serializable<Value> : never> | { [Key in keyof T]: Key extends number | string ? Serializable<T[Key]> : never } | Stub<Stubable> | Stubable;
111
+ type Stubify<T> = T extends Stubable ? Stub<T> : T extends Map<infer Key, infer Value> ? Map<Stubify<Key>, Stubify<Value>> : T extends Set<infer Value> ? Set<Stubify<Value>> : T extends Array<infer Value> ? Array<Stubify<Value>> : T extends ReadonlyArray<infer Value> ? ReadonlyArray<Stubify<Value>> : T extends BaseType ? T : T extends {
112
+ [key: string | number]: unknown;
113
+ } ? { [Key in keyof T]: Stubify<T[Key]> } : T;
114
+ type MaybeProvider<T> = T extends object ? Provider<T> : unknown;
115
+ type MaybeDisposable<T> = T extends object ? Disposable : unknown;
116
+ type Result<T> = T extends Stubable ? Promise<Stub<T>> & Provider<T> : T extends Serializable<T> ? Promise<Stubify<T> & MaybeDisposable<T>> & MaybeProvider<T> : never;
117
+ type MethodKey<Api> = { [Key in keyof Api]-?: Key extends string ? Api[Key] extends ((...args: Array<any>) => unknown) ? Key : never : never }[keyof Api];
118
+ type MethodArgs<Api, Method extends keyof Api> = Api[Method] extends ((...args: infer Args) => unknown) ? Args : never;
119
+ type MethodReturn<Api, Method extends keyof Api> = Api[Method] extends ((...args: Array<any>) => infer Return) ? Return : never;
120
+ type DisposableValue = {
121
+ [Symbol.dispose](): void;
122
+ };
123
+ declare const isDisposable: (value: unknown) => value is DisposableValue;
124
+ declare const dispose: (value: unknown) => Effect.Effect<void>;
125
+ declare const resolve: <A>(value: A) => Effect.Effect<Awaited<A>, unknown>;
126
+ declare const scoped: <A>(value: A) => Effect.Effect<Awaited<A>, unknown, Scope.Scope>;
127
+ declare namespace RpcDefinition_d_exports {
128
+ export { Definition$4 as Definition, Method$1 as Method, Methods, NoReservedMethods, ReservedMethodName$5 as ReservedMethodName, ReservedMethodNameError, RpcArgumentCountError, RpcArgumentDecodeError, RpcArgumentEncodeError, RpcReservedMethodNameError, RpcSuccessDecodeError, RpcSuccessEncodeError, ServiceFreeSchema, assertNoReservedMethodNames, assertNoReservedMethods, decodeArgs, decodeSuccess, encodeArgs, encodeSuccess, make$5 as make, method$4 as method, reservedMethodNames };
129
+ }
130
+ declare const RpcReservedMethodNameError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
131
+ readonly _tag: "RpcReservedMethodNameError";
132
+ } & Readonly<A>;
133
+ declare class RpcReservedMethodNameError extends RpcReservedMethodNameError_base<{
134
+ readonly definition: string;
135
+ readonly method: string;
136
+ }> {}
137
+ declare const RpcArgumentCountError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
138
+ readonly _tag: "RpcArgumentCountError";
139
+ } & Readonly<A>;
140
+ declare class RpcArgumentCountError extends RpcArgumentCountError_base<{
141
+ readonly definition: string;
142
+ readonly method: string;
143
+ readonly expected: number;
144
+ readonly actual: number;
145
+ }> {}
146
+ declare const RpcArgumentDecodeError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
147
+ readonly _tag: "RpcArgumentDecodeError";
148
+ } & Readonly<A>;
149
+ declare class RpcArgumentDecodeError extends RpcArgumentDecodeError_base<{
150
+ readonly definition: string;
151
+ readonly method: string;
152
+ readonly index: number;
153
+ readonly cause: unknown;
154
+ }> {}
155
+ declare const RpcArgumentEncodeError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
156
+ readonly _tag: "RpcArgumentEncodeError";
157
+ } & Readonly<A>;
158
+ declare class RpcArgumentEncodeError extends RpcArgumentEncodeError_base<{
159
+ readonly definition: string;
160
+ readonly method: string;
161
+ readonly index: number;
162
+ readonly cause: unknown;
163
+ }> {}
164
+ declare const RpcSuccessDecodeError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
165
+ readonly _tag: "RpcSuccessDecodeError";
166
+ } & Readonly<A>;
167
+ declare class RpcSuccessDecodeError extends RpcSuccessDecodeError_base<{
168
+ readonly definition: string;
169
+ readonly method: string;
170
+ readonly cause: unknown;
171
+ }> {}
172
+ declare const RpcSuccessEncodeError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
173
+ readonly _tag: "RpcSuccessEncodeError";
174
+ } & Readonly<A>;
175
+ declare class RpcSuccessEncodeError extends RpcSuccessEncodeError_base<{
176
+ readonly definition: string;
177
+ readonly method: string;
178
+ readonly cause: unknown;
179
+ }> {}
180
+ declare const reservedMethodNames: Set<string>;
181
+ type ReservedMethodName$5 = "constructor" | "fetch" | "connect" | "alarm" | "webSocketMessage" | "webSocketClose" | "webSocketError" | "then" | "dup" | "dispose" | "serialize" | "deserialize";
182
+ type ServiceFreeSchema = Schema.Codec<any, any, never, never>;
183
+ interface Method$1<Args extends ReadonlyArray<ServiceFreeSchema> = ReadonlyArray<ServiceFreeSchema>, Success extends ServiceFreeSchema = ServiceFreeSchema> {
184
+ readonly args: Args;
185
+ readonly success: Success;
186
+ }
187
+ declare namespace Method$1 {
188
+ export type Any = Method$1<ReadonlyArray<ServiceFreeSchema>, ServiceFreeSchema>;
189
+ type ArgsFromSchemas<Args extends ReadonlyArray<ServiceFreeSchema>> = Args extends readonly [] ? [] : Args extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends ReadonlyArray<ServiceFreeSchema>] ? [Schema.Schema.Type<Head>, ...ArgsFromSchemas<Tail>] : Array<Schema.Schema.Type<Args[number]>>;
190
+ type EncodedArgsFromSchemas<Args extends ReadonlyArray<ServiceFreeSchema>> = Args extends readonly [] ? [] : Args extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends ReadonlyArray<ServiceFreeSchema>] ? [Schema.Codec.Encoded<Head>, ...EncodedArgsFromSchemas<Tail>] : Array<Schema.Codec.Encoded<Args[number]>>;
191
+ export type Args<Self extends Any> = ArgsFromSchemas<Self["args"]>;
192
+ export type EncodedArgs<Self extends Any> = EncodedArgsFromSchemas<Self["args"]>;
193
+ export type Success<Self extends Any> = Schema.Schema.Type<Self["success"]>;
194
+ export type EncodedSuccess<Self extends Any> = Schema.Codec.Encoded<Self["success"]>;
195
+ export {};
196
+ }
197
+ type Methods = Record<string, Method$1.Any>;
198
+ type NoReservedMethods<MethodsShape extends Methods, Reserved extends string = ReservedMethodName$5> = Extract<keyof MethodsShape, Reserved> extends never ? MethodsShape : never;
199
+ interface Definition$4<Id extends string = string, MethodsShape extends Methods = Methods> {
200
+ readonly id: Id;
201
+ readonly methods: MethodsShape;
202
+ }
203
+ declare namespace Definition$4 {
204
+ type Any = Definition$4<string, Methods>;
205
+ type ServerApi<Self extends Any> = { readonly [Key in keyof Self["methods"]]: (...args: Method$1.Args<Self["methods"][Key]>) => Promise<Method$1.Success<Self["methods"][Key]>> };
206
+ type Api<Self extends Any, Reserved extends string = never> = Provider<ServerApi<Self>, Reserved>;
207
+ type MethodNames<Self extends Any> = Extract<keyof Self["methods"], string>;
208
+ }
209
+ declare class ReservedMethodNameError extends Error {
210
+ readonly method: string;
211
+ readonly target: string;
212
+ constructor(target: string, method: string);
213
+ }
214
+ declare const assertNoReservedMethods: (target: string, methods: Record<string, unknown>, reserved: ReadonlySet<string>) => void;
215
+ declare function method$4<Success extends ServiceFreeSchema>(definition: {
216
+ readonly success: Success;
217
+ }): Method$1<readonly [], Success>;
218
+ declare function method$4<const Args extends ReadonlyArray<ServiceFreeSchema>, Success extends ServiceFreeSchema>(definition: {
219
+ readonly args: Args;
220
+ readonly success: Success;
221
+ }): Method$1<Args, Success>;
222
+ declare const assertNoReservedMethodNames: (definition: Definition$4.Any) => Effect.Effect<void, RpcReservedMethodNameError>;
223
+ declare const decodeArgs: <const Self extends Definition$4.Any, MethodName extends Definition$4.MethodNames<Self>>(definition: Self, methodName: MethodName, args: ReadonlyArray<unknown>) => Effect.Effect<Method$1.Args<Self["methods"][MethodName]>, RpcArgumentCountError | RpcArgumentDecodeError>;
224
+ declare const encodeArgs: <const Self extends Definition$4.Any, MethodName extends Definition$4.MethodNames<Self>>(definition: Self, methodName: MethodName, args: Method$1.Args<Self["methods"][MethodName]>) => Effect.Effect<Method$1.EncodedArgs<Self["methods"][MethodName]>, RpcArgumentCountError | RpcArgumentEncodeError>;
225
+ declare const encodeSuccess: <const Self extends Definition$4.Any, MethodName extends Definition$4.MethodNames<Self>>(definition: Self, methodName: MethodName, value: Method$1.Success<Self["methods"][MethodName]>) => Effect.Effect<Method$1.EncodedSuccess<Self["methods"][MethodName]>, RpcSuccessEncodeError>;
226
+ declare const decodeSuccess: <const Self extends Definition$4.Any, MethodName extends Definition$4.MethodNames<Self>>(definition: Self, methodName: MethodName, value: unknown) => Effect.Effect<Method$1.Success<Self["methods"][MethodName]>, RpcSuccessDecodeError>;
227
+ declare const make$5: <Id extends string, const MethodsShape extends Methods>(id: Id, methods: MethodsShape) => Definition$4<Id, MethodsShape>;
228
+ //#endregion
229
+ //#region src/internal/RpcInvocation.d.ts
230
+ type AnyArgs = Array<any>;
231
+ type AsyncMethodKey<Api> = { [Key in keyof Api]-?: Key extends string ? Api[Key] extends ((...args: AnyArgs) => Promise<unknown>) ? Key : never : never }[keyof Api];
232
+ type AsyncMethodArgs<Api, Method extends keyof Api> = Api[Method] extends ((...args: infer Args) => Promise<unknown>) ? Args : never;
233
+ type AsyncMethodSuccess<Api, Method extends keyof Api> = Api[Method] extends ((...args: AnyArgs) => Promise<infer A>) ? A : never;
234
+ declare namespace DurableObjectStorage_d_exports {
235
+ export { DurableObjectStorage, DurableObjectTransaction, SchemaBackedSyncKvStorage, SqlCursor, SqlStorage, SqlStorageValue, StorageOperationError, SyncKvDefinition, SyncKvStorage, fromDurableObjectStorage };
236
+ }
237
+ /** Supported primitive value types for Durable Object SQL APIs. */
238
+ type SqlStorageValue = globalThis.SqlStorageValue;
239
+ declare const StorageOperationError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
240
+ readonly _tag: "StorageOperationError";
241
+ } & Readonly<A>;
242
+ /** Error type used when a storage operation throws or rejects. */
243
+ declare class StorageOperationError extends StorageOperationError_base<{
244
+ readonly operation: string;
245
+ readonly cause: unknown;
246
+ }> {}
247
+ type StorageEffect<A> = Effect.Effect<A, StorageOperationError>;
248
+ /**
249
+ * Effect wrapper for Cloudflare SQL cursor operations.
250
+ */
251
+ interface SqlCursor<T extends Record<string, SqlStorageValue>> {
252
+ next(): StorageEffect<{
253
+ done?: false;
254
+ value: T;
255
+ } | {
256
+ done: true;
257
+ value?: never;
258
+ }>;
259
+ toArray(): StorageEffect<Array<T>>;
260
+ one(): StorageEffect<T>;
261
+ raw<U extends Array<SqlStorageValue>>(): StorageEffect<IterableIterator<U>>;
262
+ readonly columnNames: Array<string>;
263
+ readonly rowsRead: StorageEffect<number>;
264
+ readonly rowsWritten: StorageEffect<number>;
265
+ }
266
+ /**
267
+ * Effect wrapper for Durable Object SQLite APIs.
268
+ */
269
+ interface SqlStorage {
270
+ /** Executes a SQL statement and returns a typed cursor. */
271
+ exec<T extends Record<string, SqlStorageValue>>(query: string, ...bindings: Array<SqlStorageValue>): StorageEffect<SqlCursor<T>>;
272
+ readonly databaseSize: number;
273
+ }
274
+ /**
275
+ * Schema pair used by `SyncKvStorage.schema(...)`.
276
+ */
277
+ interface SyncKvDefinition<Key, Value, EncodedValue> {
278
+ readonly key: Schema.Codec<Key, string>;
279
+ readonly value: Schema.Codec<Value, EncodedValue>;
280
+ }
281
+ /**
282
+ * Sync KV wrapper that transparently encodes keys/values through Effect Schema.
283
+ */
284
+ interface SchemaBackedSyncKvStorage<Key, Value> {
285
+ get(key: Key): Effect.Effect<Option.Option<Value>, unknown>;
286
+ put(key: Key, value: Value): Effect.Effect<void, unknown>;
287
+ delete(key: Key): Effect.Effect<boolean, unknown>;
288
+ list(options?: globalThis.SyncKvListOptions): Effect.Effect<Array<[Key, Value]>, unknown>;
289
+ }
290
+ /**
291
+ * Effect wrapper for synchronous KV attached to Durable Object SQLite storage.
292
+ */
293
+ interface SyncKvStorage {
294
+ get<T = unknown>(key: string): StorageEffect<T | undefined>;
295
+ put<T>(key: string, value: T): StorageEffect<void>;
296
+ delete(key: string): StorageEffect<boolean>;
297
+ list<T = unknown>(options?: globalThis.SyncKvListOptions): StorageEffect<Array<[string, T]>>;
298
+ schema<Key, Value, EncodedValue>(definition: SyncKvDefinition<Key, Value, EncodedValue>): SchemaBackedSyncKvStorage<Key, Value>;
299
+ }
300
+ /**
301
+ * Effect wrapper around Cloudflare transaction callbacks.
302
+ */
303
+ interface DurableObjectTransaction {
304
+ get<T = unknown>(key: string, options?: globalThis.DurableObjectGetOptions): StorageEffect<T | undefined>;
305
+ get<T = unknown>(keys: Array<string>, options?: globalThis.DurableObjectGetOptions): StorageEffect<Map<string, T>>;
306
+ list<T = unknown>(options?: globalThis.DurableObjectListOptions): StorageEffect<Map<string, T>>;
307
+ put<T>(key: string, value: T, options?: globalThis.DurableObjectPutOptions): StorageEffect<void>;
308
+ put<T>(entries: Record<string, T>, options?: globalThis.DurableObjectPutOptions): StorageEffect<void>;
309
+ delete(key: string, options?: globalThis.DurableObjectPutOptions): StorageEffect<boolean>;
310
+ delete(keys: Array<string>, options?: globalThis.DurableObjectPutOptions): StorageEffect<number>;
311
+ rollback(): StorageEffect<void>;
312
+ getAlarm(options?: globalThis.DurableObjectGetAlarmOptions): StorageEffect<number | null>;
313
+ setAlarm(scheduledTime: number | Date, options?: globalThis.DurableObjectSetAlarmOptions): StorageEffect<void>;
314
+ deleteAlarm(options?: globalThis.DurableObjectSetAlarmOptions): StorageEffect<void>;
315
+ }
316
+ /**
317
+ * Effect wrapper around Cloudflare Durable Object storage.
318
+ *
319
+ * @example
320
+ * ```ts
321
+ * const program = Effect.gen(function* () {
322
+ * const state = yield* DurableObjectState;
323
+ * yield* state.storage.put("counter", 1);
324
+ * const value = yield* state.storage.get<number>("counter");
325
+ * return value;
326
+ * });
327
+ * ```
328
+ */
329
+ interface DurableObjectStorage {
330
+ get<T = unknown>(key: string, options?: globalThis.DurableObjectGetOptions): StorageEffect<T | undefined>;
331
+ put<T>(key: string, value: T, options?: globalThis.DurableObjectPutOptions): StorageEffect<void>;
332
+ delete(key: string, options?: globalThis.DurableObjectPutOptions): StorageEffect<boolean>;
333
+ /**
334
+ * Deletes all stored data. On compatibility dates before 2026-02-24, Cloudflare
335
+ * documents that active alarms must be deleted separately with `deleteAlarm()`.
336
+ */
337
+ deleteAll(options?: globalThis.DurableObjectPutOptions): StorageEffect<void>;
338
+ getAlarm(options?: globalThis.DurableObjectGetAlarmOptions): StorageEffect<number | null>;
339
+ setAlarm(scheduledTime: number | Date, options?: globalThis.DurableObjectSetAlarmOptions): StorageEffect<void>;
340
+ deleteAlarm(options?: globalThis.DurableObjectSetAlarmOptions): StorageEffect<void>;
341
+ /**
342
+ * SQLite-backed Durable Object storage only.
343
+ *
344
+ * The callback Effect must complete synchronously. If it requires asynchronous
345
+ * work, use `transaction` instead so Cloudflare can run the async transaction
346
+ * callback under the platform's transaction contract.
347
+ */
348
+ transactionSync<A, E, R>(closure: () => Effect.Effect<A, E, R>): Effect.Effect<A, E | StorageOperationError, R>;
349
+ /**
350
+ * Runs an async transaction and exposes a typed transaction wrapper.
351
+ */
352
+ transaction<A, E, R>(closure: (txn: DurableObjectTransaction) => Effect.Effect<A, E, R>): Effect.Effect<A, E | StorageOperationError, R>;
353
+ /** Flushes pending writes to disk. */
354
+ sync(): StorageEffect<void>;
355
+ /** SQLite-backed Durable Object storage point-in-time recovery API only. */
356
+ getCurrentBookmark(): StorageEffect<string>;
357
+ /** SQLite-backed Durable Object storage point-in-time recovery API only. */
358
+ onNextSessionRestoreBookmark(bookmark: string): StorageEffect<string>;
359
+ readonly sql: SqlStorage;
360
+ readonly kv: SyncKvStorage;
361
+ }
362
+ /**
363
+ * Wraps native Cloudflare storage APIs as Effect-returning helpers.
364
+ */
365
+ declare const fromDurableObjectStorage: (storage: globalThis.DurableObjectStorage) => DurableObjectStorage;
366
+ declare namespace DurableObjectState_d_exports {
367
+ export { DurableObjectState, DurableObjectStateService, fromDurableObjectState };
368
+ }
369
+ /**
370
+ * Effect-friendly wrapper around Cloudflare `DurableObjectState`.
371
+ */
372
+ interface DurableObjectStateService {
373
+ /** Underlying Cloudflare state instance. */
374
+ readonly raw: globalThis.DurableObjectState;
375
+ /** Durable Object id for the current instance. */
376
+ readonly id: globalThis.DurableObjectId;
377
+ /** Wrapped storage API. */
378
+ readonly storage: DurableObjectStorage;
379
+ /** Registers background work with Cloudflare's lifecycle. */
380
+ waitUntil(promise: Promise<unknown>): Effect.Effect<void>;
381
+ /**
382
+ * Runs an Effect inside Cloudflare's `blockConcurrencyWhile` gate.
383
+ *
384
+ * Cloudflare resets a Durable Object if the callback throws/rejects, or if the
385
+ * callback exceeds the platform timeout (currently documented as 30 seconds).
386
+ * This safe default resolves the callback with the Effect `Exit` for typed
387
+ * Effect failures and resumes that `Exit` afterward, so typed failures remain
388
+ * ordinary Effect failures instead of resetting the Durable Object. Defects
389
+ * and interruptions still reject the callback.
390
+ */
391
+ blockConcurrencyWhile<A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>;
392
+ /**
393
+ * Runs an Effect inside Cloudflare's `blockConcurrencyWhile` gate and lets
394
+ * Effect failures reject the callback.
395
+ *
396
+ * Use this only when Cloudflare's reset-on-throw behavior is intentional. The
397
+ * platform also resets the Durable Object if the callback exceeds the
398
+ * documented timeout (currently 30 seconds).
399
+ */
400
+ blockConcurrencyWhileOrReset<A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>;
401
+ /** Accepts a websocket connection for hibernation-capable Durable Objects. */
402
+ acceptWebSocket(ws: WebSocket, tags?: Array<string>): Effect.Effect<void>;
403
+ /** Lists active sockets, optionally filtered by tag. */
404
+ getWebSockets(tag?: string): Effect.Effect<Array<WebSocket>>;
405
+ /** Configures automatic request/response handling for sockets. */
406
+ setWebSocketAutoResponse(pair?: WebSocketRequestResponsePair): Effect.Effect<void>;
407
+ /** Gets the configured websocket auto-response pair. */
408
+ getWebSocketAutoResponse: Effect.Effect<WebSocketRequestResponsePair | null>;
409
+ /** Timestamp of the last automatic websocket response for a socket. */
410
+ getWebSocketAutoResponseTimestamp(ws: WebSocket): Effect.Effect<Date | null>;
411
+ /** Sets the timeout for hibernatable websocket events. */
412
+ setHibernatableWebSocketEventTimeout(timeoutMs?: number): Effect.Effect<void>;
413
+ /** Gets the timeout for hibernatable websocket events. */
414
+ getHibernatableWebSocketEventTimeout: Effect.Effect<number | null>;
415
+ /** Reads tags attached to a websocket. */
416
+ getTags(ws: WebSocket): Effect.Effect<Array<string>>;
417
+ /**
418
+ * Forcibly resets the Durable Object. Cloudflare logs an uncaught Error using
419
+ * the optional reason, and the method is not available in `wrangler dev` local
420
+ * development according to the Durable Object State docs.
421
+ */
422
+ abort(reason?: string): Effect.Effect<void>;
423
+ }
424
+ declare const DurableObjectState_base: Context.ServiceClass<DurableObjectState, "effect-cf/DurableObjectState", DurableObjectStateService>;
425
+ /**
426
+ * Context tag for accessing the current Durable Object state service.
427
+ */
428
+ declare class DurableObjectState extends DurableObjectState_base {}
429
+ /**
430
+ * Wraps a native Cloudflare `DurableObjectState` as a {@link DurableObjectStateService}.
431
+ */
432
+ declare const fromDurableObjectState: (state: globalThis.DurableObjectState) => DurableObjectStateService;
433
+ declare namespace DurableObjectDefinition_d_exports {
434
+ export { Api$3 as Api, Definition$3 as Definition, DurableObject$1 as DurableObject, HandlerEffect$3 as HandlerEffect, Handlers$3 as Handlers, NamespaceService, Options$3 as Options, ReservedMethodName$4 as ReservedMethodName, ServerApi$4 as ServerApi, Tag$3 as Tag, implement$3 as implement, make$4 as make, method$3 as method };
435
+ }
436
+ /**
437
+ * RPC contract for a Durable Object class.
438
+ */
439
+ type Definition$3<Id extends string = string, Methods$3 extends Methods = Methods> = Definition$4<Id, Methods$3>;
440
+ declare namespace Definition$3 {
441
+ type Any = Definition$4.Any;
442
+ }
443
+ type ReservedMethodName$4 = ReservedMethodName$5 | "fetch" | "alarm" | "webSocketMessage" | "webSocketClose" | "webSocketError";
444
+ /**
445
+ * Promise-based client API derived from a Durable Object definition.
446
+ */
447
+ type ServerApi$4<Self extends Definition$3.Any> = Definition$4.ServerApi<Self>;
448
+ type Api$3<Self extends Definition$3.Any> = Definition$4.Api<Self, ReservedMethodName$4>;
449
+ declare const NamespaceServiceTypeId: unique symbol;
450
+ /**
451
+ * Nominal service marker for a Durable Object namespace binding.
452
+ */
453
+ interface NamespaceService<Id extends string, Self extends Definition$3.Any> {
454
+ readonly [NamespaceServiceTypeId]: {
455
+ readonly id: Id;
456
+ readonly definition: Self;
457
+ };
458
+ }
459
+ /**
460
+ * Effect handlers for each RPC method in a Durable Object definition.
461
+ */
462
+ type Handlers$3<ROut, Self extends Definition$3.Any> = { readonly [Key in keyof Self["methods"]]: (...args: Method$1.Args<Self["methods"][Key]>) => DurableObjectHandler<ROut, Method$1.Success<Self["methods"][Key]>> };
463
+ type BoundaryHandlers$1<ROut, Self extends Definition$3.Any> = { readonly [Key in keyof Self["methods"]]: (...args: Array<unknown>) => DurableObjectHandler<ROut, Method$1.EncodedSuccess<Self["methods"][Key]>> };
464
+ /**
465
+ * Durable Object constructor options for a specific RPC definition.
466
+ */
467
+ interface Options$3<ROut, Self extends Definition$3.Any> extends Omit<DurableObjectOptions<ROut, Handlers$3<ROut, Self>>, "rpc"> {
468
+ readonly rpc: Handlers$3<ROut, Self>;
469
+ }
470
+ /**
471
+ * Defines a single RPC method schema in a Durable Object definition.
472
+ */
473
+ declare const method$3: typeof method$4;
474
+ declare const make$4: <Id extends string, const MethodsShape extends Methods>(id: Id, methods: MethodsShape & NoReservedMethods<MethodsShape, ReservedMethodName$4>) => Definition$3<Id, MethodsShape> & {
475
+ make: <ROut, LayerError>(layer: Layer.Layer<ROut, LayerError, DurableObjectState | WorkerEnvironment>, options: Options$3<ROut, Definition$3<Id, MethodsShape>>) => DurableObjectClass<BoundaryHandlers$1<ROut, Definition$3<Id, MethodsShape>>, ROut>;
476
+ Namespace: <Self>() => <BindingId extends string>(bindingId: BindingId, binding: Omit<DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<Self, BindingId, DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>> & {
477
+ "effect-cf/Binding": "effect-cf/Binding";
478
+ binding: string;
479
+ layer: Layer.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
480
+ } & (Definition$3<Id, MethodsShape> extends infer T_1 ? T_1 extends Definition$3<Id, MethodsShape> ? T_1 extends Definition$4.Any ? { readonly [Method in Extract<keyof T_1["methods"], string>]: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, ...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ... /*elided*/any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, never> } & {
481
+ readonly byName: (name: string, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
482
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, Self>;
483
+ } & { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, Self> };
484
+ readonly byId: (id: globalThis.DurableObjectId, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
485
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, Self>;
486
+ } & { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, Self> };
487
+ } : {} : never : never) & {
488
+ readonly "effect-cf/DurableObjectNamespace": "effect-cf/DurableObjectNamespace";
489
+ readonly definition: DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>;
490
+ readonly newUniqueId: (options?: DurableObjectNamespaceNewUniqueIdOptions | undefined) => Effect.Effect<DurableObjectId, never, Self>;
491
+ readonly idFromName: (name: string) => Effect.Effect<DurableObjectId, never, Self>;
492
+ readonly idFromString: (id: string) => Effect.Effect<DurableObjectId, never, Self>;
493
+ readonly get: (id: DurableObjectId, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
494
+ readonly getByName: (name: string, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
495
+ readonly jurisdiction: (value: DurableObjectJurisdiction) => Effect.Effect<DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
496
+ readonly fetch: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, never>;
497
+ readonly rpc: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>, DurableObjectRpcError, never>;
498
+ readonly call: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>, DurableObjectRpcError, never>;
499
+ readonly scopedCall: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>>, unknown, _$effect_Scope0.Scope>;
500
+ };
501
+ namespace: <BindingId extends string>(bindingId: BindingId, binding: Omit<DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<NamespaceService<BindingId, Definition$3<Id, MethodsShape>>, BindingId, DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>> & {
502
+ "effect-cf/Binding": "effect-cf/Binding";
503
+ binding: string;
504
+ layer: Layer.Layer<NamespaceService<BindingId, Definition$3<Id, MethodsShape>>, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
505
+ } & (Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? { readonly [Method in Extract<keyof T["methods"], string>]: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, ...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, never> } & {
506
+ readonly byName: (name: string, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
507
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
508
+ } & { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>> };
509
+ readonly byId: (id: globalThis.DurableObjectId, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
510
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
511
+ } & { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>> };
512
+ } : {} : never : never) & {
513
+ readonly "effect-cf/DurableObjectNamespace": "effect-cf/DurableObjectNamespace";
514
+ readonly definition: DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>;
515
+ readonly newUniqueId: (options?: DurableObjectNamespaceNewUniqueIdOptions | undefined) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
516
+ readonly idFromName: (name: string) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
517
+ readonly idFromString: (id: string) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
518
+ readonly get: (id: DurableObjectId, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
519
+ readonly getByName: (name: string, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
520
+ readonly jurisdiction: (value: DurableObjectJurisdiction) => Effect.Effect<DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
521
+ readonly fetch: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, never>;
522
+ readonly rpc: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>, DurableObjectRpcError, never>;
523
+ readonly call: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>, DurableObjectRpcError, never>;
524
+ readonly scopedCall: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>>, unknown, _$effect_Scope0.Scope>;
525
+ };
526
+ };
527
+ declare const Tag$3: <_Self>() => <Id extends string, const MethodsShape extends Methods>(id: Id, methods: MethodsShape & NoReservedMethods<MethodsShape, ReservedMethodName$4>) => (abstract new () => object) & (Definition$3<Id, MethodsShape> & {
528
+ make: <ROut, LayerError>(layer: Layer.Layer<ROut, LayerError, DurableObjectState | WorkerEnvironment>, options: Options$3<ROut, Definition$3<Id, MethodsShape>>) => DurableObjectClass<BoundaryHandlers$1<ROut, Definition$3<Id, MethodsShape>>, ROut>;
529
+ Namespace: <Self>() => <BindingId extends string>(bindingId: BindingId, binding: Omit<DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<Self, BindingId, DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>> & {
530
+ "effect-cf/Binding": "effect-cf/Binding";
531
+ binding: string;
532
+ layer: Layer.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
533
+ } & (Definition$3<Id, MethodsShape> extends infer T_1 ? T_1 extends Definition$3<Id, MethodsShape> ? T_1 extends Definition$4.Any ? { readonly [Method in Extract<keyof T_1["methods"], string>]: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, ...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ... /*elided*/any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, never> } & {
534
+ readonly byName: (name: string, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
535
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, Self>;
536
+ } & { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, Self> };
537
+ readonly byId: (id: globalThis.DurableObjectId, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
538
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, Self>;
539
+ } & { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, Self> };
540
+ } : {} : never : never) & {
541
+ readonly "effect-cf/DurableObjectNamespace": "effect-cf/DurableObjectNamespace";
542
+ readonly definition: DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>;
543
+ readonly newUniqueId: (options?: DurableObjectNamespaceNewUniqueIdOptions | undefined) => Effect.Effect<DurableObjectId, never, Self>;
544
+ readonly idFromName: (name: string) => Effect.Effect<DurableObjectId, never, Self>;
545
+ readonly idFromString: (id: string) => Effect.Effect<DurableObjectId, never, Self>;
546
+ readonly get: (id: DurableObjectId, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
547
+ readonly getByName: (name: string, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
548
+ readonly jurisdiction: (value: DurableObjectJurisdiction) => Effect.Effect<DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
549
+ readonly fetch: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, never>;
550
+ readonly rpc: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>, DurableObjectRpcError, never>;
551
+ readonly call: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>, DurableObjectRpcError, never>;
552
+ readonly scopedCall: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>>, unknown, _$effect_Scope0.Scope>;
553
+ };
554
+ namespace: <BindingId extends string>(bindingId: BindingId, binding: Omit<DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<NamespaceService<BindingId, Definition$3<Id, MethodsShape>>, BindingId, DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>> & {
555
+ "effect-cf/Binding": "effect-cf/Binding";
556
+ binding: string;
557
+ layer: Layer.Layer<NamespaceService<BindingId, Definition$3<Id, MethodsShape>>, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
558
+ } & (Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? { readonly [Method in Extract<keyof T["methods"], string>]: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, ...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, never> } & {
559
+ readonly byName: (name: string, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
560
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
561
+ } & { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>> };
562
+ readonly byId: (id: globalThis.DurableObjectId, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
563
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
564
+ } & { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>> };
565
+ } : {} : never : never) & {
566
+ readonly "effect-cf/DurableObjectNamespace": "effect-cf/DurableObjectNamespace";
567
+ readonly definition: DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>;
568
+ readonly newUniqueId: (options?: DurableObjectNamespaceNewUniqueIdOptions | undefined) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
569
+ readonly idFromName: (name: string) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
570
+ readonly idFromString: (id: string) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
571
+ readonly get: (id: DurableObjectId, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
572
+ readonly getByName: (name: string, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
573
+ readonly jurisdiction: (value: DurableObjectJurisdiction) => Effect.Effect<DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
574
+ readonly fetch: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, never>;
575
+ readonly rpc: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>, DurableObjectRpcError, never>;
576
+ readonly call: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>, DurableObjectRpcError, never>;
577
+ readonly scopedCall: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>>, unknown, _$effect_Scope0.Scope>;
578
+ };
579
+ });
580
+ declare const DurableObject$1: <_Self>() => <Id extends string, const MethodsShape extends Methods>(id: Id, methods: MethodsShape & NoReservedMethods<MethodsShape, ReservedMethodName$4>) => (abstract new () => object) & (Definition$3<Id, MethodsShape> & {
581
+ make: <ROut, LayerError>(layer: Layer.Layer<ROut, LayerError, DurableObjectState | WorkerEnvironment>, options: Options$3<ROut, Definition$3<Id, MethodsShape>>) => DurableObjectClass<BoundaryHandlers$1<ROut, Definition$3<Id, MethodsShape>>, ROut>;
582
+ Namespace: <Self>() => <BindingId extends string>(bindingId: BindingId, binding: Omit<DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<Self, BindingId, DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>> & {
583
+ "effect-cf/Binding": "effect-cf/Binding";
584
+ binding: string;
585
+ layer: Layer.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
586
+ } & (Definition$3<Id, MethodsShape> extends infer T_1 ? T_1 extends Definition$3<Id, MethodsShape> ? T_1 extends Definition$4.Any ? { readonly [Method in Extract<keyof T_1["methods"], string>]: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, ...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ... /*elided*/any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, never> } & {
587
+ readonly byName: (name: string, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
588
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, Self>;
589
+ } & { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, Self> };
590
+ readonly byId: (id: globalThis.DurableObjectId, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
591
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, Self>;
592
+ } & { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, Self> };
593
+ } : {} : never : never) & {
594
+ readonly "effect-cf/DurableObjectNamespace": "effect-cf/DurableObjectNamespace";
595
+ readonly definition: DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>;
596
+ readonly newUniqueId: (options?: DurableObjectNamespaceNewUniqueIdOptions | undefined) => Effect.Effect<DurableObjectId, never, Self>;
597
+ readonly idFromName: (name: string) => Effect.Effect<DurableObjectId, never, Self>;
598
+ readonly idFromString: (id: string) => Effect.Effect<DurableObjectId, never, Self>;
599
+ readonly get: (id: DurableObjectId, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
600
+ readonly getByName: (name: string, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
601
+ readonly jurisdiction: (value: DurableObjectJurisdiction) => Effect.Effect<DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
602
+ readonly fetch: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, never>;
603
+ readonly rpc: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>, DurableObjectRpcError, never>;
604
+ readonly call: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>, DurableObjectRpcError, never>;
605
+ readonly scopedCall: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>>, unknown, _$effect_Scope0.Scope>;
606
+ };
607
+ namespace: <BindingId extends string>(bindingId: BindingId, binding: Omit<DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<NamespaceService<BindingId, Definition$3<Id, MethodsShape>>, BindingId, DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>> & {
608
+ "effect-cf/Binding": "effect-cf/Binding";
609
+ binding: string;
610
+ layer: Layer.Layer<NamespaceService<BindingId, Definition$3<Id, MethodsShape>>, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
611
+ } & (Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? { readonly [Method in Extract<keyof T["methods"], string>]: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, ...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, never> } & {
612
+ readonly byName: (name: string, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
613
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
614
+ } & { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>> };
615
+ readonly byId: (id: globalThis.DurableObjectId, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
616
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
617
+ } & { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>> };
618
+ } : {} : never : never) & {
619
+ readonly "effect-cf/DurableObjectNamespace": "effect-cf/DurableObjectNamespace";
620
+ readonly definition: DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>;
621
+ readonly newUniqueId: (options?: DurableObjectNamespaceNewUniqueIdOptions | undefined) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
622
+ readonly idFromName: (name: string) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
623
+ readonly idFromString: (id: string) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
624
+ readonly get: (id: DurableObjectId, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
625
+ readonly getByName: (name: string, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
626
+ readonly jurisdiction: (value: DurableObjectJurisdiction) => Effect.Effect<DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
627
+ readonly fetch: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, never>;
628
+ readonly rpc: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>, DurableObjectRpcError, never>;
629
+ readonly call: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>, DurableObjectRpcError, never>;
630
+ readonly scopedCall: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>>, unknown, _$effect_Scope0.Scope>;
631
+ };
632
+ });
633
+ /**
634
+ * Helper for implementing handlers with the exact method shape of a definition.
635
+ */
636
+ declare const implement$3: <ROut, const Self extends Definition$3.Any>(_definition: Self, handlers: Handlers$3<ROut, Self>) => Handlers$3<ROut, Self>;
637
+ /**
638
+ * Convenience alias for a single Durable Object RPC handler Effect.
639
+ */
640
+ type HandlerEffect$3<ROut, Self extends Definition$3.Any, Key extends keyof Self["methods"]> = DurableObjectHandler<ROut, Method$1.Success<Self["methods"][Key]>>;
641
+ declare namespace DurableObjectNamespace_d_exports {
642
+ export { DurableObjectFetchError, DurableObjectNamespaceBindingDefinition, DurableObjectNamespaceClient, DurableObjectNamespaceDefinition, DurableObjectRpcError, DurableObjectStubClient, Service$2 as Service };
643
+ }
644
+ declare const TypeId$1: "effect-cf/DurableObjectNamespace";
645
+ interface DurableObjectFetcher {
646
+ fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
647
+ }
648
+ type RpcClient$1<Api> = { readonly [Key in keyof Api as Key extends string ? Api[Key] extends ((...args: Array<any>) => unknown) ? Key : never : never]: Api[Key] };
649
+ type ReservedMethodName$3 = ReservedMethodName$4 | "fetch";
650
+ /**
651
+ * Cloudflare Durable Object stub, optionally enriched with RPC methods.
652
+ */
653
+ type DurableObjectStubClient<Api extends object> = DurableObjectFetcher & RpcClient$1<Provider<Api, ReservedMethodName$3>> & {
654
+ readonly id: globalThis.DurableObjectId;
655
+ readonly name?: string;
656
+ };
657
+ /**
658
+ * Native Durable Object namespace binding shape.
659
+ */
660
+ interface DurableObjectNamespaceClient<Api extends object> {
661
+ /** Creates a globally unique Durable Object id. */
662
+ newUniqueId(options?: globalThis.DurableObjectNamespaceNewUniqueIdOptions): globalThis.DurableObjectId;
663
+ /** Deterministically maps a name to a Durable Object id. */
664
+ idFromName(name: string): globalThis.DurableObjectId;
665
+ /** Rehydrates a Durable Object id from its string form. */
666
+ idFromString(id: string): globalThis.DurableObjectId;
667
+ /** Returns a stub for an existing Durable Object id. */
668
+ get(id: globalThis.DurableObjectId, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions): DurableObjectStubClient<Api>;
669
+ /** Returns a stub by deterministic name. */
670
+ getByName(name: string, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions): DurableObjectStubClient<Api>;
671
+ /** Selects a namespace pinned to a specific jurisdiction. */
672
+ jurisdiction(jurisdiction: globalThis.DurableObjectJurisdiction): DurableObjectNamespaceClient<Api>;
673
+ }
674
+ /**
675
+ * Minimal namespace binding metadata.
676
+ */
677
+ interface DurableObjectNamespaceDefinition {
678
+ readonly binding: string;
679
+ }
680
+ type ApiFromDefinition$1<Definition> = Definition extends Definition$3.Any ? ServerApi$4<Definition> : never;
681
+ type ApiOrDefinition$1<Api extends object, Definition> = [Api] extends [never] ? ApiFromDefinition$1<Definition> : Api;
682
+ /**
683
+ * Namespace binding metadata with optional RPC schema.
684
+ */
685
+ interface DurableObjectNamespaceBindingDefinition<Definition extends Definition$3.Any | undefined = undefined> {
686
+ /** Binding name as configured in `wrangler.jsonc`. */
687
+ readonly binding: string;
688
+ /** Optional RPC schema used for argument/result encoding. */
689
+ readonly definition?: Definition;
690
+ }
691
+ declare const DurableObjectRpcError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
692
+ readonly _tag: "DurableObjectRpcError";
693
+ } & Readonly<A>;
694
+ /**
695
+ * Failure raised when invoking an RPC method on a Durable Object stub.
696
+ */
697
+ declare class DurableObjectRpcError extends DurableObjectRpcError_base<{
698
+ readonly binding: string;
699
+ readonly method: string;
700
+ readonly cause: unknown;
701
+ }> {}
702
+ declare const DurableObjectFetchError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
703
+ readonly _tag: "DurableObjectFetchError";
704
+ } & Readonly<A>;
705
+ /**
706
+ * Failure raised when forwarding a request to a Durable Object stub.
707
+ */
708
+ declare class DurableObjectFetchError extends DurableObjectFetchError_base<{
709
+ readonly binding: string;
710
+ readonly cause: unknown;
711
+ }> {}
712
+ type StubMethodKey<Api> = AsyncMethodKey<Api>;
713
+ type StubMethodArgs<Api, Method extends keyof Api> = AsyncMethodArgs<Api, Method>;
714
+ type DefinitionNamespaceDirectMethods<Api extends object, Definition extends Definition$3.Any> = { readonly [Method in Definition$4.MethodNames<Definition>]: (stub: DurableObjectStubClient<Api>, ...args: Method$1.Args<Definition["methods"][Method]>) => Effect.Effect<Method$1.Success<Definition["methods"][Method]>, DurableObjectRpcError> };
715
+ type DefinitionDurableObjectDirectClient<Self, Definition extends Definition$3.Any> = {
716
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<globalThis.Response, DurableObjectFetchError, Self>;
717
+ } & { readonly [Method in Definition$4.MethodNames<Definition>]: (...args: Method$1.Args<Definition["methods"][Method]>) => Effect.Effect<Method$1.Success<Definition["methods"][Method]>, DurableObjectRpcError, Self> };
718
+ type DefinitionNamespaceDirectClientMethods<Self, Definition extends Definition$3.Any> = {
719
+ readonly byName: (name: string, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => DefinitionDurableObjectDirectClient<Self, Definition>;
720
+ readonly byId: (id: globalThis.DurableObjectId, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => DefinitionDurableObjectDirectClient<Self, Definition>;
721
+ };
722
+ type DirectMethods$1<Self, Api extends object, Definition> = Definition extends Definition$3.Any ? DefinitionNamespaceDirectMethods<Api, Definition> & DefinitionNamespaceDirectClientMethods<Self, Definition> : {};
723
+ /**
724
+ * Creates a typed Effect service for a Durable Object namespace binding.
725
+ *
726
+ * Returned value includes namespace helpers (`get`, `getByName`, `newUniqueId`),
727
+ * raw `fetch` / `call` helpers, and direct RPC helpers when `definition` is provided.
728
+ *
729
+ * @example
730
+ * ```ts
731
+ * const ChatRoom = DurableObjectDefinition.make("ChatRoom", {
732
+ * postMessage: DurableObjectDefinition.method({
733
+ * args: [Schema.String],
734
+ * success: Schema.Void,
735
+ * }),
736
+ * });
737
+ *
738
+ * const ChatRooms = ChatRoom.namespace("CHAT_ROOMS", { binding: "CHAT_ROOMS" });
739
+ *
740
+ * const program = Effect.gen(function* () {
741
+ * const room = ChatRooms.byName("general");
742
+ * yield* room.postMessage("hello");
743
+ * });
744
+ * ```
745
+ */
746
+ declare const Service$2: <Self, Api extends object = never>() => <Id extends string, const Definition extends Definition$3.Any | undefined = undefined>(id: Id, definition: DurableObjectNamespaceBindingDefinition<Definition>) => (_$effect_Context0.ServiceClass<Self, Id, DurableObjectNamespaceClient<ApiOrDefinition$1<Api, Definition>>> & {
747
+ "effect-cf/Binding": "effect-cf/Binding";
748
+ binding: string;
749
+ layer: _$effect_Layer0.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
750
+ }) & DirectMethods$1<Self, ApiOrDefinition$1<Api, Definition>, Definition> & {
751
+ readonly [TypeId$1]: typeof TypeId$1;
752
+ readonly definition: DurableObjectNamespaceBindingDefinition<Definition>;
753
+ readonly newUniqueId: (options?: DurableObjectNamespaceNewUniqueIdOptions | undefined) => Effect.Effect<DurableObjectId, never, Self>;
754
+ readonly idFromName: (name: string) => Effect.Effect<DurableObjectId, never, Self>;
755
+ readonly idFromString: (id: string) => Effect.Effect<DurableObjectId, never, Self>;
756
+ readonly get: (id: DurableObjectId, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<ApiOrDefinition$1<Api, Definition>>, never, Self>;
757
+ readonly getByName: (name: string, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<ApiOrDefinition$1<Api, Definition>>, never, Self>;
758
+ readonly jurisdiction: (value: DurableObjectJurisdiction) => Effect.Effect<DurableObjectNamespaceClient<ApiOrDefinition$1<Api, Definition>>, never, Self>;
759
+ readonly fetch: (stub: DurableObjectStubClient<ApiOrDefinition$1<Api, Definition>>, input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, never>;
760
+ readonly rpc: <Method extends StubMethodKey<ApiOrDefinition$1<Api, Definition>>>(stub: DurableObjectStubClient<ApiOrDefinition$1<Api, Definition>>, method: Method, ...args: StubMethodArgs<ApiOrDefinition$1<Api, Definition>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<ApiOrDefinition$1<Api, Definition>, Method>>, DurableObjectRpcError, never>;
761
+ readonly call: <Method extends StubMethodKey<ApiOrDefinition$1<Api, Definition>>>(stub: DurableObjectStubClient<ApiOrDefinition$1<Api, Definition>>, method: Method, ...args: StubMethodArgs<ApiOrDefinition$1<Api, Definition>, Method>) => Effect.Effect<AsyncMethodSuccess<ApiOrDefinition$1<Api, Definition>, Method>, DurableObjectRpcError, never>;
762
+ readonly scopedCall: <Method extends StubMethodKey<ApiOrDefinition$1<Api, Definition>>>(stub: DurableObjectStubClient<ApiOrDefinition$1<Api, Definition>>, method: Method, ...args: StubMethodArgs<ApiOrDefinition$1<Api, Definition>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<ApiOrDefinition$1<Api, Definition>, Method>>>, unknown, _$effect_Scope0.Scope>;
763
+ };
764
+ declare namespace WorkerDefinition_d_exports {
765
+ export { Api$2 as Api, BindingService, Definition$2 as Definition, HandlerEffect$2 as HandlerEffect, Handlers$2 as Handlers, Options$2 as Options, ReservedMethodName$2 as ReservedMethodName, ServerApi$3 as ServerApi, Tag$2 as Tag, Worker, implement$2 as implement, make$3 as make, method$2 as method };
766
+ }
767
+ /**
768
+ * RPC contract for a Worker service.
769
+ *
770
+ * Create with {@link make} and reuse to type both worker implementations and
771
+ * service bindings in other workers.
772
+ */
773
+ type Definition$2<Id extends string = string, Methods$2 extends Methods = Methods> = Definition$4<Id, Methods$2>;
774
+ declare namespace Definition$2 {
775
+ type Any = Definition$4.Any;
776
+ }
777
+ type ReservedMethodName$2 = ReservedMethodName;
778
+ /**
779
+ * Promise-based client API derived from a {@link Definition}.
780
+ */
781
+ type ServerApi$3<Self extends Definition$2.Any> = Definition$4.ServerApi<Self>;
782
+ type Api$2<Self extends Definition$2.Any> = Definition$4.Api<Self, ReservedMethodName$2>;
783
+ declare const BindingServiceTypeId: unique symbol;
784
+ /**
785
+ * Nominal service marker for a worker binding created with {@link make}.
786
+ */
787
+ interface BindingService<Id extends string, Self extends Definition$2.Any> {
788
+ readonly [BindingServiceTypeId]: {
789
+ readonly id: Id;
790
+ readonly definition: Self;
791
+ };
792
+ }
793
+ /**
794
+ * Effect handlers for each RPC method in a worker definition.
795
+ */
796
+ type Handlers$2<ROut, Self extends Definition$2.Any> = { readonly [Key in keyof Self["methods"]]: (...args: Method$1.Args<Self["methods"][Key]>) => WorkerRpcHandler<ROut, Method$1.Success<Self["methods"][Key]>> };
797
+ type BoundaryHandlers<ROut, Self extends Definition$2.Any> = { readonly [Key in keyof Self["methods"]]: (...args: Array<unknown>) => WorkerRpcHandler<ROut, Method$1.EncodedSuccess<Self["methods"][Key]>> };
798
+ /**
799
+ * Worker constructor options for a specific RPC definition.
800
+ */
801
+ interface Options$2<ROut, Self extends Definition$2.Any> extends Omit<WorkerOptions<ROut, Handlers$2<ROut, Self>>, "rpc"> {
802
+ readonly rpc: Handlers$2<ROut, Self>;
803
+ }
804
+ /**
805
+ * Defines a single RPC method schema in a worker definition.
806
+ */
807
+ declare const method$2: typeof method$4;
808
+ declare const make$3: <Id extends string, const MethodsShape extends Methods>(id: Id, methods: MethodsShape & NoReservedMethods<MethodsShape, ReservedMethodName$2>) => Definition$2<Id, MethodsShape> & {
809
+ make: <ROut, LayerError>(layer: Layer.Layer<ROut, LayerError, ExecutionContext | WorkerContext | WorkerEnvironment>, options: Options$2<ROut, Definition$2<Id, MethodsShape>>) => WorkerClass<BoundaryHandlers<ROut, Definition$2<Id, MethodsShape>>, ROut>;
810
+ Binding: <Self>() => <BindingId extends string>(bindingId: BindingId, binding: Omit<ServiceBindingDefinition<Definition$2<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<Self, BindingId, ServiceBindingClient<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>>> & {
811
+ "effect-cf/Binding": "effect-cf/Binding";
812
+ binding: string;
813
+ layer: Layer.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
814
+ } & (Definition$2<Id, MethodsShape> extends infer T_1 ? T_1 extends Definition$2<Id, MethodsShape> ? T_1 extends Definition$4.Any ? { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ... /*elided*/any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, ServiceBindingRpcError, Self> } : {} : never : never) & {
815
+ readonly "effect-cf/ServiceBinding": "effect-cf/ServiceBinding";
816
+ readonly definition: ServiceBindingDefinition<Definition$2<Id, MethodsShape>>;
817
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, ServiceBindingFetchError, Self>;
818
+ readonly rpc: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>, ServiceBindingRpcError, Self>;
819
+ readonly call: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>, ServiceBindingRpcError, Self>;
820
+ readonly scopedCall: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>>, unknown, Self | _$effect_Scope0.Scope>;
821
+ };
822
+ binding: <BindingId extends string>(bindingId: BindingId, binding: Omit<ServiceBindingDefinition<Definition$2<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<BindingService<BindingId, Definition$2<Id, MethodsShape>>, BindingId, ServiceBindingClient<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>>> & {
823
+ "effect-cf/Binding": "effect-cf/Binding";
824
+ binding: string;
825
+ layer: Layer.Layer<BindingService<BindingId, Definition$2<Id, MethodsShape>>, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
826
+ } & (Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>> } : {} : never : never) & {
827
+ readonly "effect-cf/ServiceBinding": "effect-cf/ServiceBinding";
828
+ readonly definition: ServiceBindingDefinition<Definition$2<Id, MethodsShape>>;
829
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, ServiceBindingFetchError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
830
+ readonly rpc: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
831
+ readonly call: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
832
+ readonly scopedCall: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>>, unknown, BindingService<BindingId, Definition$2<Id, MethodsShape>> | _$effect_Scope0.Scope>;
833
+ };
834
+ };
835
+ declare const Tag$2: <_Self>() => <Id extends string, const MethodsShape extends Methods>(id: Id, methods: MethodsShape & NoReservedMethods<MethodsShape, ReservedMethodName$2>) => (abstract new () => object) & (Definition$2<Id, MethodsShape> & {
836
+ make: <ROut, LayerError>(layer: Layer.Layer<ROut, LayerError, ExecutionContext | WorkerContext | WorkerEnvironment>, options: Options$2<ROut, Definition$2<Id, MethodsShape>>) => WorkerClass<BoundaryHandlers<ROut, Definition$2<Id, MethodsShape>>, ROut>;
837
+ Binding: <Self>() => <BindingId extends string>(bindingId: BindingId, binding: Omit<ServiceBindingDefinition<Definition$2<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<Self, BindingId, ServiceBindingClient<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>>> & {
838
+ "effect-cf/Binding": "effect-cf/Binding";
839
+ binding: string;
840
+ layer: Layer.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
841
+ } & (Definition$2<Id, MethodsShape> extends infer T_1 ? T_1 extends Definition$2<Id, MethodsShape> ? T_1 extends Definition$4.Any ? { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ... /*elided*/any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, ServiceBindingRpcError, Self> } : {} : never : never) & {
842
+ readonly "effect-cf/ServiceBinding": "effect-cf/ServiceBinding";
843
+ readonly definition: ServiceBindingDefinition<Definition$2<Id, MethodsShape>>;
844
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, ServiceBindingFetchError, Self>;
845
+ readonly rpc: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>, ServiceBindingRpcError, Self>;
846
+ readonly call: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>, ServiceBindingRpcError, Self>;
847
+ readonly scopedCall: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>>, unknown, Self | _$effect_Scope0.Scope>;
848
+ };
849
+ binding: <BindingId extends string>(bindingId: BindingId, binding: Omit<ServiceBindingDefinition<Definition$2<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<BindingService<BindingId, Definition$2<Id, MethodsShape>>, BindingId, ServiceBindingClient<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>>> & {
850
+ "effect-cf/Binding": "effect-cf/Binding";
851
+ binding: string;
852
+ layer: Layer.Layer<BindingService<BindingId, Definition$2<Id, MethodsShape>>, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
853
+ } & (Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>> } : {} : never : never) & {
854
+ readonly "effect-cf/ServiceBinding": "effect-cf/ServiceBinding";
855
+ readonly definition: ServiceBindingDefinition<Definition$2<Id, MethodsShape>>;
856
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, ServiceBindingFetchError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
857
+ readonly rpc: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
858
+ readonly call: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
859
+ readonly scopedCall: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>>, unknown, BindingService<BindingId, Definition$2<Id, MethodsShape>> | _$effect_Scope0.Scope>;
860
+ };
861
+ });
862
+ declare const Worker: <_Self>() => <Id extends string, const MethodsShape extends Methods>(id: Id, methods: MethodsShape & NoReservedMethods<MethodsShape, ReservedMethodName$2>) => (abstract new () => object) & (Definition$2<Id, MethodsShape> & {
863
+ make: <ROut, LayerError>(layer: Layer.Layer<ROut, LayerError, ExecutionContext | WorkerContext | WorkerEnvironment>, options: Options$2<ROut, Definition$2<Id, MethodsShape>>) => WorkerClass<BoundaryHandlers<ROut, Definition$2<Id, MethodsShape>>, ROut>;
864
+ Binding: <Self>() => <BindingId extends string>(bindingId: BindingId, binding: Omit<ServiceBindingDefinition<Definition$2<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<Self, BindingId, ServiceBindingClient<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>>> & {
865
+ "effect-cf/Binding": "effect-cf/Binding";
866
+ binding: string;
867
+ layer: Layer.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
868
+ } & (Definition$2<Id, MethodsShape> extends infer T_1 ? T_1 extends Definition$2<Id, MethodsShape> ? T_1 extends Definition$4.Any ? { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ... /*elided*/any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, ServiceBindingRpcError, Self> } : {} : never : never) & {
869
+ readonly "effect-cf/ServiceBinding": "effect-cf/ServiceBinding";
870
+ readonly definition: ServiceBindingDefinition<Definition$2<Id, MethodsShape>>;
871
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, ServiceBindingFetchError, Self>;
872
+ readonly rpc: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>, ServiceBindingRpcError, Self>;
873
+ readonly call: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>, ServiceBindingRpcError, Self>;
874
+ readonly scopedCall: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>>, unknown, Self | _$effect_Scope0.Scope>;
875
+ };
876
+ binding: <BindingId extends string>(bindingId: BindingId, binding: Omit<ServiceBindingDefinition<Definition$2<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<BindingService<BindingId, Definition$2<Id, MethodsShape>>, BindingId, ServiceBindingClient<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>>> & {
877
+ "effect-cf/Binding": "effect-cf/Binding";
878
+ binding: string;
879
+ layer: Layer.Layer<BindingService<BindingId, Definition$2<Id, MethodsShape>>, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
880
+ } & (Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>> } : {} : never : never) & {
881
+ readonly "effect-cf/ServiceBinding": "effect-cf/ServiceBinding";
882
+ readonly definition: ServiceBindingDefinition<Definition$2<Id, MethodsShape>>;
883
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, ServiceBindingFetchError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
884
+ readonly rpc: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
885
+ readonly call: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
886
+ readonly scopedCall: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>>, unknown, BindingService<BindingId, Definition$2<Id, MethodsShape>> | _$effect_Scope0.Scope>;
887
+ };
888
+ });
889
+ /**
890
+ * Helper for implementing handlers with the exact method shape of a definition.
891
+ */
892
+ declare const implement$2: <ROut, const Self extends Definition$2.Any>(_definition: Self, handlers: Handlers$2<ROut, Self>) => Handlers$2<ROut, Self>;
893
+ /**
894
+ * Convenience alias for a single worker RPC handler Effect.
895
+ */
896
+ type HandlerEffect$2<ROut, Self extends Definition$2.Any, Key extends keyof Self["methods"]> = WorkerRpcHandler<ROut, Method$1.Success<Self["methods"][Key]>>;
897
+ declare namespace ServiceBinding_d_exports {
898
+ export { Service$1 as Service, ServiceBindingClient, ServiceBindingDefinition, ServiceBindingFetchError, ServiceBindingRpcError, ServiceFetcher };
899
+ }
900
+ declare const TypeId: "effect-cf/ServiceBinding";
901
+ /**
902
+ * Minimum shape for a Cloudflare service binding.
903
+ */
904
+ interface ServiceFetcher {
905
+ fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
906
+ }
907
+ type RpcClient<Api> = { readonly [Key in keyof Api as Key extends string ? Api[Key] extends ((...args: Array<any>) => unknown) ? Key : never : never]: Api[Key] };
908
+ type ReservedMethodName$1 = ReservedMethodName$2 | "fetch";
909
+ /**
910
+ * Native Cloudflare service object including optional RPC methods.
911
+ */
912
+ type ServiceBindingClient<Api extends object> = ServiceFetcher & RpcClient<Provider<Api, ReservedMethodName$1>>;
913
+ type ApiFromDefinition<Definition> = Definition extends Definition$2.Any ? ServerApi$3<Definition> : never;
914
+ type ApiOrDefinition<Api extends object, Definition> = [Api] extends [never] ? ApiFromDefinition<Definition> : Api;
915
+ /**
916
+ * Binding metadata used to create an Effect service from a Worker binding.
917
+ */
918
+ interface ServiceBindingDefinition<Definition extends Definition$2.Any | undefined = undefined> {
919
+ /** Binding name as configured in `wrangler.jsonc`. */
920
+ readonly binding: string;
921
+ /** Optional RPC schema used for argument/result encoding. */
922
+ readonly definition?: Definition;
923
+ }
924
+ declare const ServiceBindingFetchError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
925
+ readonly _tag: "ServiceBindingFetchError";
926
+ } & Readonly<A>;
927
+ /**
928
+ * Failure raised when calling `fetch` on a service binding.
929
+ */
930
+ declare class ServiceBindingFetchError extends ServiceBindingFetchError_base<{
931
+ readonly binding: string;
932
+ readonly cause: unknown;
933
+ }> {}
934
+ declare const ServiceBindingRpcError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
935
+ readonly _tag: "ServiceBindingRpcError";
936
+ } & Readonly<A>;
937
+ /**
938
+ * Failure raised when invoking an RPC method on a service binding.
939
+ */
940
+ declare class ServiceBindingRpcError extends ServiceBindingRpcError_base<{
941
+ readonly binding: string;
942
+ readonly method: string;
943
+ readonly cause: unknown;
944
+ }> {}
945
+ type ServiceMethodKey<Api> = AsyncMethodKey<Api>;
946
+ type ServiceMethodArgs<Api, Method extends keyof Api> = AsyncMethodArgs<Api, Method>;
947
+ type DefinitionDirectMethods<Self, Definition extends Definition$2.Any> = { readonly [Method in Definition$4.MethodNames<Definition>]: (...args: Method$1.Args<Definition["methods"][Method]>) => Effect.Effect<Method$1.Success<Definition["methods"][Method]>, ServiceBindingRpcError, Self> };
948
+ type DirectMethods<Self, Definition> = Definition extends Definition$2.Any ? DefinitionDirectMethods<Self, Definition> : {};
949
+ /**
950
+ * Creates a typed Effect service for a Worker service binding.
951
+ *
952
+ * Returned value includes:
953
+ * - a Context tag for dependency injection
954
+ * - `fetch(...)` for raw HTTP forwarding
955
+ * - `call(...)` for generic RPC invocation
956
+ * - direct RPC methods when `definition` is provided
957
+ *
958
+ * @example
959
+ * ```ts
960
+ * const Counter = WorkerDefinition.make("Counter", {
961
+ * increment: WorkerDefinition.method({
962
+ * args: [Schema.Number],
963
+ * success: Schema.Number,
964
+ * }),
965
+ * });
966
+ *
967
+ * const CounterService = Counter.binding("COUNTER", { binding: "COUNTER" });
968
+ *
969
+ * const program = Effect.gen(function* () {
970
+ * const next = yield* CounterService.increment(1);
971
+ * return next;
972
+ * });
973
+ * ```
974
+ */
975
+ declare const Service$1: <Self, Api extends object = never>() => <Id extends string, const Definition extends Definition$2.Any | undefined = undefined>(id: Id, definition: ServiceBindingDefinition<Definition>) => (_$effect_Context0.ServiceClass<Self, Id, ServiceBindingClient<ApiOrDefinition<Api, Definition>>> & {
976
+ "effect-cf/Binding": "effect-cf/Binding";
977
+ binding: string;
978
+ layer: _$effect_Layer0.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
979
+ }) & DirectMethods<Self, Definition> & {
980
+ readonly [TypeId]: typeof TypeId;
981
+ readonly definition: ServiceBindingDefinition<Definition>;
982
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, ServiceBindingFetchError, Self>;
983
+ readonly rpc: <Method extends ServiceMethodKey<ApiOrDefinition<Api, Definition>>>(method: Method, ...args: ServiceMethodArgs<ApiOrDefinition<Api, Definition>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<ApiOrDefinition<Api, Definition>, Method>>, ServiceBindingRpcError, Self>;
984
+ readonly call: <Method extends ServiceMethodKey<ApiOrDefinition<Api, Definition>>>(method: Method, ...args: ServiceMethodArgs<ApiOrDefinition<Api, Definition>, Method>) => Effect.Effect<AsyncMethodSuccess<ApiOrDefinition<Api, Definition>, Method>, ServiceBindingRpcError, Self>;
985
+ readonly scopedCall: <Method extends ServiceMethodKey<ApiOrDefinition<Api, Definition>>>(method: Method, ...args: ServiceMethodArgs<ApiOrDefinition<Api, Definition>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<ApiOrDefinition<Api, Definition>, Method>>>, unknown, Self | _$effect_Scope0.Scope>;
986
+ };
987
+ declare namespace Worker_d_exports {
988
+ export { Api$1 as Api, Definition$1 as Definition, ExecutionContext, HandlerEffect$1 as HandlerEffect, Handlers$1 as Handlers, NativeRequest, Options$1 as Options, ReservedMethodName, RpcHandlers$1 as RpcHandlers, ServerApi$2 as ServerApi, Tag$1 as Tag, WorkerClass, WorkerContext, WorkerContextService, WorkerContextWaitUntilOptions, WorkerHandler, WorkerOptions, WorkerRpc, WorkerRpcHandler, WorkerRpcShape, implement$1 as implement, isWebSocketUpgrade, make$2 as make, method$1 as method };
989
+ }
990
+ declare const ExecutionContext_base: Context.ServiceClass<ExecutionContext, "effect-cf/ExecutionContext", globalThis.ExecutionContext<unknown>>;
991
+ declare class ExecutionContext extends ExecutionContext_base {}
992
+ interface WorkerContextWaitUntilOptions<E, R> {
993
+ readonly onFailure?: (cause: Cause.Cause<E>) => Effect.Effect<void, never, R>;
994
+ }
995
+ interface WorkerContextService {
996
+ readonly raw: globalThis.ExecutionContext;
997
+ waitUntil<A, E, R, R2 = never>(effect: Effect.Effect<A, E, R>, options?: WorkerContextWaitUntilOptions<E, R2>): Effect.Effect<void, never, R | R2>;
998
+ readonly passThroughOnException: Effect.Effect<void>;
999
+ }
1000
+ declare const WorkerContext_base: Context.ServiceClass<WorkerContext, "effect-cf/WorkerContext", WorkerContextService>;
1001
+ declare class WorkerContext extends WorkerContext_base {}
1002
+ declare const NativeRequest_base: Context.ServiceClass<NativeRequest, "effect-cf/NativeRequest", Request<unknown, CfProperties<unknown>>>;
1003
+ declare class NativeRequest extends NativeRequest_base {}
1004
+ declare const isWebSocketUpgrade: (request: Request) => boolean;
1005
+ type ReservedMethodName = ReservedMethodName$5 | "fetch" | "connect" | "alarm" | "webSocketMessage" | "webSocketClose" | "webSocketError";
1006
+ type WorkerBaseContext<ROut> = ExecutionContext | WorkerContext | WorkerEnvironment | ROut;
1007
+ type WorkerFetchContext<ROut> = WorkerBaseContext<ROut> | NativeRequest | HttpServerRequest.HttpServerRequest | Scope.Scope;
1008
+ type WorkerRpcContext<ROut> = WorkerBaseContext<ROut> | Scope.Scope;
1009
+ type WorkerHandler<ROut, A = unknown> = Effect.Effect<A, unknown, WorkerFetchContext<ROut>>;
1010
+ type WorkerRpcHandler<ROut, A = unknown> = Effect.Effect<A, unknown, WorkerRpcContext<ROut>>;
1011
+ type WorkerRpc<ROut> = Record<string, (...args: Array<any>) => WorkerRpcHandler<ROut>>;
1012
+ type WorkerRpcShape<Rpc extends WorkerRpc<ROut>, ROut> = { readonly [Key in keyof Rpc]: Rpc[Key] extends ((...args: infer Args) => Effect.Effect<infer A, unknown, WorkerRpcContext<ROut>>) ? (...args: Args) => Promise<A> : never };
1013
+ type RpcHandlers$1<ROut, Api> = { readonly [Key in keyof Api as Key extends keyof WorkerEntrypoint ? never : Key extends string ? Key extends ReservedMethodName ? never : [Api[Key]] extends [never] ? never : Api[Key] extends ((...args: Array<any>) => Promise<unknown>) ? Key : never : never]: Api[Key] extends ((...args: infer Args) => Promise<infer A>) ? (...args: Args) => WorkerRpcHandler<ROut, A> : never };
1014
+ interface WorkerOptions<ROut, Rpc extends WorkerRpc<ROut>> {
1015
+ readonly fetch?: Effect.Effect<Response, unknown, WorkerFetchContext<ROut>>;
1016
+ readonly rpc?: Rpc;
1017
+ }
1018
+ type WorkerClass<Rpc extends WorkerRpc<ROut>, ROut> = new (ctx: globalThis.ExecutionContext, env: WorkerEnv) => WorkerEntrypoint<WorkerEnv> & {
1019
+ fetch(request: Request): Promise<Response>;
1020
+ } & WorkerRpcShape<Rpc, ROut>;
1021
+ declare const make$2: <ROut, LayerError, const Rpc extends WorkerRpc<ROut> = Record<never, never>>(layer: Layer.Layer<ROut, LayerError, ExecutionContext | WorkerContext | WorkerEnvironment>, options: WorkerOptions<ROut, Rpc>) => WorkerClass<Rpc, ROut>;
1022
+ declare const Tag$1: <_Self>() => <Id extends string, const MethodsShape extends Methods>(id: Id, methods: MethodsShape & NoReservedMethods<MethodsShape, ReservedMethodName$2>) => (abstract new () => object) & (Definition$2<Id, MethodsShape> & {
1023
+ make: <ROut, LayerError>(layer: Layer.Layer<ROut, LayerError, ExecutionContext | WorkerContext | WorkerEnvironment>, options: Options$2<ROut, Definition$2<Id, MethodsShape>>) => WorkerClass<{ readonly [Key in keyof MethodsShape]: (...args: Array<unknown>) => WorkerRpcHandler<ROut, _$effect_Schema0.Codec.Encoded<MethodsShape[Key]["success"]>> }, ROut>;
1024
+ Binding: <Self>() => <BindingId extends string>(bindingId: BindingId, binding: Omit<ServiceBindingDefinition<Definition$2<Id, MethodsShape>>, "definition">) => Context.ServiceClass<Self, BindingId, ServiceBindingClient<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>>> & {
1025
+ "effect-cf/Binding": "effect-cf/Binding";
1026
+ binding: string;
1027
+ layer: Layer.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
1028
+ } & (Definition$2<Id, MethodsShape> extends infer T_1 ? T_1 extends Definition$2<Id, MethodsShape> ? T_1 extends Definition$4.Any ? { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ... /*elided*/any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, ServiceBindingRpcError, Self> } : {} : never : never) & {
1029
+ readonly "effect-cf/ServiceBinding": "effect-cf/ServiceBinding";
1030
+ readonly definition: ServiceBindingDefinition<Definition$2<Id, MethodsShape>>;
1031
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, ServiceBindingFetchError, Self>;
1032
+ readonly rpc: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>, ServiceBindingRpcError, Self>;
1033
+ readonly call: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>, ServiceBindingRpcError, Self>;
1034
+ readonly scopedCall: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>>, unknown, Self | Scope.Scope>;
1035
+ };
1036
+ binding: <BindingId extends string>(bindingId: BindingId, binding: Omit<ServiceBindingDefinition<Definition$2<Id, MethodsShape>>, "definition">) => Context.ServiceClass<BindingService<BindingId, Definition$2<Id, MethodsShape>>, BindingId, ServiceBindingClient<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>>> & {
1037
+ "effect-cf/Binding": "effect-cf/Binding";
1038
+ binding: string;
1039
+ layer: Layer.Layer<BindingService<BindingId, Definition$2<Id, MethodsShape>>, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
1040
+ } & (Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>> } : {} : never : never) & {
1041
+ readonly "effect-cf/ServiceBinding": "effect-cf/ServiceBinding";
1042
+ readonly definition: ServiceBindingDefinition<Definition$2<Id, MethodsShape>>;
1043
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, ServiceBindingFetchError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
1044
+ readonly rpc: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
1045
+ readonly call: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>, ServiceBindingRpcError, BindingService<BindingId, Definition$2<Id, MethodsShape>>>;
1046
+ readonly scopedCall: <Method extends (([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>)]>(method: Method, ...args: AsyncMethodArgs<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$2<Definition$2<Id, MethodsShape>>] extends [never] ? Definition$2<Id, MethodsShape> extends infer T ? T extends Definition$2<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$3<T> : never : never : never : Api$2<Definition$2<Id, MethodsShape>>, Method>>>, unknown, BindingService<BindingId, Definition$2<Id, MethodsShape>> | Scope.Scope>;
1047
+ };
1048
+ });
1049
+ declare const method$1: typeof method$4;
1050
+ declare const implement$1: <ROut, const Self extends Definition$2.Any>(_definition: Self, handlers: Handlers$2<ROut, Self>) => Handlers$2<ROut, Self>;
1051
+ type Definition$1<Id extends string = string, Methods$1 extends Methods = Methods> = Definition$2<Id, Methods$1>;
1052
+ declare namespace Definition$1 {
1053
+ type Any = Definition$2.Any;
1054
+ }
1055
+ type ServerApi$2<Self extends Definition$2.Any> = ServerApi$3<Self>;
1056
+ type Api$1<Self extends Definition$2.Any> = Api$2<Self>;
1057
+ type Handlers$1<ROut, Self extends Definition$2.Any> = Handlers$2<ROut, Self>;
1058
+ type Options$1<ROut, Self extends Definition$2.Any> = Options$2<ROut, Self>;
1059
+ type HandlerEffect$1<ROut, Self extends Definition$2.Any, Key extends keyof Self["methods"]> = HandlerEffect$2<ROut, Self, Key>;
1060
+ declare namespace DurableObject_d_exports {
1061
+ export { Api, Definition, DurableObjectClass, DurableObjectHandler, DurableObjectOptions, DurableObjectRpc, DurableObjectRpcShape, HandlerEffect, Handlers, Options, RpcHandlers, ServerApi$1 as ServerApi, Tag, implement, make$1 as make, method };
1062
+ }
1063
+ type RuntimeContext<ROut> = DurableObjectState | WorkerEnvironment | ROut;
1064
+ type HandlerContext<ROut> = RuntimeContext<ROut> | Scope.Scope;
1065
+ type FetchContext<ROut> = HandlerContext<ROut> | NativeRequest;
1066
+ /**
1067
+ * Effect type for Durable Object lifecycle and RPC handlers.
1068
+ */
1069
+ type DurableObjectHandler<ROut, A = unknown> = Effect.Effect<A, unknown, HandlerContext<ROut>>;
1070
+ /**
1071
+ * Shape of Durable Object RPC handlers passed to {@link make}.
1072
+ */
1073
+ type DurableObjectRpc<ROut> = Record<string, (...args: Array<any>) => DurableObjectHandler<ROut>>;
1074
+ type DurableObjectRpcShape<Rpc extends DurableObjectRpc<ROut>, ROut> = { readonly [Key in keyof Rpc]: Rpc[Key] extends ((...args: infer Args) => Effect.Effect<infer A, unknown, HandlerContext<ROut>>) ? (...args: Args) => Promise<A> : never };
1075
+ type RpcHandlers<ROut, Api> = { readonly [Key in keyof Api as Key extends keyof DurableObject<WorkerEnv> ? never : Key extends string ? [Api[Key]] extends [never] ? never : Api[Key] extends ((...args: Array<any>) => Promise<unknown>) ? Key : never : never]: Api[Key] extends ((...args: infer Args) => Promise<infer A>) ? (...args: Args) => DurableObjectHandler<ROut, A> : never };
1076
+ /**
1077
+ * Options for creating a Durable Object class backed by Effect handlers.
1078
+ */
1079
+ interface DurableObjectOptions<ROut, Rpc extends DurableObjectRpc<ROut>> {
1080
+ /** Optional RPC methods exposed as Durable Object instance methods. */
1081
+ readonly rpc?: Rpc;
1082
+ /** Optional fetch handler for HTTP/WebSocket requests. */
1083
+ readonly fetch?: Effect.Effect<Response, unknown, FetchContext<ROut>>;
1084
+ readonly alarm?: (alarmInfo?: globalThis.AlarmInvocationInfo) => Effect.Effect<void, unknown, HandlerContext<ROut>>;
1085
+ readonly webSocketMessage?: (socket: WebSocket, message: string | ArrayBuffer) => Effect.Effect<void, unknown, HandlerContext<ROut>>;
1086
+ readonly webSocketClose?: (socket: WebSocket, code: number, reason: string, wasClean: boolean) => Effect.Effect<void, unknown, HandlerContext<ROut>>;
1087
+ readonly webSocketError?: (socket: WebSocket, error: unknown) => Effect.Effect<void, unknown, HandlerContext<ROut>>;
1088
+ }
1089
+ /**
1090
+ * Cloudflare `DurableObject` constructor produced by {@link make}.
1091
+ */
1092
+ type DurableObjectClass<Rpc extends DurableObjectRpc<ROut>, ROut> = new (state: globalThis.DurableObjectState, env: WorkerEnv) => DurableObject<WorkerEnv> & DurableObjectRpcShape<Rpc, ROut>;
1093
+ /**
1094
+ * Creates a Durable Object class backed by a single managed Effect runtime.
1095
+ */
1096
+ declare const make$1: <ROut, LayerError, const Rpc extends DurableObjectRpc<ROut> = Record<never, never>>(layer: Layer.Layer<ROut, LayerError, DurableObjectState | WorkerEnvironment>, options?: DurableObjectOptions<ROut, Rpc>) => DurableObjectClass<Rpc, ROut>;
1097
+ declare const Tag: <_Self>() => <Id extends string, const MethodsShape extends Methods>(id: Id, methods: MethodsShape & NoReservedMethods<MethodsShape, ReservedMethodName$4>) => (abstract new () => object) & (Definition$3<Id, MethodsShape> & {
1098
+ make: <ROut, LayerError>(layer: Layer.Layer<ROut, LayerError, DurableObjectState | WorkerEnvironment>, options: Options$3<ROut, Definition$3<Id, MethodsShape>>) => DurableObjectClass<{ readonly [Key in keyof MethodsShape]: (...args: Array<unknown>) => DurableObjectHandler<ROut, _$effect_Schema0.Codec.Encoded<MethodsShape[Key]["success"]>> }, ROut>;
1099
+ Namespace: <Self>() => <BindingId extends string>(bindingId: BindingId, binding: Omit<DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<Self, BindingId, DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>> & {
1100
+ "effect-cf/Binding": "effect-cf/Binding";
1101
+ binding: string;
1102
+ layer: Layer.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
1103
+ } & (Definition$3<Id, MethodsShape> extends infer T_1 ? T_1 extends Definition$3<Id, MethodsShape> ? T_1 extends Definition$4.Any ? { readonly [Method in Extract<keyof T_1["methods"], string>]: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, ...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ... /*elided*/any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, never> } & {
1104
+ readonly byName: (name: string, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
1105
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, Self>;
1106
+ } & { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, Self> };
1107
+ readonly byId: (id: globalThis.DurableObjectId, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
1108
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, Self>;
1109
+ } & { readonly [Method in Extract<keyof T_1["methods"], string>]: (...args: T_1["methods"][Method]["args"] extends infer T_2 ? T_2 extends T_1["methods"][Method]["args"] ? T_2 extends readonly [] ? [] : T_2 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_2[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T_1["methods"][Method]["success"]>, DurableObjectRpcError, Self> };
1110
+ } : {} : never : never) & {
1111
+ readonly "effect-cf/DurableObjectNamespace": "effect-cf/DurableObjectNamespace";
1112
+ readonly definition: DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>;
1113
+ readonly newUniqueId: (options?: DurableObjectNamespaceNewUniqueIdOptions | undefined) => Effect.Effect<DurableObjectId, never, Self>;
1114
+ readonly idFromName: (name: string) => Effect.Effect<DurableObjectId, never, Self>;
1115
+ readonly idFromString: (id: string) => Effect.Effect<DurableObjectId, never, Self>;
1116
+ readonly get: (id: DurableObjectId, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
1117
+ readonly getByName: (name: string, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
1118
+ readonly jurisdiction: (value: DurableObjectJurisdiction) => Effect.Effect<DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, Self>;
1119
+ readonly fetch: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, never>;
1120
+ readonly rpc: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>, DurableObjectRpcError, never>;
1121
+ readonly call: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>, DurableObjectRpcError, never>;
1122
+ readonly scopedCall: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>>, unknown, Scope.Scope>;
1123
+ };
1124
+ namespace: <BindingId extends string>(bindingId: BindingId, binding: Omit<DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>, "definition">) => _$effect_Context0.ServiceClass<NamespaceService<BindingId, Definition$3<Id, MethodsShape>>, BindingId, DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>> & {
1125
+ "effect-cf/Binding": "effect-cf/Binding";
1126
+ binding: string;
1127
+ layer: Layer.Layer<NamespaceService<BindingId, Definition$3<Id, MethodsShape>>, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
1128
+ } & (Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? { readonly [Method in Extract<keyof T["methods"], string>]: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, ...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, never> } & {
1129
+ readonly byName: (name: string, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
1130
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
1131
+ } & { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>> };
1132
+ readonly byId: (id: globalThis.DurableObjectId, options?: globalThis.DurableObjectNamespaceGetDurableObjectOptions) => {
1133
+ readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
1134
+ } & { readonly [Method in Extract<keyof T["methods"], string>]: (...args: T["methods"][Method]["args"] extends infer T_1 ? T_1 extends T["methods"][Method]["args"] ? T_1 extends readonly [] ? [] : T_1 extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...Tail extends readonly [] ? [] : Tail extends readonly [infer Head extends ServiceFreeSchema, ...infer Tail extends readonly ServiceFreeSchema[]] ? [_$effect_Schema0.Schema.Type<Head>, ...any] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<Tail[number]>[]] : _$effect_Schema0.Schema.Type<T_1[number]>[] : never : never) => Effect.Effect<_$effect_Schema0.Schema.Type<T["methods"][Method]["success"]>, DurableObjectRpcError, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>> };
1135
+ } : {} : never : never) & {
1136
+ readonly "effect-cf/DurableObjectNamespace": "effect-cf/DurableObjectNamespace";
1137
+ readonly definition: DurableObjectNamespaceBindingDefinition<Definition$3<Id, MethodsShape>>;
1138
+ readonly newUniqueId: (options?: DurableObjectNamespaceNewUniqueIdOptions | undefined) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
1139
+ readonly idFromName: (name: string) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
1140
+ readonly idFromString: (id: string) => Effect.Effect<DurableObjectId, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
1141
+ readonly get: (id: DurableObjectId, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
1142
+ readonly getByName: (name: string, options?: DurableObjectNamespaceGetDurableObjectOptions | undefined) => Effect.Effect<DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
1143
+ readonly jurisdiction: (value: DurableObjectJurisdiction) => Effect.Effect<DurableObjectNamespaceClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, never, NamespaceService<BindingId, Definition$3<Id, MethodsShape>>>;
1144
+ readonly fetch: (stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, DurableObjectFetchError, never>;
1145
+ readonly rpc: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>, DurableObjectRpcError, never>;
1146
+ readonly call: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>, DurableObjectRpcError, never>;
1147
+ readonly scopedCall: <Method extends (([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>) extends infer T_2 ? { [Key in keyof T_2]-?: Key extends string ? T_2[Key] extends ((...args: any[]) => Promise<unknown>) ? Key : never : never } : never)[keyof ([Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>)]>(stub: DurableObjectStubClient<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>>, method: Method, ...args: AsyncMethodArgs<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>) => Effect.Effect<Awaited<Result<AsyncMethodSuccess<[Api$3<Definition$3<Id, MethodsShape>>] extends [never] ? Definition$3<Id, MethodsShape> extends infer T ? T extends Definition$3<Id, MethodsShape> ? T extends Definition$4.Any ? ServerApi$4<T> : never : never : never : Api$3<Definition$3<Id, MethodsShape>>, Method>>>, unknown, Scope.Scope>;
1148
+ };
1149
+ });
1150
+ declare const method: typeof method$4;
1151
+ declare const implement: <ROut, const Self extends Definition$3.Any>(_definition: Self, handlers: Handlers$3<ROut, Self>) => Handlers$3<ROut, Self>;
1152
+ type Definition<Id extends string = string, Methods extends Definition$3.Any["methods"] = Definition$3.Any["methods"]> = Definition$3<Id, Methods>;
1153
+ declare namespace Definition {
1154
+ type Any = Definition$3.Any;
1155
+ }
1156
+ type ServerApi$1<Self extends Definition$3.Any> = ServerApi$4<Self>;
1157
+ type Api<Self extends Definition$3.Any> = Api$3<Self>;
1158
+ type Handlers<ROut, Self extends Definition$3.Any> = Handlers$3<ROut, Self>;
1159
+ type Options<ROut, Self extends Definition$3.Any> = Options$3<ROut, Self>;
1160
+ type HandlerEffect<ROut, Self extends Definition$3.Any, Key extends keyof Self["methods"]> = HandlerEffect$3<ROut, Self, Key>;
1161
+ declare namespace DurableObjectRpcWebSocket_d_exports {
1162
+ export { DurableObjectRpcWebSocket, DurableObjectRpcWebSocketService, LayerOptions, NativeWebSocketMessage, layer };
1163
+ }
1164
+ /**
1165
+ * Configuration for {@link layer}.
1166
+ */
1167
+ interface LayerOptions {
1168
+ /** Tag used to select hibernated sockets. */
1169
+ readonly tag?: string | undefined;
1170
+ /** Socket attachment key used to persist client ids across hibernation. */
1171
+ readonly attachmentKey?: string | undefined;
1172
+ }
1173
+ /** Native websocket event payload accepted by Cloudflare Durable Objects. */
1174
+ type NativeWebSocketMessage = string | ArrayBuffer;
1175
+ /**
1176
+ * Service API used to wire websocket lifecycle events to Effect RPC server protocol.
1177
+ */
1178
+ interface DurableObjectRpcWebSocketService {
1179
+ readonly accept: (socket: WebSocket) => Effect.Effect<void>;
1180
+ readonly message: (socket: WebSocket, message: NativeWebSocketMessage) => Effect.Effect<void>;
1181
+ readonly close: (socket: WebSocket) => Effect.Effect<void>;
1182
+ readonly error: (socket: WebSocket, error: unknown) => Effect.Effect<void>;
1183
+ }
1184
+ declare const DurableObjectRpcWebSocket_base: Context.ServiceClass<DurableObjectRpcWebSocket, "effect-cf/DurableObjectRpcWebSocket", DurableObjectRpcWebSocketService>;
1185
+ /**
1186
+ * Context tag for the Durable Object RPC websocket service.
1187
+ */
1188
+ declare class DurableObjectRpcWebSocket extends DurableObjectRpcWebSocket_base {}
1189
+ /**
1190
+ * Builds a layer that bridges Durable Object websocket events to `RpcServer.Protocol`.
1191
+ */
1192
+ declare const layer: (options?: LayerOptions) => Layer.Layer<DurableObjectRpcWebSocket | RpcServer.Protocol, never, DurableObjectState | RpcSerialization.RpcSerialization>;
1193
+ declare namespace DurableObjectWebSocket_d_exports {
1194
+ export { AcceptUpgradeOptions, AcceptedUpgrade, acceptUpgrade };
1195
+ }
1196
+ /**
1197
+ * Options for accepting an incoming websocket request in a Durable Object.
1198
+ */
1199
+ interface AcceptUpgradeOptions<Attachment = unknown> {
1200
+ /** Optional websocket tags for Durable Object hibernation filtering. */
1201
+ readonly tags?: ReadonlyArray<string> | undefined;
1202
+ /** Optional attachment serialized onto the server socket. */
1203
+ readonly attachment?: Attachment | undefined;
1204
+ }
1205
+ /**
1206
+ * Result of a websocket upgrade accepted by {@link acceptUpgrade}.
1207
+ */
1208
+ interface AcceptedUpgrade {
1209
+ readonly client: WebSocket;
1210
+ readonly server: WebSocket;
1211
+ readonly response: Response;
1212
+ }
1213
+ /**
1214
+ * Accepts a websocket upgrade and registers the server socket on `DurableObjectState`.
1215
+ *
1216
+ * @example
1217
+ * ```ts
1218
+ * const response = yield* DurableObjectWebSocket.acceptUpgrade({
1219
+ * tags: ["room:general"],
1220
+ * });
1221
+ *
1222
+ * return response.response;
1223
+ * ```
1224
+ */
1225
+ declare const acceptUpgrade: <Attachment = unknown>(options?: AcceptUpgradeOptions<Attachment>) => Effect.Effect<AcceptedUpgrade, never, DurableObjectState>;
1226
+ declare namespace Kv_d_exports {
1227
+ export { KvDefinition, KvListKey, KvListOptions, KvListResult, KvOperationError, KvPutOptions, KvService, KvWithMetadata, Service, make };
1228
+ }
1229
+ declare const KvOperationError_base: new <A extends Record<string, any> = {}>(args: _$effect_Types0.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => _$effect_Cause0.YieldableError & {
1230
+ readonly _tag: "KvOperationError";
1231
+ } & Readonly<A>;
1232
+ /** Error raised when a KV operation fails. */
1233
+ declare class KvOperationError extends KvOperationError_base<{
1234
+ readonly binding: string;
1235
+ readonly operation: string;
1236
+ readonly cause: unknown;
1237
+ }> {}
1238
+ /** `KVNamespace.put` options. */
1239
+ type KvPutOptions = globalThis.KVNamespacePutOptions;
1240
+ /** `KVNamespace.list` options with optional metadata decoding schema. */
1241
+ type KvListOptions<Metadata = unknown> = globalThis.KVNamespaceListOptions & {
1242
+ readonly metadataSchema?: Schema.Codec<Metadata, unknown>;
1243
+ };
1244
+ /** Successful value returned by `getWithMetadata`. */
1245
+ interface KvWithMetadata<Value, Metadata> {
1246
+ readonly value: Value;
1247
+ readonly metadata: Option.Option<Metadata>;
1248
+ readonly cacheStatus: Option.Option<string>;
1249
+ }
1250
+ /** Decoded key entry returned by `list`. */
1251
+ interface KvListKey<Key, Metadata = unknown> {
1252
+ readonly name: Key;
1253
+ readonly expiration: Option.Option<number>;
1254
+ readonly metadata: Option.Option<Metadata>;
1255
+ }
1256
+ /** Decoded result returned by `list`. */
1257
+ interface KvListResult<Key, Metadata = unknown> {
1258
+ readonly keys: ReadonlyArray<KvListKey<Key, Metadata>>;
1259
+ readonly listComplete: boolean;
1260
+ readonly cursor: Option.Option<string>;
1261
+ readonly cacheStatus: Option.Option<string>;
1262
+ }
1263
+ /**
1264
+ * Typed KV binding definition.
1265
+ */
1266
+ interface KvDefinition<Key, Value, EncodedValue> {
1267
+ /** Binding name as configured in `wrangler.jsonc`. */
1268
+ readonly binding: string;
1269
+ /** Codec used to encode/decode keys. */
1270
+ readonly key: Schema.Codec<Key, string>;
1271
+ /** Codec used to encode/decode values. */
1272
+ readonly value: Schema.Codec<Value, EncodedValue>;
1273
+ }
1274
+ declare const KvServiceTypeId: unique symbol;
1275
+ /** Nominal service marker for KV services created with {@link make}. */
1276
+ interface KvService<Id extends string, Key, Value, EncodedValue> {
1277
+ readonly [KvServiceTypeId]: {
1278
+ readonly id: Id;
1279
+ readonly key: Key;
1280
+ readonly value: Value;
1281
+ readonly encodedValue: EncodedValue;
1282
+ };
1283
+ }
1284
+ /**
1285
+ * Creates a typed KV service tag plus Effect helpers.
1286
+ */
1287
+ declare const make: <Id extends string, Key, Value, EncodedValue>(id: Id, definition: KvDefinition<Key, Value, EncodedValue>) => _$effect_Context0.ServiceClass<KvService<Id, Key, Value, EncodedValue>, Id, KVNamespace<string>> & {
1288
+ "effect-cf/Binding": "effect-cf/Binding";
1289
+ binding: string;
1290
+ layer: _$effect_Layer0.Layer<KvService<Id, Key, Value, EncodedValue>, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
1291
+ } & {
1292
+ "effect-cf/Kv": "effect-cf/Kv";
1293
+ definition: KvDefinition<Key, Value, EncodedValue>;
1294
+ put: (key: Key, value: Value, options?: KVNamespacePutOptions | undefined) => Effect.Effect<void, KvOperationError | Schema.SchemaError, KvService<Id, Key, Value, EncodedValue>>;
1295
+ get: (key: Key) => Effect.Effect<Option.None<Value> | Option.Some<Value>, KvOperationError | Schema.SchemaError, KvService<Id, Key, Value, EncodedValue>>;
1296
+ getWithMetadata: <Metadata>(key: Key, metadataSchema: Schema.Codec<Metadata, unknown, never, never>) => Effect.Effect<Option.None<{
1297
+ value: Value;
1298
+ metadata: Option.Option<Metadata>;
1299
+ cacheStatus: Option.Option<string>;
1300
+ }> | Option.Some<{
1301
+ value: Value;
1302
+ metadata: Option.Option<Metadata>;
1303
+ cacheStatus: Option.Option<string>;
1304
+ }>, KvOperationError | Schema.SchemaError, KvService<Id, Key, Value, EncodedValue>>;
1305
+ list: <Metadata = unknown>(options?: KvListOptions<Metadata> | undefined) => Effect.Effect<{
1306
+ keys: KvListKey<Key, Metadata>[];
1307
+ listComplete: boolean;
1308
+ cursor: Option.Option<string>;
1309
+ cacheStatus: Option.Option<string>;
1310
+ }, KvOperationError | Schema.SchemaError, KvService<Id, Key, Value, EncodedValue>>;
1311
+ remove: (key: Key) => Effect.Effect<void, KvOperationError | Schema.SchemaError, KvService<Id, Key, Value, EncodedValue>>;
1312
+ unsafeRaw: () => Effect.Effect<KVNamespace<string>, never, KvService<Id, Key, Value, EncodedValue>>;
1313
+ };
1314
+ /**
1315
+ * Builds a KV service around a Cloudflare KV namespace binding.
1316
+ *
1317
+ * Returned service includes schema-aware `put`, `get`, `getWithMetadata`,
1318
+ * `list`, and `remove` helpers.
1319
+ *
1320
+ * @example
1321
+ * ```ts
1322
+ * const Sessions = Kv.make("Sessions", {
1323
+ * binding: "SESSIONS",
1324
+ * key: Schema.String,
1325
+ * value: Schema.Struct({ userId: Schema.String }),
1326
+ * });
1327
+ *
1328
+ * const program = Effect.gen(function* () {
1329
+ * yield* Sessions.put("abc", { userId: "u_1" });
1330
+ * return yield* Sessions.get("abc");
1331
+ * });
1332
+ * ```
1333
+ */
1334
+ declare const Service: <Self>() => <Id extends string, Key, Value, EncodedValue>(id: Id, definition: KvDefinition<Key, Value, EncodedValue>) => _$effect_Context0.ServiceClass<Self, Id, KVNamespace<string>> & {
1335
+ "effect-cf/Binding": "effect-cf/Binding";
1336
+ binding: string;
1337
+ layer: _$effect_Layer0.Layer<Self, BindingNotFoundError | BindingValidationError, WorkerEnvironment>;
1338
+ } & {
1339
+ "effect-cf/Kv": "effect-cf/Kv";
1340
+ definition: KvDefinition<Key, Value, EncodedValue>;
1341
+ put: (key: Key, value: Value, options?: KVNamespacePutOptions | undefined) => Effect.Effect<void, KvOperationError | Schema.SchemaError, Self>;
1342
+ get: (key: Key) => Effect.Effect<Option.None<Value> | Option.Some<Value>, KvOperationError | Schema.SchemaError, Self>;
1343
+ getWithMetadata: <Metadata>(key: Key, metadataSchema: Schema.Codec<Metadata, unknown, never, never>) => Effect.Effect<Option.None<{
1344
+ value: Value;
1345
+ metadata: Option.Option<Metadata>;
1346
+ cacheStatus: Option.Option<string>;
1347
+ }> | Option.Some<{
1348
+ value: Value;
1349
+ metadata: Option.Option<Metadata>;
1350
+ cacheStatus: Option.Option<string>;
1351
+ }>, KvOperationError | Schema.SchemaError, Self>;
1352
+ list: <Metadata = unknown>(options?: KvListOptions<Metadata> | undefined) => Effect.Effect<{
1353
+ keys: KvListKey<Key, Metadata>[];
1354
+ listComplete: boolean;
1355
+ cursor: Option.Option<string>;
1356
+ cacheStatus: Option.Option<string>;
1357
+ }, KvOperationError | Schema.SchemaError, Self>;
1358
+ remove: (key: Key) => Effect.Effect<void, KvOperationError | Schema.SchemaError, Self>;
1359
+ unsafeRaw: () => Effect.Effect<KVNamespace<string>, never, Self>;
1360
+ };
1361
+ //#endregion
1362
+ export { Binding_d_exports as Binding, DurableObject_d_exports as DurableObject, DurableObjectDefinition_d_exports as DurableObjectDefinition, DurableObjectNamespace_d_exports as DurableObjectNamespace, DurableObjectRpcWebSocket_d_exports as DurableObjectRpcWebSocket, DurableObjectState_d_exports as DurableObjectState, DurableObjectStorage_d_exports as DurableObjectStorage, DurableObjectWebSocket_d_exports as DurableObjectWebSocket, Kv_d_exports as Kv, Rpc_d_exports as Rpc, RpcDefinition_d_exports as RpcDefinition, ServiceBinding_d_exports as ServiceBinding, Worker_d_exports as Worker, WorkerConfig, WorkerDefinition_d_exports as WorkerDefinition, type WorkerEnv, WorkerEnvironment };