@restatedev/restate-sdk 0.8.1 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -118
- package/dist/{clients → src/clients}/workflow_client.d.ts +2 -2
- package/dist/src/clients/workflow_client.d.ts.map +1 -0
- package/dist/{clients → src/clients}/workflow_client.js +2 -2
- package/dist/src/clients/workflow_client.js.map +1 -0
- package/dist/{connection → src/connection}/buffered_connection.d.ts +1 -0
- package/dist/src/connection/buffered_connection.d.ts.map +1 -0
- package/dist/src/connection/buffered_connection.js.map +1 -0
- package/dist/src/connection/connection.d.ts.map +1 -0
- package/dist/src/connection/connection.js.map +1 -0
- package/dist/{connection → src/connection}/http_connection.d.ts +1 -1
- package/dist/src/connection/http_connection.d.ts.map +1 -0
- package/dist/{connection → src/connection}/http_connection.js +1 -1
- package/dist/src/connection/http_connection.js.map +1 -0
- package/dist/{connection → src/connection}/lambda_connection.d.ts +1 -0
- package/dist/src/connection/lambda_connection.d.ts.map +1 -0
- package/dist/{connection → src/connection}/lambda_connection.js +5 -4
- package/dist/src/connection/lambda_connection.js.map +1 -0
- package/dist/{context.d.ts → src/context.d.ts} +146 -224
- package/dist/src/context.d.ts.map +1 -0
- package/dist/{context.js → src/context.js} +6 -41
- package/dist/src/context.js.map +1 -0
- package/dist/src/context_impl.d.ts +62 -0
- package/dist/src/context_impl.d.ts.map +1 -0
- package/dist/{context_impl.js → src/context_impl.js} +201 -182
- package/dist/src/context_impl.js.map +1 -0
- package/dist/src/endpoint/endpoint_impl.d.ts +28 -0
- package/dist/src/endpoint/endpoint_impl.d.ts.map +1 -0
- package/dist/src/endpoint/endpoint_impl.js +164 -0
- package/dist/src/endpoint/endpoint_impl.js.map +1 -0
- package/dist/{endpoint → src/endpoint}/http2_handler.d.ts +1 -1
- package/dist/src/endpoint/http2_handler.d.ts.map +1 -0
- package/dist/src/endpoint/http2_handler.js +153 -0
- package/dist/src/endpoint/http2_handler.js.map +1 -0
- package/dist/{endpoint → src/endpoint}/lambda_handler.d.ts +2 -2
- package/dist/src/endpoint/lambda_handler.d.ts.map +1 -0
- package/dist/{endpoint → src/endpoint}/lambda_handler.js +66 -56
- package/dist/src/endpoint/lambda_handler.js.map +1 -0
- package/dist/src/endpoint/request_signing/basex.d.ts +10 -0
- package/dist/src/endpoint/request_signing/basex.d.ts.map +1 -0
- package/dist/src/endpoint/request_signing/basex.js +138 -0
- package/dist/src/endpoint/request_signing/basex.js.map +1 -0
- package/dist/src/endpoint/request_signing/ed25519.d.ts +17 -0
- package/dist/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
- package/dist/src/endpoint/request_signing/ed25519.js +78 -0
- package/dist/src/endpoint/request_signing/ed25519.js.map +1 -0
- package/dist/src/endpoint/request_signing/v1.d.ts +9 -0
- package/dist/src/endpoint/request_signing/v1.d.ts.map +1 -0
- package/dist/src/endpoint/request_signing/v1.js +148 -0
- package/dist/src/endpoint/request_signing/v1.js.map +1 -0
- package/dist/src/endpoint/request_signing/validate.d.ts +18 -0
- package/dist/src/endpoint/request_signing/validate.d.ts.map +1 -0
- package/dist/src/endpoint/request_signing/validate.js +45 -0
- package/dist/src/endpoint/request_signing/validate.js.map +1 -0
- package/dist/src/endpoint.d.ts +102 -0
- package/dist/src/endpoint.d.ts.map +1 -0
- package/dist/{endpoint.js → src/endpoint.js} +1 -1
- package/dist/src/endpoint.js.map +1 -0
- package/dist/src/generated/proto/javascript_pb.d.ts +26 -0
- package/dist/src/generated/proto/javascript_pb.d.ts.map +1 -0
- package/dist/src/generated/proto/javascript_pb.js +52 -0
- package/dist/src/generated/proto/javascript_pb.js.map +1 -0
- package/dist/src/generated/proto/protocol_pb.d.ts +865 -0
- package/dist/src/generated/proto/protocol_pb.d.ts.map +1 -0
- package/dist/src/generated/proto/protocol_pb.js +1112 -0
- package/dist/src/generated/proto/protocol_pb.js.map +1 -0
- package/dist/src/generated/version.d.ts +2 -0
- package/dist/src/generated/version.d.ts.map +1 -0
- package/dist/src/generated/version.js +5 -0
- package/dist/src/generated/version.js.map +1 -0
- package/dist/{invocation.d.ts → src/invocation.d.ts} +14 -18
- package/dist/src/invocation.d.ts.map +1 -0
- package/dist/{invocation.js → src/invocation.js} +25 -24
- package/dist/src/invocation.js.map +1 -0
- package/dist/{io → src/io}/decoder.d.ts +3 -2
- package/dist/src/io/decoder.d.ts.map +1 -0
- package/dist/{io → src/io}/decoder.js +12 -10
- package/dist/src/io/decoder.js.map +1 -0
- package/dist/{io → src/io}/encoder.d.ts +1 -1
- package/dist/src/io/encoder.d.ts.map +1 -0
- package/dist/{io → src/io}/encoder.js +11 -21
- package/dist/src/io/encoder.js.map +1 -0
- package/dist/{journal.d.ts → src/journal.d.ts} +7 -7
- package/dist/src/journal.d.ts.map +1 -0
- package/dist/{journal.js → src/journal.js} +64 -46
- package/dist/src/journal.js.map +1 -0
- package/dist/{local_state_store.d.ts → src/local_state_store.d.ts} +2 -2
- package/dist/src/local_state_store.d.ts.map +1 -0
- package/dist/{local_state_store.js → src/local_state_store.js} +19 -17
- package/dist/src/local_state_store.js.map +1 -0
- package/dist/{logger.d.ts → src/logger.d.ts} +9 -1
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +158 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/promise_combinator_tracker.d.ts.map +1 -0
- package/dist/src/promise_combinator_tracker.js.map +1 -0
- package/dist/src/public_api.d.ts +7 -0
- package/dist/src/public_api.d.ts.map +1 -0
- package/dist/{public_api.js → src/public_api.js} +4 -14
- package/dist/src/public_api.js.map +1 -0
- package/dist/{state_machine.d.ts → src/state_machine.d.ts} +7 -4
- package/dist/src/state_machine.d.ts.map +1 -0
- package/dist/{state_machine.js → src/state_machine.js} +34 -37
- package/dist/src/state_machine.js.map +1 -0
- package/dist/src/types/components.d.ts +65 -0
- package/dist/src/types/components.d.ts.map +1 -0
- package/dist/src/types/components.js +163 -0
- package/dist/src/types/components.js.map +1 -0
- package/dist/src/types/discovery.d.ts +40 -0
- package/dist/src/types/discovery.d.ts.map +1 -0
- package/dist/src/types/discovery.js +29 -0
- package/dist/src/types/discovery.js.map +1 -0
- package/dist/src/types/errors.d.ts +53 -0
- package/dist/src/types/errors.d.ts.map +1 -0
- package/dist/src/types/errors.js +129 -0
- package/dist/src/types/errors.js.map +1 -0
- package/dist/src/types/protocol.d.ts +33 -0
- package/dist/src/types/protocol.d.ts.map +1 -0
- package/dist/{types → src/types}/protocol.js +52 -52
- package/dist/src/types/protocol.js.map +1 -0
- package/dist/src/types/rpc.d.ts +50 -0
- package/dist/src/types/rpc.d.ts.map +1 -0
- package/dist/src/types/rpc.js +38 -0
- package/dist/src/types/rpc.js.map +1 -0
- package/dist/{types → src/types}/types.d.ts +0 -9
- package/dist/src/types/types.d.ts.map +1 -0
- package/dist/{types → src/types}/types.js +4 -21
- package/dist/src/types/types.js.map +1 -0
- package/dist/src/user_agent.d.ts +2 -0
- package/dist/src/user_agent.d.ts.map +1 -0
- package/dist/src/user_agent.js +16 -0
- package/dist/src/user_agent.js.map +1 -0
- package/dist/src/utils/message_logger.d.ts +7 -0
- package/dist/src/utils/message_logger.d.ts.map +1 -0
- package/dist/{utils → src/utils}/message_logger.js +17 -26
- package/dist/src/utils/message_logger.js.map +1 -0
- package/dist/src/utils/promises.d.ts.map +1 -0
- package/dist/src/utils/promises.js.map +1 -0
- package/dist/{utils → src/utils}/rand.d.ts +1 -0
- package/dist/src/utils/rand.d.ts.map +1 -0
- package/dist/{utils → src/utils}/rand.js +7 -6
- package/dist/src/utils/rand.js.map +1 -0
- package/dist/src/utils/serde.d.ts +3 -0
- package/dist/src/utils/serde.d.ts.map +1 -0
- package/dist/src/utils/serde.js +24 -0
- package/dist/src/utils/serde.js.map +1 -0
- package/dist/{utils → src/utils}/utils.d.ts +0 -1
- package/dist/src/utils/utils.d.ts.map +1 -0
- package/dist/{utils → src/utils}/utils.js +36 -43
- package/dist/src/utils/utils.js.map +1 -0
- package/dist/{workflows → src/workflows}/workflow.d.ts +6 -6
- package/dist/src/workflows/workflow.d.ts.map +1 -0
- package/dist/{workflows → src/workflows}/workflow.js +11 -7
- package/dist/src/workflows/workflow.js.map +1 -0
- package/dist/src/workflows/workflow_state_service.d.ts +35 -0
- package/dist/src/workflows/workflow_state_service.d.ts.map +1 -0
- package/dist/{workflows → src/workflows}/workflow_state_service.js +11 -11
- package/dist/src/workflows/workflow_state_service.js.map +1 -0
- package/dist/{workflows → src/workflows}/workflow_wrapper_service.d.ts +2 -2
- package/dist/src/workflows/workflow_wrapper_service.d.ts.map +1 -0
- package/dist/{workflows → src/workflows}/workflow_wrapper_service.js +66 -45
- package/dist/src/workflows/workflow_wrapper_service.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +13 -28
- package/LICENSE +0 -21
- package/dist/clients/workflow_client.d.ts.map +0 -1
- package/dist/clients/workflow_client.js.map +0 -1
- package/dist/connection/buffered_connection.d.ts.map +0 -1
- package/dist/connection/buffered_connection.js.map +0 -1
- package/dist/connection/connection.d.ts.map +0 -1
- package/dist/connection/connection.js.map +0 -1
- package/dist/connection/embedded_connection.d.ts +0 -20
- package/dist/connection/embedded_connection.d.ts.map +0 -1
- package/dist/connection/embedded_connection.js +0 -59
- package/dist/connection/embedded_connection.js.map +0 -1
- package/dist/connection/http_connection.d.ts.map +0 -1
- package/dist/connection/http_connection.js.map +0 -1
- package/dist/connection/lambda_connection.d.ts.map +0 -1
- package/dist/connection/lambda_connection.js.map +0 -1
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js.map +0 -1
- package/dist/context_impl.d.ts +0 -65
- package/dist/context_impl.d.ts.map +0 -1
- package/dist/context_impl.js.map +0 -1
- package/dist/embedded/api.d.ts +0 -27
- package/dist/embedded/api.d.ts.map +0 -1
- package/dist/embedded/api.js +0 -35
- package/dist/embedded/api.js.map +0 -1
- package/dist/embedded/handler.d.ts +0 -4
- package/dist/embedded/handler.d.ts.map +0 -1
- package/dist/embedded/handler.js +0 -26
- package/dist/embedded/handler.js.map +0 -1
- package/dist/embedded/http2_remote.d.ts +0 -11
- package/dist/embedded/http2_remote.d.ts.map +0 -1
- package/dist/embedded/http2_remote.js +0 -91
- package/dist/embedded/http2_remote.js.map +0 -1
- package/dist/embedded/invocation.d.ts +0 -5
- package/dist/embedded/invocation.d.ts.map +0 -1
- package/dist/embedded/invocation.js +0 -94
- package/dist/embedded/invocation.js.map +0 -1
- package/dist/endpoint/endpoint_impl.d.ts +0 -35
- package/dist/endpoint/endpoint_impl.d.ts.map +0 -1
- package/dist/endpoint/endpoint_impl.js +0 -405
- package/dist/endpoint/endpoint_impl.js.map +0 -1
- package/dist/endpoint/http2_handler.d.ts.map +0 -1
- package/dist/endpoint/http2_handler.js +0 -119
- package/dist/endpoint/http2_handler.js.map +0 -1
- package/dist/endpoint/lambda_handler.d.ts.map +0 -1
- package/dist/endpoint/lambda_handler.js.map +0 -1
- package/dist/endpoint.d.ts +0 -161
- package/dist/endpoint.d.ts.map +0 -1
- package/dist/endpoint.js.map +0 -1
- package/dist/generated/dev/restate/events.d.ts +0 -96
- package/dist/generated/dev/restate/events.d.ts.map +0 -1
- package/dist/generated/dev/restate/events.js +0 -371
- package/dist/generated/dev/restate/events.js.map +0 -1
- package/dist/generated/dev/restate/ext.d.ts +0 -91
- package/dist/generated/dev/restate/ext.d.ts.map +0 -1
- package/dist/generated/dev/restate/ext.js +0 -215
- package/dist/generated/dev/restate/ext.js.map +0 -1
- package/dist/generated/google/protobuf/descriptor.d.ts +0 -1204
- package/dist/generated/google/protobuf/descriptor.d.ts.map +0 -1
- package/dist/generated/google/protobuf/descriptor.js +0 -6676
- package/dist/generated/google/protobuf/descriptor.js.map +0 -1
- package/dist/generated/google/protobuf/empty.d.ts +0 -86
- package/dist/generated/google/protobuf/empty.d.ts.map +0 -1
- package/dist/generated/google/protobuf/empty.js +0 -107
- package/dist/generated/google/protobuf/empty.js.map +0 -1
- package/dist/generated/google/protobuf/struct.d.ts +0 -175
- package/dist/generated/google/protobuf/struct.d.ts.map +0 -1
- package/dist/generated/google/protobuf/struct.js +0 -754
- package/dist/generated/google/protobuf/struct.js.map +0 -1
- package/dist/generated/proto/discovery.d.ts +0 -105
- package/dist/generated/proto/discovery.d.ts.map +0 -1
- package/dist/generated/proto/discovery.js +0 -364
- package/dist/generated/proto/discovery.js.map +0 -1
- package/dist/generated/proto/dynrpc.d.ts +0 -150
- package/dist/generated/proto/dynrpc.d.ts.map +0 -1
- package/dist/generated/proto/dynrpc.js +0 -668
- package/dist/generated/proto/dynrpc.js.map +0 -1
- package/dist/generated/proto/javascript.d.ts +0 -110
- package/dist/generated/proto/javascript.d.ts.map +0 -1
- package/dist/generated/proto/javascript.js +0 -416
- package/dist/generated/proto/javascript.js.map +0 -1
- package/dist/generated/proto/protocol.d.ts +0 -450
- package/dist/generated/proto/protocol.d.ts.map +0 -1
- package/dist/generated/proto/protocol.js +0 -2641
- package/dist/generated/proto/protocol.js.map +0 -1
- package/dist/generated/proto/services.d.ts +0 -307
- package/dist/generated/proto/services.d.ts.map +0 -1
- package/dist/generated/proto/services.js +0 -1535
- package/dist/generated/proto/services.js.map +0 -1
- package/dist/generated/proto/test.d.ts +0 -116
- package/dist/generated/proto/test.d.ts.map +0 -1
- package/dist/generated/proto/test.js +0 -321
- package/dist/generated/proto/test.js.map +0 -1
- package/dist/invocation.d.ts.map +0 -1
- package/dist/invocation.js.map +0 -1
- package/dist/io/decoder.d.ts.map +0 -1
- package/dist/io/decoder.js.map +0 -1
- package/dist/io/encoder.d.ts.map +0 -1
- package/dist/io/encoder.js.map +0 -1
- package/dist/journal.d.ts.map +0 -1
- package/dist/journal.js.map +0 -1
- package/dist/local_state_store.d.ts.map +0 -1
- package/dist/local_state_store.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -90
- package/dist/logger.js.map +0 -1
- package/dist/promise_combinator_tracker.d.ts.map +0 -1
- package/dist/promise_combinator_tracker.js.map +0 -1
- package/dist/public_api.d.ts +0 -10
- package/dist/public_api.d.ts.map +0 -1
- package/dist/public_api.js.map +0 -1
- package/dist/state_machine.d.ts.map +0 -1
- package/dist/state_machine.js.map +0 -1
- package/dist/types/errors.d.ts +0 -188
- package/dist/types/errors.d.ts.map +0 -1
- package/dist/types/errors.js +0 -273
- package/dist/types/errors.js.map +0 -1
- package/dist/types/grpc.d.ts +0 -90
- package/dist/types/grpc.d.ts.map +0 -1
- package/dist/types/grpc.js +0 -81
- package/dist/types/grpc.js.map +0 -1
- package/dist/types/protocol.d.ts +0 -30
- package/dist/types/protocol.d.ts.map +0 -1
- package/dist/types/protocol.js.map +0 -1
- package/dist/types/router.d.ts +0 -33
- package/dist/types/router.d.ts.map +0 -1
- package/dist/types/router.js +0 -36
- package/dist/types/router.js.map +0 -1
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/types.js.map +0 -1
- package/dist/utils/assumptions.d.ts +0 -8
- package/dist/utils/assumptions.d.ts.map +0 -1
- package/dist/utils/assumptions.js +0 -101
- package/dist/utils/assumptions.js.map +0 -1
- package/dist/utils/message_logger.d.ts +0 -28
- package/dist/utils/message_logger.d.ts.map +0 -1
- package/dist/utils/message_logger.js.map +0 -1
- package/dist/utils/promises.d.ts.map +0 -1
- package/dist/utils/promises.js.map +0 -1
- package/dist/utils/public_utils.d.ts +0 -58
- package/dist/utils/public_utils.d.ts.map +0 -1
- package/dist/utils/public_utils.js +0 -49
- package/dist/utils/public_utils.js.map +0 -1
- package/dist/utils/rand.d.ts.map +0 -1
- package/dist/utils/rand.js.map +0 -1
- package/dist/utils/utils.d.ts.map +0 -1
- package/dist/utils/utils.js.map +0 -1
- package/dist/workflows/workflow.d.ts.map +0 -1
- package/dist/workflows/workflow.js.map +0 -1
- package/dist/workflows/workflow_state_service.d.ts +0 -35
- package/dist/workflows/workflow_state_service.d.ts.map +0 -1
- package/dist/workflows/workflow_state_service.js.map +0 -1
- package/dist/workflows/workflow_wrapper_service.d.ts.map +0 -1
- package/dist/workflows/workflow_wrapper_service.js.map +0 -1
- package/src/clients/workflow_client.ts +0 -290
- package/src/connection/buffered_connection.ts +0 -47
- package/src/connection/connection.ts +0 -34
- package/src/connection/embedded_connection.ts +0 -62
- package/src/connection/http_connection.ts +0 -228
- package/src/connection/lambda_connection.ts +0 -69
- package/src/context.ts +0 -633
- package/src/context_impl.ts +0 -721
- package/src/embedded/api.ts +0 -57
- package/src/embedded/handler.ts +0 -36
- package/src/embedded/http2_remote.ts +0 -103
- package/src/embedded/invocation.ts +0 -126
- package/src/endpoint/endpoint_impl.ts +0 -623
- package/src/endpoint/http2_handler.ts +0 -151
- package/src/endpoint/lambda_handler.ts +0 -181
- package/src/endpoint.ts +0 -187
- package/src/generated/dev/restate/events.ts +0 -430
- package/src/generated/dev/restate/ext.ts +0 -238
- package/src/generated/google/protobuf/descriptor.ts +0 -7889
- package/src/generated/google/protobuf/empty.ts +0 -150
- package/src/generated/google/protobuf/struct.ts +0 -878
- package/src/generated/proto/discovery.ts +0 -423
- package/src/generated/proto/dynrpc.ts +0 -768
- package/src/generated/proto/javascript.ts +0 -488
- package/src/generated/proto/protocol.ts +0 -3091
- package/src/generated/proto/services.ts +0 -1834
- package/src/generated/proto/test.ts +0 -387
- package/src/invocation.ts +0 -212
- package/src/io/decoder.ts +0 -171
- package/src/io/encoder.ts +0 -72
- package/src/journal.ts +0 -537
- package/src/local_state_store.ts +0 -94
- package/src/logger.ts +0 -121
- package/src/promise_combinator_tracker.ts +0 -191
- package/src/public_api.ts +0 -53
- package/src/state_machine.ts +0 -635
- package/src/types/errors.ts +0 -297
- package/src/types/grpc.ts +0 -97
- package/src/types/protocol.ts +0 -201
- package/src/types/router.ts +0 -118
- package/src/types/types.ts +0 -160
- package/src/utils/assumptions.ts +0 -131
- package/src/utils/message_logger.ts +0 -112
- package/src/utils/promises.ts +0 -118
- package/src/utils/public_utils.ts +0 -91
- package/src/utils/rand.ts +0 -142
- package/src/utils/utils.ts +0 -178
- package/src/workflows/workflow.ts +0 -178
- package/src/workflows/workflow_state_service.ts +0 -299
- package/src/workflows/workflow_wrapper_service.ts +0 -314
- /package/dist/{connection → src/connection}/buffered_connection.js +0 -0
- /package/dist/{connection → src/connection}/connection.d.ts +0 -0
- /package/dist/{connection → src/connection}/connection.js +0 -0
- /package/dist/{promise_combinator_tracker.d.ts → src/promise_combinator_tracker.d.ts} +0 -0
- /package/dist/{promise_combinator_tracker.js → src/promise_combinator_tracker.js} +0 -0
- /package/dist/{utils → src/utils}/promises.d.ts +0 -0
- /package/dist/{utils → src/utils}/promises.js +0 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
11
|
*/
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.createStateMachineConsole =
|
|
13
|
+
exports.createStateMachineConsole = void 0;
|
|
14
14
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
15
15
|
/* eslint-disable no-console */
|
|
16
16
|
const protocol_1 = require("../types/protocol");
|
|
@@ -19,33 +19,32 @@ const logger_1 = require("../logger");
|
|
|
19
19
|
/**
|
|
20
20
|
* The environment variable which is read to determine the debug log settings.
|
|
21
21
|
*/
|
|
22
|
-
|
|
22
|
+
const RESTATE_JOURNAL_LOGGING = "RESTATE_JOURNAL_LOGGING";
|
|
23
23
|
/**
|
|
24
|
-
* The values for the {@link
|
|
24
|
+
* The values for the {@link RESTATE_JOURNAL_LOGGING} variable.
|
|
25
25
|
*/
|
|
26
|
-
var
|
|
27
|
-
(function (
|
|
26
|
+
var JournalLoggingLogLevel;
|
|
27
|
+
(function (JournalLoggingLogLevel) {
|
|
28
28
|
/** No debug logging at all. Good for performance and avoid per-invocation log volume */
|
|
29
|
-
|
|
30
|
-
/** Logs debug information for every Restate function invocation. */
|
|
31
|
-
RestateDebugLogLevel[RestateDebugLogLevel["INVOKE"] = 1] = "INVOKE";
|
|
29
|
+
JournalLoggingLogLevel[JournalLoggingLogLevel["OFF"] = 0] = "OFF";
|
|
32
30
|
/** Logs debug information for every Restate effect (=journal event) inside an invocation,
|
|
33
31
|
* like RPC, state access, sideEffect, ... */
|
|
34
|
-
|
|
32
|
+
JournalLoggingLogLevel[JournalLoggingLogLevel["DEBUG"] = 1] = "DEBUG";
|
|
35
33
|
/** Logs debug information for every Restate effect (=journal event) inside an invocation,
|
|
36
34
|
* like RPC, state access, sideEffect, ... Additionally, this adds a JSON representation
|
|
37
35
|
* of the journal message to the log. */
|
|
38
|
-
|
|
39
|
-
})(
|
|
40
|
-
const DEFAULT_DEBUG_LOG_LEVEL = process
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
JournalLoggingLogLevel[JournalLoggingLogLevel["TRACE"] = 2] = "TRACE";
|
|
37
|
+
})(JournalLoggingLogLevel || (JournalLoggingLogLevel = {}));
|
|
38
|
+
const DEFAULT_DEBUG_LOG_LEVEL = globalThis?.process?.env["NODE_ENV"]?.toUpperCase() === "PRODUCTION" ||
|
|
39
|
+
logger_1.RESTATE_LOG_LEVEL > logger_1.RestateLogLevel.DEBUG
|
|
40
|
+
? JournalLoggingLogLevel.OFF
|
|
41
|
+
: JournalLoggingLogLevel.DEBUG;
|
|
43
42
|
function readLogLevel() {
|
|
44
|
-
const env = process
|
|
43
|
+
const env = globalThis?.process?.env[RESTATE_JOURNAL_LOGGING]?.toUpperCase();
|
|
45
44
|
if (env == undefined) {
|
|
46
45
|
return DEFAULT_DEBUG_LOG_LEVEL;
|
|
47
46
|
}
|
|
48
|
-
const idx = Object.keys(
|
|
47
|
+
const idx = Object.keys(JournalLoggingLogLevel)
|
|
49
48
|
.filter((t) =>
|
|
50
49
|
// Object.keys contains the numbers as well
|
|
51
50
|
// https://stackoverflow.com/questions/48768774/how-to-get-all-the-values-of-an-enum-with-typescript
|
|
@@ -60,21 +59,13 @@ const log_level = readLogLevel();
|
|
|
60
59
|
function createStateMachineConsole(context) {
|
|
61
60
|
const console = (0, logger_1.createRestateConsole)(context);
|
|
62
61
|
Object.defineProperties(console, {
|
|
63
|
-
debugInvokeMessage: {
|
|
64
|
-
value: (msg) => {
|
|
65
|
-
if (log_level >= RestateDebugLogLevel.INVOKE) {
|
|
66
|
-
console.debug(msg);
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
62
|
debugJournalMessage: {
|
|
71
63
|
value: (logMessage, messageType, message) => {
|
|
72
|
-
if (log_level >=
|
|
64
|
+
if (log_level >= JournalLoggingLogLevel.DEBUG) {
|
|
73
65
|
const type = messageType !== undefined
|
|
74
66
|
? " ; " + (0, protocol_1.formatMessageType)(messageType)
|
|
75
67
|
: "";
|
|
76
|
-
const journalEvent = log_level >=
|
|
77
|
-
message !== undefined
|
|
68
|
+
const journalEvent = log_level >= JournalLoggingLogLevel.TRACE && message !== undefined
|
|
78
69
|
? " : " + (0, utils_1.formatMessageAsJson)(message)
|
|
79
70
|
: "";
|
|
80
71
|
console.debug(`${logMessage}${type}${journalEvent}`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message_logger.js","sourceRoot":"","sources":["../../../src/utils/message_logger.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,uDAAuD;AACvD,+BAA+B;AAE/B,gDAAsD;AACtD,mCAA8C;AAC9C,sCAKmB;AAEnB;;GAEG;AACH,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D;;GAEG;AACH,IAAK,sBAYJ;AAZD,WAAK,sBAAsB;IACzB,wFAAwF;IACxF,iEAAG,CAAA;IAEH;kDAC8C;IAC9C,qEAAK,CAAA;IAEL;;6CAEyC;IACzC,qEAAK,CAAA;AACP,CAAC,EAZI,sBAAsB,KAAtB,sBAAsB,QAY1B;AAED,MAAM,uBAAuB,GAC3B,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,YAAY;IACpE,0BAAiB,GAAG,wBAAe,CAAC,KAAK;IACvC,CAAC,CAAC,sBAAsB,CAAC,GAAG;IAC5B,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC;AAEnC,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7E,IAAI,GAAG,IAAI,SAAS,EAAE;QACpB,OAAO,uBAAuB,CAAC;KAChC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;IACZ,2CAA2C;IAC3C,oGAAoG;IACpG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACjB;SACA,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,GAAG,CAAC,EAAE;QACX,OAAO,uBAAuB,CAAC;KAChC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;AAUjC,SAAgB,yBAAyB,CACvC,OAAsB;IAEtB,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;QAC/B,mBAAmB,EAAE;YACnB,KAAK,EAAE,CAAC,UAAkB,EAAE,WAAoB,EAAE,OAAa,EAAE,EAAE;gBACjE,IAAI,SAAS,IAAI,sBAAsB,CAAC,KAAK,EAAE;oBAC7C,MAAM,IAAI,GACR,WAAW,KAAK,SAAS;wBACvB,CAAC,CAAC,KAAK,GAAG,IAAA,4BAAiB,EAAC,WAAW,CAAC;wBACxC,CAAC,CAAC,EAAE,CAAC;oBACT,MAAM,YAAY,GAChB,SAAS,IAAI,sBAAsB,CAAC,KAAK,IAAI,OAAO,KAAK,SAAS;wBAChE,CAAC,CAAC,KAAK,GAAG,IAAA,2BAAmB,EAAC,OAAO,CAAC;wBACtC,CAAC,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,IAAI,GAAG,YAAY,EAAE,CAAC,CAAC;iBACtD;YACH,CAAC;SACF;KACF,CAAC,CAAC;IAEH,OAAO,OAA8B,CAAC;AACxC,CAAC;AAxBD,8DAwBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promises.d.ts","sourceRoot":"","sources":["../../../src/utils/promises.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IAG3C,SAAS,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EACxC,WAAW,CAAC,EACR,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAChD,IAAI,GACJ,SAAS,EACb,UAAU,CAAC,EACP,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GACnD,IAAI,GACJ,SAAS,KACV,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;CAC1C,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,EAC1B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,cAAc,CAAC,CAAC,CAAC,CAuDnB;AAID,qBAAa,kBAAkB,CAAC,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,OAAO,CAA0B;IAEzC,SAAgB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;;IAS7B,OAAO,CAAC,KAAK,EAAE,CAAC;IAIhB,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG;CAG3B;AAID,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,GAAG,CAA8B,CAAC;AACxE,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,GAAG,CACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../src/utils/promises.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAoBH,SAAgB,UAAU,CACxB,OAAmB,EACnB,MAAmB;IAEnB,oDAAoD;IACpD,IAAI,SASoC,CAAC;IACzC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;QACvC,MAAM,cAAc,GAAG,OAA4B,CAAC;QACpD,SAAS,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CACtC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;KACzE;SAAM;QACL,SAAS,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CACtC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;KAC7D;IAED,uDAAuD;IACvD,OAAO;QACL,SAAS;QAET,IAAI,EAAE,UACJ,WAGa,EACb,UAGa;YAEb,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,MAAM,EAAE,CAAC;aACV;YACD,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,EAAE,UACL,UAGa;YAEb,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,EAAE,UACP,SAA2C;YAE3C,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE;KACzB,CAAC;AACJ,CAAC;AA1DD,gCA0DC;AAED,8GAA8G;AAC9G,8BAA8B;AAC9B,MAAa,kBAAkB;IACrB,OAAO,CAAuC;IAC9C,OAAO,CAA0B;IAEzB,OAAO,CAAa;IAEpC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,OAAO,CAAC,KAAQ;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,MAAY;QACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;CACF;AApBD,gDAoBC;AAED,oCAAoC;AACpC,gEAAgE;AACnD,QAAA,eAAe,GAAiB,IAAI,OAAO,CAAM,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC3D,QAAA,uBAAuB,GAClC,UAAU,CAAC,uBAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rand.d.ts","sourceRoot":"","sources":["../../../src/utils/rand.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIlC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,QAAS,YAAW,IAAI;IACnC,OAAO,CAAC,YAAY,CAAmC;gBAE3C,EAAE,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAgBzD,MAAM,CAAC,QAAQ,SAAoB;IAInC,GAAG,IAAI,MAAM;IAuBb,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIzC,YAAY;IAUZ,MAAM,CAAC,QAAQ,SAAoB;IAE5B,MAAM,IAAI,MAAM;IAShB,MAAM,IAAI,MAAM;CAWxB"}
|
|
@@ -13,13 +13,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.RandImpl = void 0;
|
|
14
14
|
const errors_1 = require("../types/errors");
|
|
15
15
|
const context_impl_1 = require("../context_impl");
|
|
16
|
-
const
|
|
16
|
+
const node_crypto_1 = require("node:crypto");
|
|
17
|
+
const node_buffer_1 = require("node:buffer");
|
|
17
18
|
class RandImpl {
|
|
18
19
|
randstate256;
|
|
19
20
|
constructor(id) {
|
|
20
|
-
if (id instanceof Buffer) {
|
|
21
|
+
if (id instanceof node_buffer_1.Buffer) {
|
|
21
22
|
// hash the invocation ID, which is known to contain 74 bits of entropy
|
|
22
|
-
const hash = (0,
|
|
23
|
+
const hash = (0, node_crypto_1.createHash)("sha256").update(id).digest();
|
|
23
24
|
this.randstate256 = [
|
|
24
25
|
hash.readBigUInt64LE(0),
|
|
25
26
|
hash.readBigUInt64LE(8),
|
|
@@ -52,8 +53,8 @@ class RandImpl {
|
|
|
52
53
|
}
|
|
53
54
|
checkContext() {
|
|
54
55
|
const context = context_impl_1.ContextImpl.callContext.getStore();
|
|
55
|
-
if (context && context.type === context_impl_1.
|
|
56
|
-
throw new errors_1.TerminalError(`You may not call methods on Rand from within a
|
|
56
|
+
if (context && context.type === context_impl_1.CallContextType.Run) {
|
|
57
|
+
throw new errors_1.TerminalError(`You may not call methods on Rand from within a run().`, { errorCode: errors_1.INTERNAL_ERROR_CODE });
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
static U53_MASK = (1n << 53n) - 1n;
|
|
@@ -66,7 +67,7 @@ class RandImpl {
|
|
|
66
67
|
}
|
|
67
68
|
uuidv4() {
|
|
68
69
|
this.checkContext();
|
|
69
|
-
const buf = Buffer.alloc(16);
|
|
70
|
+
const buf = node_buffer_1.Buffer.alloc(16);
|
|
70
71
|
buf.writeBigUInt64LE(this.u64(), 0);
|
|
71
72
|
buf.writeBigUInt64LE(this.u64(), 8);
|
|
72
73
|
// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rand.js","sourceRoot":"","sources":["../../../src/utils/rand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serde.d.ts","sourceRoot":"","sources":["../../../src/utils/serde.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,GAAG,UAAU,CAM/D;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,GAAG,GAAG,SAAS,CAOhE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deserializeJson = exports.serializeJson = void 0;
|
|
4
|
+
const node_buffer_1 = require("node:buffer");
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
6
|
+
function serializeJson(item) {
|
|
7
|
+
if (item === undefined) {
|
|
8
|
+
return node_buffer_1.Buffer.alloc(0);
|
|
9
|
+
}
|
|
10
|
+
const str = JSON.stringify(item);
|
|
11
|
+
return node_buffer_1.Buffer.from(str);
|
|
12
|
+
}
|
|
13
|
+
exports.serializeJson = serializeJson;
|
|
14
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
15
|
+
function deserializeJson(buf) {
|
|
16
|
+
if (buf.length === 0) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
const b = node_buffer_1.Buffer.from(buf);
|
|
20
|
+
const str = b.toString("utf8");
|
|
21
|
+
return JSON.parse(str);
|
|
22
|
+
}
|
|
23
|
+
exports.deserializeJson = deserializeJson;
|
|
24
|
+
//# sourceMappingURL=serde.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serde.js","sourceRoot":"","sources":["../../../src/utils/serde.ts"],"names":[],"mappings":";;;AAAA,6CAAqC;AAErC,uDAAuD;AACvD,SAAgB,aAAa,CAAC,IAAqB;IACjD,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,oBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACxB;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,oBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAND,sCAMC;AAED,uDAAuD;AACvD,SAAgB,eAAe,CAAC,GAAe;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,CAAC,GAAG,oBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAPD,0CAOC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export declare function jsonSerialize(obj: any): string;
|
|
2
2
|
export declare function jsonDeserialize<T>(json: string): T;
|
|
3
|
-
export declare function jsonSafeAny(key: string, value: any): any;
|
|
4
3
|
export declare function formatMessageAsJson(obj: any): string;
|
|
5
4
|
export declare const equalityCheckers: Map<bigint, (msg1: any, msg2: any) => boolean>;
|
|
6
5
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"AAoCA,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAI9C;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAMlD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAWpD;AAqGD,eAAO,MAAM,gBAAgB,qBAEpB,GAAG,QAAQ,GAAG,KAAK,OAAO,CAYjC,CAAC"}
|
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
11
|
*/
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.equalityCheckers = exports.formatMessageAsJson = exports.
|
|
13
|
+
exports.equalityCheckers = exports.formatMessageAsJson = exports.jsonDeserialize = exports.jsonSerialize = void 0;
|
|
14
14
|
const protocol_1 = require("../types/protocol");
|
|
15
|
+
const node_buffer_1 = require("node:buffer");
|
|
15
16
|
function jsonSerialize(obj) {
|
|
16
17
|
return JSON.stringify(obj, (_, v) => typeof v === "bigint" ? "BIGINT::" + v.toString() : v);
|
|
17
18
|
}
|
|
@@ -22,35 +23,10 @@ function jsonDeserialize(json) {
|
|
|
22
23
|
: v);
|
|
23
24
|
}
|
|
24
25
|
exports.jsonDeserialize = jsonDeserialize;
|
|
25
|
-
// When using google.protobuf.Value in RPC handler responses, we want to roughly match the behaviour of JSON.stringify
|
|
26
|
-
// for example in converting Date objects to a UTC string
|
|
27
|
-
function jsonSafeAny(key, value) {
|
|
28
|
-
if (value !== undefined &&
|
|
29
|
-
value !== null &&
|
|
30
|
-
typeof value.toJSON == "function") {
|
|
31
|
-
return value.toJSON(key);
|
|
32
|
-
}
|
|
33
|
-
else if (globalThis.Array.isArray(value)) {
|
|
34
|
-
// in place replace
|
|
35
|
-
value.forEach((_, i) => (value[i] = jsonSafeAny(i.toString(), value[i])));
|
|
36
|
-
return value;
|
|
37
|
-
}
|
|
38
|
-
else if (typeof value === "object") {
|
|
39
|
-
Object.keys(value).forEach((key) => {
|
|
40
|
-
value[key] = jsonSafeAny(key, value[key]);
|
|
41
|
-
});
|
|
42
|
-
return value;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
// primitive that doesn't have a toJSON method, with no children
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.jsonSafeAny = jsonSafeAny;
|
|
50
26
|
function formatMessageAsJson(obj) {
|
|
51
27
|
const newObj = { ...obj };
|
|
52
28
|
for (const [key, value] of Object.entries(newObj)) {
|
|
53
|
-
if (Buffer.isBuffer(value)) {
|
|
29
|
+
if (node_buffer_1.Buffer.isBuffer(value)) {
|
|
54
30
|
newObj[key] = value.toString().trim();
|
|
55
31
|
}
|
|
56
32
|
}
|
|
@@ -66,42 +42,59 @@ exports.formatMessageAsJson = formatMessageAsJson;
|
|
|
66
42
|
// These functions are used to check whether a replayed message matches the current user code.
|
|
67
43
|
// We check the fields which we can check
|
|
68
44
|
// (the fields which do not contain results, because these might be filled in the result)
|
|
45
|
+
const eq = (a, b) => {
|
|
46
|
+
const n = a.length;
|
|
47
|
+
const m = b.length;
|
|
48
|
+
if (n !== m) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
for (let i = 0; i < n; i++) {
|
|
52
|
+
if (a.at(i) !== b.at(i)) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
};
|
|
69
58
|
const getStateMsgEquality = (msg1, msg2) => {
|
|
70
|
-
return msg1.key
|
|
59
|
+
return eq(msg1.key, msg2.key);
|
|
71
60
|
};
|
|
72
61
|
const invokeMsgEquality = (msg1, msg2) => {
|
|
73
62
|
return (msg1.serviceName === msg2.serviceName &&
|
|
74
|
-
msg1.
|
|
75
|
-
msg1.parameter
|
|
63
|
+
msg1.handlerName === msg2.handlerName &&
|
|
64
|
+
eq(msg1.parameter, msg2.parameter));
|
|
76
65
|
};
|
|
77
66
|
const setStateMsgEquality = (msg1, msg2) => {
|
|
78
|
-
return msg1.key
|
|
67
|
+
return eq(msg1.key, msg2.key) && eq(msg1.value, msg2.value);
|
|
79
68
|
};
|
|
80
69
|
const clearStateMsgEquality = (msg1, msg2) => {
|
|
81
|
-
return msg1.key
|
|
70
|
+
return eq(msg1.key, msg2.key);
|
|
82
71
|
};
|
|
83
72
|
const completeAwakeableMsgEquality = (msg1, msg2) => {
|
|
84
73
|
if (!(msg1.id === msg2.id)) {
|
|
85
74
|
return false;
|
|
86
75
|
}
|
|
87
|
-
if (msg1.
|
|
88
|
-
|
|
76
|
+
if (msg1.result.case === "value" &&
|
|
77
|
+
msg2.result.case === "value" &&
|
|
78
|
+
eq(msg1.result.value, msg2.result.value)) {
|
|
79
|
+
return true;
|
|
89
80
|
}
|
|
90
|
-
else if (msg1.failure && msg2.failure) {
|
|
91
|
-
return (msg1.
|
|
92
|
-
msg1.
|
|
81
|
+
else if (msg1.result.case === "failure" && msg2.result.case === "failure") {
|
|
82
|
+
return (msg1.result.value.code === msg2.result.value.code &&
|
|
83
|
+
msg1.result.value.message === msg2.result.value.message);
|
|
93
84
|
}
|
|
94
85
|
else {
|
|
95
86
|
return false;
|
|
96
87
|
}
|
|
97
88
|
};
|
|
98
89
|
const outputMsgEquality = (msg1, msg2) => {
|
|
99
|
-
if (msg1.
|
|
100
|
-
|
|
90
|
+
if (msg1.result.case === "value" &&
|
|
91
|
+
msg2.result.case === "value" &&
|
|
92
|
+
eq(msg1.result.value, msg2.result.value)) {
|
|
93
|
+
return true;
|
|
101
94
|
}
|
|
102
|
-
else if (msg1.failure && msg2.failure) {
|
|
103
|
-
return (msg1.
|
|
104
|
-
msg1.
|
|
95
|
+
else if (msg1.result.case === "failure" && msg2.result.case === "failure") {
|
|
96
|
+
return (msg1.result.value.code === msg2.result.value.code &&
|
|
97
|
+
msg1.result.value.message === msg2.result.value.message);
|
|
105
98
|
}
|
|
106
99
|
else {
|
|
107
100
|
return false;
|
|
@@ -114,7 +107,7 @@ exports.equalityCheckers = new Map([
|
|
|
114
107
|
[protocol_1.INVOKE_ENTRY_MESSAGE_TYPE, invokeMsgEquality],
|
|
115
108
|
[protocol_1.BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE, invokeMsgEquality],
|
|
116
109
|
[protocol_1.COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, completeAwakeableMsgEquality],
|
|
117
|
-
[protocol_1.
|
|
110
|
+
[protocol_1.OUTPUT_ENTRY_MESSAGE_TYPE, outputMsgEquality],
|
|
118
111
|
[protocol_1.AWAKEABLE_ENTRY_MESSAGE_TYPE, () => true],
|
|
119
112
|
[protocol_1.SIDE_EFFECT_ENTRY_MESSAGE_TYPE, () => true],
|
|
120
113
|
[protocol_1.SLEEP_ENTRY_MESSAGE_TYPE, () => true],
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import * as restate from "../public_api";
|
|
|
6
6
|
* - one run method: `run(ctx: WfContext, params: T) => Promise<R>`
|
|
7
7
|
* - an arbitrary number of interaction methods: `foo(ctx: SharedWfContext, params: X) => Promise<Y>`
|
|
8
8
|
*/
|
|
9
|
-
export declare function workflow<R, T, U>(
|
|
9
|
+
export declare function workflow<P extends string, R, T, U>(name: P, workflow: Workflow<R, T, U>): WorkflowServices<P, R, T, U>;
|
|
10
10
|
/**
|
|
11
11
|
* The type signature of a workflow.
|
|
12
12
|
* A workflow must consist of
|
|
@@ -32,12 +32,12 @@ type WorkflowMethods<R, T, U> = {
|
|
|
32
32
|
* restate.createServer().bind(myWorkflow)
|
|
33
33
|
* ```
|
|
34
34
|
*
|
|
35
|
-
* The {@link WorkflowServices.api} can be used to create typed clients, both
|
|
35
|
+
* The {@link WorkflowServices.api<P>} can be used to create typed clients, both
|
|
36
36
|
* from other Restate-backed serviced (e.g., `ctx.rpc(api).triggerMySignal()`)
|
|
37
37
|
* or from external clients (`clients.connectWorkflows(restateUri).connectToWorkflow(api, id);`).
|
|
38
38
|
*/
|
|
39
|
-
export interface WorkflowServices<R, T, U> extends restate.ServiceBundle {
|
|
40
|
-
readonly api: restate.
|
|
39
|
+
export interface WorkflowServices<P extends string, R, T, U> extends restate.ServiceBundle {
|
|
40
|
+
readonly api: restate.ServiceDefinition<P, WorkflowRestateRpcApi<R, T, U>>;
|
|
41
41
|
}
|
|
42
42
|
export type DurablePromise<T> = restate.CombineablePromise<T> & {
|
|
43
43
|
peek(): Promise<T | null>;
|
|
@@ -51,7 +51,7 @@ export type DurablePromise<T> = restate.CombineablePromise<T> & {
|
|
|
51
51
|
* This gives primarily access to state reads and promises.
|
|
52
52
|
*/
|
|
53
53
|
export interface SharedWfContext {
|
|
54
|
-
workflowId
|
|
54
|
+
workflowId: string;
|
|
55
55
|
get<T>(stateName: string): Promise<T | null>;
|
|
56
56
|
promise<T = void>(name: string): DurablePromise<T>;
|
|
57
57
|
}
|
|
@@ -61,7 +61,7 @@ export interface SharedWfContext {
|
|
|
61
61
|
* This is a full context as for stateful durable keyed services, plus the
|
|
62
62
|
* workflow-specific bits, like workflowID and durable promises.
|
|
63
63
|
*/
|
|
64
|
-
export interface WfContext extends SharedWfContext, restate.
|
|
64
|
+
export interface WfContext extends SharedWfContext, restate.ObjectContext {
|
|
65
65
|
}
|
|
66
66
|
export declare enum LifecycleStatus {
|
|
67
67
|
NOT_STARTED = "NOT_STARTED",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../src/workflows/workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
34
34
|
};
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.WorkflowStartResult = exports.LifecycleStatus = exports.workflow = void 0;
|
|
37
|
+
const restate = __importStar(require("../public_api"));
|
|
37
38
|
const wws = __importStar(require("./workflow_wrapper_service"));
|
|
38
39
|
const wss = __importStar(require("./workflow_state_service"));
|
|
39
40
|
const STATE_SERVICE_PATH_SUFFIX = "_state";
|
|
@@ -47,19 +48,22 @@ const STATE_SERVICE_PATH_SUFFIX = "_state";
|
|
|
47
48
|
* - one run method: `run(ctx: WfContext, params: T) => Promise<R>`
|
|
48
49
|
* - an arbitrary number of interaction methods: `foo(ctx: SharedWfContext, params: X) => Promise<Y>`
|
|
49
50
|
*/
|
|
50
|
-
function workflow(
|
|
51
|
+
function workflow(name, workflow) {
|
|
51
52
|
// the state service manages all state and promises for us
|
|
52
|
-
const stateServiceRouter =
|
|
53
|
+
const stateServiceRouter = restate.object({
|
|
54
|
+
name,
|
|
55
|
+
handlers: wss.workflowStateService,
|
|
56
|
+
});
|
|
53
57
|
const stateServiceApi = {
|
|
54
|
-
|
|
58
|
+
name: (name + STATE_SERVICE_PATH_SUFFIX),
|
|
55
59
|
};
|
|
56
60
|
// the wrapper service manages life cycle, contexts, delegation to the state service
|
|
57
|
-
const wrapperServiceRouter = wws.createWrapperService(workflow,
|
|
61
|
+
const wrapperServiceRouter = wws.createWrapperService(workflow, name, stateServiceApi);
|
|
58
62
|
return {
|
|
59
|
-
api: {
|
|
63
|
+
api: { name },
|
|
60
64
|
registerServices: (endpoint) => {
|
|
61
|
-
endpoint.
|
|
62
|
-
endpoint.
|
|
65
|
+
endpoint.bind(stateServiceRouter);
|
|
66
|
+
endpoint.bind(wrapperServiceRouter);
|
|
63
67
|
},
|
|
64
68
|
};
|
|
65
69
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/workflows/workflow.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uDAAyC;AACzC,gEAAkD;AAClD,8DAAgD;AAEhD,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAE3C,+EAA+E;AAC/E,wDAAwD;AACxD,+EAA+E;AAE/E;;;;;;GAMG;AACH,SAAgB,QAAQ,CACtB,IAAO,EACP,QAA2B;IAE3B,0DAA0D;IAC1D,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;QACxC,IAAI;QACJ,QAAQ,EAAE,GAAG,CAAC,oBAAoB;KACnC,CAAC,CAAC;IACH,MAAM,eAAe,GAAe;QAClC,IAAI,EAAE,CAAC,IAAI,GAAG,yBAAyB,CAAM;KAC9C,CAAC;IAEF,oFAAoF;IACpF,MAAM,oBAAoB,GAAG,GAAG,CAAC,oBAAoB,CACnD,QAAQ,EACR,IAAI,EACJ,eAAe,CAChB,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,EAAE,IAAI,EAGV;QACD,gBAAgB,EAAE,CAAC,QAAiC,EAAE,EAAE;YACtD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;KACqC,CAAC;AAC3C,CAAC;AA9BD,4BA8BC;AA+ED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,8CAA2B,CAAA;IAC3B,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;AACnB,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,0DAAmC,CAAA;IACnC,4DAAqC,CAAA;AACvC,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as restate from "../public_api";
|
|
2
|
+
import { LifecycleStatus, WorkflowStartResult } from "./workflow";
|
|
3
|
+
export type ValueOrError<T> = {
|
|
4
|
+
value?: T;
|
|
5
|
+
error?: string;
|
|
6
|
+
};
|
|
7
|
+
export type api<P extends string> = restate.VirtualObjectDefinition<P, restate.VirtualObject<typeof workflowStateService>>;
|
|
8
|
+
export declare const workflowStateService: {
|
|
9
|
+
startWorkflow: (ctx: restate.ObjectContext) => Promise<WorkflowStartResult>;
|
|
10
|
+
finishOrFailWorkflow: <R>(ctx: restate.ObjectContext, result: ValueOrError<R>) => Promise<void>;
|
|
11
|
+
getStatus: (ctx: restate.ObjectContext) => Promise<LifecycleStatus>;
|
|
12
|
+
completePromise: <T>(ctx: restate.ObjectContext, req: {
|
|
13
|
+
promiseName: string;
|
|
14
|
+
completion: ValueOrError<T>;
|
|
15
|
+
}) => Promise<void>;
|
|
16
|
+
peekPromise: <T_1>(ctx: restate.ObjectContext, req: {
|
|
17
|
+
promiseName: string;
|
|
18
|
+
}) => Promise<ValueOrError<T_1> | null>;
|
|
19
|
+
subscribePromise: <T_2>(ctx: restate.ObjectContext, req: {
|
|
20
|
+
promiseName: string;
|
|
21
|
+
awkId: string;
|
|
22
|
+
}) => Promise<ValueOrError<T_2> | null>;
|
|
23
|
+
getResult: <R_1>(ctx: restate.ObjectContext) => Promise<ValueOrError<R_1> | null>;
|
|
24
|
+
subscribeResult: <T_3>(ctx: restate.ObjectContext, awkId: string) => Promise<ValueOrError<T_3> | null>;
|
|
25
|
+
getState: <T_4>(ctx: restate.ObjectContext, stateName: string) => Promise<T_4 | null>;
|
|
26
|
+
setState: <T_5>(ctx: restate.ObjectContext, request: {
|
|
27
|
+
stateName: string;
|
|
28
|
+
value: T_5;
|
|
29
|
+
}) => Promise<void>;
|
|
30
|
+
clearState: (ctx: restate.ObjectContext, stateName: string) => Promise<void>;
|
|
31
|
+
stateKeys: (ctx: restate.ObjectContext) => Promise<Array<string>>;
|
|
32
|
+
clearAllState: (ctx: restate.ObjectContext) => Promise<void>;
|
|
33
|
+
dispose: (ctx: restate.ObjectContext) => Promise<void>;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=workflow_state_service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow_state_service.d.ts","sourceRoot":"","sources":["../../../src/workflows/workflow_state_service.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AASlE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC,uBAAuB,CACjE,CAAC,EACD,OAAO,CAAC,aAAa,CAAC,OAAO,oBAAoB,CAAC,CACnD,CAAC;AAEF,eAAO,MAAM,oBAAoB;yBAExB,QAAQ,aAAa,KACzB,QAAQ,mBAAmB,CAAC;mCAgBxB,QAAQ,aAAa,8BAEzB,QAAQ,IAAI,CAAC;qBA2BO,QAAQ,aAAa,KAAG,QAAQ,eAAe,CAAC;8BAQhE,QAAQ,aAAa;qBACN,MAAM;;UACzB,QAAQ,IAAI,CAAC;4BAeT,QAAQ,aAAa,OACrB;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;iCAMvB,QAAQ,aAAa,OACrB;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;0BAWtC,QAAQ,aAAa;gCAMrB,QAAQ,aAAa,SACnB,MAAM;yBAmBR,QAAQ,aAAa,aACf,MAAM;yBAMZ,QAAQ,aAAa;mBACJ,MAAM;;UAC3B,QAAQ,IAAI,CAAC;sBAqBT,QAAQ,aAAa,aACf,MAAM,KAChB,QAAQ,IAAI,CAAC;qBAIO,QAAQ,aAAa,KAAG,QAAQ,MAAM,MAAM,CAAC,CAAC;yBAM1C,QAAQ,aAAa,KAAG,QAAQ,IAAI,CAAC;mBAS3C,QAAQ,aAAa,KAAG,QAAQ,IAAI,CAAC;CAG3D,CAAC"}
|
|
@@ -42,7 +42,7 @@ const RESULT_LISTENERS_NAME = "result_listeners";
|
|
|
42
42
|
const PROMISE_STATE_PREFIX = "prom_s_";
|
|
43
43
|
const USER_STATE_PREFIX = "state_";
|
|
44
44
|
const PROMISE_AWAKEABLE_PREFIX = "prom_l_";
|
|
45
|
-
exports.workflowStateService =
|
|
45
|
+
exports.workflowStateService = {
|
|
46
46
|
startWorkflow: async (ctx) => {
|
|
47
47
|
const status = (await ctx.get(LIFECYCLE_STATUS_STATE_NAME)) ??
|
|
48
48
|
workflow_1.LifecycleStatus.NOT_STARTED;
|
|
@@ -54,7 +54,7 @@ exports.workflowStateService = restate.keyedRouter({
|
|
|
54
54
|
ctx.set(LIFECYCLE_STATUS_STATE_NAME, workflow_1.LifecycleStatus.RUNNING);
|
|
55
55
|
return workflow_1.WorkflowStartResult.STARTED;
|
|
56
56
|
},
|
|
57
|
-
finishOrFailWorkflow: async (ctx,
|
|
57
|
+
finishOrFailWorkflow: async (ctx, result) => {
|
|
58
58
|
if (result.error === undefined && result.value === undefined) {
|
|
59
59
|
throw new restate.TerminalError("Result is undefined");
|
|
60
60
|
}
|
|
@@ -74,34 +74,34 @@ exports.workflowStateService = restate.keyedRouter({
|
|
|
74
74
|
return ((await ctx.get(LIFECYCLE_STATUS_STATE_NAME)) ??
|
|
75
75
|
workflow_1.LifecycleStatus.NOT_STARTED);
|
|
76
76
|
},
|
|
77
|
-
completePromise: async (ctx,
|
|
77
|
+
completePromise: async (ctx, req) => {
|
|
78
78
|
// we don't accept writes after the workflow is done
|
|
79
79
|
if (!(await checkIfRunning(ctx))) {
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
82
|
await completePromise(ctx, PROMISE_STATE_PREFIX + req.promiseName, PROMISE_AWAKEABLE_PREFIX + req.promiseName, req.completion);
|
|
83
83
|
},
|
|
84
|
-
peekPromise: async (ctx,
|
|
84
|
+
peekPromise: async (ctx, req) => {
|
|
85
85
|
return peekPromise(ctx, PROMISE_STATE_PREFIX + req.promiseName);
|
|
86
86
|
},
|
|
87
|
-
subscribePromise: async (ctx,
|
|
87
|
+
subscribePromise: async (ctx, req) => {
|
|
88
88
|
return subscribePromise(ctx, PROMISE_STATE_PREFIX + req.promiseName, PROMISE_AWAKEABLE_PREFIX + req.promiseName, req.awkId);
|
|
89
89
|
},
|
|
90
90
|
getResult: async (ctx) => {
|
|
91
91
|
return peekPromise(ctx, RESULT_STATE_NAME);
|
|
92
92
|
},
|
|
93
|
-
subscribeResult: async (ctx,
|
|
93
|
+
subscribeResult: async (ctx, awkId) => {
|
|
94
94
|
const status = (await ctx.get(LIFECYCLE_STATUS_STATE_NAME)) ??
|
|
95
95
|
workflow_1.LifecycleStatus.NOT_STARTED;
|
|
96
96
|
if (status === workflow_1.LifecycleStatus.NOT_STARTED) {
|
|
97
|
-
throw new restate.TerminalError(`Workflow with id '${
|
|
97
|
+
throw new restate.TerminalError(`Workflow with id '${ctx.key}' does not exist.`);
|
|
98
98
|
}
|
|
99
99
|
return subscribePromise(ctx, RESULT_STATE_NAME, RESULT_LISTENERS_NAME, awkId);
|
|
100
100
|
},
|
|
101
|
-
getState: async (ctx,
|
|
101
|
+
getState: async (ctx, stateName) => {
|
|
102
102
|
return ctx.get(USER_STATE_PREFIX + stateName);
|
|
103
103
|
},
|
|
104
|
-
setState: async (ctx,
|
|
104
|
+
setState: async (ctx, request) => {
|
|
105
105
|
if (!request?.stateName) {
|
|
106
106
|
throw new restate.TerminalError("missing state name");
|
|
107
107
|
}
|
|
@@ -117,7 +117,7 @@ exports.workflowStateService = restate.keyedRouter({
|
|
|
117
117
|
const stateName = USER_STATE_PREFIX + request.stateName;
|
|
118
118
|
ctx.set(stateName, request.value);
|
|
119
119
|
},
|
|
120
|
-
clearState: async (ctx,
|
|
120
|
+
clearState: async (ctx, stateName) => {
|
|
121
121
|
ctx.clear(USER_STATE_PREFIX + stateName);
|
|
122
122
|
},
|
|
123
123
|
stateKeys: async (ctx) => {
|
|
@@ -132,7 +132,7 @@ exports.workflowStateService = restate.keyedRouter({
|
|
|
132
132
|
dispose: async (ctx) => {
|
|
133
133
|
ctx.clearAll();
|
|
134
134
|
},
|
|
135
|
-
}
|
|
135
|
+
};
|
|
136
136
|
// ----------------------------------------------------------------------------
|
|
137
137
|
async function completePromise(ctx, stateName, awakeableStateName, completion) {
|
|
138
138
|
if (completion.value !== undefined && completion.error !== undefined) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow_state_service.js","sourceRoot":"","sources":["../../../src/workflows/workflow_state_service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as restate from "../public_api";
|
|
2
2
|
import * as wf from "./workflow";
|
|
3
3
|
import * as wss from "./workflow_state_service";
|
|
4
|
-
export declare function createWrapperService<R, T, M>(workflow: wf.Workflow<R, T, M>,
|
|
4
|
+
export declare function createWrapperService<P extends string, R, T, M>(workflow: wf.Workflow<R, T, M>, name: P, stateServiceApi: wss.api<P>): restate.ServiceDefinition<P, restate.Service<{
|
|
5
5
|
submit: (ctx: restate.Context, request: wf.WorkflowRequest<T>) => Promise<wf.WorkflowStartResult>;
|
|
6
6
|
run: (ctx: restate.Context, request: wf.WorkflowRequest<T>) => Promise<R>;
|
|
7
7
|
waitForResult: (ctx: restate.Context, request: wf.WorkflowRequest<unknown>) => Promise<R>;
|
|
8
8
|
status: (ctx: restate.Context, request: wf.WorkflowRequest<unknown>) => Promise<wf.LifecycleStatus>;
|
|
9
|
-
}
|
|
9
|
+
}>>;
|
|
10
10
|
//# sourceMappingURL=workflow_wrapper_service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow_wrapper_service.d.ts","sourceRoot":"","sources":["../../../src/workflows/workflow_wrapper_service.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AA2LhD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5D,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,IAAI,EAAE,CAAC,EACP,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;kBAIlB,QAAQ,OAAO,WACX,GAAG,eAAe,CAAC,CAAC,CAAC,KAC7B,QAAQ,GAAG,mBAAmB,CAAC;eAa3B,QAAQ,OAAO,WACX,GAAG,eAAe,CAAC,CAAC,CAAC,KAC7B,QAAQ,CAAC,CAAC;yBA+BN,QAAQ,OAAO,WACX,GAAG,eAAe,CAAC,OAAO,CAAC,KACnC,QAAQ,CAAC,CAAC;kBAWN,QAAQ,OAAO,WACX,GAAG,eAAe,CAAC,OAAO,CAAC,KACnC,QAAQ,GAAG,eAAe,CAAC;IA2CjC"}
|