@restatedev/restate-sdk 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.
Files changed (61) hide show
  1. package/dist/common_api.cjs +1 -0
  2. package/dist/common_api.d.cts +4 -3
  3. package/dist/common_api.d.cts.map +1 -1
  4. package/dist/common_api.d.ts +4 -3
  5. package/dist/common_api.d.ts.map +1 -1
  6. package/dist/common_api.js +3 -2
  7. package/dist/common_api.js.map +1 -1
  8. package/dist/context.d.cts +25 -3
  9. package/dist/context.d.cts.map +1 -1
  10. package/dist/context.d.ts +25 -3
  11. package/dist/context.d.ts.map +1 -1
  12. package/dist/context.js.map +1 -1
  13. package/dist/context_impl.cjs +26 -18
  14. package/dist/context_impl.d.cts +1 -1
  15. package/dist/context_impl.d.ts +1 -1
  16. package/dist/context_impl.d.ts.map +1 -1
  17. package/dist/context_impl.js +26 -18
  18. package/dist/context_impl.js.map +1 -1
  19. package/dist/fetch.cjs +8 -0
  20. package/dist/fetch.d.cts +4 -3
  21. package/dist/fetch.d.cts.map +1 -1
  22. package/dist/fetch.d.ts +4 -3
  23. package/dist/fetch.d.ts.map +1 -1
  24. package/dist/fetch.js +3 -2
  25. package/dist/fetch.js.map +1 -1
  26. package/dist/index.cjs +8 -0
  27. package/dist/index.d.cts +4 -3
  28. package/dist/index.d.ts +4 -3
  29. package/dist/index.js +3 -2
  30. package/dist/lambda.cjs +8 -0
  31. package/dist/lambda.d.cts +4 -3
  32. package/dist/lambda.d.cts.map +1 -1
  33. package/dist/lambda.d.ts +4 -3
  34. package/dist/lambda.d.ts.map +1 -1
  35. package/dist/lambda.js +3 -2
  36. package/dist/lambda.js.map +1 -1
  37. package/dist/node.cjs +8 -0
  38. package/dist/node.d.cts +4 -3
  39. package/dist/node.d.cts.map +1 -1
  40. package/dist/node.d.ts +4 -3
  41. package/dist/node.d.ts.map +1 -1
  42. package/dist/node.js +3 -2
  43. package/dist/node.js.map +1 -1
  44. package/dist/package.cjs +1 -1
  45. package/dist/package.js +1 -1
  46. package/dist/package.js.map +1 -1
  47. package/dist/types/interface.cjs +34 -0
  48. package/dist/types/interface.d.cts +46 -0
  49. package/dist/types/interface.d.cts.map +1 -0
  50. package/dist/types/interface.d.ts +46 -0
  51. package/dist/types/interface.d.ts.map +1 -0
  52. package/dist/types/interface.js +35 -0
  53. package/dist/types/interface.js.map +1 -0
  54. package/dist/types/rpc.cjs +48 -14
  55. package/dist/types/rpc.d.cts +14 -49
  56. package/dist/types/rpc.d.cts.map +1 -1
  57. package/dist/types/rpc.d.ts +14 -49
  58. package/dist/types/rpc.d.ts.map +1 -1
  59. package/dist/types/rpc.js +46 -14
  60. package/dist/types/rpc.js.map +1 -1
  61. package/package.json +2 -2
@@ -1,4 +1,7 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
1
2
  const require_errors = require('./errors.cjs');
3
+ let __restatedev_restate_sdk_core = require("@restatedev/restate-sdk-core");
4
+ __restatedev_restate_sdk_core = require_rolldown_runtime.__toESM(__restatedev_restate_sdk_core);
2
5
 
3
6
  //#region src/types/rpc.ts
4
7
  var Opts = class Opts {
@@ -56,13 +59,14 @@ function optsFromArgs(args) {
56
59
  opts
57
60
  };
58
61
  }
59
- const makeRpcCallProxy = (genericCall, defaultSerde, service$1, key, scope) => {
62
+ const makeRpcCallProxy = (genericCall, defaultSerde, service$1, key, scope, handlers$1) => {
60
63
  return new Proxy({}, { get: (_target, prop) => {
61
64
  const method = prop;
62
65
  return (...args) => {
63
66
  const { parameter, opts } = optsFromArgs(args);
64
- const requestSerde = opts?.input ?? defaultSerde;
65
- const responseSerde = opts?.output ?? defaultSerde;
67
+ const descriptor = handlers$1?.[method];
68
+ const requestSerde = opts?.input ?? descriptor?._inputSerde ?? defaultSerde;
69
+ const responseSerde = opts?.output ?? descriptor?._outputSerde ?? defaultSerde;
66
70
  return genericCall({
67
71
  service: service$1,
68
72
  method,
@@ -79,12 +83,13 @@ const makeRpcCallProxy = (genericCall, defaultSerde, service$1, key, scope) => {
79
83
  };
80
84
  } });
81
85
  };
82
- const makeRpcSendProxy = (genericSend, defaultSerde, service$1, key, scope) => {
86
+ const makeRpcSendProxy = (genericSend, defaultSerde, service$1, key, scope, handlers$1) => {
83
87
  return new Proxy({}, { get: (_target, prop) => {
84
88
  const method = prop;
85
89
  return (...args) => {
86
90
  const { parameter, opts } = optsFromArgs(args);
87
- const requestSerde = opts?.input ?? defaultSerde;
91
+ const descriptor = handlers$1?.[method];
92
+ const requestSerde = opts?.input ?? descriptor?._inputSerde ?? defaultSerde;
88
93
  const delay = opts?.delay;
89
94
  return genericSend({
90
95
  service: service$1,
@@ -240,6 +245,23 @@ let handlers;
240
245
  * @type P the name of the service
241
246
  * @type M the handlers for the service
242
247
  */
248
+ /**
249
+ * Build the per-handler serde descriptor map that lets a caller reuse a
250
+ * definition's declared serdes (see `HandlerDescriptor` /
251
+ * `ingress.client(def)`). The serde recorded per handler is its effective one —
252
+ * explicit `input`/`output`, else the handler-level `serde`, else the
253
+ * service-level `serde`; left `undefined` (→ caller default, i.e. JSON) when
254
+ * nothing was declared.
255
+ */
256
+ const buildHandlerDescriptors = (routes, serviceSerde) => {
257
+ const descriptors = {};
258
+ for (const [name, handler] of Object.entries(routes)) {
259
+ const wrapper = HandlerWrapper.fromHandler(handler);
260
+ const opts = wrapper?.options;
261
+ descriptors[name] = (0, __restatedev_restate_sdk_core.makeHandlerDescriptor)(opts?.input ?? opts?.serde ?? serviceSerde, opts?.output ?? opts?.serde ?? serviceSerde, wrapper?.kind === HandlerKind.SHARED);
262
+ }
263
+ return descriptors;
264
+ };
243
265
  const service = (service$1) => {
244
266
  if (!service$1.handlers) throw new Error("service must be defined");
245
267
  const handlers$1 = Object.entries(service$1.handlers).map(([name, handler]) => {
@@ -249,13 +271,17 @@ const service = (service$1) => {
249
271
  }
250
272
  throw new TypeError(`Unexpected handler type ${name}`);
251
273
  });
252
- return {
274
+ const routes = Object.fromEntries(handlers$1);
275
+ return Object.assign({
253
276
  name: service$1.name,
254
- service: Object.fromEntries(handlers$1),
277
+ service: routes,
255
278
  metadata: service$1.metadata,
256
279
  description: service$1.description,
257
280
  options: service$1.options
258
- };
281
+ }, {
282
+ _kind: "service",
283
+ _handlers: buildHandlerDescriptors(routes, service$1.options?.serde)
284
+ });
259
285
  };
260
286
  /**
261
287
  * Define a Restate virtual object.
@@ -320,13 +346,17 @@ const object = (object$1) => {
320
346
  }
321
347
  throw new TypeError(`Unexpected handler type ${name}`);
322
348
  });
323
- return {
349
+ const routes = Object.fromEntries(handlers$1);
350
+ return Object.assign({
324
351
  name: object$1.name,
325
- object: Object.fromEntries(handlers$1),
352
+ object: routes,
326
353
  metadata: object$1.metadata,
327
354
  description: object$1.description,
328
355
  options: object$1.options
329
- };
356
+ }, {
357
+ _kind: "object",
358
+ _handlers: buildHandlerDescriptors(routes, object$1.options?.serde)
359
+ });
330
360
  };
331
361
  /**
332
362
  * Define a Restate workflow.
@@ -386,13 +416,17 @@ const workflow = (workflow$1) => {
386
416
  if (wrapper.kind === HandlerKind.WORKFLOW) throw new TypeError(`A workflow must contain exactly one handler annotated as workflow, named 'run'. Please use a shared handler for any additional handlers`);
387
417
  handlers$1.push([name, wrapper.transpose()]);
388
418
  }
389
- return {
419
+ const routes = Object.fromEntries(handlers$1);
420
+ return Object.assign({
390
421
  name: workflow$1.name,
391
- workflow: Object.fromEntries(handlers$1),
422
+ workflow: routes,
392
423
  metadata: workflow$1.metadata,
393
424
  description: workflow$1.description,
394
425
  options: workflow$1.options
395
- };
426
+ }, {
427
+ _kind: "workflow",
428
+ _handlers: buildHandlerDescriptors(routes, workflow$1.options?.serde)
429
+ });
396
430
  };
397
431
 
398
432
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { TerminalError } from "./errors.cjs";
2
2
  import { HooksProvider } from "../hooks.cjs";
3
3
  import { Context, InvocationHandle, InvocationPromise, ObjectContext, ObjectSharedContext, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "../context.cjs";
4
- import { Duration, ObjectHandler, Serde, ServiceDefinition, ServiceHandler, VirtualObjectDefinition, WorkflowDefinition, WorkflowHandler, WorkflowSharedHandler } from "@restatedev/restate-sdk-core";
4
+ import { Duration, HandlerDescriptor, InferInput, InferOutput, ObjectHandler, Serde, ServiceDefinition, ServiceHandler, VirtualObjectDefinition, WorkflowDefinition, WorkflowHandler, WorkflowSharedHandler } from "@restatedev/restate-sdk-core";
5
5
 
6
6
  //#region src/types/rpc.d.ts
7
7
  type ClientCallOptions<I, O$1> = {
@@ -136,6 +136,18 @@ declare namespace rpc {
136
136
  type InferArg<P$1> = P$1 extends [infer A, ...any[]] ? A : unknown;
137
137
  type Client<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<InferArg<P>, O>]]) => InvocationPromise<O> : never };
138
138
  type SendClient<M> = { [K in keyof M as M[K] extends never ? never : K]: M[K] extends ((arg: any, ...args: infer P) => void) ? (...args: [...P, ...[opts?: SendOpts<InferArg<P>>]]) => InvocationHandle : never };
139
+ /**
140
+ * Typed request/response client derived from a service interface's handler
141
+ * descriptor map `H` (see `iface` in `@restatedev/restate-sdk-core`). Unlike
142
+ * {@link Client}, which recovers the phantom handler-map from a
143
+ * `ServiceDefinition`, this recovers the input/output types directly from the
144
+ * descriptors, so a code-free interface value produces a fully typed client.
145
+ */
146
+ type ClientFromDescriptors<H extends Record<string, HandlerDescriptor>> = { readonly [K in keyof H]: [InferInput<H[K]>] extends [void] ? (opts?: Opts<InferInput<H[K]>, InferOutput<H[K]>>) => InvocationPromise<InferOutput<H[K]>> : (input: InferInput<H[K]>, opts?: Opts<InferInput<H[K]>, InferOutput<H[K]>>) => InvocationPromise<InferOutput<H[K]>> };
147
+ /**
148
+ * One-way (send) counterpart of {@link ClientFromDescriptors}.
149
+ */
150
+ type SendClientFromDescriptors<H extends Record<string, HandlerDescriptor>> = { readonly [K in keyof H]: [InferInput<H[K]>] extends [void] ? (opts?: SendOpts<InferInput<H[K]>>) => InvocationHandle : (input: InferInput<H[K]>, opts?: SendOpts<InferInput<H[K]>>) => InvocationHandle };
139
151
  type ServiceHandlerOpts<I, O$1> = {
140
152
  /**
141
153
  * Defines which Content-Type values are accepted when this handler is invoked via the ingress.
@@ -661,53 +673,6 @@ type ServiceOptions = {
661
673
  */
662
674
  onJournalMismatchErrors?: "retry" | "pause" | "fail";
663
675
  };
664
- /**
665
- * Define a Restate service.
666
- *
667
- * @example Here is an example of how to define a service:
668
- *
669
- * ```ts
670
- * const greeter = service({
671
- * name: "greeter",
672
- * handlers: {
673
- * greet: async (ctx: Context, name: string) => {
674
- * return `Hello ${name}`;
675
- * }
676
- * }
677
- * });
678
- * ```
679
- *
680
- * To use the service, you can bind it to an endpoint:
681
- * ```
682
- * ...
683
- * endpoint.bind(greeter)
684
- * ```
685
- * @example To use a service, you can export its type to be used in a client:
686
- * ```
687
- * export type Greeter = typeof greeter;
688
- * ...
689
- * ...
690
- * import type { Greeter } from "./greeter";
691
- * const client = ctx.serviceClient<Greeter>({ name : "greeter"});
692
- * client.greet("World").then(console.log);
693
- * ```
694
- *
695
- * @example Alternatively to avoid repeating the service name, you can:
696
- * ```
697
- * import type {Greeter} from "./greeter";
698
- * const Greeter: Greeter = { name : "greeter"};
699
- *
700
- * // now you can reference the service like this:
701
- * const client = ctx.serviceClient(Greeter);
702
- * ```
703
- *
704
- * @param name the service name
705
- * @param handlers the handlers for the service
706
- * @param description an optional description for the service
707
- * @param metadata an optional metadata for the service
708
- * @type P the name of the service
709
- * @type M the handlers for the service
710
- */
711
676
  declare const service: <P$1 extends string, M>(service: {
712
677
  name: P$1;
713
678
  handlers: ServiceOpts<M> & ThisType<M>;
@@ -860,5 +825,5 @@ declare const workflow: <P$1 extends string, M>(workflow: {
860
825
  options?: WorkflowOptions;
861
826
  }) => WorkflowDefinition<P$1, M>;
862
827
  //#endregion
863
- export { Client, ClientCallOptions, ClientSendOptions, InferArg, ObjectHandlerOpts, ObjectOptions, ObjectOpts, Opts, RemoveVoidArgument, RetryPolicy, SendClient, SendOpts, ServiceHandlerOpts, ServiceOptions, ServiceOpts, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, handlers, object, rpc, service, workflow };
828
+ export { Client, ClientCallOptions, ClientFromDescriptors, ClientSendOptions, InferArg, ObjectHandlerOpts, ObjectOptions, ObjectOpts, Opts, RemoveVoidArgument, RetryPolicy, SendClient, SendClientFromDescriptors, SendOpts, ServiceHandlerOpts, ServiceOptions, ServiceOpts, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, handlers, object, rpc, service, workflow };
864
829
  //# sourceMappingURL=rpc.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.cts","names":[],"sources":["../../src/types/rpc.ts"],"sourcesContent":[],"mappings":";;;;;;KA8CY;;AAAZ;;EAIU,KAAA,CAAA,EAAA,KAAA,CAAM,CAAN,CAAA;EAIO;;;EAgCC,MAAA,CAAA,EAhCP,KAgCO,CAhCD,GAgCC,CAAA;EAQL;;;EAMoB,cAAA,CAAA,EAAA,MAAA;EAA+B;;;;;;;AAWhE;;;;;;AAuEA;;;;;;;EAKqC,QAAA,CAAA,EAAA,MAAA;EAOpB;;;EACkB,OAAA,CAAA,EA7GvB,MA6GuB,CAAA,MAAA,EAAA,MAAA,CAAA;EAAuB;;;EAEJ,IAAA,CAAA,EAAA,MAAA;CAAlB;AAAoB,cAvG3C,IAuG2C,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA;EAAA,iBAAA,IAAA;EAAA;AAiIxD;AAEA;;;EACqB,OAAA,IAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA,IAAA,EArOY,iBAqOZ,CArO8B,CAqO9B,EArOiC,GAqOjC,CAAA,CAAA,EArOsC,IAqOtC,CArO2C,CAqO3C,EArO8C,GAqO9C,CAAA;EAA2B,QAAA,WAAA,CAAA;EAAI,OAAA,CAAA,CAAA,EA/NhC,iBA+NgC,CA/Nd,CA+Nc,EA/NX,GA+NW,CAAA;;AAG7C,KA7NK,iBA6NL,CAAA,CAAA,CAAA,GAAA;EAEc;;;;;;;;AAKrB;;;;;;;;;;;;;AAkBA;;;;EA8BW,KAAA,CAAA,EA1PD,QA0PC,GAAA,MAAA;EAsBE;;;EA4BS,KAAA,CAAA,EAvSZ,KAuSY,CAvSN,CAuSM,CAAA;EAaL;;;EA4DP,cAAA,CAAA,EAAA,MAAA;EA2DA;;AA2BV;;;;;AAUA;;;;;AAmFA;;;;;;;;EASiB,QAAA,CAAA,EAAQ,MAAA;EAQI;;;EACf,OAAA,CAAA,EArhBF,MAqhBE,CAAA,MAAA,EAAA,MAAA,CAAA;EAAgB;;;EACC,IAAA,CAAA,EAAA,MAAA;CAA1B;AAQgB,cAthBR,QAshBQ,CAAA,CAAA,CAAA,CAAA;EAAa,iBAAA,IAAA;EAEF,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,IAAA,EAvhBF,iBAuhBE,CAvhBgB,CAuhBhB,CAAA,CAAA,EAvhBqB,QAuhBrB,CAvhB8B,CAuhB9B,CAAA;EAAG,OAAA,CAAA,CAAA,EAnhBf,iBAmhBe,CAnhBG,CAmhBH,CAAA;EAAvB,QAAA,WAAA,CAAA;;AACI,kBA7gBC,GAAA,CA6gBD;EAAgC,MAAA,IAAA,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA,IAAA,EA5gBb,iBA4gBa,CA5gBK,CA4gBL,EA5gBQ,GA4gBR,CAAA,EAAA,GA5gBU,IA4gBV,CA5gBU,CA4gBV,EA5gBU,GA4gBV,CAAA;EAAc,MAAA,QAAA,EAAA,CAAA,CAAA,CAAA,CAAA,IAAA,EA1gB1B,iBA0gB0B,CA1gBR,CA0gBQ,CAAA,EAAA,GA1gBN,QA0gBM,CA1gBN,CA0gBM,CAAA;;AAMzC,KA/YT,QA+YS,CAAA,GAAA,CAAA,GA/YK,GA+YL,SAAA,CAAA,KAAA,EAAA,EAAA,GAAA,GAAA,EAAA,CAAA,GA/YqC,CA+YrC,GAAA,OAAA;AAAa,KA7YtB,MA6YsB,CAAA,CAAA,CAAA,GAAA,QAEF,MA9YlB,CA8YkB,IA9Yb,CA8Ya,CA9YX,CA8YW,CAAA,SAAA,KAAA,GAAA,KAAA,GA9YgB,CA8YhB,GA9YoB,CA8YpB,CA9YsB,CA8YtB,CAAA,UAAA,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,EAAA,KAAA,EAAA,EAAA,GA3YzB,WA2YyB,CAAA,KAAA,EAAA,CAAA,IAAA,CAAA,GAAA,IAAA,EAAA,CAAA,GAzYX,CAyYW,EAAA,GAAA,CAAA,IAAA,GAzYG,IAyYH,CAzYQ,QAyYR,CAzYiB,CAyYjB,CAAA,EAzYqB,CAyYrB,CAAA,CAAA,CAAA,EAAA,GAxYrB,iBAwYqB,CAxYH,CAwYG,CAAA,GAAA,KAAA,EAAhB;AAAgC,KApYpC,UAoYoC,CAAA,CAAA,CAAA,GAAA,QAAc,MAnYhD,CAmYgD,IAnY3C,CAmY2C,CAnYzC,CAmYyC,CAAA,SAAA,KAAA,GAAA,KAAA,GAnYd,CAmYc,GAnYV,CAmYU,CAnYR,CAmYQ,CAAA,UAAA,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,EAAA,KAAA,EAAA,EAAA,GAAA,IAAA,IAAA,CAAA,GAAA,IAAA,EAAA,CAAA,GA/X1C,CA+X0C,EAAA,GAAA,CAAA,IAAA,GA/X5B,QA+X4B,CA/XnB,QA+XmB,CA/XV,CA+XU,CAAA,CAAA,CAAA,CAAA,EAAA,GA/XA,gBA+XA,GAAA,KAAA,EAAR;AAiC1C,KAnZA,kBAmZA,CAAA,CAAA,EAAA,GAAA,CAAA,GAAA;EAC0B;;;;;;;;;EAiBA,MAAA,CAAA,EAAA,MAAA;EAAtB;;;;;;;;EA2Cc,KAAA,CAAA,EA5bpB,KA4boB,CA5bd,CA4bc,CAAA;EAAG;;;;;;;;EAE1B,MAAA,CAAA,EApbI,KAobJ,CApbU,GAobV,CAAA;EAiBc;;;;;;;;;;EAgDa,2BAAA,CAAA,EAAA,OAAA;EAEJ;;;EACM,WAAA,CAAA,EAAA,MAAA;EAApB;;;EAA0C,QAAA,CAAA,EAle7C,MAke6C,CAAA,MAAA,EAAA,MAAA,CAAA;EACzB;;;;;EAkBjB,oBAAA,CAAA,EA9eS,QA8eT,GAAA,MAAA;EAAoC;;;;;;AAkCpD;EACc,gBAAA,CAAA,EAxgBO,QAwgBP,GAAA,MAAA;EAAI;;;;;;;;;;EAES,iBAAA,CAAA,EA9fL,QA8fK,GAAA,MAAA;EAArB;;AAGN;AAsCA;;;;;;;;EAyJU,YAAA,CAAA,EAnrBO,QAmrBP,GAAA,MAAA;EAAa;AA0EvB;;;;;EAE6B,cAAA,CAAA,EAAA,OAAA;EAEhB;;;EAEY,WAAA,CAAA,EAtvBT,WAsvBS;EAArB;;AA4BJ;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;AAgEA;;;;;;EAIa,eAAA,CAAA,EAAA,CAAA,KAAA,EAAA,GAAA,EAAA,GA1zBuB,aA0zBvB,GAAA,SAAA;EACD;;;;;AAsCZ;;EACqD,KAAA,CAAA,EAz1B3C,KAy1B2C,CAAA,GAAA,CAAA;EAEvC;;;;;;;;;;;;;;;;;;;;;AAcd;AAyDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAv2BU;;;;;;;;;;;;;;;;;;;;;;;;KA2BE,4BAA0B,mBAAmB,GAAG;;;;;;;;;KAUhD,8BAA4B,mBAAmB,GAAG;;;;;;;;;KAmFlD,wBAAwB,sDAIhC,uBACQ,MAAM,IACZ,IACF;kBAEa,QAAA;;;;;;;wCAQP,mBAAmB,GAAG,gBAClB,gBAAgB,MAAM,QAAQ,OACvC,0BAA0B;;oDAQV,aAAa,oBAEtB,oBAAoB,GAAG,gBACnB,gBAAgB,gBAAgB,MAAM,QAAQ,OACvD,0BAA0B;oDAKZ,aAAa,wBAElB,gBAAgB,gBAAgB,MAAM,QAAQ,OACvD,0BAA0B;;;;;;;;;;kDA8BZ,aAAa,oBAEtB,oBAAoB,GAAG,gBACnB,sBAAsB,gBAAgB,MAAM,QAAQ,OAC7D,0BAA0B;;;;;;;;;;kDAcZ,aAAa,wBAElB,sBAAsB,gBAAgB,MAAM,QAAQ,OAC7D,0BAA0B;;;;;;;;;;;qDAwCZ,aAAa,oBAEtB,kBAAkB,GAAG,gBACjB,cAAc,gBAAgB,MAAM,QAAQ,OACrD,0BAA0B;;;;;;;;;;;;;qDAiBZ,aAAa,wBAElB,cAAc,gBAAgB,MAAM,QAAQ,OACrD,0BAA0B;;;;;;;;;;;;kDA6CZ,aAAa,oBAEtB,kBAAkB,GAAG,gBACjB,oBAAoB,gBAAgB,MAAM,QAAQ,OAC3D,0BAA0B;;;;;;;;;;;;kDAgBZ,aAAa,wBAElB,oBAAoB,gBAAgB,MAAM,QAAQ,OAC3D,0BAA0B;;;KAiCrB,+BACE,IAAI,EAAE,WAAW,eAAe,EAAE,IAAI,WAC9C,EAAE,KACF,eAAe,EAAE,IAAI;KAGf,WAAA;;;;;;;;;;;;;;;;;;;;oBAsBQ;;;;;;;gBAQJ;;;;;;KAQJ,cAAA;;;;;;yBAMa;;;;;;;;qBASJ;;;;;;;;;;;sBAYC;;;;;;;;;;;;iBAaL;;;;;;;;;;;gBAaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAsCoB;;;;;;UAO1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAuDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0EG;QACL;YACI,YAAY,KAAK,SAAS;;aAEzB;YACD;MACR,kBAAkB,KAAG;KA4Bb,8BACE,IAAI,EAAE,WAAW,cAAc,EAAE,IAAI,sBAC7C,EAAE,KACF,EAAE,WAAW,cAAc,EAAE,IAAI,4BAC/B,EAAE,KAEE,cAAc,EAAE,IAAI,sBACpB,cAAc,EAAE,IAAI;KAGpB,aAAA,GAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgEf;QACL;YACI,WAAW,KAAK,SAAS;;aAExB;YACD;MACR,wBAAwB,KAAG;;;;;;;;KAqCnB;aACC,wCAAwC;kBAEvC,IAAI,sEAIT,4BACH,kBACE,EAAE,WAAW,gBAAgB,EAAE,IAAI,wBACjC,EAAE,2GAEJ,EAAE,WAAW,sBAAsB,EAAE,IAAI,8BACvC,EAAE;KAIA,eAAA,GAAkB;;;;;;;sBAOR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkDT;QACL;YACI,aAAa,KAAK,SAAS;;aAE1B;YACD;MACR,mBAAmB,KAAG"}
1
+ {"version":3,"file":"rpc.d.cts","names":[],"sources":["../../src/types/rpc.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { TerminalError } from "./errors.js";
2
2
  import { HooksProvider } from "../hooks.js";
3
3
  import { Context, InvocationHandle, InvocationPromise, ObjectContext, ObjectSharedContext, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "../context.js";
4
- import { Duration, ObjectHandler, Serde, ServiceDefinition, ServiceHandler, VirtualObjectDefinition, WorkflowDefinition, WorkflowHandler, WorkflowSharedHandler } from "@restatedev/restate-sdk-core";
4
+ import { Duration, HandlerDescriptor, InferInput, InferOutput, ObjectHandler, Serde, ServiceDefinition, ServiceHandler, VirtualObjectDefinition, WorkflowDefinition, WorkflowHandler, WorkflowSharedHandler } from "@restatedev/restate-sdk-core";
5
5
 
6
6
  //#region src/types/rpc.d.ts
7
7
  type ClientCallOptions<I, O$1> = {
@@ -136,6 +136,18 @@ declare namespace rpc {
136
136
  type InferArg<P$1> = P$1 extends [infer A, ...any[]] ? A : unknown;
137
137
  type Client<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<InferArg<P>, O>]]) => InvocationPromise<O> : never };
138
138
  type SendClient<M> = { [K in keyof M as M[K] extends never ? never : K]: M[K] extends ((arg: any, ...args: infer P) => void) ? (...args: [...P, ...[opts?: SendOpts<InferArg<P>>]]) => InvocationHandle : never };
139
+ /**
140
+ * Typed request/response client derived from a service interface's handler
141
+ * descriptor map `H` (see `iface` in `@restatedev/restate-sdk-core`). Unlike
142
+ * {@link Client}, which recovers the phantom handler-map from a
143
+ * `ServiceDefinition`, this recovers the input/output types directly from the
144
+ * descriptors, so a code-free interface value produces a fully typed client.
145
+ */
146
+ type ClientFromDescriptors<H extends Record<string, HandlerDescriptor>> = { readonly [K in keyof H]: [InferInput<H[K]>] extends [void] ? (opts?: Opts<InferInput<H[K]>, InferOutput<H[K]>>) => InvocationPromise<InferOutput<H[K]>> : (input: InferInput<H[K]>, opts?: Opts<InferInput<H[K]>, InferOutput<H[K]>>) => InvocationPromise<InferOutput<H[K]>> };
147
+ /**
148
+ * One-way (send) counterpart of {@link ClientFromDescriptors}.
149
+ */
150
+ type SendClientFromDescriptors<H extends Record<string, HandlerDescriptor>> = { readonly [K in keyof H]: [InferInput<H[K]>] extends [void] ? (opts?: SendOpts<InferInput<H[K]>>) => InvocationHandle : (input: InferInput<H[K]>, opts?: SendOpts<InferInput<H[K]>>) => InvocationHandle };
139
151
  type ServiceHandlerOpts<I, O$1> = {
140
152
  /**
141
153
  * Defines which Content-Type values are accepted when this handler is invoked via the ingress.
@@ -661,53 +673,6 @@ type ServiceOptions = {
661
673
  */
662
674
  onJournalMismatchErrors?: "retry" | "pause" | "fail";
663
675
  };
664
- /**
665
- * Define a Restate service.
666
- *
667
- * @example Here is an example of how to define a service:
668
- *
669
- * ```ts
670
- * const greeter = service({
671
- * name: "greeter",
672
- * handlers: {
673
- * greet: async (ctx: Context, name: string) => {
674
- * return `Hello ${name}`;
675
- * }
676
- * }
677
- * });
678
- * ```
679
- *
680
- * To use the service, you can bind it to an endpoint:
681
- * ```
682
- * ...
683
- * endpoint.bind(greeter)
684
- * ```
685
- * @example To use a service, you can export its type to be used in a client:
686
- * ```
687
- * export type Greeter = typeof greeter;
688
- * ...
689
- * ...
690
- * import type { Greeter } from "./greeter";
691
- * const client = ctx.serviceClient<Greeter>({ name : "greeter"});
692
- * client.greet("World").then(console.log);
693
- * ```
694
- *
695
- * @example Alternatively to avoid repeating the service name, you can:
696
- * ```
697
- * import type {Greeter} from "./greeter";
698
- * const Greeter: Greeter = { name : "greeter"};
699
- *
700
- * // now you can reference the service like this:
701
- * const client = ctx.serviceClient(Greeter);
702
- * ```
703
- *
704
- * @param name the service name
705
- * @param handlers the handlers for the service
706
- * @param description an optional description for the service
707
- * @param metadata an optional metadata for the service
708
- * @type P the name of the service
709
- * @type M the handlers for the service
710
- */
711
676
  declare const service: <P$1 extends string, M>(service: {
712
677
  name: P$1;
713
678
  handlers: ServiceOpts<M> & ThisType<M>;
@@ -860,5 +825,5 @@ declare const workflow: <P$1 extends string, M>(workflow: {
860
825
  options?: WorkflowOptions;
861
826
  }) => WorkflowDefinition<P$1, M>;
862
827
  //#endregion
863
- export { Client, ClientCallOptions, ClientSendOptions, InferArg, ObjectHandlerOpts, ObjectOptions, ObjectOpts, Opts, RemoveVoidArgument, RetryPolicy, SendClient, SendOpts, ServiceHandlerOpts, ServiceOptions, ServiceOpts, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, handlers, object, rpc, service, workflow };
828
+ export { Client, ClientCallOptions, ClientFromDescriptors, ClientSendOptions, InferArg, ObjectHandlerOpts, ObjectOptions, ObjectOpts, Opts, RemoveVoidArgument, RetryPolicy, SendClient, SendClientFromDescriptors, SendOpts, ServiceHandlerOpts, ServiceOptions, ServiceOpts, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, handlers, object, rpc, service, workflow };
864
829
  //# sourceMappingURL=rpc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","names":[],"sources":["../../src/types/rpc.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.d.ts","names":[],"sources":["../../src/types/rpc.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/types/rpc.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { TerminalError, ensureError } from "./errors.js";
2
+ import { makeHandlerDescriptor } from "@restatedev/restate-sdk-core";
2
3
 
3
4
  //#region src/types/rpc.ts
4
5
  var Opts = class Opts {
@@ -56,13 +57,14 @@ function optsFromArgs(args) {
56
57
  opts
57
58
  };
58
59
  }
59
- const makeRpcCallProxy = (genericCall, defaultSerde, service$1, key, scope) => {
60
+ const makeRpcCallProxy = (genericCall, defaultSerde, service$1, key, scope, handlers$1) => {
60
61
  return new Proxy({}, { get: (_target, prop) => {
61
62
  const method = prop;
62
63
  return (...args) => {
63
64
  const { parameter, opts } = optsFromArgs(args);
64
- const requestSerde = opts?.input ?? defaultSerde;
65
- const responseSerde = opts?.output ?? defaultSerde;
65
+ const descriptor = handlers$1?.[method];
66
+ const requestSerde = opts?.input ?? descriptor?._inputSerde ?? defaultSerde;
67
+ const responseSerde = opts?.output ?? descriptor?._outputSerde ?? defaultSerde;
66
68
  return genericCall({
67
69
  service: service$1,
68
70
  method,
@@ -79,12 +81,13 @@ const makeRpcCallProxy = (genericCall, defaultSerde, service$1, key, scope) => {
79
81
  };
80
82
  } });
81
83
  };
82
- const makeRpcSendProxy = (genericSend, defaultSerde, service$1, key, scope) => {
84
+ const makeRpcSendProxy = (genericSend, defaultSerde, service$1, key, scope, handlers$1) => {
83
85
  return new Proxy({}, { get: (_target, prop) => {
84
86
  const method = prop;
85
87
  return (...args) => {
86
88
  const { parameter, opts } = optsFromArgs(args);
87
- const requestSerde = opts?.input ?? defaultSerde;
89
+ const descriptor = handlers$1?.[method];
90
+ const requestSerde = opts?.input ?? descriptor?._inputSerde ?? defaultSerde;
88
91
  const delay = opts?.delay;
89
92
  return genericSend({
90
93
  service: service$1,
@@ -240,6 +243,23 @@ let handlers;
240
243
  * @type P the name of the service
241
244
  * @type M the handlers for the service
242
245
  */
246
+ /**
247
+ * Build the per-handler serde descriptor map that lets a caller reuse a
248
+ * definition's declared serdes (see `HandlerDescriptor` /
249
+ * `ingress.client(def)`). The serde recorded per handler is its effective one —
250
+ * explicit `input`/`output`, else the handler-level `serde`, else the
251
+ * service-level `serde`; left `undefined` (→ caller default, i.e. JSON) when
252
+ * nothing was declared.
253
+ */
254
+ const buildHandlerDescriptors = (routes, serviceSerde) => {
255
+ const descriptors = {};
256
+ for (const [name, handler] of Object.entries(routes)) {
257
+ const wrapper = HandlerWrapper.fromHandler(handler);
258
+ const opts = wrapper?.options;
259
+ descriptors[name] = makeHandlerDescriptor(opts?.input ?? opts?.serde ?? serviceSerde, opts?.output ?? opts?.serde ?? serviceSerde, wrapper?.kind === HandlerKind.SHARED);
260
+ }
261
+ return descriptors;
262
+ };
243
263
  const service = (service$1) => {
244
264
  if (!service$1.handlers) throw new Error("service must be defined");
245
265
  const handlers$1 = Object.entries(service$1.handlers).map(([name, handler]) => {
@@ -249,13 +269,17 @@ const service = (service$1) => {
249
269
  }
250
270
  throw new TypeError(`Unexpected handler type ${name}`);
251
271
  });
252
- return {
272
+ const routes = Object.fromEntries(handlers$1);
273
+ return Object.assign({
253
274
  name: service$1.name,
254
- service: Object.fromEntries(handlers$1),
275
+ service: routes,
255
276
  metadata: service$1.metadata,
256
277
  description: service$1.description,
257
278
  options: service$1.options
258
- };
279
+ }, {
280
+ _kind: "service",
281
+ _handlers: buildHandlerDescriptors(routes, service$1.options?.serde)
282
+ });
259
283
  };
260
284
  /**
261
285
  * Define a Restate virtual object.
@@ -320,13 +344,17 @@ const object = (object$1) => {
320
344
  }
321
345
  throw new TypeError(`Unexpected handler type ${name}`);
322
346
  });
323
- return {
347
+ const routes = Object.fromEntries(handlers$1);
348
+ return Object.assign({
324
349
  name: object$1.name,
325
- object: Object.fromEntries(handlers$1),
350
+ object: routes,
326
351
  metadata: object$1.metadata,
327
352
  description: object$1.description,
328
353
  options: object$1.options
329
- };
354
+ }, {
355
+ _kind: "object",
356
+ _handlers: buildHandlerDescriptors(routes, object$1.options?.serde)
357
+ });
330
358
  };
331
359
  /**
332
360
  * Define a Restate workflow.
@@ -386,13 +414,17 @@ const workflow = (workflow$1) => {
386
414
  if (wrapper.kind === HandlerKind.WORKFLOW) throw new TypeError(`A workflow must contain exactly one handler annotated as workflow, named 'run'. Please use a shared handler for any additional handlers`);
387
415
  handlers$1.push([name, wrapper.transpose()]);
388
416
  }
389
- return {
417
+ const routes = Object.fromEntries(handlers$1);
418
+ return Object.assign({
390
419
  name: workflow$1.name,
391
- workflow: Object.fromEntries(handlers$1),
420
+ workflow: routes,
392
421
  metadata: workflow$1.metadata,
393
422
  description: workflow$1.description,
394
423
  options: workflow$1.options
395
- };
424
+ }, {
425
+ _kind: "workflow",
426
+ _handlers: buildHandlerDescriptors(routes, workflow$1.options?.serde)
427
+ });
396
428
  };
397
429
 
398
430
  //#endregion