@restatedev/restate-sdk-gen 1.16.9 → 1.17.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.
package/dist/index.d.ts CHANGED
@@ -1,77 +1,8 @@
1
1
  import * as restate from "@restatedev/restate-sdk";
2
2
  import { ContextDate, Opts, Rand, SendOpts, ServiceHandlerOpts } from "@restatedev/restate-sdk";
3
3
 
4
- //#region src/operation.d.ts
5
- interface Operation<T> {
6
- [Symbol.iterator](): Iterator<unknown, T, unknown>;
7
- }
8
- declare function gen<T>(body: () => Generator<unknown, T, unknown>): Operation<T>;
9
- type SelectResult<B extends Record<string, Future<unknown>>> = { [K in keyof B]: {
10
- tag: K;
11
- future: B[K];
12
- } }[keyof B];
13
- declare function select<B extends Record<string, Future<unknown>>>(branches: B): Generator<unknown, SelectResult<B>, unknown>;
14
- //#endregion
15
- //#region src/future.d.ts
16
- declare const futureBrand: unique symbol;
17
- interface Future<T> extends Operation<T> {
18
- readonly [futureBrand]: unknown;
19
- }
20
- /** Extract the value type from a `Future<U>`; `never` for non-Futures. */
21
- type FutureValue<F> = F extends Future<infer U> ? U : never;
22
- /**
23
- * Map a tuple of Futures to the tuple of their value types.
24
- * For `[Future<A>, Future<B>]` produces `[A, B]`.
25
- * For an unbounded `Future<X>[]` produces `X[]`.
26
- */
27
- type FutureValues<T extends readonly Future<unknown>[] | []> = { -readonly [P in keyof T]: T[P] extends Future<infer U> ? U : never };
28
- interface FutureFulfilledResult<T> {
29
- readonly status: "fulfilled";
30
- readonly value: T;
31
- }
32
- interface FutureRejectedResult {
33
- readonly status: "rejected";
34
- readonly reason: unknown;
35
- }
36
- type FutureSettledResult<T> = FutureFulfilledResult<T> | FutureRejectedResult;
37
- //#endregion
38
- //#region src/channel.d.ts
39
- interface Channel<T> {
40
- /**
41
- * Yieldable. Use as `yield* ch.send(value)` from within a gen body.
42
- * The first call settles the channel; subsequent calls are silently
43
- * dropped (idempotent).
44
- *
45
- * Return value is `Operation<void>` rather than `void` so the only
46
- * way to fire send is via `yield*` inside a fiber — which enforces
47
- * the channel-is-intra-workflow contract at the type level.
48
- */
49
- send(value: T): Operation<void>;
50
- readonly receive: Future<T>;
51
- }
52
- //#endregion
53
- //#region src/invocation-reference.d.ts
54
- /** Synchronous handle for resolving or rejecting a signal on a target invocation */
55
- interface SignalReference<T> {
56
- resolve(payload?: T): void;
57
- reject(reason: string | restate.TerminalError): void;
58
- }
59
- /**
60
- * A typed reference to a running invocation. Returned by `sendClient()` methods
61
- * (wrapped in `Future<InvocationReference<O>>`), or created via `invocation(id)`.
62
- *
63
- * - `attach()` returns a `Future<O>` with the serde from the original descriptor.
64
- * - `signal()` sends a named signal to the target invocation.
65
- * - `cancel()` cancels the target invocation.
66
- */
67
- interface InvocationReference<O$1 = unknown> {
68
- readonly id: string;
69
- attach(serde?: restate.Serde<O$1>): Future<O$1>;
70
- signal<T = unknown>(name: string, serde?: restate.Serde<T>): SignalReference<T>;
71
- cancel(): void;
72
- }
73
- //#endregion
74
4
  //#region ../restate-sdk-core/src/core.d.ts
5
+
75
6
  type ServiceDefinition<P$1 extends string, M> = {
76
7
  name: P$1;
77
8
  };
@@ -186,7 +117,7 @@ declare namespace StandardSchemaV1 {
186
117
  * It also advertises metadata (`contentType`, `jsonSchema`) that surfaces in
187
118
  * service discovery.
188
119
  */
189
- interface Serde<T> {
120
+ interface Serde<T$1> {
190
121
  /**
191
122
  * MIME type of the bytes produced by `serialize` (and accepted by
192
123
  * `deserialize`).
@@ -250,12 +181,12 @@ interface Serde<T> {
250
181
  * The returned string must round-trip through `fromJsonString` back to
251
182
  * the same logical value.
252
183
  */
253
- toJsonString(value: T): Promise<string> | string;
184
+ toJsonString(value: T$1): Promise<string> | string;
254
185
  /**
255
186
  * Parse a human-supplied JSON string back into a value of type `T`.
256
187
  * Should throw (or reject) if `json` is invalid for this serde.
257
188
  */
258
- fromJsonString(json: string): Promise<T> | T;
189
+ fromJsonString(json: string): Promise<T$1> | T$1;
259
190
  };
260
191
  /**
261
192
  * Convert a value of type `T` into its on-the-wire bytes. This is the
@@ -264,22 +195,23 @@ interface Serde<T> {
264
195
  * Must be the inverse of `deserialize` — `deserialize(serialize(v))`
265
196
  * should produce a value equivalent to `v`.
266
197
  */
267
- serialize(value: T): Uint8Array;
198
+ serialize(value: T$1): Uint8Array;
268
199
  /**
269
200
  * Convert on-the-wire bytes back into a value of type `T`. Must be the
270
201
  * inverse of `serialize`.
271
202
  *
272
203
  * May throw if `data` doesn't conform to the expected wire format.
273
204
  */
274
- deserialize(data: Uint8Array): T;
205
+ deserialize(data: Uint8Array): T$1;
275
206
  }
276
207
  declare namespace serde {
277
- class JsonSerde<T> implements Serde<T | undefined> {
208
+ class JsonSerde<T$1> implements Serde<T$1> {
278
209
  readonly jsonSchema?: object | undefined;
279
210
  contentType: string;
280
211
  constructor(jsonSchema?: object | undefined);
281
- serialize(value: T): Uint8Array;
282
- deserialize(data: Uint8Array): T | undefined;
212
+ serialize(value: T$1): Uint8Array;
213
+ deserialize(data: Uint8Array): T$1;
214
+ /** @deprecated **/
283
215
  schema<U$1>(schema: object): Serde<U$1>;
284
216
  }
285
217
  const json: JsonSerde<any>;
@@ -293,9 +225,9 @@ declare namespace serde {
293
225
  * @param jsonSchemaOptions options passed to `StandardJsonSchemaV1.Options.libraryOptions` for code generation
294
226
  * @returns a serde that will validate the data with the standard schema
295
227
  */
296
- const schema: <T extends {
228
+ const schema: <T$1 extends {
297
229
  "~standard": StandardSchemaV1.Props;
298
- }>(schema: T, validateOptions?: Record<string, unknown>, jsonSchemaOptions?: Record<string, unknown>) => Serde<StandardSchemaV1.InferOutput<T>>;
230
+ }>(schema: T$1, validateOptions?: Record<string, unknown>, jsonSchemaOptions?: Record<string, unknown>) => Serde<StandardSchemaV1.InferOutput<T$1>>;
299
231
  }
300
232
  //#endregion
301
233
  //#region ../restate-sdk-core/src/duration.d.ts
@@ -346,34 +278,137 @@ type JournalValueCodec = {
346
278
  decode(buf: Uint8Array): Promise<Uint8Array>;
347
279
  };
348
280
  //#endregion
349
- //#region src/define.d.ts
281
+ //#region ../restate-sdk-core/src/interface.d.ts
350
282
  /**
351
- * Minimal descriptor stored in Descriptor._handlers per handler.
283
+ * Minimal descriptor stored in {@link Descriptor}._handlers per handler.
352
284
  */
353
- type HandlerDescriptor<I$1 = any, O$1 = any> = {
354
- readonly _inputSerde?: restate.Serde<I$1>;
355
- readonly _outputSerde?: restate.Serde<O$1>;
285
+ type HandlerDescriptor<I$1 = any, O$1 = any, Shared extends boolean = boolean> = {
286
+ readonly _inputSerde?: Serde<I$1>;
287
+ readonly _outputSerde?: Serde<O$1>;
288
+ /** @internal virtual-object handler shared/exclusive marker (phantom + runtime) */
289
+ readonly _shared?: Shared;
356
290
  };
357
- /**
358
- * The single client-facing type for all definition styles.
359
- * - Returned by service() / object() / workflow() (also bindable to serve())
360
- * - Returned by restate.interface.service/object/workflow (pure, not bindable)
361
- * - Returned by implement() (also bindable)
362
- */
291
+ /** Recover the input type declared by a {@link HandlerDescriptor}. */
292
+ type InferInput<D> = D extends HandlerDescriptor<infer I, any, any> ? I : any;
293
+ /** Recover the output type declared by a {@link HandlerDescriptor}. */
294
+ type InferOutput<D> = D extends HandlerDescriptor<any, infer O, any> ? O : any;
295
+ /** Recover the value type carried by a {@link Serde}. */
296
+ type SerdeType<S$1> = S$1 extends Serde<infer T> ? T : never;
363
297
  type Descriptor<P$1 extends string = string, H extends Record<string, HandlerDescriptor> = Record<string, HandlerDescriptor>, Kind extends "service" | "object" | "workflow" = "service" | "object" | "workflow"> = {
364
298
  readonly name: P$1;
365
299
  readonly _kind: Kind;
366
300
  readonly _handlers: H;
367
301
  };
368
- /** Kind-specific aliases for the common Descriptor type */
369
302
  type ServiceDescriptor<P$1 extends string = string, H extends Record<string, HandlerDescriptor> = Record<string, HandlerDescriptor>> = Descriptor<P$1, H, "service">;
370
303
  type ObjectDescriptor<P$1 extends string = string, H extends Record<string, HandlerDescriptor> = Record<string, HandlerDescriptor>> = Descriptor<P$1, H, "object">;
371
304
  type WorkflowDescriptor<P$1 extends string = string, H extends Record<string, HandlerDescriptor> = Record<string, HandlerDescriptor>> = Descriptor<P$1, H, "workflow">;
372
- /** Implemented definition — extends Descriptor and also bindable to serve() */
373
- type ImplementedServiceDefinition<P$1 extends string, H extends Record<string, HandlerDescriptor>> = restate.ServiceDefinition<P$1, any> & ServiceDescriptor<P$1, H>;
374
- type ImplementedObjectDefinition<P$1 extends string, H extends Record<string, HandlerDescriptor>> = restate.VirtualObjectDefinition<P$1, any> & ObjectDescriptor<P$1, H>;
375
- type ImplementedWorkflowDefinition<P$1 extends string, H extends Record<string, HandlerDescriptor>> = restate.WorkflowDefinition<P$1, any> & WorkflowDescriptor<P$1, H>;
305
+ /** Implemented definition — a Descriptor that is also bindable to an endpoint. */
306
+ type ImplementedServiceDefinition<P$1 extends string, H extends Record<string, HandlerDescriptor>> = ServiceDefinition<P$1, any> & ServiceDescriptor<P$1, H>;
307
+ type ImplementedObjectDefinition<P$1 extends string, H extends Record<string, HandlerDescriptor>> = VirtualObjectDefinition<P$1, any> & ObjectDescriptor<P$1, H>;
308
+ type ImplementedWorkflowDefinition<P$1 extends string, H extends Record<string, HandlerDescriptor>> = WorkflowDefinition<P$1, any> & WorkflowDescriptor<P$1, H>;
376
309
  type ImplementedDefinition<P$1 extends string, H extends Record<string, HandlerDescriptor>, Kind extends "service" | "object" | "workflow"> = Kind extends "service" ? ImplementedServiceDefinition<P$1, H> : Kind extends "object" ? ImplementedObjectDefinition<P$1, H> : ImplementedWorkflowDefinition<P$1, H>;
310
+ /** The shape of the {@link iface} service-interface declaration API. */
311
+ interface ServiceInterface {
312
+ service<P$1 extends string, H extends Record<string, HandlerDescriptor>>(name: P$1, handlers: H): ServiceDescriptor<P$1, H>;
313
+ object<P$1 extends string, H extends Record<string, HandlerDescriptor>>(name: P$1, handlers: H): ObjectDescriptor<P$1, H>;
314
+ workflow<P$1 extends string, H extends Record<string, HandlerDescriptor>>(name: P$1, handlers: H): WorkflowDescriptor<P$1, H>;
315
+ /** `json<I, O>()` — type params, default JSON serde. */
316
+ json<I$1 = void, O$1 = void>(): HandlerDescriptor<I$1, O$1, false>;
317
+ /** `serdes({ input, output })` — explicit Serde per direction. */
318
+ serdes<SI extends Serde<any>, SO extends Serde<any>>(opts: {
319
+ input?: SI;
320
+ output?: SO;
321
+ }): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, false>;
322
+ /** `schemas({ input, output })` — Standard Schema per direction. */
323
+ schemas<SI extends StandardSchemaV1<any>, SO extends StandardSchemaV1<any>>(opts: {
324
+ input?: SI;
325
+ output?: SO;
326
+ }): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, false>;
327
+ /** Shared (read-only) virtual-object / non-`run` workflow handler declarators. */
328
+ shared: {
329
+ json<I$1 = void, O$1 = void>(): HandlerDescriptor<I$1, O$1, true>;
330
+ serdes<SI extends Serde<any>, SO extends Serde<any>>(opts: {
331
+ input?: SI;
332
+ output?: SO;
333
+ }): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, true>;
334
+ schemas<SI extends StandardSchemaV1<any>, SO extends StandardSchemaV1<any>>(opts: {
335
+ input?: SI;
336
+ output?: SO;
337
+ }): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, true>;
338
+ };
339
+ }
340
+ //#endregion
341
+ //#region src/operation.d.ts
342
+ interface Operation<T$1> {
343
+ [Symbol.iterator](): Iterator<unknown, T$1, unknown>;
344
+ }
345
+ declare function gen<T$1>(body: () => Generator<unknown, T$1, unknown>): Operation<T$1>;
346
+ type SelectResult<B extends Record<string, Future<unknown>>> = { [K in keyof B]: {
347
+ tag: K;
348
+ future: B[K];
349
+ } }[keyof B];
350
+ declare function select<B extends Record<string, Future<unknown>>>(branches: B): Generator<unknown, SelectResult<B>, unknown>;
351
+ //#endregion
352
+ //#region src/future.d.ts
353
+ declare const futureBrand: unique symbol;
354
+ interface Future<T$1> extends Operation<T$1> {
355
+ readonly [futureBrand]: unknown;
356
+ }
357
+ /** Extract the value type from a `Future<U>`; `never` for non-Futures. */
358
+ type FutureValue<F> = F extends Future<infer U> ? U : never;
359
+ /**
360
+ * Map a tuple of Futures to the tuple of their value types.
361
+ * For `[Future<A>, Future<B>]` produces `[A, B]`.
362
+ * For an unbounded `Future<X>[]` produces `X[]`.
363
+ */
364
+ type FutureValues<T$1 extends readonly Future<unknown>[] | []> = { -readonly [P in keyof T$1]: T$1[P] extends Future<infer U> ? U : never };
365
+ interface FutureFulfilledResult<T$1> {
366
+ readonly status: "fulfilled";
367
+ readonly value: T$1;
368
+ }
369
+ interface FutureRejectedResult {
370
+ readonly status: "rejected";
371
+ readonly reason: unknown;
372
+ }
373
+ type FutureSettledResult<T$1> = FutureFulfilledResult<T$1> | FutureRejectedResult;
374
+ //#endregion
375
+ //#region src/channel.d.ts
376
+ interface Channel<T$1> {
377
+ /**
378
+ * Yieldable. Use as `yield* ch.send(value)` from within a gen body.
379
+ * The first call settles the channel; subsequent calls are silently
380
+ * dropped (idempotent).
381
+ *
382
+ * Return value is `Operation<void>` rather than `void` so the only
383
+ * way to fire send is via `yield*` inside a fiber — which enforces
384
+ * the channel-is-intra-workflow contract at the type level.
385
+ */
386
+ send(value: T$1): Operation<void>;
387
+ readonly receive: Future<T$1>;
388
+ }
389
+ //#endregion
390
+ //#region src/invocation-reference.d.ts
391
+ /** Synchronous handle for resolving or rejecting a signal on a target invocation */
392
+ interface SignalReference<T$1> {
393
+ resolve(payload?: T$1): void;
394
+ reject(reason: string | restate.TerminalError): void;
395
+ }
396
+ /**
397
+ * A typed reference to a running invocation. Returned by `sendClient()` methods
398
+ * (wrapped in `Future<InvocationReference<O>>`), or created via `invocation(id)`.
399
+ *
400
+ * - `attach()` returns a `Future<O>` with the serde from the original descriptor.
401
+ * - `signal()` sends a named signal to the target invocation.
402
+ * - `cancel()` cancels the target invocation.
403
+ */
404
+ interface InvocationReference<O$1 = unknown> {
405
+ readonly id: string;
406
+ attach(serde?: restate.Serde<O$1>): Future<O$1>;
407
+ signal<T$1 = unknown>(name: string, serde?: restate.Serde<T$1>): SignalReference<T$1>;
408
+ cancel(): void;
409
+ }
410
+ //#endregion
411
+ //#region src/define.d.ts
377
412
  /** @internal
378
413
  * @internal - Wraps a generator function with optional serde. Produced by typed().
379
414
  * Discriminated by _genFn for runtime detection (distinct from bare gen fns,
@@ -470,18 +505,18 @@ type GenSendClient<H extends Record<string, HandlerDescriptor>> = { readonly [K
470
505
  //#endregion
471
506
  //#region src/durable-promise.d.ts
472
507
  /** Same shape as the SDK's DurablePromise<T> but each method returns Future<...>. */
473
- type GenDurablePromise<T> = {
474
- peek(): Future<T | undefined>;
475
- resolve(value?: T): Future<void>;
508
+ type GenDurablePromise<T$1> = {
509
+ peek(): Future<T$1 | undefined>;
510
+ resolve(value?: T$1): Future<void>;
476
511
  reject(errorMsg: string): Future<void>;
477
- get(): Future<T>;
512
+ get(): Future<T$1>;
478
513
  };
479
514
  //#endregion
480
515
  //#region src/task.d.ts
481
516
  /**
482
517
  * A handle to a spawned routine: its `Future<T>` plus `interrupt`.
483
518
  */
484
- interface Task<T> extends Future<T> {
519
+ interface Task<T$1> extends Future<T$1> {
485
520
  /**
486
521
  * Throw `err` into the spawned routine at its next yield point, and
487
522
  * abort its in-flight `run` I/O. `err` is delivered verbatim — the
@@ -619,13 +654,13 @@ type RetryOptions = {
619
654
  * for arrow functions assigned to a `const` since JS infers names from
620
655
  * the binding site). If neither resolves, `run` throws.
621
656
  */
622
- type RunOpts<T> = {
657
+ type RunOpts<T$1> = {
623
658
  /** Journal entry name. Falls back to `action.name` if absent. */
624
659
  name?: string;
625
660
  /** Retry policy. Defaults to the SDK's defaults if absent. */
626
661
  retry?: RetryOptions;
627
662
  /** Custom serde for the journaled value. */
628
- serde?: restate.Serde<T>;
663
+ serde?: restate.Serde<T$1>;
629
664
  };
630
665
  /**
631
666
  * Options object passed to the closure of `run(...)`. Carries an
@@ -643,7 +678,7 @@ type RunActionOpts = {
643
678
  * signal into AbortSignal-aware APIs (e.g. `fetch(url, { signal })`)
644
679
  * to cancel in-flight syscalls promptly.
645
680
  */
646
- type RunAction<T> = (opts: RunActionOpts) => Promise<T>;
681
+ type RunAction<T$1> = (opts: RunActionOpts) => Promise<T$1>;
647
682
  /**
648
683
  * Wrap a user-supplied `run` closure to surface the abort reason
649
684
  * (typically a TerminalError(CANCELLED)) on throw paths if the signal
@@ -660,7 +695,7 @@ type RunAction<T> = (opts: RunActionOpts) => Promise<T>;
660
695
  * Exposed for testing — the wrapper's behavior is the part that has
661
696
  * semantic bite, separate from the ctx.run plumbing.
662
697
  */
663
- declare function wrapActionForCancellation<T>(signal: AbortSignal, action: RunAction<T>): () => Promise<T>;
698
+ declare function wrapActionForCancellation<T$1>(signal: AbortSignal, action: RunAction<T$1>): () => Promise<T$1>;
664
699
  /**
665
700
  * Deterministic date methods that return journal-backed Futures.
666
701
  * Wraps the SDK's `ContextDate` (which returns Promises via internal
@@ -712,7 +747,7 @@ type ExecuteOptions = SchedulerOptions;
712
747
  * return greeting;
713
748
  * }));
714
749
  */
715
- declare function execute<T>(context: restate.Context, op: Operation<T>, options?: ExecuteOptions): Promise<T>;
750
+ declare function execute<T$1>(context: restate.Context, op: Operation<T$1>, options?: ExecuteOptions): Promise<T$1>;
716
751
  //#endregion
717
752
  //#region src/free.d.ts
718
753
  declare const rand: () => restate.Rand;
@@ -732,16 +767,16 @@ declare const handlerRequest: () => HandlerRequest;
732
767
  * arrow functions assigned to a `const`) or specified explicitly via
733
768
  * `opts.name`. If neither resolves, throws.
734
769
  */
735
- declare const run: <T>(action: RunAction<T>, opts?: RunOpts<T>) => Future<T>;
770
+ declare const run: <T$1>(action: RunAction<T$1>, opts?: RunOpts<T$1>) => Future<T$1>;
736
771
  declare const sleep: (duration: restate.Duration | number, name?: string) => Future<void>;
737
- declare const awakeable: <T>(serde?: restate.Serde<T>) => {
772
+ declare const awakeable: <T$1>(serde?: restate.Serde<T$1>) => {
738
773
  id: string;
739
- promise: Future<T>;
774
+ promise: Future<T$1>;
740
775
  };
741
- declare const resolveAwakeable: <T>(id: string, payload?: T, serde?: restate.Serde<T>) => void;
776
+ declare const resolveAwakeable: <T$1>(id: string, payload?: T$1, serde?: restate.Serde<T$1>) => void;
742
777
  declare const rejectAwakeable: (id: string, reason: string | restate.TerminalError) => void;
743
- declare const signal: <T>(name: string, serde?: restate.Serde<T>) => Future<T>;
744
- declare const attach: <T>(invocationId: restate.InvocationId, serde?: restate.Serde<T>) => Future<T>;
778
+ declare const signal: <T$1>(name: string, serde?: restate.Serde<T$1>) => Future<T$1>;
779
+ declare const attach: <T$1>(invocationId: restate.InvocationId, serde?: restate.Serde<T$1>) => Future<T$1>;
745
780
  declare function client<H extends Record<string, HandlerDescriptor>>(def: Descriptor<string, H, "service">): GenClient<H>;
746
781
  declare function client<H extends Record<string, HandlerDescriptor>>(def: Descriptor<string, H, "object" | "workflow">, key: string): GenClient<H>;
747
782
  declare function sendClient<H extends Record<string, HandlerDescriptor>>(def: Descriptor<string, H, "service">): GenSendClient<H>;
@@ -767,36 +802,36 @@ declare function invocation<O$1 = unknown>(id: string, opts?: {
767
802
  outputSerde?: restate.Serde<O$1>;
768
803
  }): InvocationReference<O$1>;
769
804
  declare const cancel: (invocationId: restate.InvocationId) => void;
770
- declare const channel: <T>() => Channel<T>;
805
+ declare const channel: <T$1>() => Channel<T$1>;
771
806
  declare const state: <TState extends TypedState = UntypedState>() => State<TState>;
772
807
  declare const sharedState: <TState extends TypedState = UntypedState>() => SharedState<TState>;
773
- declare const workflowPromise: <T>(name: string, serde?: restate.Serde<T>) => GenDurablePromise<T>;
808
+ declare const workflowPromise: <T$1>(name: string, serde?: restate.Serde<T$1>) => GenDurablePromise<T$1>;
774
809
  /**
775
810
  * Wait for every future to settle; return their values in input order.
776
811
  * Heterogeneous-tuple typing — `all([fA, fB])` where `fA: Future<A>`
777
812
  * and `fB: Future<B>` yields `Future<[A, B]>`. Mirrors `Promise.all`.
778
813
  */
779
- declare const all: <const T extends readonly Future<unknown>[] | []>(futures: T) => Future<FutureValues<T>>;
814
+ declare const all: <const T$1 extends readonly Future<unknown>[] | []>(futures: T$1) => Future<FutureValues<T$1>>;
780
815
  /**
781
816
  * Return the first future to settle; losers continue running (until
782
817
  * the main operation settles — see `OnMainExit`) but their results are
783
818
  * discarded. Heterogeneous-tuple typing — `race([fA, fB])` yields
784
819
  * `Future<A | B>`. Mirrors `Promise.race`.
785
820
  */
786
- declare const race: <const T extends readonly Future<unknown>[] | []>(futures: T) => Future<FutureValues<T>[number]>;
821
+ declare const race: <const T$1 extends readonly Future<unknown>[] | []>(futures: T$1) => Future<FutureValues<T$1>[number]>;
787
822
  /**
788
823
  * First-to-succeed wins (non-rejected). Rejects with `AggregateError(errors)`
789
824
  * when every input rejects (including the empty input case). Tuple-aware —
790
825
  * `any([fA, fB])` yields `Future<A | B>`. Mirrors `Promise.any`.
791
826
  */
792
- declare const any: <const T extends readonly Future<unknown>[] | []>(futures: T) => Future<FutureValues<T>[number]>;
827
+ declare const any: <const T$1 extends readonly Future<unknown>[] | []>(futures: T$1) => Future<FutureValues<T$1>[number]>;
793
828
  /**
794
829
  * Wait for every future to settle; never rejects. Tuple-aware —
795
830
  * `allSettled([fA, fB])` yields
796
831
  * `Future<[FutureSettledResult<A>, FutureSettledResult<B>]>`.
797
832
  * Mirrors `Promise.allSettled`.
798
833
  */
799
- declare const allSettled: <const T extends readonly Future<unknown>[] | []>(futures: T) => Future<{ -readonly [P in keyof T]: FutureSettledResult<T[P] extends Future<infer U> ? U : never> }>;
834
+ declare const allSettled: <const T$1 extends readonly Future<unknown>[] | []>(futures: T$1) => Future<{ -readonly [P in keyof T$1]: FutureSettledResult<T$1[P] extends Future<infer U> ? U : never> }>;
800
835
  /**
801
836
  * Register `op` as a fresh routine and return a `Task<T>` for its
802
837
  * eventual outcome — a `Future<T>` plus `interrupt(err?)` to throw into
@@ -805,7 +840,7 @@ declare const allSettled: <const T extends readonly Future<unknown>[] | []>(futu
805
840
  * when the main operation settles is abandoned by default (see
806
841
  * `OnMainExit`). See `RestateOperations.spawn` for full semantics.
807
842
  */
808
- declare const spawn: <T>(op: Operation<T>) => Task<T>;
843
+ declare const spawn: <T$1>(op: Operation<T$1>) => Task<T$1>;
809
844
  //#endregion
810
845
  //#region src/context.d.ts
811
846
  /**
@@ -813,7 +848,7 @@ declare const spawn: <T>(op: Operation<T>) => Task<T>;
813
848
  * {@link contextLocal} (at module scope is fine — minting touches no
814
849
  * fiber), then `get`/`set` it from inside the workflow body.
815
850
  */
816
- interface ContextLocal<T> {
851
+ interface ContextLocal<T$1> {
817
852
  /**
818
853
  * Read this slot's value for the current invocation. Returns the
819
854
  * value previously {@link set} during this invocation, or the default
@@ -822,14 +857,14 @@ interface ContextLocal<T> {
822
857
  * synchronous span (a `gen` body running under `execute`); calling it
823
858
  * from an `ops.run` closure or other async callback throws.
824
859
  */
825
- get: () => T;
860
+ get: () => T$1;
826
861
  /**
827
862
  * Set this slot's value for the rest of the current invocation,
828
863
  * visible to every fiber under it. Must be called from generator code
829
864
  * on the fiber's synchronous span; calling it from an `ops.run`
830
865
  * closure or other async callback throws.
831
866
  */
832
- set: (value: T) => void;
867
+ set: (value: T$1) => void;
833
868
  }
834
869
  /**
835
870
  * Create a context-local storage slot.
@@ -853,30 +888,10 @@ interface ContextLocal<T> {
853
888
  * const traceId = contextLocal<string>(); // ContextLocal<string | undefined>
854
889
  * const t = traceId.get(); // string | undefined
855
890
  */
856
- declare function contextLocal<T>(defaultValue: T): ContextLocal<T>;
857
- declare function contextLocal<T>(): ContextLocal<T | undefined>;
858
- declare namespace interface_d_exports {
859
- export { ImplementHandlers, InferInput, InferOutput, implement, json, object$1 as object, schemas$1 as schemas, serdes$1 as serdes, service$1 as service, workflow$1 as workflow };
860
- }
861
- /** json<I, O>() — type params, default JSON serde */
862
- declare function json<I$1 = void, O$1 = void>(): HandlerDescriptor<I$1, O$1>;
863
- /** serdes(opts) — explicit Serde per field */
864
- declare function serdes$1<SI extends restate.Serde<any>, SO extends restate.Serde<any>>(opts: {
865
- input?: SI;
866
- output?: SO;
867
- }): HandlerDescriptor<SI extends restate.Serde<infer I> ? I : never, SO extends restate.Serde<infer O> ? O : never>;
868
- /** schemas(opts) — Standard Schema (Zod, TypeBox, Valibot, …) per field */
869
- declare function schemas$1<SI extends StandardSchemaV1<any>, SO extends StandardSchemaV1<any>>(opts: {
870
- input?: SI;
871
- output?: SO;
872
- }): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>>;
873
- declare function service$1<P$1 extends string, H extends Record<string, HandlerDescriptor>>(name: P$1, handlers: H): ServiceDescriptor<P$1, H>;
874
- declare function object$1<P$1 extends string, H extends Record<string, HandlerDescriptor>>(name: P$1, handlers: H): ObjectDescriptor<P$1, H>;
875
- declare function workflow$1<P$1 extends string, H extends Record<string, HandlerDescriptor>>(name: P$1, handlers: H): WorkflowDescriptor<P$1, H>;
876
- /** @internal */
877
- type InferInput<D> = D extends HandlerDescriptor<infer I, any> ? I : any;
878
- /** @internal */
879
- type InferOutput<D> = D extends HandlerDescriptor<any, infer O> ? O : any;
891
+ declare function contextLocal<T$1>(defaultValue: T$1): ContextLocal<T$1>;
892
+ declare function contextLocal<T$1>(): ContextLocal<T$1 | undefined>;
893
+ //#endregion
894
+ //#region src/interface.d.ts
880
895
  /** @internal */
881
896
  type ImplementHandlers<H extends Record<string, HandlerDescriptor>> = { [K in keyof H]: (input: InferInput<H[K]>) => Operation<InferOutput<H[K]>> };
882
897
  declare function implement<P$1 extends string, H extends Record<string, HandlerDescriptor>>(iface: ServiceDescriptor<P$1, H>, config: {
@@ -925,17 +940,39 @@ interface Ingress {
925
940
  */
926
941
  objectClient<D>(opts: VirtualObjectDefinitionFrom<D>, key: string): IngressClient<VirtualObject<D>>;
927
942
  /**
928
- * Create a client from a {@link ServiceDefinition}.
943
+ * Create a send client from a {@link ServiceDefinition}.
929
944
  */
930
945
  serviceSendClient<D>(opts: ServiceDefinitionFrom<D>): IngressSendClient<Service<D>>;
931
946
  /**
932
- * Create a client from a {@link VirtualObjectDefinition}.
947
+ * Create a send client from a {@link VirtualObjectDefinition}.
933
948
  */
934
949
  objectSendClient<D>(opts: VirtualObjectDefinitionFrom<D>, key: string): IngressSendClient<VirtualObject<D>>;
950
+ /**
951
+ * Create a request/response client from a service interface / `Descriptor`.
952
+ *
953
+ * @example
954
+ * ```ts
955
+ * ingress.client(greeter).greet(req); // service
956
+ * ingress.client(counter, "k").add(1); // virtual object / workflow
957
+ * ```
958
+ */
959
+ client<P$1 extends string, H extends Record<string, HandlerDescriptor>>(serviceInterface: ServiceDescriptor<P$1, H>): IngressClientFromDescriptors<H>;
960
+ client<P$1 extends string, H extends Record<string, HandlerDescriptor>>(objectOrWorkflowInterface: ObjectDescriptor<P$1, H> | WorkflowDescriptor<P$1, H>, key: string): IngressClientFromDescriptors<H>;
961
+ /**
962
+ * Send-client (one-way) counterpart of {@link Ingress.client}.
963
+ *
964
+ * @example
965
+ * ```ts
966
+ * ingress.sendClient(greeter).greet(req);
967
+ * ingress.sendClient(counter, "k").add(1);
968
+ * ```
969
+ */
970
+ sendClient<P$1 extends string, H extends Record<string, HandlerDescriptor>>(serviceInterface: ServiceDescriptor<P$1, H>): IngressSendClientFromDescriptors<H>;
971
+ sendClient<P$1 extends string, H extends Record<string, HandlerDescriptor>>(objectOrWorkflowInterface: ObjectDescriptor<P$1, H> | WorkflowDescriptor<P$1, H>, key: string): IngressSendClientFromDescriptors<H>;
935
972
  /**
936
973
  * Resolve an awakeable from the ingress client.
937
974
  */
938
- resolveAwakeable<T>(id: string, payload?: T, payloadSerde?: Serde<T>): Promise<void>;
975
+ resolveAwakeable<T$1>(id: string, payload?: T$1, payloadSerde?: Serde<T$1>): Promise<void>;
939
976
  /**
940
977
  * Reject an awakeable from the ingress client.
941
978
  */
@@ -945,7 +982,7 @@ interface Ingress {
945
982
  *
946
983
  * @param send either the send response or the workflow submission as obtained by the respective clients.
947
984
  */
948
- result<T>(send: Send<T> | WorkflowSubmission<T>, resultSerde?: Serde<T>): Promise<T>;
985
+ result<T$1>(send: Send<T$1> | WorkflowSubmission<T$1>, resultSerde?: Serde<T$1>): Promise<T$1>;
949
986
  /** Generic request-response call. Routes directly by service name without a typed definition. */
950
987
  call<I$1 = Uint8Array, O$1 = Uint8Array>(opts: {
951
988
  service: string;
@@ -1038,7 +1075,7 @@ interface Ingress {
1038
1075
  * @experimental
1039
1076
  * @interface
1040
1077
  */
1041
- type ScopedIngress = Pick<Ingress, "serviceClient" | "serviceSendClient" | "objectClient" | "objectSendClient" | "workflowClient">;
1078
+ type ScopedIngress = Pick<Ingress, "serviceClient" | "serviceSendClient" | "objectClient" | "objectSendClient" | "workflowClient" | "client" | "sendClient">;
1042
1079
  interface IngressCallOptions<I$1 = unknown, O$1 = unknown> {
1043
1080
  /**
1044
1081
  * Key to use for idempotency key.
@@ -1115,6 +1152,15 @@ declare class SendOpts$1<I$1 = unknown> {
1115
1152
  }
1116
1153
  type InferArgType<P$1> = P$1 extends [infer A, ...any[]] ? A : unknown;
1117
1154
  type IngressClient<M> = { [K in keyof M as M[K] extends never ? never : K]: M[K] extends ((arg: any, ...args: infer P) => PromiseLike<infer O>) ? (...args: [...P, ...[opts?: Opts$1<InferArgType<P>, O>]]) => PromiseLike<O> : never };
1155
+ /**
1156
+ * Typed ingress request/response client derived from a service interface's
1157
+ * handler descriptor map `H` (see `iface` in `@restatedev/restate-sdk-core`).
1158
+ * Recovers the input/output types directly from the descriptors, so a code-free
1159
+ * interface value produces a fully typed client that reuses the declared serdes.
1160
+ */
1161
+ type IngressClientFromDescriptors<H extends Record<string, HandlerDescriptor>> = { readonly [K in keyof H]: [InferInput<H[K]>] extends [void] ? (opts?: Opts$1<InferInput<H[K]>, InferOutput<H[K]>>) => Promise<InferOutput<H[K]>> : (input: InferInput<H[K]>, opts?: Opts$1<InferInput<H[K]>, InferOutput<H[K]>>) => Promise<InferOutput<H[K]>> };
1162
+ /** One-way (send) counterpart of {@link IngressClientFromDescriptors}. */
1163
+ type IngressSendClientFromDescriptors<H extends Record<string, HandlerDescriptor>> = { readonly [K in keyof H]: [InferInput<H[K]>] extends [void] ? (opts?: SendOpts$1<InferInput<H[K]>>) => Promise<Send<InferOutput<H[K]>>> : (input: InferInput<H[K]>, opts?: SendOpts$1<InferInput<H[K]>>) => Promise<Send<InferOutput<H[K]>>> };
1118
1164
  /**
1119
1165
  * Represents the output of a workflow.
1120
1166
  */
@@ -1132,7 +1178,7 @@ interface Output<O$1> {
1132
1178
  * Represents a successful workflow submission.
1133
1179
  *
1134
1180
  */
1135
- type WorkflowSubmission<T> = {
1181
+ type WorkflowSubmission<T$1> = {
1136
1182
  /**
1137
1183
  * The invocation id of the workflow. You can use that id to
1138
1184
  * with the introspection tools (restate cli, logging, metrics)
@@ -1208,7 +1254,7 @@ type IngressWorkflowClient<M> = Omit<{ [K in keyof M as M[K] extends never ? nev
1208
1254
  *
1209
1255
  * @typeParam T the type of the response.
1210
1256
  */
1211
- type Send<T = unknown> = {
1257
+ type Send<T$1 = unknown> = {
1212
1258
  /**
1213
1259
  * The invocation id of the send.
1214
1260
  */
@@ -1402,32 +1448,46 @@ declare namespace ingress_d_exports {
1402
1448
  export { ConnectionOpts, GenIngress, HttpCallError, Ingress, IngressClient, IngressHandlerClient, IngressSendClient, IngressSendHandlerClient, IngressWorkflowClient, Opts$1 as Opts, RetryFailure, RetryPolicy, ScopedGenIngress, Send, SendOpts$1 as SendOpts, client$1 as client, connect, defaultShouldRetry, scope$1 as scope, sendClient$1 as sendClient };
1403
1449
  }
1404
1450
  /**
1405
- * Connect to the Restate Ingress.
1406
- *
1407
- * @param opts connection options
1408
- * @returns a connection the the restate ingress
1451
+ * @deprecated Use `connect` from `@restatedev/restate-sdk-clients` and its typed
1452
+ * client methods, e.g. `connect({ url }).serviceClient(def)`
1409
1453
  */
1410
1454
  declare function connect(opts: ConnectionOpts): GenIngress;
1411
1455
  /**
1412
- * Minimal ingress interface required by the sdk-gen ingress helpers.
1413
- * Structurally compatible with `Ingress` from `@restatedev/restate-sdk-clients`
1414
- * — any object returned by `connect()` satisfies this.
1456
+ * @deprecated Use `connect` from `@restatedev/restate-sdk-clients` and its typed
1457
+ * client methods, e.g. `connect({ url }).serviceClient(def)`
1415
1458
  */
1416
- type GenIngress = Omit<Ingress, "serviceClient" | "serviceSendClient" | "objectClient" | "objectSendClient" | "workflowClient">;
1459
+ type GenIngress = Ingress;
1417
1460
  type InferInput$1<D> = D extends HandlerDescriptor<infer I, any> ? I : unknown;
1418
1461
  type InferOutput$1<D> = D extends HandlerDescriptor<any, infer O> ? O : unknown;
1419
- /** Typed ingress call client — each method returns Promise<O> */
1462
+ /**
1463
+ * Typed ingress call client — each method returns Promise<O>.
1464
+ *
1465
+ * @deprecated Use the client returned by `ingress.serviceClient(def)` /
1466
+ * `ingress.objectClient(def, key)` from `@restatedev/restate-sdk-clients`.
1467
+ */
1420
1468
  type IngressHandlerClient<H extends Record<string, HandlerDescriptor>> = { readonly [K in keyof H]: (input: InferInput$1<H[K]>, opts?: Opts$1<InferInput$1<H[K]>, InferOutput$1<H[K]>>) => Promise<InferOutput$1<H[K]>> };
1421
- /** Typed ingress send client — each method returns Promise<Send> */
1469
+ /**
1470
+ * Typed ingress send client — each method returns Promise<Send>.
1471
+ *
1472
+ * @deprecated Use the client returned by `ingress.serviceSendClient(def)` /
1473
+ * `ingress.objectSendClient(def, key)` from `@restatedev/restate-sdk-clients`.
1474
+ */
1422
1475
  type IngressSendHandlerClient<H extends Record<string, HandlerDescriptor>> = { readonly [K in keyof H]: [InferInput$1<H[K]>] extends [void] ? (opts?: SendOpts$1<void>) => Promise<Send> : (input: InferInput$1<H[K]>, opts?: SendOpts$1<InferInput$1<H[K]>>) => Promise<Send> };
1476
+ /**
1477
+ * @deprecated Call the regular ingress client directly: `ingress.client(def)`
1478
+ * for a service, or `ingress.client(def, key)` for a virtual object / workflow.
1479
+ */
1423
1480
  declare function client$1<H extends Record<string, HandlerDescriptor>>(ingress: GenIngress, def: Descriptor<string, H, "service">): IngressHandlerClient<H>;
1424
1481
  declare function client$1<H extends Record<string, HandlerDescriptor>>(ingress: GenIngress, def: Descriptor<string, H, "object" | "workflow">, key: string): IngressHandlerClient<H>;
1482
+ /**
1483
+ * @deprecated Call the regular ingress client directly: `ingress.sendClient(def)`
1484
+ * for a service, or `ingress.sendClient(def, key)` for a virtual object / workflow.
1485
+ */
1425
1486
  declare function sendClient$1<H extends Record<string, HandlerDescriptor>>(ingress: GenIngress, def: Descriptor<string, H, "service">): IngressSendHandlerClient<H>;
1426
1487
  declare function sendClient$1<H extends Record<string, HandlerDescriptor>>(ingress: GenIngress, def: Descriptor<string, H, "object" | "workflow">, key: string): IngressSendHandlerClient<H>;
1427
1488
  /**
1428
- * Ingress client bundle bound to a specific scope, returned by {@link scope}.
1429
- * Mirrors the in-handler `scope(...)` surface: same `client`/`sendClient`
1430
- * overloads, but every call/send routes within the bound scope.
1489
+ * @deprecated Use `ingress.scope(scopeKey)` from
1490
+ * `@restatedev/restate-sdk-clients` and its `client`/`sendClient` methods.
1431
1491
  */
1432
1492
  interface ScopedGenIngress {
1433
1493
  client<H extends Record<string, HandlerDescriptor>>(def: Descriptor<string, H, "service">): IngressHandlerClient<H>;
@@ -1436,14 +1496,9 @@ interface ScopedGenIngress {
1436
1496
  sendClient<H extends Record<string, HandlerDescriptor>>(def: Descriptor<string, H, "object" | "workflow">, key: string): IngressSendHandlerClient<H>;
1437
1497
  }
1438
1498
  /**
1439
- * Route all ingress calls/sends through a named scope. The in-handler
1440
- * `scope(scopeKey)` and this `scope(ingress, scopeKey)` produce the same
1441
- * `.client(def)` / `.sendClient(def)` shape, so handler and ingress code
1442
- * read identically (modulo the explicit `ingress`).
1443
- *
1444
- * @example
1445
- * await clients.scope(ingress, "tenant-123").client(Greeter).greet(name);
1446
- * await clients.scope(ingress, "tenant-123").client(Cart, "cart-42").add(item);
1499
+ * @deprecated Use `ingress.scope(scopeKey)` from
1500
+ * `@restatedev/restate-sdk-clients`, then `.client(def)` / `.sendClient(def)`
1501
+ * on the returned scoped ingress.
1447
1502
  */
1448
1503
  declare function scope$1(ingress: GenIngress, scopeKey: string): ScopedGenIngress;
1449
1504
  declare namespace internal_operations_d_exports {
@@ -1467,5 +1522,33 @@ declare namespace internal_operations_d_exports {
1467
1522
  */
1468
1523
  declare function isProcessing(): boolean | undefined;
1469
1524
  //#endregion
1470
- export { type AnyGenFn, type Channel, type ClientFuture, type ContextDate, type ContextLocal, type Descriptor, type Duration, type EntryToDescriptor, type ExecuteOptions, type Future, type FutureFulfilledResult, type FutureRejectedResult, type FutureSettledResult, type FutureValue, type FutureValues, type GenClient, type GenContextDate, type GenDurablePromise, type GenHandlerOpts, type GenObjectHandlerOpts, type GenSendClient, type GenWorkflowHandlerOpts, type HandlerDef, type HandlerDescriptor, type HandlerDescriptors, type HandlerOrHandlerDescriptor, type HandlerRequest, type ImplementHandlers, type ImplementedDefinition, type ImplementedObjectDefinition, type ImplementedServiceDefinition, type ImplementedWorkflowDefinition, type InferInput, type InferOutput, InterruptedError, type InvocationReference, type ObjectDescriptor, type OnMainExit, type Operation, type Rand, type RetryOptions, type RunAction, type RunActionOpts, type RunOpts, type SchedulerOptions, type ScopedOperations, type SelectResult, type Serde, type Service, type ServiceDefinition, type ServiceDefinitionFrom, type ServiceDescriptor, type SharedState, type SignalReference, type StandardSchemaV1, type StandardTypedV1, type State, type Task, type TypedState, type UntypedState, type VirtualObject, type VirtualObjectDefinition, type VirtualObjectDefinitionFrom, type Workflow, type WorkflowDefinition, type WorkflowDefinitionFrom, type WorkflowDescriptor, all, allSettled, any, attach, awakeable, call, cancel, channel, client, ingress_d_exports as clients, contextLocal, date, execute, gen, handlerRequest, interface_d_exports as iface, implement, internal_operations_d_exports as internal, invocation, logger, object, race, rand, rejectAwakeable, resolveAwakeable, run, schemas, scope, select, send, sendClient, serde, serdes, service, sharedState, signal, sleep, spawn, state, workflow, workflowPromise, wrapActionForCancellation };
1525
+ //#region src/index.d.ts
1526
+ declare const iface: {
1527
+ implement: typeof implement;
1528
+ service<P$1 extends string, H extends Record<string, HandlerDescriptor>>(name: P$1, handlers: H): ServiceDescriptor<P$1, H>;
1529
+ object<P$1 extends string, H extends Record<string, HandlerDescriptor>>(name: P$1, handlers: H): ObjectDescriptor<P$1, H>;
1530
+ workflow<P$1 extends string, H extends Record<string, HandlerDescriptor>>(name: P$1, handlers: H): WorkflowDescriptor<P$1, H>;
1531
+ json<I$1 = void, O$1 = void>(): HandlerDescriptor<I$1, O$1, false>;
1532
+ serdes<SI extends Serde<any>, SO extends Serde<any>>(opts: {
1533
+ input?: SI;
1534
+ output?: SO;
1535
+ }): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, false>;
1536
+ schemas<SI extends StandardSchemaV1<any>, SO extends StandardSchemaV1<any>>(opts: {
1537
+ input?: SI;
1538
+ output?: SO;
1539
+ }): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, false>;
1540
+ shared: {
1541
+ json<I$1 = void, O$1 = void>(): HandlerDescriptor<I$1, O$1, true>;
1542
+ serdes<SI extends Serde<any>, SO extends Serde<any>>(opts: {
1543
+ input?: SI;
1544
+ output?: SO;
1545
+ }): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, true>;
1546
+ schemas<SI extends StandardSchemaV1<any>, SO extends StandardSchemaV1<any>>(opts: {
1547
+ input?: SI;
1548
+ output?: SO;
1549
+ }): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, true>;
1550
+ };
1551
+ };
1552
+ //#endregion
1553
+ export { type AnyGenFn, type Channel, type ClientFuture, type ContextDate, type ContextLocal, type Descriptor, type Duration, type EntryToDescriptor, type ExecuteOptions, type Future, type FutureFulfilledResult, type FutureRejectedResult, type FutureSettledResult, type FutureValue, type FutureValues, type GenClient, type GenContextDate, type GenDurablePromise, type GenHandlerOpts, type GenObjectHandlerOpts, type GenSendClient, type GenWorkflowHandlerOpts, type HandlerDef, type HandlerDescriptor, type HandlerDescriptors, type HandlerOrHandlerDescriptor, type HandlerRequest, type ImplementHandlers, type ImplementedDefinition, type ImplementedObjectDefinition, type ImplementedServiceDefinition, type ImplementedWorkflowDefinition, type InferInput, type InferOutput, InterruptedError, type InvocationReference, type ObjectDescriptor, type OnMainExit, type Operation, type Rand, type RetryOptions, type RunAction, type RunActionOpts, type RunOpts, type SchedulerOptions, type ScopedOperations, type SelectResult, type Serde, type SerdeType, type Service, type ServiceDefinition, type ServiceDefinitionFrom, type ServiceDescriptor, type ServiceInterface, type SharedState, type SignalReference, type StandardSchemaV1, type StandardTypedV1, type State, type Task, type TypedState, type UntypedState, type VirtualObject, type VirtualObjectDefinition, type VirtualObjectDefinitionFrom, type Workflow, type WorkflowDefinition, type WorkflowDefinitionFrom, type WorkflowDescriptor, all, allSettled, any, attach, awakeable, call, cancel, channel, client, ingress_d_exports as clients, contextLocal, date, execute, gen, handlerRequest, iface, implement, internal_operations_d_exports as internal, invocation, logger, object, race, rand, rejectAwakeable, resolveAwakeable, run, schemas, scope, select, send, sendClient, serde, serdes, service, sharedState, signal, sleep, spawn, state, workflow, workflowPromise, wrapActionForCancellation };
1471
1554
  //# sourceMappingURL=index.d.ts.map