@restatedev/restate-sdk-cloudflare-workers 1.11.1 → 1.13.0

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 (117) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +9 -0
  2. package/dist/common_api.cjs +2 -1
  3. package/dist/common_api.d.cts +6 -2
  4. package/dist/common_api.d.cts.map +1 -1
  5. package/dist/common_api.d.ts +6 -2
  6. package/dist/common_api.d.ts.map +1 -1
  7. package/dist/common_api.js +2 -1
  8. package/dist/common_api.js.map +1 -1
  9. package/dist/context.cjs +13 -9
  10. package/dist/context.d.cts +36 -29
  11. package/dist/context.d.cts.map +1 -1
  12. package/dist/context.d.ts +36 -29
  13. package/dist/context.d.ts.map +1 -1
  14. package/dist/context.js +13 -9
  15. package/dist/context.js.map +1 -1
  16. package/dist/context_impl.cjs +150 -91
  17. package/dist/context_impl.d.cts +8 -0
  18. package/dist/context_impl.d.ts +8 -0
  19. package/dist/context_impl.js +151 -93
  20. package/dist/context_impl.js.map +1 -1
  21. package/dist/endpoint/components.cjs +38 -22
  22. package/dist/endpoint/components.d.cts +5 -0
  23. package/dist/endpoint/components.d.ts +5 -0
  24. package/dist/endpoint/components.js +38 -22
  25. package/dist/endpoint/components.js.map +1 -1
  26. package/dist/endpoint/endpoint.cjs +2 -2
  27. package/dist/endpoint/endpoint.d.cts +5 -0
  28. package/dist/endpoint/endpoint.d.ts +5 -0
  29. package/dist/endpoint/endpoint.js +2 -2
  30. package/dist/endpoint/endpoint.js.map +1 -1
  31. package/dist/endpoint/handlers/generic.cjs +113 -39
  32. package/dist/endpoint/handlers/generic.js +113 -39
  33. package/dist/endpoint/handlers/generic.js.map +1 -1
  34. package/dist/endpoint/handlers/types.d.cts +1 -0
  35. package/dist/endpoint/handlers/types.d.ts +1 -0
  36. package/dist/endpoint/handlers/utils.cjs +1 -1
  37. package/dist/endpoint/handlers/utils.js +1 -1
  38. package/dist/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +4 -1
  39. package/dist/endpoint/handlers/vm/sdk_shared_core_wasm_bindings_bg.js +48 -2
  40. package/dist/endpoint/handlers/vm/sdk_shared_core_wasm_bindings_bg.wasm +0 -0
  41. package/dist/endpoint/handlers/vm/sdk_shared_core_wasm_bindings_bg.wasm.d.ts +4 -1
  42. package/dist/endpoint/node_endpoint.cjs +28 -12
  43. package/dist/endpoint/node_endpoint.js +27 -11
  44. package/dist/endpoint/node_endpoint.js.map +1 -1
  45. package/dist/endpoint/types.d.cts +1 -1
  46. package/dist/endpoint/types.d.ts +1 -1
  47. package/dist/endpoint.d.cts +87 -5
  48. package/dist/endpoint.d.cts.map +1 -1
  49. package/dist/endpoint.d.ts +87 -5
  50. package/dist/endpoint.d.ts.map +1 -1
  51. package/dist/error_sanitization.cjs +26 -0
  52. package/dist/error_sanitization.js +26 -0
  53. package/dist/error_sanitization.js.map +1 -0
  54. package/dist/fetch.cjs +3 -1
  55. package/dist/fetch.d.cts +5 -3
  56. package/dist/fetch.d.cts.map +1 -1
  57. package/dist/fetch.d.ts +5 -3
  58. package/dist/fetch.d.ts.map +1 -1
  59. package/dist/fetch.js.map +1 -1
  60. package/dist/hooks.d.cts +87 -0
  61. package/dist/hooks.d.cts.map +1 -0
  62. package/dist/hooks.d.ts +87 -0
  63. package/dist/hooks.d.ts.map +1 -0
  64. package/dist/index.cjs +3 -1
  65. package/dist/index.d.cts +6 -4
  66. package/dist/index.d.ts +6 -4
  67. package/dist/index.js +3 -2
  68. package/dist/internal.cjs +3 -1
  69. package/dist/internal.d.cts +186 -2
  70. package/dist/internal.d.cts.map +1 -1
  71. package/dist/internal.d.ts +186 -2
  72. package/dist/internal.d.ts.map +1 -1
  73. package/dist/internal.js +4 -1
  74. package/dist/internal.js.map +1 -1
  75. package/dist/io.d.cts +1 -0
  76. package/dist/io.d.ts +1 -0
  77. package/dist/lambda.cjs +3 -1
  78. package/dist/lambda.d.cts +5 -3
  79. package/dist/lambda.d.cts.map +1 -1
  80. package/dist/lambda.d.ts +5 -3
  81. package/dist/lambda.d.ts.map +1 -1
  82. package/dist/lambda.js +3 -2
  83. package/dist/lambda.js.map +1 -1
  84. package/dist/logging/logger.d.cts +1 -0
  85. package/dist/logging/logger.d.ts +1 -0
  86. package/dist/node.cjs +23 -6
  87. package/dist/node.d.cts +46 -8
  88. package/dist/node.d.cts.map +1 -1
  89. package/dist/node.d.ts +46 -8
  90. package/dist/node.d.ts.map +1 -1
  91. package/dist/node.js +23 -7
  92. package/dist/node.js.map +1 -1
  93. package/dist/package.cjs +1 -1
  94. package/dist/package.js +1 -1
  95. package/dist/package.js.map +1 -1
  96. package/dist/promises.cjs +100 -53
  97. package/dist/promises.d.cts +18 -0
  98. package/dist/promises.d.cts.map +1 -0
  99. package/dist/promises.d.ts +18 -0
  100. package/dist/promises.d.ts.map +1 -0
  101. package/dist/promises.js +95 -48
  102. package/dist/promises.js.map +1 -1
  103. package/dist/types/errors.cjs +13 -0
  104. package/dist/types/errors.d.cts +11 -5
  105. package/dist/types/errors.d.cts.map +1 -1
  106. package/dist/types/errors.d.ts +11 -5
  107. package/dist/types/errors.d.ts.map +1 -1
  108. package/dist/types/errors.js +13 -1
  109. package/dist/types/errors.js.map +1 -1
  110. package/dist/types/rpc.cjs +7 -19
  111. package/dist/types/rpc.d.cts +185 -0
  112. package/dist/types/rpc.d.cts.map +1 -1
  113. package/dist/types/rpc.d.ts +185 -0
  114. package/dist/types/rpc.d.ts.map +1 -1
  115. package/dist/types/rpc.js +7 -19
  116. package/dist/types/rpc.js.map +1 -1
  117. package/package.json +3 -3
package/dist/index.d.cts CHANGED
@@ -1,10 +1,12 @@
1
1
  import { CancelledError, RestateError, RetryableError, RetryableErrorOptions, TerminalError, TimeoutError } from "./types/errors.cjs";
2
+ import { Hooks, HooksProvider, Interceptor } from "./hooks.cjs";
2
3
  import { Client, ClientCallOptions, ClientSendOptions, InferArg, ObjectHandlerOpts, ObjectOptions, ObjectOpts, Opts, RemoveVoidArgument, RetryPolicy, SendClient, SendOpts, ServiceHandlerOpts, ServiceOptions, ServiceOpts, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, handlers, object, rpc, service, workflow } from "./types/rpc.cjs";
3
- import { Context, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, KeyValueStore, ObjectContext, ObjectSharedContext, Rand, Request, RestatePromise, RunAction, RunOptions, SendOptions, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "./context.cjs";
4
+ import { Context, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, KeyValueStore, ObjectContext, ObjectSharedContext, Rand, Request, RestatePromise, RunAction, RunOptions, Target, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "./context.cjs";
5
+ import { internal_d_exports } from "./internal.cjs";
4
6
  import { LogMetadata, LogSource, LoggerContext, LoggerTransport, RestateLogLevel } from "./logging/logger_transport.cjs";
5
7
  import { DefaultServiceOptions, RestateEndpoint, RestateEndpointBase } from "./endpoint.cjs";
8
+ import { isRestatePromise } from "./promises.cjs";
6
9
  import { EndpointOptions } from "./endpoint/types.cjs";
7
- import { internal_d_exports } from "./internal.cjs";
8
10
  import { CombineablePromise, Duration, JournalValueCodec, ObjectHandler, RestateContext, RestateObjectContext, RestateObjectSharedContext, RestateWorkflowContext, RestateWorkflowSharedContext, Serde, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowSharedHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, serde } from "./common_api.cjs";
9
- import { ServeOptions, createEndpointHandler, endpoint, serve } from "./node.cjs";
10
- export { CancelledError, Client, ClientCallOptions, ClientSendOptions, CombineablePromise, Context, ContextDate, DefaultServiceOptions, DurablePromise, Duration, EndpointOptions, GenericCall, GenericSend, InferArg, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, JournalValueCodec, KeyValueStore, LogMetadata, LogSource, LoggerContext, LoggerTransport, ObjectContext, ObjectHandler, ObjectHandlerOpts, ObjectOptions, ObjectOpts, ObjectSharedContext, Opts, Rand, RemoveVoidArgument, Request, RestateContext, RestateEndpoint, RestateEndpointBase, RestateError, RestateLogLevel, RestateObjectContext, RestateObjectSharedContext, RestatePromise, RestateWorkflowContext, RestateWorkflowSharedContext, RetryPolicy, RetryableError, RetryableErrorOptions, RunAction, RunOptions, SendClient, SendOptions, SendOpts, Serde, ServeOptions, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, ServiceHandlerOpts, ServiceOptions, ServiceOpts, TerminalError, TimeoutError, TypedState, UntypedState, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowContext, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, WorkflowSharedContext, WorkflowSharedHandler, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_d_exports as internal, object, rpc, serde, serve, service, workflow };
11
+ import { NodeEndpointOptions, ServeOptions, createEndpointHandler, endpoint, serve } from "./node.cjs";
12
+ export { CancelledError, Client, ClientCallOptions, ClientSendOptions, CombineablePromise, Context, ContextDate, DefaultServiceOptions, DurablePromise, Duration, EndpointOptions, GenericCall, GenericSend, Hooks, HooksProvider, InferArg, Interceptor, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, JournalValueCodec, KeyValueStore, LogMetadata, LogSource, LoggerContext, LoggerTransport, NodeEndpointOptions, ObjectContext, ObjectHandler, ObjectHandlerOpts, ObjectOptions, ObjectOpts, ObjectSharedContext, Opts, Rand, RemoveVoidArgument, Request, RestateContext, RestateEndpoint, RestateEndpointBase, RestateError, RestateLogLevel, RestateObjectContext, RestateObjectSharedContext, RestatePromise, RestateWorkflowContext, RestateWorkflowSharedContext, RetryPolicy, RetryableError, RetryableErrorOptions, RunAction, RunOptions, SendClient, SendOpts, Serde, ServeOptions, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, ServiceHandlerOpts, ServiceOptions, ServiceOpts, Target, TerminalError, TimeoutError, TypedState, UntypedState, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowContext, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, WorkflowSharedContext, WorkflowSharedHandler, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_d_exports as internal, isRestatePromise, object, rpc, serde, serve, service, workflow };
package/dist/index.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import { CancelledError, RestateError, RetryableError, RetryableErrorOptions, TerminalError, TimeoutError } from "./types/errors.js";
2
+ import { Hooks, HooksProvider, Interceptor } from "./hooks.js";
2
3
  import { Client, ClientCallOptions, ClientSendOptions, InferArg, ObjectHandlerOpts, ObjectOptions, ObjectOpts, Opts, RemoveVoidArgument, RetryPolicy, SendClient, SendOpts, ServiceHandlerOpts, ServiceOptions, ServiceOpts, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, handlers, object, rpc, service, workflow } from "./types/rpc.js";
3
- import { Context, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, KeyValueStore, ObjectContext, ObjectSharedContext, Rand, Request, RestatePromise, RunAction, RunOptions, SendOptions, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "./context.js";
4
+ import { Context, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, KeyValueStore, ObjectContext, ObjectSharedContext, Rand, Request, RestatePromise, RunAction, RunOptions, Target, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "./context.js";
5
+ import { internal_d_exports } from "./internal.js";
4
6
  import { LogMetadata, LogSource, LoggerContext, LoggerTransport, RestateLogLevel } from "./logging/logger_transport.js";
5
7
  import { DefaultServiceOptions, RestateEndpoint, RestateEndpointBase } from "./endpoint.js";
8
+ import { isRestatePromise } from "./promises.js";
6
9
  import { EndpointOptions } from "./endpoint/types.js";
7
- import { internal_d_exports } from "./internal.js";
8
10
  import { CombineablePromise, Duration, JournalValueCodec, ObjectHandler, RestateContext, RestateObjectContext, RestateObjectSharedContext, RestateWorkflowContext, RestateWorkflowSharedContext, Serde, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowSharedHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, serde } from "./common_api.js";
9
- import { ServeOptions, createEndpointHandler, endpoint, serve } from "./node.js";
10
- export { CancelledError, Client, ClientCallOptions, ClientSendOptions, CombineablePromise, Context, ContextDate, DefaultServiceOptions, DurablePromise, Duration, EndpointOptions, GenericCall, GenericSend, InferArg, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, JournalValueCodec, KeyValueStore, LogMetadata, LogSource, LoggerContext, LoggerTransport, ObjectContext, ObjectHandler, ObjectHandlerOpts, ObjectOptions, ObjectOpts, ObjectSharedContext, Opts, Rand, RemoveVoidArgument, Request, RestateContext, RestateEndpoint, RestateEndpointBase, RestateError, RestateLogLevel, RestateObjectContext, RestateObjectSharedContext, RestatePromise, RestateWorkflowContext, RestateWorkflowSharedContext, RetryPolicy, RetryableError, RetryableErrorOptions, RunAction, RunOptions, SendClient, SendOptions, SendOpts, Serde, ServeOptions, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, ServiceHandlerOpts, ServiceOptions, ServiceOpts, TerminalError, TimeoutError, TypedState, UntypedState, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowContext, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, WorkflowSharedContext, WorkflowSharedHandler, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_d_exports as internal, object, rpc, serde, serve, service, workflow };
11
+ import { NodeEndpointOptions, ServeOptions, createEndpointHandler, endpoint, serve } from "./node.js";
12
+ export { CancelledError, Client, ClientCallOptions, ClientSendOptions, CombineablePromise, Context, ContextDate, DefaultServiceOptions, DurablePromise, Duration, EndpointOptions, GenericCall, GenericSend, Hooks, HooksProvider, InferArg, Interceptor, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, JournalValueCodec, KeyValueStore, LogMetadata, LogSource, LoggerContext, LoggerTransport, NodeEndpointOptions, ObjectContext, ObjectHandler, ObjectHandlerOpts, ObjectOptions, ObjectOpts, ObjectSharedContext, Opts, Rand, RemoveVoidArgument, Request, RestateContext, RestateEndpoint, RestateEndpointBase, RestateError, RestateLogLevel, RestateObjectContext, RestateObjectSharedContext, RestatePromise, RestateWorkflowContext, RestateWorkflowSharedContext, RetryPolicy, RetryableError, RetryableErrorOptions, RunAction, RunOptions, SendClient, SendOpts, Serde, ServeOptions, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, ServiceHandlerOpts, ServiceOptions, ServiceOpts, Target, TerminalError, TimeoutError, TypedState, UntypedState, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowContext, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, WorkflowSharedContext, WorkflowSharedHandler, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_d_exports as internal, isRestatePromise, object, rpc, serde, serve, service, workflow };
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { CancelledError, RestateError, RetryableError, TerminalError, TimeoutError } from "./types/errors.js";
2
- import { Opts, SendOpts, handlers, object, rpc, service, workflow } from "./types/rpc.js";
2
+ import { isRestatePromise } from "./promises.js";
3
3
  import { InvocationIdParser, RestatePromise } from "./context.js";
4
+ import { Opts, SendOpts, handlers, object, rpc, service, workflow } from "./types/rpc.js";
4
5
  import { internal_exports } from "./internal.js";
5
6
  import { CombineablePromise, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, serde } from "./common_api.js";
6
7
  import { createEndpointHandler, endpoint, serve } from "./node.js";
7
8
 
8
- export { CancelledError, CombineablePromise, InvocationIdParser, Opts, RestateError, RestatePromise, RetryableError, SendOpts, TerminalError, TimeoutError, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_exports as internal, object, rpc, serde, serve, service, workflow };
9
+ export { CancelledError, CombineablePromise, InvocationIdParser, Opts, RestateError, RestatePromise, RetryableError, SendOpts, TerminalError, TimeoutError, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_exports as internal, isRestatePromise, object, rpc, serde, serve, service, workflow };
package/dist/internal.cjs CHANGED
@@ -1,6 +1,8 @@
1
+ const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
2
+ const require_errors = require('./types/errors.cjs');
1
3
 
2
4
  //#region src/internal.ts
3
- var internal_exports = {};
5
+ var internal_exports = /* @__PURE__ */ require_rolldown_runtime.__export({ isSuspendedError: () => require_errors.isSuspendedError });
4
6
 
5
7
  //#endregion
6
8
  Object.defineProperty(exports, 'internal_exports', {
@@ -1,8 +1,10 @@
1
- import { Context } from "./context.cjs";
1
+ import { TerminalError, isSuspendedError } from "./types/errors.cjs";
2
+ import { Context, InvocationId, RestatePromise } from "./context.cjs";
3
+ import { Serde } from "@restatedev/restate-sdk-core";
2
4
 
3
5
  //#region src/internal.d.ts
4
6
  declare namespace internal_d_exports {
5
- export { ContextInternal };
7
+ export { ContextInternal, InvocationReference, SignalReference, isSuspendedError };
6
8
  }
7
9
  /**
8
10
  * Internal {@link Context} interface exposing additional features.
@@ -21,6 +23,188 @@ interface ContextInternal extends Context {
21
23
  * @experimental
22
24
  */
23
25
  isProcessing(): boolean;
26
+ /**
27
+ * Returns a {@link RestatePromise} that resolves with `undefined` when Restate signals cancellation
28
+ * of the current invocation.
29
+ *
30
+ * This method **MUST** only be used when the handler (or its parent service/endpoint) is configured
31
+ * with `explicitCancellation: true`. Without configuring this option, cancellations are propagated automatically,
32
+ * and this promise will **NEVER** resolve.
33
+ *
34
+ * **Promise reuse:** calling this method multiple times returns the **same** promise instance as long as
35
+ * the current cancellation signal has not yet arrived. Once the promise resolves (cancellation received),
36
+ * later calls return a **new** promise that will resolve on the next cancellation signal.
37
+ *
38
+ * @example Race a long-running side effect against cancellation
39
+ * ```ts
40
+ * const greeter = restate.service({
41
+ * name: "greeter",
42
+ * handlers: {
43
+ * greet: async (ctx: restate.Context, name: string) => {
44
+ * ctxInternal = ctx as restate.internal.ContextInternal;
45
+ * const result = await RestatePromise.race([
46
+ * ctx.run(() => longRunningTask(name)),
47
+ * ctxInternal.cancellation().map(() => { throw new restate.TerminalError("Cancelled") }),
48
+ * ]);
49
+ * return result;
50
+ * },
51
+ * },
52
+ * options: { explicitCancellation: true },
53
+ * });
54
+ * ```
55
+ *
56
+ * @example Use the cancellation promise to create an AbortSignal for ctx.run
57
+ * ```ts
58
+ * const greeter = restate.service({
59
+ * name: "greeter",
60
+ * handlers: {
61
+ * greet: async (ctx: restate.Context, name: string) => {
62
+ * const ctxInternal = ctx as restate.internal.ContextInternal;
63
+ * const controller = new AbortController();
64
+ * const cancellation = ctxInternal.cancellation()
65
+ * .map(() => {
66
+ * controller.abort();
67
+ * throw new restate.TerminalError("Cancelled");
68
+ * });
69
+ *
70
+ * return RestatePromise.race([
71
+ * ctx.run(() => fetch(`https://api.example.com/greet/${name}`, { signal: controller.signal })),
72
+ * cancellation,
73
+ * ]);
74
+ * },
75
+ * },
76
+ * options: { explicitCancellation: true },
77
+ * });
78
+ * ```
79
+ *
80
+ * @example Handle cancellation, perform cleanup, then listen for the next cancellation
81
+ * ```ts
82
+ * const greeter = restate.service({
83
+ * name: "greeter",
84
+ * handlers: {
85
+ * greet: async (ctx: restate.Context, name: string) => {
86
+ * const ctxInternal = ctx as restate.internal.ContextInternal;
87
+ * try {
88
+ * return await RestatePromise.race([
89
+ * ctx.run(() => longRunningTask(name)),
90
+ * ctxInternal.cancellation().map(() => { throw new restate.TerminalError("Cancelled") }),
91
+ * ]);
92
+ * } catch (e) {
93
+ * // Perform cleanup
94
+ * await ctx.run(() => cleanupResources(name));
95
+ *
96
+ * // After cancellation is resolved, ctx.cancellation() returns a fresh promise.
97
+ * // Race cleanup confirmation against the next cancellation signal.
98
+ * await RestatePromise.race([
99
+ * ctx.run(() => confirmCleanup(name)),
100
+ * ctxInternal.cancellation().map(() => { throw new restate.TerminalError("Canceled during cleanup") }),
101
+ * ]);
102
+ * }
103
+ * },
104
+ * },
105
+ * options: { explicitCancellation: true },
106
+ * });
107
+ * ```
108
+ *
109
+ * @experimental
110
+ */
111
+ cancellation(): RestatePromise<void>;
112
+ /**
113
+ * Cancel all previous calls made from this handler.
114
+ *
115
+ * This method **MUST** only be used when the handler (or its parent service/endpoint) is configured
116
+ * with `explicitCancellation: true`. Without configuring this option, this operation will always be a no-op.
117
+ *
118
+ * @return the invocation id of the canceled calls.
119
+ * @experimental
120
+ */
121
+ cancelPreviousCalls(): RestatePromise<InvocationId[]>;
122
+ /**
123
+ * Wait for a named signal to arrive on the current invocation.
124
+ *
125
+ * Signals are identified by name and are scoped to the current invocation.
126
+ * Another handler can send a signal to this invocation using
127
+ * {@link InvocationReference.signal}, specifying this invocation's
128
+ * ID (available via `ctx.request().id`) and the same signal name.
129
+ *
130
+ * @param name the name of the signal to wait for.
131
+ * @param serde optional custom serializer/deserializer for the payload.
132
+ * @returns a {@link RestatePromise} that resolves when the signal arrives.
133
+ *
134
+ * @example
135
+ * const ctxInternal = ctx as restate.internal.ContextInternal;
136
+ * const approved = await ctxInternal.signal<boolean>("approved");
137
+ *
138
+ * @experimental
139
+ */
140
+ signal<T>(name: string, serde?: Serde<T>): RestatePromise<T>;
141
+ /**
142
+ * Get a reference to a target invocation, to send signals to it.
143
+ *
144
+ * @param invocationId the invocation ID of the target invocation.
145
+ * @returns an {@link InvocationReference} for the target invocation.
146
+ *
147
+ * @example
148
+ * const ctxInternal = ctx as restate.internal.ContextInternal;
149
+ * const target = ctxInternal.invocation(targetInvocationId);
150
+ * target.signal("approved").resolve(true);
151
+ * target.signal("approved").reject("Request denied");
152
+ *
153
+ * @experimental
154
+ */
155
+ invocation(invocationId: InvocationId): InvocationReference;
156
+ }
157
+ /**
158
+ * A reference to a target invocation, used to send signals.
159
+ *
160
+ * @experimental
161
+ */
162
+ interface InvocationReference {
163
+ /**
164
+ * Get a handle to a named signal on the target invocation.
165
+ *
166
+ * @param name the name of the signal.
167
+ * @param serde optional custom serializer/deserializer for the payload.
168
+ * @returns a {@link SignalReference} to resolve or reject the signal.
169
+ *
170
+ * @experimental
171
+ */
172
+ signal<T>(name: string, serde?: Serde<T>): SignalReference<T>;
173
+ /**
174
+ * Cancel the target invocation.
175
+ */
176
+ cancel(): void;
177
+ /**
178
+ * Attach to the target invocation and wait for its result.
179
+ *
180
+ * @param serde optional custom serializer/deserializer for the result.
181
+ * @returns a {@link RestatePromise} that resolves with the invocation result.
182
+ */
183
+ attach<T>(serde?: Serde<T>): RestatePromise<T>;
184
+ }
185
+ /**
186
+ * A handle to send a signal value to a target invocation.
187
+ *
188
+ * @experimental
189
+ */
190
+ interface SignalReference<T> {
191
+ /**
192
+ * Resolve the signal with a value.
193
+ *
194
+ * @param payload the payload to send.
195
+ *
196
+ * @experimental
197
+ */
198
+ resolve(payload?: T): void;
199
+ /**
200
+ * Reject the signal. The target invocation waiting on this signal will be
201
+ * woken up with a terminal error containing the provided reason.
202
+ *
203
+ * @param reason the reason for rejection, either a string message or a {@link TerminalError}.
204
+ *
205
+ * @experimental
206
+ */
207
+ reject(reason: string | TerminalError): void;
24
208
  }
25
209
  //#endregion
26
210
  export { internal_d_exports };
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.cts","names":[],"sources":["../src/internal.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AASA;;;UAAiB,eAAA,SAAwB"}
1
+ {"version":3,"file":"internal.d.cts","names":[],"sources":["../src/internal.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;UAaiB,eAAA,SAAwB;EAAxB;;;;;;;;EA+IU,YAAA,EAAA,EAAA,OAAA;EAAe;;;AAQ1C;;;;;;;;;;AA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAtFkB;;;;;;;;;;yBAWO,eAAe;;;;;;;;;;;;;;;;;;;kCAoBN,MAAM,KAAK,eAAe;;;;;;;;;;;;;;;2BAgBjC,eAAe;;;;;;;UAQzB,mBAAA;;;;;;;;;;kCAUiB,MAAM,KAAK,gBAAgB;;;;;;;;;;;oBAazC,MAAM,KAAK,eAAe;;;;;;;UAQ7B;;;;;;;;oBAQG;;;;;;;;;0BAUM"}
@@ -1,8 +1,10 @@
1
- import { Context } from "./context.js";
1
+ import { TerminalError, isSuspendedError } from "./types/errors.js";
2
+ import { Context, InvocationId, RestatePromise } from "./context.js";
3
+ import { Serde } from "@restatedev/restate-sdk-core";
2
4
 
3
5
  //#region src/internal.d.ts
4
6
  declare namespace internal_d_exports {
5
- export { ContextInternal };
7
+ export { ContextInternal, InvocationReference, SignalReference, isSuspendedError };
6
8
  }
7
9
  /**
8
10
  * Internal {@link Context} interface exposing additional features.
@@ -21,6 +23,188 @@ interface ContextInternal extends Context {
21
23
  * @experimental
22
24
  */
23
25
  isProcessing(): boolean;
26
+ /**
27
+ * Returns a {@link RestatePromise} that resolves with `undefined` when Restate signals cancellation
28
+ * of the current invocation.
29
+ *
30
+ * This method **MUST** only be used when the handler (or its parent service/endpoint) is configured
31
+ * with `explicitCancellation: true`. Without configuring this option, cancellations are propagated automatically,
32
+ * and this promise will **NEVER** resolve.
33
+ *
34
+ * **Promise reuse:** calling this method multiple times returns the **same** promise instance as long as
35
+ * the current cancellation signal has not yet arrived. Once the promise resolves (cancellation received),
36
+ * later calls return a **new** promise that will resolve on the next cancellation signal.
37
+ *
38
+ * @example Race a long-running side effect against cancellation
39
+ * ```ts
40
+ * const greeter = restate.service({
41
+ * name: "greeter",
42
+ * handlers: {
43
+ * greet: async (ctx: restate.Context, name: string) => {
44
+ * ctxInternal = ctx as restate.internal.ContextInternal;
45
+ * const result = await RestatePromise.race([
46
+ * ctx.run(() => longRunningTask(name)),
47
+ * ctxInternal.cancellation().map(() => { throw new restate.TerminalError("Cancelled") }),
48
+ * ]);
49
+ * return result;
50
+ * },
51
+ * },
52
+ * options: { explicitCancellation: true },
53
+ * });
54
+ * ```
55
+ *
56
+ * @example Use the cancellation promise to create an AbortSignal for ctx.run
57
+ * ```ts
58
+ * const greeter = restate.service({
59
+ * name: "greeter",
60
+ * handlers: {
61
+ * greet: async (ctx: restate.Context, name: string) => {
62
+ * const ctxInternal = ctx as restate.internal.ContextInternal;
63
+ * const controller = new AbortController();
64
+ * const cancellation = ctxInternal.cancellation()
65
+ * .map(() => {
66
+ * controller.abort();
67
+ * throw new restate.TerminalError("Cancelled");
68
+ * });
69
+ *
70
+ * return RestatePromise.race([
71
+ * ctx.run(() => fetch(`https://api.example.com/greet/${name}`, { signal: controller.signal })),
72
+ * cancellation,
73
+ * ]);
74
+ * },
75
+ * },
76
+ * options: { explicitCancellation: true },
77
+ * });
78
+ * ```
79
+ *
80
+ * @example Handle cancellation, perform cleanup, then listen for the next cancellation
81
+ * ```ts
82
+ * const greeter = restate.service({
83
+ * name: "greeter",
84
+ * handlers: {
85
+ * greet: async (ctx: restate.Context, name: string) => {
86
+ * const ctxInternal = ctx as restate.internal.ContextInternal;
87
+ * try {
88
+ * return await RestatePromise.race([
89
+ * ctx.run(() => longRunningTask(name)),
90
+ * ctxInternal.cancellation().map(() => { throw new restate.TerminalError("Cancelled") }),
91
+ * ]);
92
+ * } catch (e) {
93
+ * // Perform cleanup
94
+ * await ctx.run(() => cleanupResources(name));
95
+ *
96
+ * // After cancellation is resolved, ctx.cancellation() returns a fresh promise.
97
+ * // Race cleanup confirmation against the next cancellation signal.
98
+ * await RestatePromise.race([
99
+ * ctx.run(() => confirmCleanup(name)),
100
+ * ctxInternal.cancellation().map(() => { throw new restate.TerminalError("Canceled during cleanup") }),
101
+ * ]);
102
+ * }
103
+ * },
104
+ * },
105
+ * options: { explicitCancellation: true },
106
+ * });
107
+ * ```
108
+ *
109
+ * @experimental
110
+ */
111
+ cancellation(): RestatePromise<void>;
112
+ /**
113
+ * Cancel all previous calls made from this handler.
114
+ *
115
+ * This method **MUST** only be used when the handler (or its parent service/endpoint) is configured
116
+ * with `explicitCancellation: true`. Without configuring this option, this operation will always be a no-op.
117
+ *
118
+ * @return the invocation id of the canceled calls.
119
+ * @experimental
120
+ */
121
+ cancelPreviousCalls(): RestatePromise<InvocationId[]>;
122
+ /**
123
+ * Wait for a named signal to arrive on the current invocation.
124
+ *
125
+ * Signals are identified by name and are scoped to the current invocation.
126
+ * Another handler can send a signal to this invocation using
127
+ * {@link InvocationReference.signal}, specifying this invocation's
128
+ * ID (available via `ctx.request().id`) and the same signal name.
129
+ *
130
+ * @param name the name of the signal to wait for.
131
+ * @param serde optional custom serializer/deserializer for the payload.
132
+ * @returns a {@link RestatePromise} that resolves when the signal arrives.
133
+ *
134
+ * @example
135
+ * const ctxInternal = ctx as restate.internal.ContextInternal;
136
+ * const approved = await ctxInternal.signal<boolean>("approved");
137
+ *
138
+ * @experimental
139
+ */
140
+ signal<T>(name: string, serde?: Serde<T>): RestatePromise<T>;
141
+ /**
142
+ * Get a reference to a target invocation, to send signals to it.
143
+ *
144
+ * @param invocationId the invocation ID of the target invocation.
145
+ * @returns an {@link InvocationReference} for the target invocation.
146
+ *
147
+ * @example
148
+ * const ctxInternal = ctx as restate.internal.ContextInternal;
149
+ * const target = ctxInternal.invocation(targetInvocationId);
150
+ * target.signal("approved").resolve(true);
151
+ * target.signal("approved").reject("Request denied");
152
+ *
153
+ * @experimental
154
+ */
155
+ invocation(invocationId: InvocationId): InvocationReference;
156
+ }
157
+ /**
158
+ * A reference to a target invocation, used to send signals.
159
+ *
160
+ * @experimental
161
+ */
162
+ interface InvocationReference {
163
+ /**
164
+ * Get a handle to a named signal on the target invocation.
165
+ *
166
+ * @param name the name of the signal.
167
+ * @param serde optional custom serializer/deserializer for the payload.
168
+ * @returns a {@link SignalReference} to resolve or reject the signal.
169
+ *
170
+ * @experimental
171
+ */
172
+ signal<T>(name: string, serde?: Serde<T>): SignalReference<T>;
173
+ /**
174
+ * Cancel the target invocation.
175
+ */
176
+ cancel(): void;
177
+ /**
178
+ * Attach to the target invocation and wait for its result.
179
+ *
180
+ * @param serde optional custom serializer/deserializer for the result.
181
+ * @returns a {@link RestatePromise} that resolves with the invocation result.
182
+ */
183
+ attach<T>(serde?: Serde<T>): RestatePromise<T>;
184
+ }
185
+ /**
186
+ * A handle to send a signal value to a target invocation.
187
+ *
188
+ * @experimental
189
+ */
190
+ interface SignalReference<T> {
191
+ /**
192
+ * Resolve the signal with a value.
193
+ *
194
+ * @param payload the payload to send.
195
+ *
196
+ * @experimental
197
+ */
198
+ resolve(payload?: T): void;
199
+ /**
200
+ * Reject the signal. The target invocation waiting on this signal will be
201
+ * woken up with a terminal error containing the provided reason.
202
+ *
203
+ * @param reason the reason for rejection, either a string message or a {@link TerminalError}.
204
+ *
205
+ * @experimental
206
+ */
207
+ reject(reason: string | TerminalError): void;
24
208
  }
25
209
  //#endregion
26
210
  export { internal_d_exports };
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","names":[],"sources":["../src/internal.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AASA;;;UAAiB,eAAA,SAAwB"}
1
+ {"version":3,"file":"internal.d.ts","names":[],"sources":["../src/internal.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;UAaiB,eAAA,SAAwB;EAAxB;;;;;;;;EA+IU,YAAA,EAAA,EAAA,OAAA;EAAe;;;AAQ1C;;;;;;;;;;AA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAtFkB;;;;;;;;;;yBAWO,eAAe;;;;;;;;;;;;;;;;;;;kCAoBN,MAAM,KAAK,eAAe;;;;;;;;;;;;;;;2BAgBjC,eAAe;;;;;;;UAQzB,mBAAA;;;;;;;;;;kCAUiB,MAAM,KAAK,gBAAgB;;;;;;;;;;;oBAazC,MAAM,KAAK,eAAe;;;;;;;UAQ7B;;;;;;;;oBAQG;;;;;;;;;0BAUM"}
package/dist/internal.js CHANGED
@@ -1,5 +1,8 @@
1
+ import { __export } from "./_virtual/rolldown_runtime.js";
2
+ import { isSuspendedError } from "./types/errors.js";
3
+
1
4
  //#region src/internal.ts
2
- var internal_exports = {};
5
+ var internal_exports = /* @__PURE__ */ __export({ isSuspendedError: () => isSuspendedError });
3
6
 
4
7
  //#endregion
5
8
  export { internal_exports };
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","names":[],"sources":["../src/internal.ts"],"sourcesContent":["import { Context } from \"./context.js\";\n\n/**\n * Internal {@link Context} interface exposing additional features.\n *\n * Please note that this API is to be considered experimental and might change without notice.\n *\n * @experimental\n */\nexport interface ContextInternal extends Context {\n /**\n * Returns true if the handler is in the processing phase.\n * This is the mechanism used by `ctx.console` to distinguish whether we should log or not in replaying/processing.\n *\n * **WARNING**: This method should not be used to influence control flow, as it will **surely** lead to non-determinism errors!\n *\n * @experimental\n */\n isProcessing(): boolean;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"internal.js","names":[],"sources":["../src/internal.ts"],"sourcesContent":["import type { Serde } from \"@restatedev/restate-sdk-core\";\nimport { Context, InvocationId, RestatePromise } from \"./context.js\";\nimport type { TerminalError } from \"./types/errors.js\";\n\nexport { isSuspendedError } from \"./types/errors.js\";\n\n/**\n * Internal {@link Context} interface exposing additional features.\n *\n * Please note that this API is to be considered experimental and might change without notice.\n *\n * @experimental\n */\nexport interface ContextInternal extends Context {\n /**\n * Returns true if the handler is in the processing phase.\n * This is the mechanism used by `ctx.console` to distinguish whether we should log or not in replaying/processing.\n *\n * **WARNING**: This method should not be used to influence control flow, as it will **surely** lead to non-determinism errors!\n *\n * @experimental\n */\n isProcessing(): boolean;\n\n /**\n * Returns a {@link RestatePromise} that resolves with `undefined` when Restate signals cancellation\n * of the current invocation.\n *\n * This method **MUST** only be used when the handler (or its parent service/endpoint) is configured\n * with `explicitCancellation: true`. Without configuring this option, cancellations are propagated automatically,\n * and this promise will **NEVER** resolve.\n *\n * **Promise reuse:** calling this method multiple times returns the **same** promise instance as long as\n * the current cancellation signal has not yet arrived. Once the promise resolves (cancellation received),\n * later calls return a **new** promise that will resolve on the next cancellation signal.\n *\n * @example Race a long-running side effect against cancellation\n * ```ts\n * const greeter = restate.service({\n * name: \"greeter\",\n * handlers: {\n * greet: async (ctx: restate.Context, name: string) => {\n * ctxInternal = ctx as restate.internal.ContextInternal;\n * const result = await RestatePromise.race([\n * ctx.run(() => longRunningTask(name)),\n * ctxInternal.cancellation().map(() => { throw new restate.TerminalError(\"Cancelled\") }),\n * ]);\n * return result;\n * },\n * },\n * options: { explicitCancellation: true },\n * });\n * ```\n *\n * @example Use the cancellation promise to create an AbortSignal for ctx.run\n * ```ts\n * const greeter = restate.service({\n * name: \"greeter\",\n * handlers: {\n * greet: async (ctx: restate.Context, name: string) => {\n * const ctxInternal = ctx as restate.internal.ContextInternal;\n * const controller = new AbortController();\n * const cancellation = ctxInternal.cancellation()\n * .map(() => {\n * controller.abort();\n * throw new restate.TerminalError(\"Cancelled\");\n * });\n *\n * return RestatePromise.race([\n * ctx.run(() => fetch(`https://api.example.com/greet/${name}`, { signal: controller.signal })),\n * cancellation,\n * ]);\n * },\n * },\n * options: { explicitCancellation: true },\n * });\n * ```\n *\n * @example Handle cancellation, perform cleanup, then listen for the next cancellation\n * ```ts\n * const greeter = restate.service({\n * name: \"greeter\",\n * handlers: {\n * greet: async (ctx: restate.Context, name: string) => {\n * const ctxInternal = ctx as restate.internal.ContextInternal;\n * try {\n * return await RestatePromise.race([\n * ctx.run(() => longRunningTask(name)),\n * ctxInternal.cancellation().map(() => { throw new restate.TerminalError(\"Cancelled\") }),\n * ]);\n * } catch (e) {\n * // Perform cleanup\n * await ctx.run(() => cleanupResources(name));\n *\n * // After cancellation is resolved, ctx.cancellation() returns a fresh promise.\n * // Race cleanup confirmation against the next cancellation signal.\n * await RestatePromise.race([\n * ctx.run(() => confirmCleanup(name)),\n * ctxInternal.cancellation().map(() => { throw new restate.TerminalError(\"Canceled during cleanup\") }),\n * ]);\n * }\n * },\n * },\n * options: { explicitCancellation: true },\n * });\n * ```\n *\n * @experimental\n */\n cancellation(): RestatePromise<void>;\n\n /**\n * Cancel all previous calls made from this handler.\n *\n * This method **MUST** only be used when the handler (or its parent service/endpoint) is configured\n * with `explicitCancellation: true`. Without configuring this option, this operation will always be a no-op.\n *\n * @return the invocation id of the canceled calls.\n * @experimental\n */\n cancelPreviousCalls(): RestatePromise<InvocationId[]>;\n\n /**\n * Wait for a named signal to arrive on the current invocation.\n *\n * Signals are identified by name and are scoped to the current invocation.\n * Another handler can send a signal to this invocation using\n * {@link InvocationReference.signal}, specifying this invocation's\n * ID (available via `ctx.request().id`) and the same signal name.\n *\n * @param name the name of the signal to wait for.\n * @param serde optional custom serializer/deserializer for the payload.\n * @returns a {@link RestatePromise} that resolves when the signal arrives.\n *\n * @example\n * const ctxInternal = ctx as restate.internal.ContextInternal;\n * const approved = await ctxInternal.signal<boolean>(\"approved\");\n *\n * @experimental\n */\n signal<T>(name: string, serde?: Serde<T>): RestatePromise<T>;\n\n /**\n * Get a reference to a target invocation, to send signals to it.\n *\n * @param invocationId the invocation ID of the target invocation.\n * @returns an {@link InvocationReference} for the target invocation.\n *\n * @example\n * const ctxInternal = ctx as restate.internal.ContextInternal;\n * const target = ctxInternal.invocation(targetInvocationId);\n * target.signal(\"approved\").resolve(true);\n * target.signal(\"approved\").reject(\"Request denied\");\n *\n * @experimental\n */\n invocation(invocationId: InvocationId): InvocationReference;\n}\n\n/**\n * A reference to a target invocation, used to send signals.\n *\n * @experimental\n */\nexport interface InvocationReference {\n /**\n * Get a handle to a named signal on the target invocation.\n *\n * @param name the name of the signal.\n * @param serde optional custom serializer/deserializer for the payload.\n * @returns a {@link SignalReference} to resolve or reject the signal.\n *\n * @experimental\n */\n signal<T>(name: string, serde?: Serde<T>): SignalReference<T>;\n\n /**\n * Cancel the target invocation.\n */\n cancel(): void;\n\n /**\n * Attach to the target invocation and wait for its result.\n *\n * @param serde optional custom serializer/deserializer for the result.\n * @returns a {@link RestatePromise} that resolves with the invocation result.\n */\n attach<T>(serde?: Serde<T>): RestatePromise<T>;\n}\n\n/**\n * A handle to send a signal value to a target invocation.\n *\n * @experimental\n */\nexport interface SignalReference<T> {\n /**\n * Resolve the signal with a value.\n *\n * @param payload the payload to send.\n *\n * @experimental\n */\n resolve(payload?: T): void;\n\n /**\n * Reject the signal. The target invocation waiting on this signal will be\n * woken up with a terminal error containing the provided reason.\n *\n * @param reason the reason for rejection, either a string message or a {@link TerminalError}.\n *\n * @experimental\n */\n reject(reason: string | TerminalError): void;\n}\n"],"mappings":""}
package/dist/io.d.cts ADDED
@@ -0,0 +1 @@
1
+ import "./endpoint/handlers/types.cjs";
package/dist/io.d.ts ADDED
@@ -0,0 +1 @@
1
+ import "./endpoint/handlers/types.js";
package/dist/lambda.cjs CHANGED
@@ -1,7 +1,8 @@
1
1
  const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
2
2
  const require_errors = require('./types/errors.cjs');
3
- const require_rpc = require('./types/rpc.cjs');
3
+ const require_promises = require('./promises.cjs');
4
4
  const require_context = require('./context.cjs');
5
+ const require_rpc = require('./types/rpc.cjs');
5
6
  const require_internal = require('./internal.cjs');
6
7
  const require_common_api = require('./common_api.cjs');
7
8
  const require_withOptions = require('./endpoint/withOptions.cjs');
@@ -64,6 +65,7 @@ Object.defineProperty(exports, 'internal', {
64
65
  return require_internal.internal_exports;
65
66
  }
66
67
  });
68
+ exports.isRestatePromise = require_promises.isRestatePromise;
67
69
  exports.object = require_rpc.object;
68
70
  Object.defineProperty(exports, 'rpc', {
69
71
  enumerable: true,
package/dist/lambda.d.cts CHANGED
@@ -1,10 +1,12 @@
1
1
  import { CancelledError, RestateError, RetryableError, RetryableErrorOptions, TerminalError, TimeoutError } from "./types/errors.cjs";
2
+ import { Hooks, HooksProvider, Interceptor } from "./hooks.cjs";
2
3
  import { Client, ClientCallOptions, ClientSendOptions, InferArg, ObjectHandlerOpts, ObjectOptions, ObjectOpts, Opts, RemoveVoidArgument, RetryPolicy, SendClient, SendOpts, ServiceHandlerOpts, ServiceOptions, ServiceOpts, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, handlers, object, rpc, service, workflow } from "./types/rpc.cjs";
3
- import { Context, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, KeyValueStore, ObjectContext, ObjectSharedContext, Rand, Request, RestatePromise, RunAction, RunOptions, SendOptions, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "./context.cjs";
4
+ import { Context, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, KeyValueStore, ObjectContext, ObjectSharedContext, Rand, Request, RestatePromise, RunAction, RunOptions, Target, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "./context.cjs";
5
+ import { internal_d_exports } from "./internal.cjs";
4
6
  import { LogMetadata, LogSource, LoggerContext, LoggerTransport, RestateLogLevel } from "./logging/logger_transport.cjs";
5
7
  import { DefaultServiceOptions, RestateEndpoint, RestateEndpointBase } from "./endpoint.cjs";
8
+ import { isRestatePromise } from "./promises.cjs";
6
9
  import { EndpointOptions } from "./endpoint/types.cjs";
7
- import { internal_d_exports } from "./internal.cjs";
8
10
  import { CombineablePromise, Duration, JournalValueCodec, ObjectHandler, RestateContext, RestateObjectContext, RestateObjectSharedContext, RestateWorkflowContext, RestateWorkflowSharedContext, Serde, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowSharedHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, serde } from "./common_api.cjs";
9
11
  import { LambdaEndpoint } from "./endpoint/lambda_endpoint.cjs";
10
12
 
@@ -29,5 +31,5 @@ declare function endpoint(): LambdaEndpoint;
29
31
  */
30
32
  declare function createEndpointHandler(options: EndpointOptions): (event: any, ctx: any) => Promise<any>;
31
33
  //#endregion
32
- export { CancelledError, Client, ClientCallOptions, ClientSendOptions, CombineablePromise, Context, ContextDate, DefaultServiceOptions, DurablePromise, Duration, EndpointOptions, GenericCall, GenericSend, InferArg, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, JournalValueCodec, KeyValueStore, type LambdaEndpoint, LogMetadata, LogSource, LoggerContext, LoggerTransport, ObjectContext, ObjectHandler, ObjectHandlerOpts, ObjectOptions, ObjectOpts, ObjectSharedContext, Opts, Rand, RemoveVoidArgument, Request, RestateContext, RestateEndpoint, RestateEndpointBase, RestateError, RestateLogLevel, RestateObjectContext, RestateObjectSharedContext, RestatePromise, RestateWorkflowContext, RestateWorkflowSharedContext, RetryPolicy, RetryableError, RetryableErrorOptions, RunAction, RunOptions, SendClient, SendOptions, SendOpts, Serde, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, ServiceHandlerOpts, ServiceOptions, ServiceOpts, TerminalError, TimeoutError, TypedState, UntypedState, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowContext, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, WorkflowSharedContext, WorkflowSharedHandler, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_d_exports as internal, object, rpc, serde, service, workflow };
34
+ export { CancelledError, Client, ClientCallOptions, ClientSendOptions, CombineablePromise, Context, ContextDate, DefaultServiceOptions, DurablePromise, Duration, EndpointOptions, GenericCall, GenericSend, Hooks, HooksProvider, InferArg, Interceptor, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, JournalValueCodec, KeyValueStore, type LambdaEndpoint, LogMetadata, LogSource, LoggerContext, LoggerTransport, ObjectContext, ObjectHandler, ObjectHandlerOpts, ObjectOptions, ObjectOpts, ObjectSharedContext, Opts, Rand, RemoveVoidArgument, Request, RestateContext, RestateEndpoint, RestateEndpointBase, RestateError, RestateLogLevel, RestateObjectContext, RestateObjectSharedContext, RestatePromise, RestateWorkflowContext, RestateWorkflowSharedContext, RetryPolicy, RetryableError, RetryableErrorOptions, RunAction, RunOptions, SendClient, SendOpts, Serde, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, ServiceHandlerOpts, ServiceOptions, ServiceOpts, Target, TerminalError, TimeoutError, TypedState, UntypedState, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowContext, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, WorkflowSharedContext, WorkflowSharedHandler, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_d_exports as internal, isRestatePromise, object, rpc, serde, service, workflow };
33
35
  //# sourceMappingURL=lambda.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda.d.cts","names":[],"sources":["../src/lambda.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;iBAwBgB,QAAA,CAAA,GAAY;;;;AAA5B;AAiBA;;;;;;;;;iBAAgB,qBAAA,UAA+B,4CAAe"}
1
+ {"version":3,"file":"lambda.d.cts","names":[],"sources":["../src/lambda.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;iBAwBgB,QAAA,CAAA,GAAY;;;;;;AAA5B;AAiBA;;;;;;;iBAAgB,qBAAA,UAA+B,4CAAe"}
package/dist/lambda.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import { CancelledError, RestateError, RetryableError, RetryableErrorOptions, TerminalError, TimeoutError } from "./types/errors.js";
2
+ import { Hooks, HooksProvider, Interceptor } from "./hooks.js";
2
3
  import { Client, ClientCallOptions, ClientSendOptions, InferArg, ObjectHandlerOpts, ObjectOptions, ObjectOpts, Opts, RemoveVoidArgument, RetryPolicy, SendClient, SendOpts, ServiceHandlerOpts, ServiceOptions, ServiceOpts, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, handlers, object, rpc, service, workflow } from "./types/rpc.js";
3
- import { Context, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, KeyValueStore, ObjectContext, ObjectSharedContext, Rand, Request, RestatePromise, RunAction, RunOptions, SendOptions, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "./context.js";
4
+ import { Context, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, KeyValueStore, ObjectContext, ObjectSharedContext, Rand, Request, RestatePromise, RunAction, RunOptions, Target, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "./context.js";
5
+ import { internal_d_exports } from "./internal.js";
4
6
  import { LogMetadata, LogSource, LoggerContext, LoggerTransport, RestateLogLevel } from "./logging/logger_transport.js";
5
7
  import { DefaultServiceOptions, RestateEndpoint, RestateEndpointBase } from "./endpoint.js";
8
+ import { isRestatePromise } from "./promises.js";
6
9
  import { EndpointOptions } from "./endpoint/types.js";
7
- import { internal_d_exports } from "./internal.js";
8
10
  import { CombineablePromise, Duration, JournalValueCodec, ObjectHandler, RestateContext, RestateObjectContext, RestateObjectSharedContext, RestateWorkflowContext, RestateWorkflowSharedContext, Serde, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowSharedHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, serde } from "./common_api.js";
9
11
  import { LambdaEndpoint } from "./endpoint/lambda_endpoint.js";
10
12
 
@@ -29,5 +31,5 @@ declare function endpoint(): LambdaEndpoint;
29
31
  */
30
32
  declare function createEndpointHandler(options: EndpointOptions): (event: any, ctx: any) => Promise<any>;
31
33
  //#endregion
32
- export { CancelledError, Client, ClientCallOptions, ClientSendOptions, CombineablePromise, Context, ContextDate, DefaultServiceOptions, DurablePromise, Duration, EndpointOptions, GenericCall, GenericSend, InferArg, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, JournalValueCodec, KeyValueStore, type LambdaEndpoint, LogMetadata, LogSource, LoggerContext, LoggerTransport, ObjectContext, ObjectHandler, ObjectHandlerOpts, ObjectOptions, ObjectOpts, ObjectSharedContext, Opts, Rand, RemoveVoidArgument, Request, RestateContext, RestateEndpoint, RestateEndpointBase, RestateError, RestateLogLevel, RestateObjectContext, RestateObjectSharedContext, RestatePromise, RestateWorkflowContext, RestateWorkflowSharedContext, RetryPolicy, RetryableError, RetryableErrorOptions, RunAction, RunOptions, SendClient, SendOptions, SendOpts, Serde, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, ServiceHandlerOpts, ServiceOptions, ServiceOpts, TerminalError, TimeoutError, TypedState, UntypedState, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowContext, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, WorkflowSharedContext, WorkflowSharedHandler, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_d_exports as internal, object, rpc, serde, service, workflow };
34
+ export { CancelledError, Client, ClientCallOptions, ClientSendOptions, CombineablePromise, Context, ContextDate, DefaultServiceOptions, DurablePromise, Duration, EndpointOptions, GenericCall, GenericSend, Hooks, HooksProvider, InferArg, Interceptor, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, JournalValueCodec, KeyValueStore, type LambdaEndpoint, LogMetadata, LogSource, LoggerContext, LoggerTransport, ObjectContext, ObjectHandler, ObjectHandlerOpts, ObjectOptions, ObjectOpts, ObjectSharedContext, Opts, Rand, RemoveVoidArgument, Request, RestateContext, RestateEndpoint, RestateEndpointBase, RestateError, RestateLogLevel, RestateObjectContext, RestateObjectSharedContext, RestatePromise, RestateWorkflowContext, RestateWorkflowSharedContext, RetryPolicy, RetryableError, RetryableErrorOptions, RunAction, RunOptions, SendClient, SendOpts, Serde, Service, ServiceDefinition, ServiceDefinitionFrom, ServiceHandler, ServiceHandlerOpts, ServiceOptions, ServiceOpts, Target, TerminalError, TimeoutError, TypedState, UntypedState, VirtualObject, VirtualObjectDefinition, VirtualObjectDefinitionFrom, Workflow, WorkflowContext, WorkflowDefinition, WorkflowDefinitionFrom, WorkflowHandler, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, WorkflowSharedContext, WorkflowSharedHandler, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_d_exports as internal, isRestatePromise, object, rpc, serde, service, workflow };
33
35
  //# sourceMappingURL=lambda.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda.d.ts","names":[],"sources":["../src/lambda.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;iBAwBgB,QAAA,CAAA,GAAY;;;;AAA5B;AAiBA;;;;;;;;;iBAAgB,qBAAA,UAA+B,4CAAe"}
1
+ {"version":3,"file":"lambda.d.ts","names":[],"sources":["../src/lambda.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;iBAwBgB,QAAA,CAAA,GAAY;;;;;;AAA5B;AAiBA;;;;;;;iBAAgB,qBAAA,UAA+B,4CAAe"}
package/dist/lambda.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { CancelledError, RestateError, RetryableError, TerminalError, TimeoutError } from "./types/errors.js";
2
- import { Opts, SendOpts, handlers, object, rpc, service, workflow } from "./types/rpc.js";
2
+ import { isRestatePromise } from "./promises.js";
3
3
  import { InvocationIdParser, RestatePromise } from "./context.js";
4
+ import { Opts, SendOpts, handlers, object, rpc, service, workflow } from "./types/rpc.js";
4
5
  import { internal_exports } from "./internal.js";
5
6
  import { CombineablePromise, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, serde } from "./common_api.js";
6
7
  import { withOptions } from "./endpoint/withOptions.js";
@@ -32,5 +33,5 @@ function createEndpointHandler(options) {
32
33
  }
33
34
 
34
35
  //#endregion
35
- export { CancelledError, CombineablePromise, InvocationIdParser, Opts, RestateError, RestatePromise, RetryableError, SendOpts, TerminalError, TimeoutError, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_exports as internal, object, rpc, serde, service, workflow };
36
+ export { CancelledError, CombineablePromise, InvocationIdParser, Opts, RestateError, RestatePromise, RetryableError, SendOpts, TerminalError, TimeoutError, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, internal_exports as internal, isRestatePromise, object, rpc, serde, service, workflow };
36
37
  //# sourceMappingURL=lambda.js.map