@restatedev/restate-sdk-core 1.17.1 → 1.17.2

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.cts CHANGED
@@ -3,5 +3,5 @@ import { StandardJSONSchemaV1, StandardSchemaV1, StandardTypedV1 } from "./stand
3
3
  import { Serde, serde } from "./serde_api.cjs";
4
4
  import { Duration, durationToMillis, millisOrDurationToMillis } from "./duration.cjs";
5
5
  import { JournalValueCodec } from "./entry_codec.cjs";
6
- import { Descriptor, HandlerDescriptor, ImplementedDefinition, ImplementedObjectDefinition, ImplementedServiceDefinition, ImplementedWorkflowDefinition, InferInput, InferOutput, ObjectDescriptor, SerdeType, ServiceDescriptor, ServiceInterface, WorkflowDescriptor, iface, makeHandlerDescriptor } from "./interface.cjs";
7
- export { type ArgType, type Descriptor, type Duration, type HandlerDescriptor, type HandlerReturnType, type ImplementedDefinition, type ImplementedObjectDefinition, type ImplementedServiceDefinition, type ImplementedWorkflowDefinition, type InferInput, type InferOutput, type JournalValueCodec, type ObjectDescriptor, type ObjectHandler, type ObjectSharedHandler, type RestateContext, type RestateObjectContext, type RestateObjectSharedContext, type RestateWorkflowContext, type RestateWorkflowSharedContext, type Serde, type SerdeType, type Service, type ServiceDefinition, type ServiceDefinitionFrom, type ServiceDescriptor, type ServiceHandler, type ServiceInterface, type StandardJSONSchemaV1, type StandardSchemaV1, type StandardTypedV1, type VirtualObject, type VirtualObjectDefinition, type VirtualObjectDefinitionFrom, type Workflow, type WorkflowDefinition, type WorkflowDefinitionFrom, type WorkflowDescriptor, type WorkflowHandler, type WorkflowSharedHandler, durationToMillis, iface, makeHandlerDescriptor, millisOrDurationToMillis, serde };
6
+ import { Descriptor, DescriptorOpts, HandlerDescriptor, ImplementedDefinition, ImplementedObjectDefinition, ImplementedServiceDefinition, ImplementedWorkflowDefinition, InferInput, InferOutput, ObjectDescriptor, SerdeType, ServiceDescriptor, ServiceInterface, WorkflowDescriptor, iface, makeHandlerDescriptor } from "./interface.cjs";
7
+ export { type ArgType, type Descriptor, type DescriptorOpts, type Duration, type HandlerDescriptor, type HandlerReturnType, type ImplementedDefinition, type ImplementedObjectDefinition, type ImplementedServiceDefinition, type ImplementedWorkflowDefinition, type InferInput, type InferOutput, type JournalValueCodec, type ObjectDescriptor, type ObjectHandler, type ObjectSharedHandler, type RestateContext, type RestateObjectContext, type RestateObjectSharedContext, type RestateWorkflowContext, type RestateWorkflowSharedContext, type Serde, type SerdeType, type Service, type ServiceDefinition, type ServiceDefinitionFrom, type ServiceDescriptor, type ServiceHandler, type ServiceInterface, type StandardJSONSchemaV1, type StandardSchemaV1, type StandardTypedV1, type VirtualObject, type VirtualObjectDefinition, type VirtualObjectDefinitionFrom, type Workflow, type WorkflowDefinition, type WorkflowDefinitionFrom, type WorkflowDescriptor, type WorkflowHandler, type WorkflowSharedHandler, durationToMillis, iface, makeHandlerDescriptor, millisOrDurationToMillis, serde };
package/dist/index.d.ts CHANGED
@@ -6,5 +6,5 @@ export { durationToMillis, millisOrDurationToMillis } from "./duration.js";
6
6
  export type { JournalValueCodec } from "./entry_codec.js";
7
7
  export type { StandardTypedV1, StandardSchemaV1, StandardJSONSchemaV1, } from "./standard_schema.js";
8
8
  export { iface, makeHandlerDescriptor } from "./interface.js";
9
- export type { ServiceInterface, HandlerDescriptor, Descriptor, ServiceDescriptor, ObjectDescriptor, WorkflowDescriptor, ImplementedServiceDefinition, ImplementedObjectDefinition, ImplementedWorkflowDefinition, ImplementedDefinition, InferInput, InferOutput, SerdeType, } from "./interface.js";
9
+ export type { ServiceInterface, DescriptorOpts, HandlerDescriptor, Descriptor, ServiceDescriptor, ObjectDescriptor, WorkflowDescriptor, ImplementedServiceDefinition, ImplementedObjectDefinition, ImplementedWorkflowDefinition, ImplementedDefinition, InferInput, InferOutput, SerdeType, } from "./interface.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,YAAY,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,QAAQ,EACR,sBAAsB,EACtB,OAAO,EACP,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE3E,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,YAAY,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,QAAQ,EACR,sBAAsB,EACtB,OAAO,EACP,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE3E,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAC"}
@@ -1,11 +1,13 @@
1
1
  const require_serde_api = require('./serde_api.cjs');
2
2
 
3
3
  //#region src/interface.ts
4
- function makeHandlerDescriptor(inputSerde, outputSerde, shared) {
4
+ function makeHandlerDescriptor(inputSerde, outputSerde, shared, opts) {
5
5
  return {
6
6
  _inputSerde: inputSerde,
7
7
  _outputSerde: outputSerde,
8
- _shared: shared
8
+ _shared: shared,
9
+ _description: opts?.description,
10
+ _metadata: opts?.metadata
9
11
  };
10
12
  }
11
13
  /**
@@ -23,45 +25,51 @@ function makeHandlerDescriptor(inputSerde, outputSerde, shared) {
23
25
  * ```
24
26
  */
25
27
  const iface = {
26
- service: function(name, handlers) {
28
+ service: function(name, handlers, opts) {
27
29
  return {
28
30
  name,
29
31
  _kind: "service",
30
- _handlers: handlers
32
+ _handlers: handlers,
33
+ _description: opts?.description,
34
+ _metadata: opts?.metadata
31
35
  };
32
36
  },
33
- object: function(name, handlers) {
37
+ object: function(name, handlers, opts) {
34
38
  return {
35
39
  name,
36
40
  _kind: "object",
37
- _handlers: handlers
41
+ _handlers: handlers,
42
+ _description: opts?.description,
43
+ _metadata: opts?.metadata
38
44
  };
39
45
  },
40
- workflow: function(name, handlers) {
46
+ workflow: function(name, handlers, opts) {
41
47
  return {
42
48
  name,
43
49
  _kind: "workflow",
44
- _handlers: handlers
50
+ _handlers: handlers,
51
+ _description: opts?.description,
52
+ _metadata: opts?.metadata
45
53
  };
46
54
  },
47
- json: function() {
48
- return makeHandlerDescriptor(void 0, void 0, false);
55
+ json: function(opts) {
56
+ return makeHandlerDescriptor(void 0, void 0, false, opts);
49
57
  },
50
58
  serdes: function(opts) {
51
- return makeHandlerDescriptor(opts.input, opts.output, false);
59
+ return makeHandlerDescriptor(opts.input, opts.output, false, opts);
52
60
  },
53
61
  schemas: function(opts) {
54
- return makeHandlerDescriptor(opts.input ? require_serde_api.serde.schema(opts.input) : void 0, opts.output ? require_serde_api.serde.schema(opts.output) : void 0, false);
62
+ return makeHandlerDescriptor(opts.input ? require_serde_api.serde.schema(opts.input) : void 0, opts.output ? require_serde_api.serde.schema(opts.output) : void 0, false, opts);
55
63
  },
56
64
  shared: {
57
- json: function() {
58
- return makeHandlerDescriptor(void 0, void 0, true);
65
+ json: function(opts) {
66
+ return makeHandlerDescriptor(void 0, void 0, true, opts);
59
67
  },
60
68
  serdes: function(opts) {
61
- return makeHandlerDescriptor(opts.input, opts.output, true);
69
+ return makeHandlerDescriptor(opts.input, opts.output, true, opts);
62
70
  },
63
71
  schemas: function(opts) {
64
- return makeHandlerDescriptor(opts.input ? require_serde_api.serde.schema(opts.input) : void 0, opts.output ? require_serde_api.serde.schema(opts.output) : void 0, true);
72
+ return makeHandlerDescriptor(opts.input ? require_serde_api.serde.schema(opts.input) : void 0, opts.output ? require_serde_api.serde.schema(opts.output) : void 0, true, opts);
65
73
  }
66
74
  }
67
75
  };
@@ -4,6 +4,24 @@ import { Serde } from "./serde_api.cjs";
4
4
 
5
5
  //#region src/interface.d.ts
6
6
 
7
+ /**
8
+ * Documentation and metadata that can be attached to a service/object/workflow
9
+ * contract or to a single handler declared with {@link iface}.
10
+ *
11
+ * These values are advisory: they are folded into the service definition when the
12
+ * contract is implemented (see `implement()`), and surface in the discovery manifest
13
+ * as `documentation` (from {@link description}) and `metadata`.
14
+ */
15
+ type DescriptorOpts = {
16
+ /**
17
+ * Human-readable description, shown in documentation/admin tools.
18
+ */
19
+ description?: string;
20
+ /**
21
+ * Arbitrary key/value metadata, exposed via the Admin API.
22
+ */
23
+ metadata?: Record<string, string>;
24
+ };
7
25
  /**
8
26
  * Minimal descriptor stored in {@link Descriptor}._handlers per handler.
9
27
  */
@@ -12,8 +30,12 @@ type HandlerDescriptor<I$1 = any, O$1 = any, Shared extends boolean = boolean> =
12
30
  readonly _outputSerde?: Serde<O$1>;
13
31
  /** @internal virtual-object handler shared/exclusive marker (phantom + runtime) */
14
32
  readonly _shared?: Shared;
33
+ /** @internal handler description declared on the contract */
34
+ readonly _description?: string;
35
+ /** @internal handler metadata declared on the contract */
36
+ readonly _metadata?: Record<string, string>;
15
37
  };
16
- declare function makeHandlerDescriptor<I$1, O$1, Shared extends boolean = false>(inputSerde?: Serde<I$1>, outputSerde?: Serde<O$1>, shared?: Shared): HandlerDescriptor<I$1, O$1, Shared>;
38
+ declare function makeHandlerDescriptor<I$1, O$1, Shared extends boolean = false>(inputSerde?: Serde<I$1>, outputSerde?: Serde<O$1>, shared?: Shared, opts?: DescriptorOpts): HandlerDescriptor<I$1, O$1, Shared>;
17
39
  /** Recover the input type declared by a {@link HandlerDescriptor}. */
18
40
  type InferInput<D> = D extends HandlerDescriptor<infer I, any, any> ? I : any;
19
41
  /** Recover the output type declared by a {@link HandlerDescriptor}. */
@@ -24,6 +46,10 @@ type Descriptor<P extends string = string, H extends Record<string, HandlerDescr
24
46
  readonly name: P;
25
47
  readonly _kind: Kind;
26
48
  readonly _handlers: H;
49
+ /** @internal service description declared on the contract */
50
+ readonly _description?: string;
51
+ /** @internal service metadata declared on the contract */
52
+ readonly _metadata?: Record<string, string>;
27
53
  };
28
54
  type ServiceDescriptor<P extends string = string, H extends Record<string, HandlerDescriptor> = Record<string, HandlerDescriptor>> = Descriptor<P, H, "service">;
29
55
  type ObjectDescriptor<P extends string = string, H extends Record<string, HandlerDescriptor> = Record<string, HandlerDescriptor>> = Descriptor<P, H, "object">;
@@ -35,32 +61,32 @@ type ImplementedWorkflowDefinition<P extends string, H extends Record<string, Ha
35
61
  type ImplementedDefinition<P extends string, H extends Record<string, HandlerDescriptor>, Kind extends "service" | "object" | "workflow"> = Kind extends "service" ? ImplementedServiceDefinition<P, H> : Kind extends "object" ? ImplementedObjectDefinition<P, H> : ImplementedWorkflowDefinition<P, H>;
36
62
  /** The shape of the {@link iface} service-interface declaration API. */
37
63
  interface ServiceInterface {
38
- service<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H): ServiceDescriptor<P, H>;
39
- object<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H): ObjectDescriptor<P, H>;
40
- workflow<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H): WorkflowDescriptor<P, H>;
64
+ service<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H, opts?: DescriptorOpts): ServiceDescriptor<P, H>;
65
+ object<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H, opts?: DescriptorOpts): ObjectDescriptor<P, H>;
66
+ workflow<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H, opts?: DescriptorOpts): WorkflowDescriptor<P, H>;
41
67
  /** `json<I, O>()` — type params, default JSON serde. */
42
- json<I$1 = void, O$1 = void>(): HandlerDescriptor<I$1, O$1, false>;
68
+ json<I$1 = void, O$1 = void>(opts?: DescriptorOpts): HandlerDescriptor<I$1, O$1, false>;
43
69
  /** `serdes({ input, output })` — explicit Serde per direction. */
44
70
  serdes<SI extends Serde<any>, SO extends Serde<any>>(opts: {
45
71
  input?: SI;
46
72
  output?: SO;
47
- }): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, false>;
73
+ } & DescriptorOpts): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, false>;
48
74
  /** `schemas({ input, output })` — Standard Schema per direction. */
49
75
  schemas<SI extends StandardSchemaV1<any>, SO extends StandardSchemaV1<any>>(opts: {
50
76
  input?: SI;
51
77
  output?: SO;
52
- }): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, false>;
78
+ } & DescriptorOpts): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, false>;
53
79
  /** Shared (read-only) virtual-object / non-`run` workflow handler declarators. */
54
80
  shared: {
55
- json<I$1 = void, O$1 = void>(): HandlerDescriptor<I$1, O$1, true>;
81
+ json<I$1 = void, O$1 = void>(opts?: DescriptorOpts): HandlerDescriptor<I$1, O$1, true>;
56
82
  serdes<SI extends Serde<any>, SO extends Serde<any>>(opts: {
57
83
  input?: SI;
58
84
  output?: SO;
59
- }): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, true>;
85
+ } & DescriptorOpts): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, true>;
60
86
  schemas<SI extends StandardSchemaV1<any>, SO extends StandardSchemaV1<any>>(opts: {
61
87
  input?: SI;
62
88
  output?: SO;
63
- }): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, true>;
89
+ } & DescriptorOpts): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, true>;
64
90
  };
65
91
  }
66
92
  /**
@@ -79,5 +105,5 @@ interface ServiceInterface {
79
105
  */
80
106
  declare const iface: ServiceInterface;
81
107
  //#endregion
82
- export { Descriptor, HandlerDescriptor, ImplementedDefinition, ImplementedObjectDefinition, ImplementedServiceDefinition, ImplementedWorkflowDefinition, InferInput, InferOutput, ObjectDescriptor, SerdeType, ServiceDescriptor, ServiceInterface, WorkflowDescriptor, iface, makeHandlerDescriptor };
108
+ export { Descriptor, DescriptorOpts, HandlerDescriptor, ImplementedDefinition, ImplementedObjectDefinition, ImplementedServiceDefinition, ImplementedWorkflowDefinition, InferInput, InferOutput, ObjectDescriptor, SerdeType, ServiceDescriptor, ServiceInterface, WorkflowDescriptor, iface, makeHandlerDescriptor };
83
109
  //# sourceMappingURL=interface.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.cts","names":[],"sources":["../src/interface.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.d.cts","names":[],"sources":["../src/interface.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,6 +1,24 @@
1
1
  import type { Serde } from "./serde_api.js";
2
2
  import type { StandardSchemaV1 } from "./standard_schema.js";
3
3
  import type { ServiceDefinition, VirtualObjectDefinition, WorkflowDefinition } from "./core.js";
4
+ /**
5
+ * Documentation and metadata that can be attached to a service/object/workflow
6
+ * contract or to a single handler declared with {@link iface}.
7
+ *
8
+ * These values are advisory: they are folded into the service definition when the
9
+ * contract is implemented (see `implement()`), and surface in the discovery manifest
10
+ * as `documentation` (from {@link description}) and `metadata`.
11
+ */
12
+ export type DescriptorOpts = {
13
+ /**
14
+ * Human-readable description, shown in documentation/admin tools.
15
+ */
16
+ description?: string;
17
+ /**
18
+ * Arbitrary key/value metadata, exposed via the Admin API.
19
+ */
20
+ metadata?: Record<string, string>;
21
+ };
4
22
  /**
5
23
  * Minimal descriptor stored in {@link Descriptor}._handlers per handler.
6
24
  */
@@ -9,8 +27,12 @@ export type HandlerDescriptor<I = any, O = any, Shared extends boolean = boolean
9
27
  readonly _outputSerde?: Serde<O>;
10
28
  /** @internal virtual-object handler shared/exclusive marker (phantom + runtime) */
11
29
  readonly _shared?: Shared;
30
+ /** @internal handler description declared on the contract */
31
+ readonly _description?: string;
32
+ /** @internal handler metadata declared on the contract */
33
+ readonly _metadata?: Record<string, string>;
12
34
  };
13
- export declare function makeHandlerDescriptor<I, O, Shared extends boolean = false>(inputSerde?: Serde<I>, outputSerde?: Serde<O>, shared?: Shared): HandlerDescriptor<I, O, Shared>;
35
+ export declare function makeHandlerDescriptor<I, O, Shared extends boolean = false>(inputSerde?: Serde<I>, outputSerde?: Serde<O>, shared?: Shared, opts?: DescriptorOpts): HandlerDescriptor<I, O, Shared>;
14
36
  /** Recover the input type declared by a {@link HandlerDescriptor}. */
15
37
  export type InferInput<D> = D extends HandlerDescriptor<infer I, any, any> ? I : any;
16
38
  /** Recover the output type declared by a {@link HandlerDescriptor}. */
@@ -21,6 +43,10 @@ export type Descriptor<P extends string = string, H extends Record<string, Handl
21
43
  readonly name: P;
22
44
  readonly _kind: Kind;
23
45
  readonly _handlers: H;
46
+ /** @internal service description declared on the contract */
47
+ readonly _description?: string;
48
+ /** @internal service metadata declared on the contract */
49
+ readonly _metadata?: Record<string, string>;
24
50
  };
25
51
  export type ServiceDescriptor<P extends string = string, H extends Record<string, HandlerDescriptor> = Record<string, HandlerDescriptor>> = Descriptor<P, H, "service">;
26
52
  export type ObjectDescriptor<P extends string = string, H extends Record<string, HandlerDescriptor> = Record<string, HandlerDescriptor>> = Descriptor<P, H, "object">;
@@ -32,32 +58,32 @@ export type ImplementedWorkflowDefinition<P extends string, H extends Record<str
32
58
  export type ImplementedDefinition<P extends string, H extends Record<string, HandlerDescriptor>, Kind extends "service" | "object" | "workflow"> = Kind extends "service" ? ImplementedServiceDefinition<P, H> : Kind extends "object" ? ImplementedObjectDefinition<P, H> : ImplementedWorkflowDefinition<P, H>;
33
59
  /** The shape of the {@link iface} service-interface declaration API. */
34
60
  export interface ServiceInterface {
35
- service<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H): ServiceDescriptor<P, H>;
36
- object<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H): ObjectDescriptor<P, H>;
37
- workflow<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H): WorkflowDescriptor<P, H>;
61
+ service<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H, opts?: DescriptorOpts): ServiceDescriptor<P, H>;
62
+ object<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H, opts?: DescriptorOpts): ObjectDescriptor<P, H>;
63
+ workflow<P extends string, H extends Record<string, HandlerDescriptor>>(name: P, handlers: H, opts?: DescriptorOpts): WorkflowDescriptor<P, H>;
38
64
  /** `json<I, O>()` — type params, default JSON serde. */
39
- json<I = void, O = void>(): HandlerDescriptor<I, O, false>;
65
+ json<I = void, O = void>(opts?: DescriptorOpts): HandlerDescriptor<I, O, false>;
40
66
  /** `serdes({ input, output })` — explicit Serde per direction. */
41
67
  serdes<SI extends Serde<any>, SO extends Serde<any>>(opts: {
42
68
  input?: SI;
43
69
  output?: SO;
44
- }): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, false>;
70
+ } & DescriptorOpts): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, false>;
45
71
  /** `schemas({ input, output })` — Standard Schema per direction. */
46
72
  schemas<SI extends StandardSchemaV1<any>, SO extends StandardSchemaV1<any>>(opts: {
47
73
  input?: SI;
48
74
  output?: SO;
49
- }): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, false>;
75
+ } & DescriptorOpts): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, false>;
50
76
  /** Shared (read-only) virtual-object / non-`run` workflow handler declarators. */
51
77
  shared: {
52
- json<I = void, O = void>(): HandlerDescriptor<I, O, true>;
78
+ json<I = void, O = void>(opts?: DescriptorOpts): HandlerDescriptor<I, O, true>;
53
79
  serdes<SI extends Serde<any>, SO extends Serde<any>>(opts: {
54
80
  input?: SI;
55
81
  output?: SO;
56
- }): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, true>;
82
+ } & DescriptorOpts): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, true>;
57
83
  schemas<SI extends StandardSchemaV1<any>, SO extends StandardSchemaV1<any>>(opts: {
58
84
  input?: SI;
59
85
  output?: SO;
60
- }): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, true>;
86
+ } & DescriptorOpts): HandlerDescriptor<StandardSchemaV1.InferOutput<NonNullable<SI>>, StandardSchemaV1.InferOutput<NonNullable<SO>>, true>;
61
87
  };
62
88
  }
63
89
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"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"}
package/dist/interface.js CHANGED
@@ -10,11 +10,13 @@
10
10
  */
11
11
  /* eslint-disable @typescript-eslint/no-explicit-any */
12
12
  import { serde } from "./serde_api.js";
13
- export function makeHandlerDescriptor(inputSerde, outputSerde, shared) {
13
+ export function makeHandlerDescriptor(inputSerde, outputSerde, shared, opts) {
14
14
  return {
15
15
  _inputSerde: inputSerde,
16
16
  _outputSerde: outputSerde,
17
17
  _shared: shared,
18
+ _description: opts?.description,
19
+ _metadata: opts?.metadata,
18
20
  };
19
21
  }
20
22
  /**
@@ -32,33 +34,51 @@ export function makeHandlerDescriptor(inputSerde, outputSerde, shared) {
32
34
  * ```
33
35
  */
34
36
  export const iface = {
35
- service: function (name, handlers) {
36
- return { name, _kind: "service", _handlers: handlers };
37
+ service: function (name, handlers, opts) {
38
+ return {
39
+ name,
40
+ _kind: "service",
41
+ _handlers: handlers,
42
+ _description: opts?.description,
43
+ _metadata: opts?.metadata,
44
+ };
37
45
  },
38
- object: function (name, handlers) {
39
- return { name, _kind: "object", _handlers: handlers };
46
+ object: function (name, handlers, opts) {
47
+ return {
48
+ name,
49
+ _kind: "object",
50
+ _handlers: handlers,
51
+ _description: opts?.description,
52
+ _metadata: opts?.metadata,
53
+ };
40
54
  },
41
- workflow: function (name, handlers) {
42
- return { name, _kind: "workflow", _handlers: handlers };
55
+ workflow: function (name, handlers, opts) {
56
+ return {
57
+ name,
58
+ _kind: "workflow",
59
+ _handlers: handlers,
60
+ _description: opts?.description,
61
+ _metadata: opts?.metadata,
62
+ };
43
63
  },
44
- json: function () {
45
- return makeHandlerDescriptor(undefined, undefined, false);
64
+ json: function (opts) {
65
+ return makeHandlerDescriptor(undefined, undefined, false, opts);
46
66
  },
47
67
  serdes: function (opts) {
48
- return makeHandlerDescriptor(opts.input, opts.output, false);
68
+ return makeHandlerDescriptor(opts.input, opts.output, false, opts);
49
69
  },
50
70
  schemas: function (opts) {
51
- return makeHandlerDescriptor(opts.input ? serde.schema(opts.input) : undefined, opts.output ? serde.schema(opts.output) : undefined, false);
71
+ return makeHandlerDescriptor(opts.input ? serde.schema(opts.input) : undefined, opts.output ? serde.schema(opts.output) : undefined, false, opts);
52
72
  },
53
73
  shared: {
54
- json: function () {
55
- return makeHandlerDescriptor(undefined, undefined, true);
74
+ json: function (opts) {
75
+ return makeHandlerDescriptor(undefined, undefined, true, opts);
56
76
  },
57
77
  serdes: function (opts) {
58
- return makeHandlerDescriptor(opts.input, opts.output, true);
78
+ return makeHandlerDescriptor(opts.input, opts.output, true, opts);
59
79
  },
60
80
  schemas: function (opts) {
61
- return makeHandlerDescriptor(opts.input ? serde.schema(opts.input) : undefined, opts.output ? serde.schema(opts.output) : undefined, true);
81
+ return makeHandlerDescriptor(opts.input ? serde.schema(opts.input) : undefined, opts.output ? serde.schema(opts.output) : undefined, true, opts);
62
82
  },
63
83
  },
64
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,uDAAuD;AAGvD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAsBvC,MAAM,UAAU,qBAAqB,CACnC,UAAqB,EACrB,WAAsB,EACtB,MAAe;IAEf,OAAO;QACL,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,WAAW;QACzB,OAAO,EAAE,MAAM;KAChB,CAAC;AACJ,CAAC;AA4ID;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,KAAK,GAAqB;IACrC,OAAO,EAAE,UAGP,IAAO,EAAE,QAAW;QACpB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,EAAE,UAGN,IAAO,EAAE,QAAW;QACpB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACxD,CAAC;IACD,QAAQ,EAAE,UAGR,IAAO,EAAE,QAAW;QACpB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,EAAE;QACJ,OAAO,qBAAqB,CAAc,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,EAAE,UAAwD,IAG/D;QACC,OAAO,qBAAqB,CAC1B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,KAAK,CACN,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAGP,IAGD;QAKC,OAAO,qBAAqB,CAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EACjD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EACnD,KAAK,CACN,CAAC;IACJ,CAAC;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,OAAO,qBAAqB,CAAa,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,EAAE,UAAwD,IAG/D;YACC,OAAO,qBAAqB,CAC1B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,UAGP,IAGD;YAKC,OAAO,qBAAqB,CAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EACjD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EACnD,IAAI,CACL,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,uDAAuD;AAGvD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA6CvC,MAAM,UAAU,qBAAqB,CACnC,UAAqB,EACrB,WAAsB,EACtB,MAAe,EACf,IAAqB;IAErB,OAAO;QACL,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,WAAW;QACzB,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,IAAI,EAAE,WAAW;QAC/B,SAAS,EAAE,IAAI,EAAE,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAyJD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,KAAK,GAAqB;IACrC,OAAO,EAAE,UAGP,IAAO,EAAE,QAAW,EAAE,IAAqB;QAC3C,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,IAAI,EAAE,WAAW;YAC/B,SAAS,EAAE,IAAI,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,UAGN,IAAO,EAAE,QAAW,EAAE,IAAqB;QAC3C,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,IAAI,EAAE,WAAW;YAC/B,SAAS,EAAE,IAAI,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE,UAGR,IAAO,EAAE,QAAW,EAAE,IAAqB;QAC3C,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,IAAI,EAAE,WAAW;YAC/B,SAAS,EAAE,IAAI,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,UACJ,IAAqB;QAErB,OAAO,qBAAqB,CAC1B,SAAS,EACT,SAAS,EACT,KAAK,EACL,IAAI,CACL,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,UACN,IAGkB;QAElB,OAAO,qBAAqB,CAC1B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,KAAK,EACL,IAAI,CACL,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAIP,IAGkB;QAMlB,OAAO,qBAAqB,CAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EACjD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EACnD,KAAK,EACL,IAAI,CACL,CAAC;IACJ,CAAC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,UACJ,IAAqB;YAErB,OAAO,qBAAqB,CAC1B,SAAS,EACT,SAAS,EACT,IAAI,EACJ,IAAI,CACL,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,UACN,IAGkB;YAElB,OAAO,qBAAqB,CAC1B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,EACJ,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,UAIP,IAGkB;YAMlB,OAAO,qBAAqB,CAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EACjD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EACnD,IAAI,EACJ,IAAI,CACL,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@restatedev/restate-sdk-core",
3
- "version": "1.17.1",
3
+ "version": "1.17.2",
4
4
  "description": "Typescript SDK for Restate",
5
5
  "author": "Restate Developers",
6
6
  "email": "code@restate.dev",