@restatedev/restate-sdk 1.3.3 → 1.5.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.
- package/README.md +6 -4
- package/dist/cjs/src/common_api.d.ts +5 -5
- package/dist/cjs/src/common_api.d.ts.map +1 -1
- package/dist/cjs/src/common_api.js +2 -1
- package/dist/cjs/src/common_api.js.map +1 -1
- package/dist/cjs/src/context.d.ts +103 -12
- package/dist/cjs/src/context.d.ts.map +1 -1
- package/dist/cjs/src/context.js +25 -13
- package/dist/cjs/src/context.js.map +1 -1
- package/dist/cjs/src/context_impl.d.ts +38 -24
- package/dist/cjs/src/context_impl.d.ts.map +1 -1
- package/dist/cjs/src/context_impl.js +327 -342
- package/dist/cjs/src/context_impl.js.map +1 -1
- package/dist/cjs/src/endpoint/endpoint_builder.d.ts +6 -8
- package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -1
- package/dist/cjs/src/endpoint/endpoint_builder.js +23 -23
- package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -1
- package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +4 -6
- package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -1
- package/dist/cjs/src/endpoint/fetch_endpoint.js +0 -4
- package/dist/cjs/src/endpoint/fetch_endpoint.js.map +1 -1
- package/dist/cjs/src/endpoint/handlers/fetch.d.ts.map +1 -1
- package/dist/cjs/src/endpoint/handlers/fetch.js +1 -0
- package/dist/cjs/src/endpoint/handlers/fetch.js.map +1 -1
- package/dist/cjs/src/endpoint/handlers/generic.d.ts +9 -0
- package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -1
- package/dist/cjs/src/endpoint/handlers/generic.js +249 -88
- package/dist/cjs/src/endpoint/handlers/generic.js.map +1 -1
- package/dist/cjs/src/endpoint/handlers/lambda.d.ts.map +1 -1
- package/dist/cjs/src/endpoint/handlers/lambda.js +15 -3
- package/dist/cjs/src/endpoint/handlers/lambda.js.map +1 -1
- package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +283 -0
- package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +1333 -0
- package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -0
- package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +4 -6
- package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -1
- package/dist/cjs/src/endpoint/lambda_endpoint.js +0 -4
- package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -1
- package/dist/cjs/src/endpoint/node_endpoint.d.ts +4 -6
- package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -1
- package/dist/cjs/src/endpoint/node_endpoint.js +12 -4
- package/dist/cjs/src/endpoint/node_endpoint.js.map +1 -1
- package/dist/cjs/src/endpoint.d.ts +6 -37
- package/dist/cjs/src/endpoint.d.ts.map +1 -1
- package/dist/cjs/src/generated/version.d.ts +1 -1
- package/dist/cjs/src/generated/version.js +1 -1
- package/dist/cjs/src/io.d.ts +25 -0
- package/dist/cjs/src/io.d.ts.map +1 -0
- package/dist/cjs/src/io.js +78 -0
- package/dist/cjs/src/io.js.map +1 -0
- package/dist/cjs/src/logging/console_logger_transport.d.ts +5 -0
- package/dist/cjs/src/logging/console_logger_transport.d.ts.map +1 -0
- package/dist/cjs/src/logging/console_logger_transport.js +98 -0
- package/dist/cjs/src/logging/console_logger_transport.js.map +1 -0
- package/dist/cjs/src/logging/logger.d.ts +11 -0
- package/dist/cjs/src/logging/logger.d.ts.map +1 -0
- package/dist/cjs/src/logging/logger.js +61 -0
- package/dist/cjs/src/logging/logger.js.map +1 -0
- package/dist/cjs/src/logging/logger_transport.d.ts +52 -0
- package/dist/cjs/src/logging/logger_transport.d.ts.map +1 -0
- package/dist/cjs/src/logging/logger_transport.js +59 -0
- package/dist/cjs/src/logging/logger_transport.js.map +1 -0
- package/dist/cjs/src/promises.d.ts +110 -0
- package/dist/cjs/src/promises.d.ts.map +1 -0
- package/dist/cjs/src/promises.js +323 -0
- package/dist/cjs/src/promises.js.map +1 -0
- package/dist/cjs/src/types/components.d.ts +11 -3
- package/dist/cjs/src/types/components.d.ts.map +1 -1
- package/dist/cjs/src/types/components.js +38 -5
- package/dist/cjs/src/types/components.js.map +1 -1
- package/dist/cjs/src/types/discovery.d.ts +4 -0
- package/dist/cjs/src/types/discovery.d.ts.map +1 -1
- package/dist/cjs/src/types/errors.d.ts +8 -31
- package/dist/cjs/src/types/errors.d.ts.map +1 -1
- package/dist/cjs/src/types/errors.js +18 -74
- package/dist/cjs/src/types/errors.js.map +1 -1
- package/dist/cjs/src/types/rpc.d.ts +66 -41
- package/dist/cjs/src/types/rpc.d.ts.map +1 -1
- package/dist/cjs/src/types/rpc.js +32 -83
- package/dist/cjs/src/types/rpc.js.map +1 -1
- package/dist/cjs/src/user_agent.d.ts +1 -1
- package/dist/cjs/src/utils/buffer.d.ts +1 -0
- package/dist/cjs/src/utils/buffer.d.ts.map +1 -1
- package/dist/cjs/src/utils/completable_promise.d.ts +9 -0
- package/dist/cjs/src/utils/completable_promise.d.ts.map +1 -0
- package/dist/cjs/src/utils/completable_promise.js +34 -0
- package/dist/cjs/src/utils/completable_promise.js.map +1 -0
- package/dist/cjs/src/utils/rand.d.ts +1 -1
- package/dist/cjs/src/utils/rand.d.ts.map +1 -1
- package/dist/cjs/src/utils/rand.js +1 -1
- package/dist/cjs/src/utils/rand.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/src/common_api.d.ts +5 -5
- package/dist/esm/src/common_api.d.ts.map +1 -1
- package/dist/esm/src/common_api.js +1 -1
- package/dist/esm/src/common_api.js.map +1 -1
- package/dist/esm/src/context.d.ts +103 -12
- package/dist/esm/src/context.d.ts.map +1 -1
- package/dist/esm/src/context.js +24 -12
- package/dist/esm/src/context.js.map +1 -1
- package/dist/esm/src/context_impl.d.ts +38 -24
- package/dist/esm/src/context_impl.d.ts.map +1 -1
- package/dist/esm/src/context_impl.js +325 -341
- package/dist/esm/src/context_impl.js.map +1 -1
- package/dist/esm/src/endpoint/endpoint_builder.d.ts +6 -8
- package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -1
- package/dist/esm/src/endpoint/endpoint_builder.js +23 -23
- package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -1
- package/dist/esm/src/endpoint/fetch_endpoint.d.ts +4 -6
- package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -1
- package/dist/esm/src/endpoint/fetch_endpoint.js +0 -4
- package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -1
- package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -1
- package/dist/esm/src/endpoint/handlers/fetch.js +1 -0
- package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -1
- package/dist/esm/src/endpoint/handlers/generic.d.ts +9 -0
- package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -1
- package/dist/esm/src/endpoint/handlers/generic.js +226 -89
- package/dist/esm/src/endpoint/handlers/generic.js.map +1 -1
- package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -1
- package/dist/esm/src/endpoint/handlers/lambda.js +15 -3
- package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -1
- package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +283 -0
- package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -0
- package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +1322 -0
- package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -0
- package/dist/esm/src/endpoint/lambda_endpoint.d.ts +4 -6
- package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -1
- package/dist/esm/src/endpoint/lambda_endpoint.js +0 -4
- package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -1
- package/dist/esm/src/endpoint/node_endpoint.d.ts +4 -6
- package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -1
- package/dist/esm/src/endpoint/node_endpoint.js +12 -4
- package/dist/esm/src/endpoint/node_endpoint.js.map +1 -1
- package/dist/esm/src/endpoint.d.ts +6 -37
- package/dist/esm/src/endpoint.d.ts.map +1 -1
- package/dist/esm/src/generated/version.d.ts +1 -1
- package/dist/esm/src/generated/version.js +1 -1
- package/dist/esm/src/io.d.ts +25 -0
- package/dist/esm/src/io.d.ts.map +1 -0
- package/dist/esm/src/io.js +73 -0
- package/dist/esm/src/io.js.map +1 -0
- package/dist/esm/src/logging/console_logger_transport.d.ts +5 -0
- package/dist/esm/src/logging/console_logger_transport.d.ts.map +1 -0
- package/dist/esm/src/{logger.js → logging/console_logger_transport.js} +40 -90
- package/dist/esm/src/logging/console_logger_transport.js.map +1 -0
- package/dist/esm/src/logging/logger.d.ts +11 -0
- package/dist/esm/src/logging/logger.d.ts.map +1 -0
- package/dist/esm/src/logging/logger.js +57 -0
- package/dist/esm/src/logging/logger.js.map +1 -0
- package/dist/esm/src/logging/logger_transport.d.ts +52 -0
- package/dist/esm/src/logging/logger_transport.d.ts.map +1 -0
- package/dist/esm/src/logging/logger_transport.js +55 -0
- package/dist/esm/src/logging/logger_transport.js.map +1 -0
- package/dist/esm/src/promises.d.ts +110 -0
- package/dist/esm/src/promises.d.ts.map +1 -0
- package/dist/esm/src/promises.js +311 -0
- package/dist/esm/src/promises.js.map +1 -0
- package/dist/esm/src/types/components.d.ts +11 -3
- package/dist/esm/src/types/components.d.ts.map +1 -1
- package/dist/esm/src/types/components.js +38 -5
- package/dist/esm/src/types/components.js.map +1 -1
- package/dist/esm/src/types/discovery.d.ts +4 -0
- package/dist/esm/src/types/discovery.d.ts.map +1 -1
- package/dist/esm/src/types/errors.d.ts +8 -31
- package/dist/esm/src/types/errors.d.ts.map +1 -1
- package/dist/esm/src/types/errors.js +16 -68
- package/dist/esm/src/types/errors.js.map +1 -1
- package/dist/esm/src/types/rpc.d.ts +66 -41
- package/dist/esm/src/types/rpc.d.ts.map +1 -1
- package/dist/esm/src/types/rpc.js +32 -83
- package/dist/esm/src/types/rpc.js.map +1 -1
- package/dist/esm/src/user_agent.d.ts +1 -1
- package/dist/esm/src/utils/buffer.d.ts +1 -0
- package/dist/esm/src/utils/buffer.d.ts.map +1 -1
- package/dist/esm/src/utils/completable_promise.d.ts +9 -0
- package/dist/esm/src/utils/completable_promise.d.ts.map +1 -0
- package/dist/esm/src/utils/completable_promise.js +30 -0
- package/dist/esm/src/utils/completable_promise.js.map +1 -0
- package/dist/esm/src/utils/rand.d.ts +1 -1
- package/dist/esm/src/utils/rand.d.ts.map +1 -1
- package/dist/esm/src/utils/rand.js +1 -1
- package/dist/esm/src/utils/rand.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -6
- package/dist/cjs/src/connection/connection.d.ts +0 -84
- package/dist/cjs/src/connection/connection.d.ts.map +0 -1
- package/dist/cjs/src/connection/connection.js +0 -181
- package/dist/cjs/src/connection/connection.js.map +0 -1
- package/dist/cjs/src/endpoint/request_signing/basex.d.ts +0 -10
- package/dist/cjs/src/endpoint/request_signing/basex.d.ts.map +0 -1
- package/dist/cjs/src/endpoint/request_signing/basex.js +0 -138
- package/dist/cjs/src/endpoint/request_signing/basex.js.map +0 -1
- package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts +0 -17
- package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
- package/dist/cjs/src/endpoint/request_signing/ed25519.js +0 -80
- package/dist/cjs/src/endpoint/request_signing/ed25519.js.map +0 -1
- package/dist/cjs/src/endpoint/request_signing/v1.d.ts +0 -10
- package/dist/cjs/src/endpoint/request_signing/v1.d.ts.map +0 -1
- package/dist/cjs/src/endpoint/request_signing/v1.js +0 -151
- package/dist/cjs/src/endpoint/request_signing/v1.js.map +0 -1
- package/dist/cjs/src/endpoint/request_signing/validate.d.ts +0 -19
- package/dist/cjs/src/endpoint/request_signing/validate.d.ts.map +0 -1
- package/dist/cjs/src/endpoint/request_signing/validate.js +0 -45
- package/dist/cjs/src/endpoint/request_signing/validate.js.map +0 -1
- package/dist/cjs/src/generated/proto/discovery_pb.d.ts +0 -18
- package/dist/cjs/src/generated/proto/discovery_pb.d.ts.map +0 -1
- package/dist/cjs/src/generated/proto/discovery_pb.js +0 -40
- package/dist/cjs/src/generated/proto/discovery_pb.js.map +0 -1
- package/dist/cjs/src/generated/proto/javascript_pb.d.ts +0 -26
- package/dist/cjs/src/generated/proto/javascript_pb.d.ts.map +0 -1
- package/dist/cjs/src/generated/proto/javascript_pb.js +0 -52
- package/dist/cjs/src/generated/proto/javascript_pb.js.map +0 -1
- package/dist/cjs/src/generated/proto/protocol_pb.d.ts +0 -1051
- package/dist/cjs/src/generated/proto/protocol_pb.d.ts.map +0 -1
- package/dist/cjs/src/generated/proto/protocol_pb.js +0 -1288
- package/dist/cjs/src/generated/proto/protocol_pb.js.map +0 -1
- package/dist/cjs/src/invocation.d.ts +0 -48
- package/dist/cjs/src/invocation.d.ts.map +0 -1
- package/dist/cjs/src/invocation.js +0 -158
- package/dist/cjs/src/invocation.js.map +0 -1
- package/dist/cjs/src/io/decoder.d.ts +0 -9
- package/dist/cjs/src/io/decoder.d.ts.map +0 -1
- package/dist/cjs/src/io/decoder.js +0 -137
- package/dist/cjs/src/io/decoder.js.map +0 -1
- package/dist/cjs/src/io/encoder.d.ts +0 -4
- package/dist/cjs/src/io/encoder.d.ts.map +0 -1
- package/dist/cjs/src/io/encoder.js +0 -41
- package/dist/cjs/src/io/encoder.js.map +0 -1
- package/dist/cjs/src/journal.d.ts +0 -52
- package/dist/cjs/src/journal.d.ts.map +0 -1
- package/dist/cjs/src/journal.js +0 -438
- package/dist/cjs/src/journal.js.map +0 -1
- package/dist/cjs/src/local_state_store.d.ts +0 -14
- package/dist/cjs/src/local_state_store.d.ts.map +0 -1
- package/dist/cjs/src/local_state_store.js +0 -83
- package/dist/cjs/src/local_state_store.js.map +0 -1
- package/dist/cjs/src/logger.d.ts +0 -35
- package/dist/cjs/src/logger.d.ts.map +0 -1
- package/dist/cjs/src/logger.js +0 -151
- package/dist/cjs/src/logger.js.map +0 -1
- package/dist/cjs/src/promise_combinator_tracker.d.ts +0 -29
- package/dist/cjs/src/promise_combinator_tracker.d.ts.map +0 -1
- package/dist/cjs/src/promise_combinator_tracker.js +0 -130
- package/dist/cjs/src/promise_combinator_tracker.js.map +0 -1
- package/dist/cjs/src/state_machine.d.ts +0 -85
- package/dist/cjs/src/state_machine.d.ts.map +0 -1
- package/dist/cjs/src/state_machine.js +0 -426
- package/dist/cjs/src/state_machine.js.map +0 -1
- package/dist/cjs/src/types/protocol.d.ts +0 -40
- package/dist/cjs/src/types/protocol.d.ts.map +0 -1
- package/dist/cjs/src/types/protocol.js +0 -237
- package/dist/cjs/src/types/protocol.js.map +0 -1
- package/dist/cjs/src/types/types.d.ts +0 -20
- package/dist/cjs/src/types/types.d.ts.map +0 -1
- package/dist/cjs/src/types/types.js +0 -110
- package/dist/cjs/src/types/types.js.map +0 -1
- package/dist/cjs/src/utils/message_logger.d.ts +0 -7
- package/dist/cjs/src/utils/message_logger.d.ts.map +0 -1
- package/dist/cjs/src/utils/message_logger.js +0 -79
- package/dist/cjs/src/utils/message_logger.js.map +0 -1
- package/dist/cjs/src/utils/promises.d.ts +0 -15
- package/dist/cjs/src/utils/promises.d.ts.map +0 -1
- package/dist/cjs/src/utils/promises.js +0 -68
- package/dist/cjs/src/utils/promises.js.map +0 -1
- package/dist/cjs/src/utils/utils.d.ts +0 -3
- package/dist/cjs/src/utils/utils.d.ts.map +0 -1
- package/dist/cjs/src/utils/utils.js +0 -105
- package/dist/cjs/src/utils/utils.js.map +0 -1
- package/dist/cjs/test/awakeable.test.d.ts +0 -2
- package/dist/cjs/test/awakeable.test.d.ts.map +0 -1
- package/dist/cjs/test/awakeable.test.js +0 -141
- package/dist/cjs/test/awakeable.test.js.map +0 -1
- package/dist/cjs/test/complete_awakeable.test.d.ts +0 -2
- package/dist/cjs/test/complete_awakeable.test.d.ts.map +0 -1
- package/dist/cjs/test/complete_awakeable.test.js +0 -123
- package/dist/cjs/test/complete_awakeable.test.js.map +0 -1
- package/dist/cjs/test/eager_state.test.d.ts +0 -2
- package/dist/cjs/test/eager_state.test.d.ts.map +0 -1
- package/dist/cjs/test/eager_state.test.js +0 -280
- package/dist/cjs/test/eager_state.test.js.map +0 -1
- package/dist/cjs/test/get_and_set_state.test.d.ts +0 -2
- package/dist/cjs/test/get_and_set_state.test.d.ts.map +0 -1
- package/dist/cjs/test/get_and_set_state.test.js +0 -233
- package/dist/cjs/test/get_and_set_state.test.js.map +0 -1
- package/dist/cjs/test/get_state.test.d.ts +0 -2
- package/dist/cjs/test/get_state.test.d.ts.map +0 -1
- package/dist/cjs/test/get_state.test.js +0 -328
- package/dist/cjs/test/get_state.test.js.map +0 -1
- package/dist/cjs/test/lambda.test.d.ts +0 -2
- package/dist/cjs/test/lambda.test.d.ts.map +0 -1
- package/dist/cjs/test/lambda.test.js +0 -258
- package/dist/cjs/test/lambda.test.js.map +0 -1
- package/dist/cjs/test/message_coders.test.d.ts +0 -2
- package/dist/cjs/test/message_coders.test.d.ts.map +0 -1
- package/dist/cjs/test/message_coders.test.js +0 -37
- package/dist/cjs/test/message_coders.test.js.map +0 -1
- package/dist/cjs/test/promise_combinator_tracker.test.d.ts +0 -2
- package/dist/cjs/test/promise_combinator_tracker.test.d.ts.map +0 -1
- package/dist/cjs/test/promise_combinator_tracker.test.js +0 -156
- package/dist/cjs/test/promise_combinator_tracker.test.js.map +0 -1
- package/dist/cjs/test/promise_combinators.test.d.ts +0 -2
- package/dist/cjs/test/promise_combinators.test.d.ts.map +0 -1
- package/dist/cjs/test/promise_combinators.test.js +0 -433
- package/dist/cjs/test/promise_combinators.test.js.map +0 -1
- package/dist/cjs/test/promises.test.d.ts +0 -2
- package/dist/cjs/test/promises.test.d.ts.map +0 -1
- package/dist/cjs/test/promises.test.js +0 -32
- package/dist/cjs/test/promises.test.js.map +0 -1
- package/dist/cjs/test/protocol_stream.test.d.ts +0 -2
- package/dist/cjs/test/protocol_stream.test.d.ts.map +0 -1
- package/dist/cjs/test/protocol_stream.test.js +0 -243
- package/dist/cjs/test/protocol_stream.test.js.map +0 -1
- package/dist/cjs/test/protoutils.d.ts +0 -44
- package/dist/cjs/test/protoutils.d.ts.map +0 -1
- package/dist/cjs/test/protoutils.js +0 -368
- package/dist/cjs/test/protoutils.js.map +0 -1
- package/dist/cjs/test/service_bind.test.d.ts +0 -2
- package/dist/cjs/test/service_bind.test.d.ts.map +0 -1
- package/dist/cjs/test/service_bind.test.js +0 -118
- package/dist/cjs/test/service_bind.test.js.map +0 -1
- package/dist/cjs/test/side_effect.test.d.ts +0 -2
- package/dist/cjs/test/side_effect.test.d.ts.map +0 -1
- package/dist/cjs/test/side_effect.test.js +0 -133
- package/dist/cjs/test/side_effect.test.js.map +0 -1
- package/dist/cjs/test/sleep.test.d.ts +0 -2
- package/dist/cjs/test/sleep.test.d.ts.map +0 -1
- package/dist/cjs/test/sleep.test.js +0 -224
- package/dist/cjs/test/sleep.test.js.map +0 -1
- package/dist/cjs/test/state_keys.test.d.ts +0 -2
- package/dist/cjs/test/state_keys.test.d.ts.map +0 -1
- package/dist/cjs/test/state_keys.test.js +0 -92
- package/dist/cjs/test/state_keys.test.js.map +0 -1
- package/dist/cjs/test/state_machine.test.d.ts +0 -2
- package/dist/cjs/test/state_machine.test.d.ts.map +0 -1
- package/dist/cjs/test/state_machine.test.js +0 -42
- package/dist/cjs/test/state_machine.test.js.map +0 -1
- package/dist/cjs/test/testdriver.d.ts +0 -39
- package/dist/cjs/test/testdriver.d.ts.map +0 -1
- package/dist/cjs/test/testdriver.js +0 -188
- package/dist/cjs/test/testdriver.js.map +0 -1
- package/dist/cjs/test/utils.test.d.ts +0 -2
- package/dist/cjs/test/utils.test.d.ts.map +0 -1
- package/dist/cjs/test/utils.test.js +0 -93
- package/dist/cjs/test/utils.test.js.map +0 -1
- package/dist/esm/src/connection/connection.d.ts +0 -84
- package/dist/esm/src/connection/connection.d.ts.map +0 -1
- package/dist/esm/src/connection/connection.js +0 -177
- package/dist/esm/src/connection/connection.js.map +0 -1
- package/dist/esm/src/endpoint/request_signing/basex.d.ts +0 -10
- package/dist/esm/src/endpoint/request_signing/basex.d.ts.map +0 -1
- package/dist/esm/src/endpoint/request_signing/basex.js +0 -136
- package/dist/esm/src/endpoint/request_signing/basex.js.map +0 -1
- package/dist/esm/src/endpoint/request_signing/ed25519.d.ts +0 -17
- package/dist/esm/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
- package/dist/esm/src/endpoint/request_signing/ed25519.js +0 -52
- package/dist/esm/src/endpoint/request_signing/ed25519.js.map +0 -1
- package/dist/esm/src/endpoint/request_signing/v1.d.ts +0 -10
- package/dist/esm/src/endpoint/request_signing/v1.d.ts.map +0 -1
- package/dist/esm/src/endpoint/request_signing/v1.js +0 -143
- package/dist/esm/src/endpoint/request_signing/v1.js.map +0 -1
- package/dist/esm/src/endpoint/request_signing/validate.d.ts +0 -19
- package/dist/esm/src/endpoint/request_signing/validate.d.ts.map +0 -1
- package/dist/esm/src/endpoint/request_signing/validate.js +0 -40
- package/dist/esm/src/endpoint/request_signing/validate.js.map +0 -1
- package/dist/esm/src/generated/proto/discovery_pb.d.ts +0 -18
- package/dist/esm/src/generated/proto/discovery_pb.d.ts.map +0 -1
- package/dist/esm/src/generated/proto/discovery_pb.js +0 -37
- package/dist/esm/src/generated/proto/discovery_pb.js.map +0 -1
- package/dist/esm/src/generated/proto/javascript_pb.d.ts +0 -26
- package/dist/esm/src/generated/proto/javascript_pb.d.ts.map +0 -1
- package/dist/esm/src/generated/proto/javascript_pb.js +0 -48
- package/dist/esm/src/generated/proto/javascript_pb.js.map +0 -1
- package/dist/esm/src/generated/proto/protocol_pb.d.ts +0 -1051
- package/dist/esm/src/generated/proto/protocol_pb.d.ts.map +0 -1
- package/dist/esm/src/generated/proto/protocol_pb.js +0 -1258
- package/dist/esm/src/generated/proto/protocol_pb.js.map +0 -1
- package/dist/esm/src/invocation.d.ts +0 -48
- package/dist/esm/src/invocation.d.ts.map +0 -1
- package/dist/esm/src/invocation.js +0 -153
- package/dist/esm/src/invocation.js.map +0 -1
- package/dist/esm/src/io/decoder.d.ts +0 -9
- package/dist/esm/src/io/decoder.d.ts.map +0 -1
- package/dist/esm/src/io/decoder.js +0 -128
- package/dist/esm/src/io/decoder.js.map +0 -1
- package/dist/esm/src/io/encoder.d.ts +0 -4
- package/dist/esm/src/io/encoder.d.ts.map +0 -1
- package/dist/esm/src/io/encoder.js +0 -36
- package/dist/esm/src/io/encoder.js.map +0 -1
- package/dist/esm/src/journal.d.ts +0 -52
- package/dist/esm/src/journal.d.ts.map +0 -1
- package/dist/esm/src/journal.js +0 -410
- package/dist/esm/src/journal.js.map +0 -1
- package/dist/esm/src/local_state_store.d.ts +0 -14
- package/dist/esm/src/local_state_store.d.ts.map +0 -1
- package/dist/esm/src/local_state_store.js +0 -79
- package/dist/esm/src/local_state_store.js.map +0 -1
- package/dist/esm/src/logger.d.ts +0 -35
- package/dist/esm/src/logger.d.ts.map +0 -1
- package/dist/esm/src/logger.js.map +0 -1
- package/dist/esm/src/promise_combinator_tracker.d.ts +0 -29
- package/dist/esm/src/promise_combinator_tracker.d.ts.map +0 -1
- package/dist/esm/src/promise_combinator_tracker.js +0 -125
- package/dist/esm/src/promise_combinator_tracker.js.map +0 -1
- package/dist/esm/src/state_machine.d.ts +0 -85
- package/dist/esm/src/state_machine.d.ts.map +0 -1
- package/dist/esm/src/state_machine.js +0 -399
- package/dist/esm/src/state_machine.js.map +0 -1
- package/dist/esm/src/types/protocol.d.ts +0 -40
- package/dist/esm/src/types/protocol.d.ts.map +0 -1
- package/dist/esm/src/types/protocol.js +0 -206
- package/dist/esm/src/types/protocol.js.map +0 -1
- package/dist/esm/src/types/types.d.ts +0 -20
- package/dist/esm/src/types/types.d.ts.map +0 -1
- package/dist/esm/src/types/types.js +0 -105
- package/dist/esm/src/types/types.js.map +0 -1
- package/dist/esm/src/utils/message_logger.d.ts +0 -7
- package/dist/esm/src/utils/message_logger.d.ts.map +0 -1
- package/dist/esm/src/utils/message_logger.js +0 -75
- package/dist/esm/src/utils/message_logger.js.map +0 -1
- package/dist/esm/src/utils/promises.d.ts +0 -15
- package/dist/esm/src/utils/promises.d.ts.map +0 -1
- package/dist/esm/src/utils/promises.js +0 -63
- package/dist/esm/src/utils/promises.js.map +0 -1
- package/dist/esm/src/utils/utils.d.ts +0 -3
- package/dist/esm/src/utils/utils.d.ts.map +0 -1
- package/dist/esm/src/utils/utils.js +0 -101
- package/dist/esm/src/utils/utils.js.map +0 -1
- package/dist/esm/test/awakeable.test.d.ts +0 -2
- package/dist/esm/test/awakeable.test.d.ts.map +0 -1
- package/dist/esm/test/awakeable.test.js +0 -139
- package/dist/esm/test/awakeable.test.js.map +0 -1
- package/dist/esm/test/complete_awakeable.test.d.ts +0 -2
- package/dist/esm/test/complete_awakeable.test.d.ts.map +0 -1
- package/dist/esm/test/complete_awakeable.test.js +0 -121
- package/dist/esm/test/complete_awakeable.test.js.map +0 -1
- package/dist/esm/test/eager_state.test.d.ts +0 -2
- package/dist/esm/test/eager_state.test.d.ts.map +0 -1
- package/dist/esm/test/eager_state.test.js +0 -278
- package/dist/esm/test/eager_state.test.js.map +0 -1
- package/dist/esm/test/get_and_set_state.test.d.ts +0 -2
- package/dist/esm/test/get_and_set_state.test.d.ts.map +0 -1
- package/dist/esm/test/get_and_set_state.test.js +0 -231
- package/dist/esm/test/get_and_set_state.test.js.map +0 -1
- package/dist/esm/test/get_state.test.d.ts +0 -2
- package/dist/esm/test/get_state.test.d.ts.map +0 -1
- package/dist/esm/test/get_state.test.js +0 -326
- package/dist/esm/test/get_state.test.js.map +0 -1
- package/dist/esm/test/lambda.test.d.ts +0 -2
- package/dist/esm/test/lambda.test.d.ts.map +0 -1
- package/dist/esm/test/lambda.test.js +0 -233
- package/dist/esm/test/lambda.test.js.map +0 -1
- package/dist/esm/test/message_coders.test.d.ts +0 -2
- package/dist/esm/test/message_coders.test.d.ts.map +0 -1
- package/dist/esm/test/message_coders.test.js +0 -35
- package/dist/esm/test/message_coders.test.js.map +0 -1
- package/dist/esm/test/promise_combinator_tracker.test.d.ts +0 -2
- package/dist/esm/test/promise_combinator_tracker.test.d.ts.map +0 -1
- package/dist/esm/test/promise_combinator_tracker.test.js +0 -154
- package/dist/esm/test/promise_combinator_tracker.test.js.map +0 -1
- package/dist/esm/test/promise_combinators.test.d.ts +0 -2
- package/dist/esm/test/promise_combinators.test.d.ts.map +0 -1
- package/dist/esm/test/promise_combinators.test.js +0 -431
- package/dist/esm/test/promise_combinators.test.js.map +0 -1
- package/dist/esm/test/promises.test.d.ts +0 -2
- package/dist/esm/test/promises.test.d.ts.map +0 -1
- package/dist/esm/test/promises.test.js +0 -30
- package/dist/esm/test/promises.test.js.map +0 -1
- package/dist/esm/test/protocol_stream.test.d.ts +0 -2
- package/dist/esm/test/protocol_stream.test.d.ts.map +0 -1
- package/dist/esm/test/protocol_stream.test.js +0 -218
- package/dist/esm/test/protocol_stream.test.js.map +0 -1
- package/dist/esm/test/protoutils.d.ts +0 -44
- package/dist/esm/test/protoutils.d.ts.map +0 -1
- package/dist/esm/test/protoutils.js +0 -335
- package/dist/esm/test/protoutils.js.map +0 -1
- package/dist/esm/test/service_bind.test.d.ts +0 -2
- package/dist/esm/test/service_bind.test.d.ts.map +0 -1
- package/dist/esm/test/service_bind.test.js +0 -93
- package/dist/esm/test/service_bind.test.js.map +0 -1
- package/dist/esm/test/side_effect.test.d.ts +0 -2
- package/dist/esm/test/side_effect.test.d.ts.map +0 -1
- package/dist/esm/test/side_effect.test.js +0 -131
- package/dist/esm/test/side_effect.test.js.map +0 -1
- package/dist/esm/test/sleep.test.d.ts +0 -2
- package/dist/esm/test/sleep.test.d.ts.map +0 -1
- package/dist/esm/test/sleep.test.js +0 -222
- package/dist/esm/test/sleep.test.js.map +0 -1
- package/dist/esm/test/state_keys.test.d.ts +0 -2
- package/dist/esm/test/state_keys.test.d.ts.map +0 -1
- package/dist/esm/test/state_keys.test.js +0 -90
- package/dist/esm/test/state_keys.test.js.map +0 -1
- package/dist/esm/test/state_machine.test.d.ts +0 -2
- package/dist/esm/test/state_machine.test.d.ts.map +0 -1
- package/dist/esm/test/state_machine.test.js +0 -40
- package/dist/esm/test/state_machine.test.js.map +0 -1
- package/dist/esm/test/testdriver.d.ts +0 -39
- package/dist/esm/test/testdriver.d.ts.map +0 -1
- package/dist/esm/test/testdriver.js +0 -182
- package/dist/esm/test/testdriver.js.map +0 -1
- package/dist/esm/test/utils.test.d.ts +0 -2
- package/dist/esm/test/utils.test.d.ts.map +0 -1
- package/dist/esm/test/utils.test.js +0 -91
- package/dist/esm/test/utils.test.js.map +0 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
|
|
4
|
+
*
|
|
5
|
+
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
6
|
+
* which is released under the MIT license.
|
|
7
|
+
*
|
|
8
|
+
* You can find a copy of the license in file LICENSE in the root
|
|
9
|
+
* directory of this repository or package, or at
|
|
10
|
+
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.createLogger = void 0;
|
|
14
|
+
const logger_transport_js_1 = require("./logger_transport.js");
|
|
15
|
+
function createLogger(loggerTransport, source, context, isReplaying = () => false) {
|
|
16
|
+
function loggerForLevel(loggerTransport, source, level, isReplaying, context) {
|
|
17
|
+
return {
|
|
18
|
+
get: () => {
|
|
19
|
+
return loggerTransport.bind(null, {
|
|
20
|
+
source,
|
|
21
|
+
level,
|
|
22
|
+
replaying: isReplaying(),
|
|
23
|
+
context,
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const info = loggerForLevel(loggerTransport, source, logger_transport_js_1.RestateLogLevel.INFO, isReplaying, context);
|
|
29
|
+
return Object.create(console, {
|
|
30
|
+
trace: loggerForLevel(loggerTransport, source, logger_transport_js_1.RestateLogLevel.TRACE, isReplaying, context),
|
|
31
|
+
debug: loggerForLevel(loggerTransport, source, logger_transport_js_1.RestateLogLevel.DEBUG, isReplaying, context),
|
|
32
|
+
info,
|
|
33
|
+
log: info,
|
|
34
|
+
warn: loggerForLevel(loggerTransport, source, logger_transport_js_1.RestateLogLevel.WARN, isReplaying, context),
|
|
35
|
+
error: loggerForLevel(loggerTransport, source, logger_transport_js_1.RestateLogLevel.ERROR, isReplaying, context),
|
|
36
|
+
logForLevel: {
|
|
37
|
+
get() {
|
|
38
|
+
return (level, message, ...optionalParams) => {
|
|
39
|
+
if (optionalParams?.length === 0 || optionalParams === undefined) {
|
|
40
|
+
loggerTransport.bind(null)({
|
|
41
|
+
source,
|
|
42
|
+
level,
|
|
43
|
+
replaying: isReplaying(),
|
|
44
|
+
context,
|
|
45
|
+
}, message);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
loggerTransport.bind(null)({
|
|
49
|
+
source,
|
|
50
|
+
level,
|
|
51
|
+
replaying: isReplaying(),
|
|
52
|
+
context,
|
|
53
|
+
}, message, optionalParams);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
exports.createLogger = createLogger;
|
|
61
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/logging/logger.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AASH,+DAAwD;AAaxD,SAAgB,YAAY,CAC1B,eAAgC,EAChC,MAAiB,EACjB,OAAuB,EACvB,cAA6B,GAAG,EAAE,CAAC,KAAK;IAExC,SAAS,cAAc,CACrB,eAAgC,EAChC,MAAiB,EACjB,KAAsB,EACtB,WAA0B,EAC1B,OAAuB;QAEvB,OAAO;YACL,GAAG,EAAE,GAAG,EAAE;gBACR,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;oBAChC,MAAM;oBACN,KAAK;oBACL,SAAS,EAAE,WAAW,EAAE;oBACxB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CACzB,eAAe,EACf,MAAM,EACN,qCAAe,CAAC,IAAI,EACpB,WAAW,EACX,OAAO,CACR,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC5B,KAAK,EAAE,cAAc,CACnB,eAAe,EACf,MAAM,EACN,qCAAe,CAAC,KAAK,EACrB,WAAW,EACX,OAAO,CACR;QACD,KAAK,EAAE,cAAc,CACnB,eAAe,EACf,MAAM,EACN,qCAAe,CAAC,KAAK,EACrB,WAAW,EACX,OAAO,CACR;QACD,IAAI;QACJ,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,cAAc,CAClB,eAAe,EACf,MAAM,EACN,qCAAe,CAAC,IAAI,EACpB,WAAW,EACX,OAAO,CACR;QACD,KAAK,EAAE,cAAc,CACnB,eAAe,EACf,MAAM,EACN,qCAAe,CAAC,KAAK,EACrB,WAAW,EACX,OAAO,CACR;QACD,WAAW,EAAE;YACX,GAAG;gBACD,OAAO,CACL,KAAsB,EACtB,OAAa,EACb,GAAG,cAAqB,EAClB,EAAE;oBACR,IAAI,cAAc,EAAE,MAAM,KAAK,CAAC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;wBACjE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CACxB;4BACE,MAAM;4BACN,KAAK;4BACL,SAAS,EAAE,WAAW,EAAE;4BACxB,OAAO;yBACR,EACD,OAAO,CACR,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CACxB;4BACE,MAAM;4BACN,KAAK;4BACL,SAAS,EAAE,WAAW,EAAE;4BACxB,OAAO;yBACR,EACD,OAAO,EACP,cAAc,CACf,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;SACF;KACF,CAAW,CAAC;AACf,CAAC;AAhGD,oCAgGC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Request } from "../context.js";
|
|
2
|
+
/**
|
|
3
|
+
* Logger level.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum RestateLogLevel {
|
|
6
|
+
TRACE = "trace",
|
|
7
|
+
DEBUG = "debug",
|
|
8
|
+
INFO = "info",
|
|
9
|
+
WARN = "warn",
|
|
10
|
+
ERROR = "error"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Source of the log.
|
|
14
|
+
*/
|
|
15
|
+
export declare enum LogSource {
|
|
16
|
+
SYSTEM = "SYSTEM",
|
|
17
|
+
JOURNAL = "JOURNAL",
|
|
18
|
+
USER = "USER"
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Log event metadata metadata.
|
|
22
|
+
*/
|
|
23
|
+
export type LogMetadata = {
|
|
24
|
+
source: LogSource;
|
|
25
|
+
level: RestateLogLevel;
|
|
26
|
+
replaying: boolean;
|
|
27
|
+
context?: LoggerContext;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Logger transport, often known in other logging libraries as appender. Filtering of log events should happen within this function as well.
|
|
31
|
+
*
|
|
32
|
+
* This can be overridden in {@link RestateEndpointBase.setLogger} to customize logging. The default Logger transport will log to console.
|
|
33
|
+
*/
|
|
34
|
+
export type LoggerTransport = (params: LogMetadata, message?: any, ...optionalParams: any[]) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Logger context.
|
|
37
|
+
*/
|
|
38
|
+
export declare class LoggerContext {
|
|
39
|
+
readonly invocationId: string;
|
|
40
|
+
readonly serviceName: string;
|
|
41
|
+
readonly handlerName: string;
|
|
42
|
+
readonly key?: string | undefined;
|
|
43
|
+
readonly request?: Request | undefined;
|
|
44
|
+
readonly additionalContext?: {
|
|
45
|
+
[name: string]: string;
|
|
46
|
+
} | undefined;
|
|
47
|
+
readonly invocationTarget: string;
|
|
48
|
+
constructor(invocationId: string, serviceName: string, handlerName: string, key?: string | undefined, request?: Request | undefined, additionalContext?: {
|
|
49
|
+
[name: string]: string;
|
|
50
|
+
} | undefined);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=logger_transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger_transport.d.ts","sourceRoot":"","sources":["../../../../src/logging/logger_transport.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,GAAG,EACb,GAAG,cAAc,EAAE,GAAG,EAAE,KACrB,IAAI,CAAC;AAEV;;GAEG;AACH,qBAAa,aAAa;IAItB,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,GAAG,CAAC;IACb,QAAQ,CAAC,OAAO,CAAC;IACjB,QAAQ,CAAC,iBAAiB,CAAC;;;IAR7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAGvB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,oBAAQ,EACZ,OAAO,CAAC,qBAAS,EACjB,iBAAiB,CAAC;;iBAA4B;CAO1D"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
|
|
4
|
+
*
|
|
5
|
+
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
6
|
+
* which is released under the MIT license.
|
|
7
|
+
*
|
|
8
|
+
* You can find a copy of the license in file LICENSE in the root
|
|
9
|
+
* directory of this repository or package, or at
|
|
10
|
+
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.LoggerContext = exports.LogSource = exports.RestateLogLevel = void 0;
|
|
14
|
+
/**
|
|
15
|
+
* Logger level.
|
|
16
|
+
*/
|
|
17
|
+
var RestateLogLevel;
|
|
18
|
+
(function (RestateLogLevel) {
|
|
19
|
+
RestateLogLevel["TRACE"] = "trace";
|
|
20
|
+
RestateLogLevel["DEBUG"] = "debug";
|
|
21
|
+
RestateLogLevel["INFO"] = "info";
|
|
22
|
+
RestateLogLevel["WARN"] = "warn";
|
|
23
|
+
RestateLogLevel["ERROR"] = "error";
|
|
24
|
+
})(RestateLogLevel || (exports.RestateLogLevel = RestateLogLevel = {}));
|
|
25
|
+
/**
|
|
26
|
+
* Source of the log.
|
|
27
|
+
*/
|
|
28
|
+
var LogSource;
|
|
29
|
+
(function (LogSource) {
|
|
30
|
+
LogSource["SYSTEM"] = "SYSTEM";
|
|
31
|
+
LogSource["JOURNAL"] = "JOURNAL";
|
|
32
|
+
LogSource["USER"] = "USER";
|
|
33
|
+
})(LogSource || (exports.LogSource = LogSource = {}));
|
|
34
|
+
/**
|
|
35
|
+
* Logger context.
|
|
36
|
+
*/
|
|
37
|
+
class LoggerContext {
|
|
38
|
+
invocationId;
|
|
39
|
+
serviceName;
|
|
40
|
+
handlerName;
|
|
41
|
+
key;
|
|
42
|
+
request;
|
|
43
|
+
additionalContext;
|
|
44
|
+
invocationTarget;
|
|
45
|
+
constructor(invocationId, serviceName, handlerName, key, request, additionalContext) {
|
|
46
|
+
this.invocationId = invocationId;
|
|
47
|
+
this.serviceName = serviceName;
|
|
48
|
+
this.handlerName = handlerName;
|
|
49
|
+
this.key = key;
|
|
50
|
+
this.request = request;
|
|
51
|
+
this.additionalContext = additionalContext;
|
|
52
|
+
this.invocationTarget =
|
|
53
|
+
key === undefined || key.length === 0
|
|
54
|
+
? `${serviceName}/${handlerName}`
|
|
55
|
+
: `${serviceName}/${key}/${handlerName}`;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.LoggerContext = LoggerContext;
|
|
59
|
+
//# sourceMappingURL=logger_transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger_transport.js","sourceRoot":"","sources":["../../../../src/logging/logger_transport.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAMH;;GAEG;AACH,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,gCAAa,CAAA;IACb,kCAAe,CAAA;AACjB,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B;AAED;;GAEG;AACH,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;AACf,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAuBD;;GAEG;AACH,MAAa,aAAa;IAIb;IACA;IACA;IACA;IACA;IACA;IARF,gBAAgB,CAAS;IAElC,YACW,YAAoB,EACpB,WAAmB,EACnB,WAAmB,EACnB,GAAY,EACZ,OAAiB,EACjB,iBAA8C;QAL9C,iBAAY,GAAZ,YAAY,CAAQ;QACpB,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAQ;QACnB,QAAG,GAAH,GAAG,CAAS;QACZ,YAAO,GAAP,OAAO,CAAU;QACjB,sBAAiB,GAAjB,iBAAiB,CAA6B;QAEvD,IAAI,CAAC,gBAAgB;YACnB,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBACnC,CAAC,CAAC,GAAG,WAAW,IAAI,WAAW,EAAE;gBACjC,CAAC,CAAC,GAAG,WAAW,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;IAC/C,CAAC;CACF;AAhBD,sCAgBC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { CombineablePromise, InvocationId, InvocationPromise } from "./context.js";
|
|
2
|
+
import type * as vm from "./endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js";
|
|
3
|
+
import { TerminalError } from "./types/errors.js";
|
|
4
|
+
import { CompletablePromise } from "./utils/completable_promise.js";
|
|
5
|
+
import type { ContextImpl, RunClosuresTracker } from "./context_impl.js";
|
|
6
|
+
import type { InputPump, OutputPump } from "./io.js";
|
|
7
|
+
export declare function pendingPromise<T>(): Promise<T>;
|
|
8
|
+
export declare const RESTATE_CTX_SYMBOL: unique symbol;
|
|
9
|
+
export interface RestatePromise<T> extends CombineablePromise<T> {
|
|
10
|
+
[RESTATE_CTX_SYMBOL]: ContextImpl;
|
|
11
|
+
tryCancel(): void;
|
|
12
|
+
tryComplete(): void;
|
|
13
|
+
uncompletedLeaves(): Array<number>;
|
|
14
|
+
publicPromise(): Promise<T>;
|
|
15
|
+
}
|
|
16
|
+
export type AsyncResultValue = "Empty" | {
|
|
17
|
+
Success: Uint8Array;
|
|
18
|
+
} | {
|
|
19
|
+
Failure: vm.WasmFailure;
|
|
20
|
+
} | {
|
|
21
|
+
StateKeys: string[];
|
|
22
|
+
} | {
|
|
23
|
+
InvocationId: string;
|
|
24
|
+
};
|
|
25
|
+
export declare function extractContext(n: any): ContextImpl | undefined;
|
|
26
|
+
declare abstract class AbstractRestatePromise<T> implements RestatePromise<T> {
|
|
27
|
+
[RESTATE_CTX_SYMBOL]: ContextImpl;
|
|
28
|
+
private pollingPromise?;
|
|
29
|
+
private cancelPromise;
|
|
30
|
+
protected constructor(ctx: ContextImpl);
|
|
31
|
+
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
|
|
32
|
+
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined): Promise<T | TResult>;
|
|
33
|
+
finally(onfinally?: (() => void) | null | undefined): Promise<T>;
|
|
34
|
+
private publicPromiseOrCancelPromise;
|
|
35
|
+
orTimeout(millis: number): CombineablePromise<T>;
|
|
36
|
+
map<U>(mapper: (value?: T, failure?: TerminalError) => U): CombineablePromise<U>;
|
|
37
|
+
tryCancel(): void;
|
|
38
|
+
abstract tryComplete(): void;
|
|
39
|
+
abstract uncompletedLeaves(): Array<number>;
|
|
40
|
+
abstract publicPromise(): Promise<T>;
|
|
41
|
+
abstract [Symbol.toStringTag]: string;
|
|
42
|
+
}
|
|
43
|
+
export declare class RestateSinglePromise<T> extends AbstractRestatePromise<T> {
|
|
44
|
+
readonly handle: number;
|
|
45
|
+
private readonly completer;
|
|
46
|
+
private state;
|
|
47
|
+
private completablePromise;
|
|
48
|
+
constructor(ctx: ContextImpl, handle: number, completer: (value: AsyncResultValue, prom: CompletablePromise<T>) => void);
|
|
49
|
+
uncompletedLeaves(): number[];
|
|
50
|
+
tryComplete(): void;
|
|
51
|
+
publicPromise(): Promise<T>;
|
|
52
|
+
readonly [Symbol.toStringTag] = "RestateSinglePromise";
|
|
53
|
+
}
|
|
54
|
+
export declare class RestateInvocationPromise<T> extends RestateSinglePromise<T> implements InvocationPromise<T> {
|
|
55
|
+
private readonly invocationIdPromise;
|
|
56
|
+
constructor(ctx: ContextImpl, handle: number, completer: (value: AsyncResultValue, prom: CompletablePromise<T>) => void, invocationIdPromise: Promise<InvocationId>);
|
|
57
|
+
get invocationId(): Promise<InvocationId>;
|
|
58
|
+
}
|
|
59
|
+
export declare class RestateCombinatorPromise extends AbstractRestatePromise<any> {
|
|
60
|
+
readonly childs: Array<RestatePromise<any>>;
|
|
61
|
+
private state;
|
|
62
|
+
private readonly combinatorPromise;
|
|
63
|
+
constructor(ctx: ContextImpl, combinatorConstructor: (promises: Promise<any>[]) => Promise<any>, childs: Array<RestatePromise<any>>);
|
|
64
|
+
uncompletedLeaves(): number[];
|
|
65
|
+
tryComplete(): void;
|
|
66
|
+
publicPromise(): Promise<unknown>;
|
|
67
|
+
readonly [Symbol.toStringTag] = "RestateCombinatorPromise";
|
|
68
|
+
}
|
|
69
|
+
export declare class RestatePendingPromise<T> implements RestatePromise<T> {
|
|
70
|
+
[RESTATE_CTX_SYMBOL]: ContextImpl;
|
|
71
|
+
constructor(ctx: ContextImpl);
|
|
72
|
+
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
|
|
73
|
+
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined): Promise<T | TResult>;
|
|
74
|
+
finally(onfinally?: (() => void) | null | undefined): Promise<T>;
|
|
75
|
+
orTimeout(): CombineablePromise<T>;
|
|
76
|
+
map<U>(): CombineablePromise<U>;
|
|
77
|
+
tryCancel(): void;
|
|
78
|
+
tryComplete(): void;
|
|
79
|
+
uncompletedLeaves(): number[];
|
|
80
|
+
publicPromise(): Promise<T>;
|
|
81
|
+
readonly [Symbol.toStringTag] = "RestatePendingPromise";
|
|
82
|
+
}
|
|
83
|
+
export declare class InvocationPendingPromise<T> extends RestatePendingPromise<T> implements InvocationPromise<T> {
|
|
84
|
+
constructor(ctx: ContextImpl);
|
|
85
|
+
get invocationId(): Promise<InvocationId>;
|
|
86
|
+
}
|
|
87
|
+
export declare class RestateMappedPromise<T, U> extends AbstractRestatePromise<U> {
|
|
88
|
+
readonly inner: RestatePromise<T>;
|
|
89
|
+
private publicPromiseMapper;
|
|
90
|
+
constructor(ctx: ContextImpl, inner: RestatePromise<T>, mapper: (value?: T, failure?: TerminalError) => U);
|
|
91
|
+
tryComplete(): void;
|
|
92
|
+
uncompletedLeaves(): number[];
|
|
93
|
+
publicPromise(): Promise<U>;
|
|
94
|
+
readonly [Symbol.toStringTag] = "RestateMappedPromise";
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Promises executor, gluing VM with I/O and Promises given to user space.
|
|
98
|
+
*/
|
|
99
|
+
export declare class PromisesExecutor {
|
|
100
|
+
private readonly coreVm;
|
|
101
|
+
private readonly inputPump;
|
|
102
|
+
private readonly outputPump;
|
|
103
|
+
private readonly runClosuresTracker;
|
|
104
|
+
private readonly errorCallback;
|
|
105
|
+
constructor(coreVm: vm.WasmVM, inputPump: InputPump, outputPump: OutputPump, runClosuresTracker: RunClosuresTracker, errorCallback: (e: any) => void);
|
|
106
|
+
doProgress(restatePromise: RestatePromise<unknown>): Promise<void>;
|
|
107
|
+
private doProgressInner;
|
|
108
|
+
}
|
|
109
|
+
export {};
|
|
110
|
+
//# sourceMappingURL=promises.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promises.d.ts","sourceRoot":"","sources":["../../../src/promises.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023-2025 - Restate Software, Inc., Restate GmbH
|
|
4
|
+
*
|
|
5
|
+
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
6
|
+
* which is released under the MIT license.
|
|
7
|
+
*
|
|
8
|
+
* You can find a copy of the license in file LICENSE in the root
|
|
9
|
+
* directory of this repository or package, or at
|
|
10
|
+
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.PromisesExecutor = exports.RestateMappedPromise = exports.InvocationPendingPromise = exports.RestatePendingPromise = exports.RestateCombinatorPromise = exports.RestateInvocationPromise = exports.RestateSinglePromise = exports.extractContext = exports.RESTATE_CTX_SYMBOL = exports.pendingPromise = void 0;
|
|
14
|
+
const errors_js_1 = require("./types/errors.js");
|
|
15
|
+
const completable_promise_js_1 = require("./utils/completable_promise.js");
|
|
16
|
+
const promises_1 = require("timers/promises");
|
|
17
|
+
// A promise that is never completed
|
|
18
|
+
function pendingPromise() {
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
20
|
+
return new Promise(() => { });
|
|
21
|
+
}
|
|
22
|
+
exports.pendingPromise = pendingPromise;
|
|
23
|
+
// ------ Restate promises ------
|
|
24
|
+
// These promises are "proxy promises" that will be handed over to the user,
|
|
25
|
+
// and moved forward by the PromiseExecutor below when the user awaits on them.
|
|
26
|
+
var PromiseState;
|
|
27
|
+
(function (PromiseState) {
|
|
28
|
+
PromiseState[PromiseState["COMPLETED"] = 0] = "COMPLETED";
|
|
29
|
+
PromiseState[PromiseState["NOT_COMPLETED"] = 1] = "NOT_COMPLETED";
|
|
30
|
+
})(PromiseState || (PromiseState = {}));
|
|
31
|
+
exports.RESTATE_CTX_SYMBOL = Symbol("restateContext");
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
33
|
+
function extractContext(n) {
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
35
|
+
return n[exports.RESTATE_CTX_SYMBOL];
|
|
36
|
+
}
|
|
37
|
+
exports.extractContext = extractContext;
|
|
38
|
+
class AbstractRestatePromise {
|
|
39
|
+
[exports.RESTATE_CTX_SYMBOL];
|
|
40
|
+
pollingPromise;
|
|
41
|
+
cancelPromise = new completable_promise_js_1.CompletablePromise();
|
|
42
|
+
constructor(ctx) {
|
|
43
|
+
this[exports.RESTATE_CTX_SYMBOL] = ctx;
|
|
44
|
+
}
|
|
45
|
+
// --- Promise methods
|
|
46
|
+
then(onfulfilled, onrejected) {
|
|
47
|
+
this.pollingPromise =
|
|
48
|
+
this.pollingPromise ||
|
|
49
|
+
this[exports.RESTATE_CTX_SYMBOL].promisesExecutor
|
|
50
|
+
.doProgress(this)
|
|
51
|
+
.catch(() => { });
|
|
52
|
+
return this.publicPromiseOrCancelPromise().then(onfulfilled, onrejected);
|
|
53
|
+
}
|
|
54
|
+
catch(onrejected) {
|
|
55
|
+
this.pollingPromise =
|
|
56
|
+
this.pollingPromise ||
|
|
57
|
+
this[exports.RESTATE_CTX_SYMBOL].promisesExecutor
|
|
58
|
+
.doProgress(this)
|
|
59
|
+
.catch(() => { });
|
|
60
|
+
return this.publicPromiseOrCancelPromise().catch(onrejected);
|
|
61
|
+
}
|
|
62
|
+
finally(onfinally) {
|
|
63
|
+
this.pollingPromise =
|
|
64
|
+
this.pollingPromise ||
|
|
65
|
+
this[exports.RESTATE_CTX_SYMBOL].promisesExecutor
|
|
66
|
+
.doProgress(this)
|
|
67
|
+
.catch(() => { });
|
|
68
|
+
return this.publicPromiseOrCancelPromise().finally(onfinally);
|
|
69
|
+
}
|
|
70
|
+
publicPromiseOrCancelPromise() {
|
|
71
|
+
return Promise.race([
|
|
72
|
+
this.cancelPromise.promise,
|
|
73
|
+
this.publicPromise(),
|
|
74
|
+
]);
|
|
75
|
+
}
|
|
76
|
+
// --- Combineable Promise methods
|
|
77
|
+
orTimeout(millis) {
|
|
78
|
+
return new RestateCombinatorPromise(this[exports.RESTATE_CTX_SYMBOL], ([thisPromise, sleepPromise]) => {
|
|
79
|
+
return new Promise((resolve, reject) => {
|
|
80
|
+
thisPromise.then(resolve, reject);
|
|
81
|
+
sleepPromise.then(() => {
|
|
82
|
+
reject(new errors_js_1.TimeoutError());
|
|
83
|
+
}, reject);
|
|
84
|
+
});
|
|
85
|
+
}, [this, this[exports.RESTATE_CTX_SYMBOL].sleep(millis)]);
|
|
86
|
+
}
|
|
87
|
+
map(mapper) {
|
|
88
|
+
return new RestateMappedPromise(this[exports.RESTATE_CTX_SYMBOL], this, mapper);
|
|
89
|
+
}
|
|
90
|
+
tryCancel() {
|
|
91
|
+
this.cancelPromise.reject(new errors_js_1.CancelledError());
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
class RestateSinglePromise extends AbstractRestatePromise {
|
|
95
|
+
handle;
|
|
96
|
+
completer;
|
|
97
|
+
state = PromiseState.NOT_COMPLETED;
|
|
98
|
+
completablePromise = new completable_promise_js_1.CompletablePromise();
|
|
99
|
+
constructor(ctx, handle, completer) {
|
|
100
|
+
super(ctx);
|
|
101
|
+
this.handle = handle;
|
|
102
|
+
this.completer = completer;
|
|
103
|
+
}
|
|
104
|
+
uncompletedLeaves() {
|
|
105
|
+
return this.state === PromiseState.COMPLETED ? [] : [this.handle];
|
|
106
|
+
}
|
|
107
|
+
tryComplete() {
|
|
108
|
+
if (this.state === PromiseState.COMPLETED) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const notification = this[exports.RESTATE_CTX_SYMBOL].coreVm.take_notification(this.handle);
|
|
112
|
+
if (notification === "NotReady") {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
this.state = PromiseState.COMPLETED;
|
|
116
|
+
this.completer(notification, this.completablePromise);
|
|
117
|
+
}
|
|
118
|
+
publicPromise() {
|
|
119
|
+
return this.completablePromise.promise;
|
|
120
|
+
}
|
|
121
|
+
[Symbol.toStringTag] = "RestateSinglePromise";
|
|
122
|
+
}
|
|
123
|
+
exports.RestateSinglePromise = RestateSinglePromise;
|
|
124
|
+
class RestateInvocationPromise extends RestateSinglePromise {
|
|
125
|
+
invocationIdPromise;
|
|
126
|
+
constructor(ctx, handle, completer, invocationIdPromise) {
|
|
127
|
+
super(ctx, handle, completer);
|
|
128
|
+
this.invocationIdPromise = invocationIdPromise;
|
|
129
|
+
}
|
|
130
|
+
get invocationId() {
|
|
131
|
+
return this.invocationIdPromise;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
exports.RestateInvocationPromise = RestateInvocationPromise;
|
|
135
|
+
class RestateCombinatorPromise extends AbstractRestatePromise {
|
|
136
|
+
childs;
|
|
137
|
+
state = PromiseState.NOT_COMPLETED;
|
|
138
|
+
combinatorPromise;
|
|
139
|
+
constructor(ctx, combinatorConstructor, childs) {
|
|
140
|
+
super(ctx);
|
|
141
|
+
this.childs = childs;
|
|
142
|
+
this.combinatorPromise = combinatorConstructor(childs.map((p) => p.publicPromise())).finally(() => {
|
|
143
|
+
this.state = PromiseState.COMPLETED;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
uncompletedLeaves() {
|
|
147
|
+
return this.state === PromiseState.COMPLETED
|
|
148
|
+
? []
|
|
149
|
+
: this.childs.flatMap((p) => p.uncompletedLeaves());
|
|
150
|
+
}
|
|
151
|
+
tryComplete() {
|
|
152
|
+
this.childs.forEach((c) => c.tryComplete());
|
|
153
|
+
}
|
|
154
|
+
publicPromise() {
|
|
155
|
+
return this.combinatorPromise;
|
|
156
|
+
}
|
|
157
|
+
[Symbol.toStringTag] = "RestateCombinatorPromise";
|
|
158
|
+
}
|
|
159
|
+
exports.RestateCombinatorPromise = RestateCombinatorPromise;
|
|
160
|
+
class RestatePendingPromise {
|
|
161
|
+
[exports.RESTATE_CTX_SYMBOL];
|
|
162
|
+
constructor(ctx) {
|
|
163
|
+
this[exports.RESTATE_CTX_SYMBOL] = ctx;
|
|
164
|
+
}
|
|
165
|
+
// --- Promise methods
|
|
166
|
+
then(onfulfilled, onrejected) {
|
|
167
|
+
return pendingPromise().then(onfulfilled, onrejected);
|
|
168
|
+
}
|
|
169
|
+
catch(onrejected) {
|
|
170
|
+
return pendingPromise().catch(onrejected);
|
|
171
|
+
}
|
|
172
|
+
finally(onfinally) {
|
|
173
|
+
return pendingPromise().finally(onfinally);
|
|
174
|
+
}
|
|
175
|
+
// --- RestatePromise methods
|
|
176
|
+
orTimeout() {
|
|
177
|
+
return this;
|
|
178
|
+
}
|
|
179
|
+
map() {
|
|
180
|
+
return this;
|
|
181
|
+
}
|
|
182
|
+
tryCancel() { }
|
|
183
|
+
tryComplete() { }
|
|
184
|
+
uncompletedLeaves() {
|
|
185
|
+
return [];
|
|
186
|
+
}
|
|
187
|
+
publicPromise() {
|
|
188
|
+
return pendingPromise();
|
|
189
|
+
}
|
|
190
|
+
[Symbol.toStringTag] = "RestatePendingPromise";
|
|
191
|
+
}
|
|
192
|
+
exports.RestatePendingPromise = RestatePendingPromise;
|
|
193
|
+
class InvocationPendingPromise extends RestatePendingPromise {
|
|
194
|
+
constructor(ctx) {
|
|
195
|
+
super(ctx);
|
|
196
|
+
}
|
|
197
|
+
get invocationId() {
|
|
198
|
+
return pendingPromise();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.InvocationPendingPromise = InvocationPendingPromise;
|
|
202
|
+
class RestateMappedPromise extends AbstractRestatePromise {
|
|
203
|
+
inner;
|
|
204
|
+
publicPromiseMapper;
|
|
205
|
+
constructor(ctx, inner, mapper) {
|
|
206
|
+
super(ctx);
|
|
207
|
+
this.inner = inner;
|
|
208
|
+
this.publicPromiseMapper = (value, failure) => {
|
|
209
|
+
try {
|
|
210
|
+
return Promise.resolve(mapper(value, failure));
|
|
211
|
+
}
|
|
212
|
+
catch (e) {
|
|
213
|
+
if (e instanceof errors_js_1.TerminalError) {
|
|
214
|
+
return Promise.reject(e);
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
ctx.handleInvocationEndError(e);
|
|
218
|
+
return pendingPromise();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
tryComplete() {
|
|
224
|
+
this.inner.tryComplete();
|
|
225
|
+
}
|
|
226
|
+
uncompletedLeaves() {
|
|
227
|
+
return this.inner.uncompletedLeaves();
|
|
228
|
+
}
|
|
229
|
+
publicPromise() {
|
|
230
|
+
const promiseMapper = this.publicPromiseMapper;
|
|
231
|
+
return this.inner.publicPromise().then((t) => promiseMapper(t, undefined), (error) => {
|
|
232
|
+
if (error instanceof errors_js_1.RestateError) {
|
|
233
|
+
return promiseMapper(undefined, error);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
// Something else, just re-throw it
|
|
237
|
+
throw error;
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
[Symbol.toStringTag] = "RestateMappedPromise";
|
|
242
|
+
}
|
|
243
|
+
exports.RestateMappedPromise = RestateMappedPromise;
|
|
244
|
+
/**
|
|
245
|
+
* Promises executor, gluing VM with I/O and Promises given to user space.
|
|
246
|
+
*/
|
|
247
|
+
class PromisesExecutor {
|
|
248
|
+
coreVm;
|
|
249
|
+
inputPump;
|
|
250
|
+
outputPump;
|
|
251
|
+
runClosuresTracker;
|
|
252
|
+
errorCallback;
|
|
253
|
+
constructor(coreVm, inputPump, outputPump, runClosuresTracker, errorCallback) {
|
|
254
|
+
this.coreVm = coreVm;
|
|
255
|
+
this.inputPump = inputPump;
|
|
256
|
+
this.outputPump = outputPump;
|
|
257
|
+
this.runClosuresTracker = runClosuresTracker;
|
|
258
|
+
this.errorCallback = errorCallback;
|
|
259
|
+
}
|
|
260
|
+
async doProgress(restatePromise) {
|
|
261
|
+
// Only the first time try process output
|
|
262
|
+
await this.outputPump.awaitNextProgress();
|
|
263
|
+
await this.doProgressInner(restatePromise);
|
|
264
|
+
}
|
|
265
|
+
async doProgressInner(restatePromise) {
|
|
266
|
+
// Try complete the promise
|
|
267
|
+
try {
|
|
268
|
+
restatePromise.tryComplete();
|
|
269
|
+
}
|
|
270
|
+
catch (e) {
|
|
271
|
+
// This can happen if either take_notification throws an exception or completer throws an exception.
|
|
272
|
+
// Both should be programming mistakes of the SDK, but we cover them here.
|
|
273
|
+
restatePromise[exports.RESTATE_CTX_SYMBOL].handleInvocationEndError(e);
|
|
274
|
+
return Promise.resolve();
|
|
275
|
+
}
|
|
276
|
+
// tl;dr don't touch this, or you can break combineable promises,
|
|
277
|
+
// slinkydeveloper won't be happy about it
|
|
278
|
+
//
|
|
279
|
+
// The reason for this setTimeout is that we need to enqueue the polling after
|
|
280
|
+
// we eventually resolve some promises. This is especially crucial for RestateCombinatorPromise
|
|
281
|
+
// as it flips the completed state using .finally() on the combinator.
|
|
282
|
+
return (0, promises_1.setTimeout)().then(async () => {
|
|
283
|
+
try {
|
|
284
|
+
// Invoke do progress on the vm
|
|
285
|
+
const handles = restatePromise.uncompletedLeaves();
|
|
286
|
+
if (handles.length === 0) {
|
|
287
|
+
// Completed, we're good!
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
const doProgressResult = this.coreVm.do_progress(new Uint32Array(handles));
|
|
291
|
+
if (doProgressResult === "AnyCompleted") {
|
|
292
|
+
// Next recursion will cause the promise to do some progress
|
|
293
|
+
}
|
|
294
|
+
else if (doProgressResult === "ReadFromInput") {
|
|
295
|
+
// Read from input
|
|
296
|
+
await this.inputPump.awaitNextProgress();
|
|
297
|
+
}
|
|
298
|
+
else if (doProgressResult === "WaitingPendingRun") {
|
|
299
|
+
// Wait for any of the pending run to complete
|
|
300
|
+
await this.runClosuresTracker.awaitNextCompletedRun();
|
|
301
|
+
}
|
|
302
|
+
else if (doProgressResult === "CancelSignalReceived") {
|
|
303
|
+
restatePromise.tryCancel();
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
// We need to execute a run closure
|
|
308
|
+
this.runClosuresTracker.executeRun(doProgressResult.ExecuteRun);
|
|
309
|
+
// Let the run context switch, then come back to this flow.
|
|
310
|
+
await (0, promises_1.setTimeout)();
|
|
311
|
+
}
|
|
312
|
+
// Recursion
|
|
313
|
+
await this.doProgress(restatePromise);
|
|
314
|
+
}
|
|
315
|
+
catch (e) {
|
|
316
|
+
// Not good, this is a retryable error.
|
|
317
|
+
this.errorCallback(e);
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
exports.PromisesExecutor = PromisesExecutor;
|
|
323
|
+
//# sourceMappingURL=promises.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../src/promises.ts"],"names":[],"mappings":"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"}
|