@restatedev/restate-sdk 0.9.2 → 1.0.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 +10 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/src/common_api.d.ts +7 -0
- package/dist/cjs/src/common_api.d.ts.map +1 -0
- package/dist/cjs/src/common_api.js +25 -0
- package/dist/cjs/src/common_api.js.map +1 -0
- package/dist/{src → cjs/src}/connection/buffered_connection.d.ts +3 -4
- package/dist/cjs/src/connection/buffered_connection.d.ts.map +1 -0
- package/dist/{src → cjs/src}/connection/buffered_connection.js +2 -2
- package/dist/cjs/src/connection/buffered_connection.js.map +1 -0
- package/dist/{src → cjs/src}/connection/connection.d.ts +2 -1
- package/dist/cjs/src/connection/connection.d.ts.map +1 -0
- package/dist/cjs/src/connection/connection.js.map +1 -0
- package/dist/{src → cjs/src}/connection/http_connection.d.ts +9 -5
- package/dist/cjs/src/connection/http_connection.d.ts.map +1 -0
- package/dist/{src → cjs/src}/connection/http_connection.js +16 -11
- package/dist/cjs/src/connection/http_connection.js.map +1 -0
- package/dist/{src → cjs/src}/connection/lambda_connection.d.ts +5 -3
- package/dist/cjs/src/connection/lambda_connection.d.ts.map +1 -0
- package/dist/{src → cjs/src}/connection/lambda_connection.js +14 -9
- package/dist/cjs/src/connection/lambda_connection.js.map +1 -0
- package/dist/{src → cjs/src}/context.d.ts +149 -44
- package/dist/cjs/src/context.d.ts.map +1 -0
- package/dist/{src → cjs/src}/context.js +5 -5
- package/dist/cjs/src/context.js.map +1 -0
- package/dist/cjs/src/context_impl.d.ts +54 -0
- package/dist/cjs/src/context_impl.d.ts.map +1 -0
- package/dist/{src → cjs/src}/context_impl.js +168 -106
- package/dist/cjs/src/context_impl.js.map +1 -0
- package/dist/cjs/src/endpoint/endpoint_builder.d.ts +18 -0
- package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/endpoint_builder.js +130 -0
- package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -0
- package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +37 -0
- package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/fetch_endpoint.js +46 -0
- package/dist/cjs/src/endpoint/fetch_endpoint.js.map +1 -0
- package/dist/cjs/src/endpoint/handlers/fetch.d.ts +6 -0
- package/dist/cjs/src/endpoint/handlers/fetch.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/handlers/fetch.js +34 -0
- package/dist/cjs/src/endpoint/handlers/fetch.js.map +1 -0
- package/dist/cjs/src/endpoint/handlers/generic.d.ts +44 -0
- package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/handlers/generic.js +193 -0
- package/dist/cjs/src/endpoint/handlers/generic.js.map +1 -0
- package/dist/cjs/src/endpoint/handlers/lambda.d.ts +8 -0
- package/dist/cjs/src/endpoint/handlers/lambda.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/handlers/lambda.js +66 -0
- package/dist/cjs/src/endpoint/handlers/lambda.js.map +1 -0
- package/dist/{src/endpoint/http2_handler.d.ts → cjs/src/endpoint/handlers/node.d.ts} +4 -4
- package/dist/cjs/src/endpoint/handlers/node.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/handlers/node.js +188 -0
- package/dist/cjs/src/endpoint/handlers/node.js.map +1 -0
- package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +32 -0
- package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/lambda_endpoint.js +55 -0
- package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -0
- package/dist/cjs/src/endpoint/node_endpoint.d.ts +19 -0
- package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/node_endpoint.js +116 -0
- package/dist/cjs/src/endpoint/node_endpoint.js.map +1 -0
- package/dist/cjs/src/endpoint/request_signing/basex.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/request_signing/basex.js.map +1 -0
- package/dist/{src → cjs/src}/endpoint/request_signing/ed25519.d.ts +1 -1
- package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
- package/dist/{src → cjs/src}/endpoint/request_signing/ed25519.js +3 -1
- package/dist/cjs/src/endpoint/request_signing/ed25519.js.map +1 -0
- package/dist/{src → cjs/src}/endpoint/request_signing/v1.d.ts +2 -2
- package/dist/cjs/src/endpoint/request_signing/v1.d.ts.map +1 -0
- package/dist/{src → cjs/src}/endpoint/request_signing/v1.js +9 -16
- package/dist/cjs/src/endpoint/request_signing/v1.js.map +1 -0
- package/dist/{src → cjs/src}/endpoint/request_signing/validate.d.ts +1 -1
- package/dist/cjs/src/endpoint/request_signing/validate.d.ts.map +1 -0
- package/dist/{src → cjs/src}/endpoint/request_signing/validate.js +3 -3
- package/dist/cjs/src/endpoint/request_signing/validate.js.map +1 -0
- package/dist/{src → cjs/src}/endpoint.d.ts +27 -26
- package/dist/cjs/src/endpoint.d.ts.map +1 -0
- package/dist/{src → cjs/src}/endpoint.js +0 -9
- package/dist/cjs/src/endpoint.js.map +1 -0
- package/dist/cjs/src/fetch.d.ts +7 -0
- package/dist/cjs/src/fetch.d.ts.map +1 -0
- package/dist/cjs/src/fetch.js +37 -0
- package/dist/cjs/src/fetch.js.map +1 -0
- package/dist/cjs/src/generated/proto/discovery_pb.d.ts +18 -0
- package/dist/cjs/src/generated/proto/discovery_pb.d.ts.map +1 -0
- package/dist/cjs/src/generated/proto/discovery_pb.js +40 -0
- package/dist/cjs/src/generated/proto/discovery_pb.js.map +1 -0
- package/dist/cjs/src/generated/proto/javascript_pb.d.ts.map +1 -0
- package/dist/cjs/src/generated/proto/javascript_pb.js.map +1 -0
- package/dist/{src → cjs/src}/generated/proto/protocol_pb.d.ts +186 -0
- package/dist/cjs/src/generated/proto/protocol_pb.d.ts.map +1 -0
- package/dist/{src → cjs/src}/generated/proto/protocol_pb.js +177 -1
- package/dist/cjs/src/generated/proto/protocol_pb.js.map +1 -0
- package/dist/cjs/src/generated/version.d.ts +2 -0
- package/dist/cjs/src/generated/version.d.ts.map +1 -0
- package/dist/{src → cjs/src}/generated/version.js +1 -1
- package/dist/cjs/src/generated/version.js.map +1 -0
- package/dist/{src → cjs/src}/invocation.d.ts +5 -5
- package/dist/cjs/src/invocation.d.ts.map +1 -0
- package/dist/{src → cjs/src}/invocation.js +14 -14
- package/dist/cjs/src/invocation.js.map +1 -0
- package/dist/{src → cjs/src}/io/decoder.d.ts +1 -2
- package/dist/cjs/src/io/decoder.d.ts.map +1 -0
- package/dist/{src → cjs/src}/io/decoder.js +20 -24
- package/dist/cjs/src/io/decoder.js.map +1 -0
- package/dist/{src → cjs/src}/io/encoder.d.ts +1 -1
- package/dist/cjs/src/io/encoder.d.ts.map +1 -0
- package/dist/{src → cjs/src}/io/encoder.js +6 -6
- package/dist/cjs/src/io/encoder.js.map +1 -0
- package/dist/{src → cjs/src}/journal.d.ts +7 -7
- package/dist/cjs/src/journal.d.ts.map +1 -0
- package/dist/{src → cjs/src}/journal.js +54 -37
- package/dist/cjs/src/journal.js.map +1 -0
- package/dist/cjs/src/lambda.d.ts +7 -0
- package/dist/cjs/src/lambda.d.ts.map +1 -0
- package/dist/cjs/src/lambda.js +37 -0
- package/dist/cjs/src/lambda.js.map +1 -0
- package/dist/{src → cjs/src}/local_state_store.d.ts +2 -1
- package/dist/cjs/src/local_state_store.d.ts.map +1 -0
- package/dist/{src → cjs/src}/local_state_store.js +10 -10
- package/dist/cjs/src/local_state_store.js.map +1 -0
- package/dist/cjs/src/logger.d.ts.map +1 -0
- package/dist/{src → cjs/src}/logger.js +1 -8
- package/dist/cjs/src/logger.js.map +1 -0
- package/dist/{src → cjs/src}/promise_combinator_tracker.d.ts +1 -1
- package/dist/cjs/src/promise_combinator_tracker.d.ts.map +1 -0
- package/dist/{src → cjs/src}/promise_combinator_tracker.js +7 -5
- package/dist/cjs/src/promise_combinator_tracker.js.map +1 -0
- package/dist/cjs/src/public_api.d.ts +7 -0
- package/dist/cjs/src/public_api.d.ts.map +1 -0
- package/dist/cjs/src/public_api.js +37 -0
- package/dist/cjs/src/public_api.js.map +1 -0
- package/dist/{src → cjs/src}/state_machine.d.ts +14 -13
- package/dist/cjs/src/state_machine.d.ts.map +1 -0
- package/dist/{src → cjs/src}/state_machine.js +59 -59
- package/dist/cjs/src/state_machine.js.map +1 -0
- package/dist/cjs/src/types/components.d.ts +78 -0
- package/dist/cjs/src/types/components.d.ts.map +1 -0
- package/dist/cjs/src/types/components.js +260 -0
- package/dist/cjs/src/types/components.js.map +1 -0
- package/dist/{src → cjs/src}/types/discovery.d.ts +6 -3
- package/dist/cjs/src/types/discovery.d.ts.map +1 -0
- package/dist/{src → cjs/src}/types/discovery.js +5 -3
- package/dist/cjs/src/types/discovery.js.map +1 -0
- package/dist/{src → cjs/src}/types/errors.d.ts +2 -2
- package/dist/cjs/src/types/errors.d.ts.map +1 -0
- package/dist/{src → cjs/src}/types/errors.js +8 -8
- package/dist/cjs/src/types/errors.js.map +1 -0
- package/dist/{src → cjs/src}/types/protocol.d.ts +16 -9
- package/dist/cjs/src/types/protocol.d.ts.map +1 -0
- package/dist/cjs/src/types/protocol.js +237 -0
- package/dist/cjs/src/types/protocol.js.map +1 -0
- package/dist/cjs/src/types/rpc.d.ts +300 -0
- package/dist/cjs/src/types/rpc.d.ts.map +1 -0
- package/dist/cjs/src/types/rpc.js +419 -0
- package/dist/cjs/src/types/rpc.js.map +1 -0
- package/dist/{src → cjs/src}/types/types.d.ts +3 -5
- package/dist/cjs/src/types/types.d.ts.map +1 -0
- package/dist/{src → cjs/src}/types/types.js +17 -28
- package/dist/cjs/src/types/types.js.map +1 -0
- package/dist/cjs/src/user_agent.d.ts +2 -0
- package/dist/cjs/src/user_agent.d.ts.map +1 -0
- package/dist/{src → cjs/src}/user_agent.js +2 -2
- package/dist/cjs/src/user_agent.js.map +1 -0
- package/dist/cjs/src/utils/buffer.d.ts +5 -0
- package/dist/cjs/src/utils/buffer.d.ts.map +1 -0
- package/dist/cjs/src/utils/buffer.js +59 -0
- package/dist/cjs/src/utils/buffer.js.map +1 -0
- package/dist/{src → cjs/src}/utils/message_logger.d.ts +1 -1
- package/dist/cjs/src/utils/message_logger.d.ts.map +1 -0
- package/dist/{src → cjs/src}/utils/message_logger.js +7 -7
- package/dist/cjs/src/utils/message_logger.js.map +1 -0
- package/dist/cjs/src/utils/promises.d.ts.map +1 -0
- package/dist/{src → cjs/src}/utils/promises.js +2 -1
- package/dist/cjs/src/utils/promises.js.map +1 -0
- package/dist/{src → cjs/src}/utils/rand.d.ts +3 -3
- package/dist/cjs/src/utils/rand.d.ts.map +1 -0
- package/dist/{src → cjs/src}/utils/rand.js +10 -15
- package/dist/cjs/src/utils/rand.js.map +1 -0
- package/dist/cjs/src/utils/serde.d.ts +5 -0
- package/dist/cjs/src/utils/serde.d.ts.map +1 -0
- package/dist/cjs/src/utils/serde.js +50 -0
- package/dist/cjs/src/utils/serde.js.map +1 -0
- package/dist/cjs/src/utils/utils.d.ts.map +1 -0
- package/dist/{src → cjs/src}/utils/utils.js +11 -11
- package/dist/cjs/src/utils/utils.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/src/common_api.d.ts +7 -0
- package/dist/esm/src/common_api.d.ts.map +1 -0
- package/dist/esm/src/common_api.js +14 -0
- package/dist/esm/src/common_api.js.map +1 -0
- package/dist/esm/src/connection/buffered_connection.d.ts +14 -0
- package/dist/esm/src/connection/buffered_connection.d.ts.map +1 -0
- package/dist/esm/src/connection/buffered_connection.js +40 -0
- package/dist/esm/src/connection/buffered_connection.js.map +1 -0
- package/dist/esm/src/connection/connection.d.ts +20 -0
- package/dist/esm/src/connection/connection.d.ts.map +1 -0
- package/dist/esm/src/connection/connection.js +12 -0
- package/dist/esm/src/connection/connection.js.map +1 -0
- package/dist/esm/src/connection/http_connection.d.ts +77 -0
- package/dist/esm/src/connection/http_connection.d.ts.map +1 -0
- package/dist/esm/src/connection/http_connection.js +204 -0
- package/dist/esm/src/connection/http_connection.js.map +1 -0
- package/dist/esm/src/connection/lambda_connection.d.ts +17 -0
- package/dist/esm/src/connection/lambda_connection.d.ts.map +1 -0
- package/dist/esm/src/connection/lambda_connection.js +60 -0
- package/dist/esm/src/connection/lambda_connection.js.map +1 -0
- package/dist/esm/src/context.d.ts +541 -0
- package/dist/esm/src/context.d.ts.map +1 -0
- package/dist/esm/src/context.js +75 -0
- package/dist/esm/src/context.js.map +1 -0
- package/dist/esm/src/context_impl.d.ts +54 -0
- package/dist/esm/src/context_impl.d.ts.map +1 -0
- package/dist/esm/src/context_impl.js +515 -0
- package/dist/esm/src/context_impl.js.map +1 -0
- package/dist/esm/src/endpoint/endpoint_builder.d.ts +18 -0
- package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -0
- package/dist/esm/src/endpoint/endpoint_builder.js +126 -0
- package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -0
- package/dist/esm/src/endpoint/fetch_endpoint.d.ts +37 -0
- package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -0
- package/dist/esm/src/endpoint/fetch_endpoint.js +42 -0
- package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -0
- package/dist/esm/src/endpoint/handlers/fetch.d.ts +6 -0
- package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -0
- package/dist/esm/src/endpoint/handlers/fetch.js +30 -0
- package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -0
- package/dist/esm/src/endpoint/handlers/generic.d.ts +44 -0
- package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -0
- package/dist/esm/src/endpoint/handlers/generic.js +189 -0
- package/dist/esm/src/endpoint/handlers/generic.js.map +1 -0
- package/dist/esm/src/endpoint/handlers/lambda.d.ts +8 -0
- package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -0
- package/dist/esm/src/endpoint/handlers/lambda.js +62 -0
- package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -0
- package/dist/esm/src/endpoint/handlers/node.d.ts +11 -0
- package/dist/esm/src/endpoint/handlers/node.d.ts.map +1 -0
- package/dist/esm/src/endpoint/handlers/node.js +181 -0
- package/dist/esm/src/endpoint/handlers/node.js.map +1 -0
- package/dist/esm/src/endpoint/lambda_endpoint.d.ts +32 -0
- package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -0
- package/dist/esm/src/endpoint/lambda_endpoint.js +51 -0
- package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -0
- package/dist/esm/src/endpoint/node_endpoint.d.ts +19 -0
- package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -0
- package/dist/esm/src/endpoint/node_endpoint.js +89 -0
- package/dist/esm/src/endpoint/node_endpoint.js.map +1 -0
- package/dist/esm/src/endpoint/request_signing/basex.d.ts +10 -0
- package/dist/esm/src/endpoint/request_signing/basex.d.ts.map +1 -0
- package/dist/esm/src/endpoint/request_signing/basex.js +136 -0
- package/dist/esm/src/endpoint/request_signing/basex.js.map +1 -0
- package/dist/esm/src/endpoint/request_signing/ed25519.d.ts +17 -0
- package/dist/esm/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
- package/dist/esm/src/endpoint/request_signing/ed25519.js +52 -0
- package/dist/esm/src/endpoint/request_signing/ed25519.js.map +1 -0
- package/dist/esm/src/endpoint/request_signing/v1.d.ts +9 -0
- package/dist/esm/src/endpoint/request_signing/v1.d.ts.map +1 -0
- package/dist/esm/src/endpoint/request_signing/v1.js +133 -0
- package/dist/esm/src/endpoint/request_signing/v1.js.map +1 -0
- package/dist/esm/src/endpoint/request_signing/validate.d.ts +18 -0
- package/dist/esm/src/endpoint/request_signing/validate.d.ts.map +1 -0
- package/dist/esm/src/endpoint/request_signing/validate.js +40 -0
- package/dist/esm/src/endpoint/request_signing/validate.js.map +1 -0
- package/dist/esm/src/endpoint.d.ts +103 -0
- package/dist/esm/src/endpoint.d.ts.map +1 -0
- package/dist/esm/src/endpoint.js +12 -0
- package/dist/esm/src/endpoint.js.map +1 -0
- package/dist/esm/src/fetch.d.ts +7 -0
- package/dist/esm/src/fetch.d.ts.map +1 -0
- package/dist/esm/src/fetch.js +19 -0
- package/dist/esm/src/fetch.js.map +1 -0
- package/dist/esm/src/generated/proto/discovery_pb.d.ts +18 -0
- package/dist/esm/src/generated/proto/discovery_pb.d.ts.map +1 -0
- package/dist/esm/src/generated/proto/discovery_pb.js +37 -0
- package/dist/esm/src/generated/proto/discovery_pb.js.map +1 -0
- package/dist/esm/src/generated/proto/javascript_pb.d.ts +26 -0
- package/dist/esm/src/generated/proto/javascript_pb.d.ts.map +1 -0
- package/dist/esm/src/generated/proto/javascript_pb.js +48 -0
- package/dist/esm/src/generated/proto/javascript_pb.js.map +1 -0
- package/dist/esm/src/generated/proto/protocol_pb.d.ts +1051 -0
- package/dist/esm/src/generated/proto/protocol_pb.d.ts.map +1 -0
- package/dist/esm/src/generated/proto/protocol_pb.js +1258 -0
- package/dist/esm/src/generated/proto/protocol_pb.js.map +1 -0
- package/dist/esm/src/generated/version.d.ts +2 -0
- package/dist/esm/src/generated/version.d.ts.map +1 -0
- package/dist/esm/src/generated/version.js +2 -0
- package/dist/esm/src/generated/version.js.map +1 -0
- package/dist/esm/src/invocation.d.ts +48 -0
- package/dist/esm/src/invocation.d.ts.map +1 -0
- package/dist/esm/src/invocation.js +153 -0
- package/dist/esm/src/invocation.js.map +1 -0
- package/dist/esm/src/io/decoder.d.ts +9 -0
- package/dist/esm/src/io/decoder.d.ts.map +1 -0
- package/dist/esm/src/io/decoder.js +129 -0
- package/dist/esm/src/io/decoder.js.map +1 -0
- package/dist/esm/src/io/encoder.d.ts +7 -0
- package/dist/esm/src/io/encoder.d.ts.map +1 -0
- package/dist/esm/src/io/encoder.js +49 -0
- package/dist/esm/src/io/encoder.js.map +1 -0
- package/dist/esm/src/journal.d.ts +52 -0
- package/dist/esm/src/journal.d.ts.map +1 -0
- package/dist/esm/src/journal.js +412 -0
- package/dist/esm/src/journal.js.map +1 -0
- package/dist/esm/src/lambda.d.ts +7 -0
- package/dist/esm/src/lambda.d.ts.map +1 -0
- package/dist/esm/src/lambda.js +19 -0
- package/dist/esm/src/lambda.js.map +1 -0
- package/dist/esm/src/local_state_store.d.ts +16 -0
- package/dist/esm/src/local_state_store.d.ts.map +1 -0
- package/dist/esm/src/local_state_store.js +80 -0
- package/dist/esm/src/local_state_store.js.map +1 -0
- package/dist/esm/src/logger.d.ts +27 -0
- package/dist/esm/src/logger.d.ts.map +1 -0
- package/dist/esm/src/logger.js +146 -0
- package/dist/esm/src/logger.js.map +1 -0
- package/dist/esm/src/promise_combinator_tracker.d.ts +29 -0
- package/dist/esm/src/promise_combinator_tracker.d.ts.map +1 -0
- package/dist/esm/src/promise_combinator_tracker.js +125 -0
- package/dist/esm/src/promise_combinator_tracker.js.map +1 -0
- package/dist/esm/src/public_api.d.ts +7 -0
- package/dist/esm/src/public_api.d.ts.map +1 -0
- package/dist/esm/src/public_api.js +19 -0
- package/dist/esm/src/public_api.js.map +1 -0
- package/dist/esm/src/state_machine.d.ts +86 -0
- package/dist/esm/src/state_machine.d.ts.map +1 -0
- package/dist/esm/src/state_machine.js +407 -0
- package/dist/esm/src/state_machine.js.map +1 -0
- package/dist/esm/src/types/components.d.ts +78 -0
- package/dist/esm/src/types/components.d.ts.map +1 -0
- package/dist/esm/src/types/components.js +227 -0
- package/dist/esm/src/types/components.js.map +1 -0
- package/dist/esm/src/types/discovery.d.ts +43 -0
- package/dist/esm/src/types/discovery.d.ts.map +1 -0
- package/dist/esm/src/types/discovery.js +28 -0
- package/dist/esm/src/types/discovery.js.map +1 -0
- package/dist/esm/src/types/errors.d.ts +53 -0
- package/dist/esm/src/types/errors.d.ts.map +1 -0
- package/dist/esm/src/types/errors.js +117 -0
- package/dist/esm/src/types/errors.js.map +1 -0
- package/dist/esm/src/types/protocol.d.ts +40 -0
- package/dist/esm/src/types/protocol.d.ts.map +1 -0
- package/dist/esm/src/types/protocol.js +206 -0
- package/dist/esm/src/types/protocol.js.map +1 -0
- package/dist/esm/src/types/rpc.d.ts +300 -0
- package/dist/esm/src/types/rpc.d.ts.map +1 -0
- package/dist/esm/src/types/rpc.js +412 -0
- package/dist/esm/src/types/rpc.js.map +1 -0
- package/dist/esm/src/types/types.d.ts +20 -0
- package/dist/esm/src/types/types.d.ts.map +1 -0
- package/dist/esm/src/types/types.js +105 -0
- package/dist/esm/src/types/types.js.map +1 -0
- package/dist/esm/src/user_agent.d.ts +2 -0
- package/dist/esm/src/user_agent.d.ts.map +1 -0
- package/dist/esm/src/user_agent.js +13 -0
- package/dist/esm/src/user_agent.js.map +1 -0
- package/dist/esm/src/utils/buffer.d.ts +5 -0
- package/dist/esm/src/utils/buffer.d.ts.map +1 -0
- package/dist/esm/src/utils/buffer.js +53 -0
- package/dist/esm/src/utils/buffer.js.map +1 -0
- package/dist/esm/src/utils/message_logger.d.ts +7 -0
- package/dist/esm/src/utils/message_logger.d.ts.map +1 -0
- package/dist/esm/src/utils/message_logger.js +75 -0
- package/dist/esm/src/utils/message_logger.js.map +1 -0
- package/dist/esm/src/utils/promises.d.ts +15 -0
- package/dist/esm/src/utils/promises.d.ts.map +1 -0
- package/dist/esm/src/utils/promises.js +63 -0
- package/dist/esm/src/utils/promises.js.map +1 -0
- package/dist/esm/src/utils/rand.d.ts +15 -0
- package/dist/esm/src/utils/rand.d.ts.map +1 -0
- package/dist/esm/src/utils/rand.js +106 -0
- package/dist/esm/src/utils/rand.js.map +1 -0
- package/dist/esm/src/utils/serde.d.ts +5 -0
- package/dist/esm/src/utils/serde.d.ts.map +1 -0
- package/dist/esm/src/utils/serde.js +43 -0
- package/dist/esm/src/utils/serde.js.map +1 -0
- package/dist/esm/src/utils/utils.d.ts +5 -0
- package/dist/esm/src/utils/utils.d.ts.map +1 -0
- package/dist/esm/src/utils/utils.js +109 -0
- package/dist/esm/src/utils/utils.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/package.json +58 -20
- package/dist/src/clients/workflow_client.d.ts +0 -77
- package/dist/src/clients/workflow_client.d.ts.map +0 -1
- package/dist/src/clients/workflow_client.js +0 -172
- package/dist/src/clients/workflow_client.js.map +0 -1
- package/dist/src/connection/buffered_connection.d.ts.map +0 -1
- package/dist/src/connection/buffered_connection.js.map +0 -1
- package/dist/src/connection/connection.d.ts.map +0 -1
- package/dist/src/connection/connection.js.map +0 -1
- package/dist/src/connection/http_connection.d.ts.map +0 -1
- package/dist/src/connection/http_connection.js.map +0 -1
- package/dist/src/connection/lambda_connection.d.ts.map +0 -1
- package/dist/src/connection/lambda_connection.js.map +0 -1
- package/dist/src/context.d.ts.map +0 -1
- package/dist/src/context.js.map +0 -1
- package/dist/src/context_impl.d.ts +0 -62
- package/dist/src/context_impl.d.ts.map +0 -1
- package/dist/src/context_impl.js.map +0 -1
- package/dist/src/endpoint/endpoint_impl.d.ts +0 -28
- package/dist/src/endpoint/endpoint_impl.d.ts.map +0 -1
- package/dist/src/endpoint/endpoint_impl.js +0 -164
- package/dist/src/endpoint/endpoint_impl.js.map +0 -1
- package/dist/src/endpoint/http2_handler.d.ts.map +0 -1
- package/dist/src/endpoint/http2_handler.js +0 -153
- package/dist/src/endpoint/http2_handler.js.map +0 -1
- package/dist/src/endpoint/lambda_handler.d.ts +0 -15
- package/dist/src/endpoint/lambda_handler.d.ts.map +0 -1
- package/dist/src/endpoint/lambda_handler.js +0 -154
- package/dist/src/endpoint/lambda_handler.js.map +0 -1
- package/dist/src/endpoint/request_signing/basex.d.ts.map +0 -1
- package/dist/src/endpoint/request_signing/basex.js.map +0 -1
- package/dist/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
- package/dist/src/endpoint/request_signing/ed25519.js.map +0 -1
- package/dist/src/endpoint/request_signing/v1.d.ts.map +0 -1
- package/dist/src/endpoint/request_signing/v1.js.map +0 -1
- package/dist/src/endpoint/request_signing/validate.d.ts.map +0 -1
- package/dist/src/endpoint/request_signing/validate.js.map +0 -1
- package/dist/src/endpoint.d.ts.map +0 -1
- package/dist/src/endpoint.js.map +0 -1
- package/dist/src/generated/proto/javascript_pb.d.ts.map +0 -1
- package/dist/src/generated/proto/javascript_pb.js.map +0 -1
- package/dist/src/generated/proto/protocol_pb.d.ts.map +0 -1
- package/dist/src/generated/proto/protocol_pb.js.map +0 -1
- package/dist/src/generated/version.d.ts +0 -2
- package/dist/src/generated/version.d.ts.map +0 -1
- package/dist/src/generated/version.js.map +0 -1
- package/dist/src/invocation.d.ts.map +0 -1
- package/dist/src/invocation.js.map +0 -1
- package/dist/src/io/decoder.d.ts.map +0 -1
- package/dist/src/io/decoder.js.map +0 -1
- package/dist/src/io/encoder.d.ts.map +0 -1
- package/dist/src/io/encoder.js.map +0 -1
- package/dist/src/journal.d.ts.map +0 -1
- package/dist/src/journal.js.map +0 -1
- package/dist/src/local_state_store.d.ts.map +0 -1
- package/dist/src/local_state_store.js.map +0 -1
- package/dist/src/logger.d.ts.map +0 -1
- package/dist/src/logger.js.map +0 -1
- package/dist/src/promise_combinator_tracker.d.ts.map +0 -1
- package/dist/src/promise_combinator_tracker.js.map +0 -1
- package/dist/src/public_api.d.ts +0 -7
- package/dist/src/public_api.d.ts.map +0 -1
- package/dist/src/public_api.js +0 -50
- package/dist/src/public_api.js.map +0 -1
- package/dist/src/state_machine.d.ts.map +0 -1
- package/dist/src/state_machine.js.map +0 -1
- package/dist/src/types/components.d.ts +0 -65
- package/dist/src/types/components.d.ts.map +0 -1
- package/dist/src/types/components.js +0 -163
- package/dist/src/types/components.js.map +0 -1
- package/dist/src/types/discovery.d.ts.map +0 -1
- package/dist/src/types/discovery.js.map +0 -1
- package/dist/src/types/errors.d.ts.map +0 -1
- package/dist/src/types/errors.js.map +0 -1
- package/dist/src/types/protocol.d.ts.map +0 -1
- package/dist/src/types/protocol.js +0 -147
- package/dist/src/types/protocol.js.map +0 -1
- package/dist/src/types/rpc.d.ts +0 -50
- package/dist/src/types/rpc.d.ts.map +0 -1
- package/dist/src/types/rpc.js +0 -38
- package/dist/src/types/rpc.js.map +0 -1
- package/dist/src/types/types.d.ts.map +0 -1
- package/dist/src/types/types.js.map +0 -1
- package/dist/src/user_agent.d.ts +0 -2
- package/dist/src/user_agent.d.ts.map +0 -1
- package/dist/src/user_agent.js.map +0 -1
- package/dist/src/utils/message_logger.d.ts.map +0 -1
- package/dist/src/utils/message_logger.js.map +0 -1
- package/dist/src/utils/promises.d.ts.map +0 -1
- package/dist/src/utils/promises.js.map +0 -1
- package/dist/src/utils/rand.d.ts.map +0 -1
- package/dist/src/utils/rand.js.map +0 -1
- package/dist/src/utils/serde.d.ts +0 -3
- package/dist/src/utils/serde.d.ts.map +0 -1
- package/dist/src/utils/serde.js +0 -24
- package/dist/src/utils/serde.js.map +0 -1
- package/dist/src/utils/utils.d.ts.map +0 -1
- package/dist/src/utils/utils.js.map +0 -1
- package/dist/src/workflows/workflow.d.ts +0 -101
- package/dist/src/workflows/workflow.d.ts.map +0 -1
- package/dist/src/workflows/workflow.js +0 -84
- package/dist/src/workflows/workflow.js.map +0 -1
- package/dist/src/workflows/workflow_state_service.d.ts +0 -35
- package/dist/src/workflows/workflow_state_service.d.ts.map +0 -1
- package/dist/src/workflows/workflow_state_service.js +0 -201
- package/dist/src/workflows/workflow_state_service.js.map +0 -1
- package/dist/src/workflows/workflow_wrapper_service.d.ts +0 -10
- package/dist/src/workflows/workflow_wrapper_service.d.ts.map +0 -1
- package/dist/src/workflows/workflow_wrapper_service.js +0 -285
- package/dist/src/workflows/workflow_wrapper_service.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/{src → cjs/src}/connection/connection.js +0 -0
- /package/dist/{src → cjs/src}/endpoint/request_signing/basex.d.ts +0 -0
- /package/dist/{src → cjs/src}/endpoint/request_signing/basex.js +0 -0
- /package/dist/{src → cjs/src}/generated/proto/javascript_pb.d.ts +0 -0
- /package/dist/{src → cjs/src}/generated/proto/javascript_pb.js +0 -0
- /package/dist/{src → cjs/src}/logger.d.ts +0 -0
- /package/dist/{src → cjs/src}/utils/promises.d.ts +0 -0
- /package/dist/{src → cjs/src}/utils/utils.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context_impl.d.ts","sourceRoot":"","sources":["../../../src/context_impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
5
|
+
* which is released under the MIT license.
|
|
6
|
+
*
|
|
7
|
+
* You can find a copy of the license in file LICENSE in the root
|
|
8
|
+
* directory of this repository or package, or at
|
|
9
|
+
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
10
|
+
*/
|
|
11
|
+
import { AwakeableEntryMessage, OneWayCallEntryMessage, CompleteAwakeableEntryMessage, Empty, GetStateEntryMessage, GetStateKeysEntryMessage, CallEntryMessage, RunEntryMessage, SleepEntryMessage, GetPromiseEntryMessage, PeekPromiseEntryMessage, CompletePromiseEntryMessage, } from "./generated/proto/protocol_pb.js";
|
|
12
|
+
import { AWAKEABLE_ENTRY_MESSAGE_TYPE, AWAKEABLE_IDENTIFIER_PREFIX, BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE, CLEAR_ALL_STATE_ENTRY_MESSAGE_TYPE, CLEAR_STATE_ENTRY_MESSAGE_TYPE, COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, GET_STATE_ENTRY_MESSAGE_TYPE, GET_STATE_KEYS_ENTRY_MESSAGE_TYPE, INVOKE_ENTRY_MESSAGE_TYPE, SET_STATE_ENTRY_MESSAGE_TYPE, SIDE_EFFECT_ENTRY_MESSAGE_TYPE, SLEEP_ENTRY_MESSAGE_TYPE, GET_PROMISE_MESSAGE_TYPE, PEEK_PROMISE_MESSAGE_TYPE, COMPLETE_PROMISE_MESSAGE_TYPE, } from "./types/protocol.js";
|
|
13
|
+
import { RetryableError, TerminalError, ensureError, TimeoutError, INTERNAL_ERROR_CODE, UNKNOWN_ERROR_CODE, errorToFailure, } from "./types/errors.js";
|
|
14
|
+
import { jsonSerialize, jsonDeserialize } from "./utils/utils.js";
|
|
15
|
+
import { protoInt64 } from "@bufbuild/protobuf";
|
|
16
|
+
import { HandlerKind } from "./types/rpc.js";
|
|
17
|
+
import { RandImpl } from "./utils/rand.js";
|
|
18
|
+
import { newJournalEntryPromiseId } from "./promise_combinator_tracker.js";
|
|
19
|
+
import { Buffer } from "node:buffer";
|
|
20
|
+
import { deserializeJson, serializeJson } from "./utils/serde.js";
|
|
21
|
+
export class ContextImpl {
|
|
22
|
+
console;
|
|
23
|
+
handlerKind;
|
|
24
|
+
keyedContextKey;
|
|
25
|
+
stateMachine;
|
|
26
|
+
// This is used to guard users against calling ctx.sideEffect without awaiting it.
|
|
27
|
+
// See https://github.com/restatedev/sdk-typescript/issues/197 for more details.
|
|
28
|
+
executingRun = false;
|
|
29
|
+
invocationRequest;
|
|
30
|
+
rand;
|
|
31
|
+
date = {
|
|
32
|
+
now: () => {
|
|
33
|
+
return this.run(() => Date.now());
|
|
34
|
+
},
|
|
35
|
+
toJSON: () => {
|
|
36
|
+
return this.run(() => new Date().toJSON());
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
constructor(id, console, handlerKind, keyedContextKey, invocationValue, invocationHeaders, attemptHeaders,
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
|
+
stateMachine) {
|
|
42
|
+
this.console = console;
|
|
43
|
+
this.handlerKind = handlerKind;
|
|
44
|
+
this.keyedContextKey = keyedContextKey;
|
|
45
|
+
this.stateMachine = stateMachine;
|
|
46
|
+
this.invocationRequest = {
|
|
47
|
+
id,
|
|
48
|
+
headers: invocationHeaders,
|
|
49
|
+
attemptHeaders,
|
|
50
|
+
body: invocationValue,
|
|
51
|
+
};
|
|
52
|
+
this.rand = new RandImpl(id, this.checkState.bind(this));
|
|
53
|
+
}
|
|
54
|
+
workflowClient(opts, key) {
|
|
55
|
+
const { name } = opts;
|
|
56
|
+
const clientProxy = new Proxy({}, {
|
|
57
|
+
get: (_target, prop) => {
|
|
58
|
+
const route = prop;
|
|
59
|
+
return (...args) => {
|
|
60
|
+
const requestBytes = serializeJson(args.shift());
|
|
61
|
+
return this.invoke(name, route, requestBytes, key);
|
|
62
|
+
};
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
return clientProxy;
|
|
66
|
+
}
|
|
67
|
+
promise(name) {
|
|
68
|
+
return new DurablePromiseImpl(this, name);
|
|
69
|
+
}
|
|
70
|
+
get key() {
|
|
71
|
+
switch (this.handlerKind) {
|
|
72
|
+
case HandlerKind.EXCLUSIVE:
|
|
73
|
+
case HandlerKind.SHARED:
|
|
74
|
+
case HandlerKind.WORKFLOW: {
|
|
75
|
+
if (this.keyedContextKey === undefined) {
|
|
76
|
+
throw new TerminalError("unexpected missing key");
|
|
77
|
+
}
|
|
78
|
+
return this.keyedContextKey;
|
|
79
|
+
}
|
|
80
|
+
case HandlerKind.SERVICE:
|
|
81
|
+
throw new TerminalError("unexpected missing key");
|
|
82
|
+
default:
|
|
83
|
+
throw new TerminalError("unknown handler type");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
request() {
|
|
87
|
+
return this.invocationRequest;
|
|
88
|
+
}
|
|
89
|
+
// DON'T make this function async!!! see sideEffect comment for details.
|
|
90
|
+
get(name) {
|
|
91
|
+
// Check if this is a valid action
|
|
92
|
+
this.checkState("get state");
|
|
93
|
+
// Create the message and let the state machine process it
|
|
94
|
+
const msg = new GetStateEntryMessage({ key: Buffer.from(name) });
|
|
95
|
+
const completed = this.stateMachine.localStateStore.tryCompleteGet(name, msg);
|
|
96
|
+
const getState = async () => {
|
|
97
|
+
const result = await this.stateMachine.handleUserCodeMessage(GET_STATE_ENTRY_MESSAGE_TYPE, msg, completed);
|
|
98
|
+
// If the GetState message did not have a value or empty,
|
|
99
|
+
// then we went to the runtime to get the value.
|
|
100
|
+
// When we get the response, we set it in the localStateStore,
|
|
101
|
+
// to answer subsequent requests
|
|
102
|
+
if (!completed) {
|
|
103
|
+
this.stateMachine.localStateStore.add(name, result);
|
|
104
|
+
}
|
|
105
|
+
if (!(result instanceof Buffer)) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
return jsonDeserialize(result.toString());
|
|
109
|
+
};
|
|
110
|
+
return getState();
|
|
111
|
+
}
|
|
112
|
+
// DON'T make this function async!!! see sideEffect comment for details.
|
|
113
|
+
stateKeys() {
|
|
114
|
+
// Check if this is a valid action
|
|
115
|
+
this.checkState("state keys");
|
|
116
|
+
// Create the message and let the state machine process it
|
|
117
|
+
const msg = new GetStateKeysEntryMessage({});
|
|
118
|
+
const completed = this.stateMachine.localStateStore.tryCompletedGetStateKeys(msg);
|
|
119
|
+
const getStateKeys = async () => {
|
|
120
|
+
const result = await this.stateMachine.handleUserCodeMessage(GET_STATE_KEYS_ENTRY_MESSAGE_TYPE, msg, completed);
|
|
121
|
+
return result.keys.map((b) => b.toString());
|
|
122
|
+
};
|
|
123
|
+
return getStateKeys();
|
|
124
|
+
}
|
|
125
|
+
set(name, value) {
|
|
126
|
+
this.checkState("set state");
|
|
127
|
+
const msg = this.stateMachine.localStateStore.set(name, value);
|
|
128
|
+
this.stateMachine
|
|
129
|
+
.handleUserCodeMessage(SET_STATE_ENTRY_MESSAGE_TYPE, msg)
|
|
130
|
+
.catch((e) => this.stateMachine.handleDanglingPromiseError(e));
|
|
131
|
+
}
|
|
132
|
+
clear(name) {
|
|
133
|
+
this.checkState("clear state");
|
|
134
|
+
const msg = this.stateMachine.localStateStore.clear(name);
|
|
135
|
+
this.stateMachine
|
|
136
|
+
.handleUserCodeMessage(CLEAR_STATE_ENTRY_MESSAGE_TYPE, msg)
|
|
137
|
+
.catch((e) => this.stateMachine.handleDanglingPromiseError(e));
|
|
138
|
+
}
|
|
139
|
+
clearAll() {
|
|
140
|
+
this.checkState("clear all state");
|
|
141
|
+
const msg = this.stateMachine.localStateStore.clearAll();
|
|
142
|
+
this.stateMachine
|
|
143
|
+
.handleUserCodeMessage(CLEAR_ALL_STATE_ENTRY_MESSAGE_TYPE, msg)
|
|
144
|
+
.catch((e) => this.stateMachine.handleDanglingPromiseError(e));
|
|
145
|
+
}
|
|
146
|
+
// --- Calls, background calls, etc
|
|
147
|
+
// DON'T make this function async!!! see sideEffect comment for details.
|
|
148
|
+
invoke(service, method, data, key
|
|
149
|
+
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
150
|
+
) {
|
|
151
|
+
this.checkState("invoke");
|
|
152
|
+
const msg = new CallEntryMessage({
|
|
153
|
+
serviceName: service,
|
|
154
|
+
handlerName: method,
|
|
155
|
+
parameter: data,
|
|
156
|
+
key,
|
|
157
|
+
});
|
|
158
|
+
return this.markCombineablePromise(this.stateMachine
|
|
159
|
+
.handleUserCodeMessage(INVOKE_ENTRY_MESSAGE_TYPE, msg)
|
|
160
|
+
.transform((v) => deserializeJson(v)));
|
|
161
|
+
}
|
|
162
|
+
async invokeOneWay(service, method, data, delay, key) {
|
|
163
|
+
const actualDelay = delay || 0;
|
|
164
|
+
const invokeTime = actualDelay > 0 ? Date.now() + actualDelay : protoInt64.zero;
|
|
165
|
+
const msg = new OneWayCallEntryMessage({
|
|
166
|
+
serviceName: service,
|
|
167
|
+
handlerName: method,
|
|
168
|
+
parameter: data,
|
|
169
|
+
invokeTime: protoInt64.parse(invokeTime),
|
|
170
|
+
key,
|
|
171
|
+
});
|
|
172
|
+
await this.stateMachine.handleUserCodeMessage(BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE, msg);
|
|
173
|
+
return new Uint8Array();
|
|
174
|
+
}
|
|
175
|
+
serviceClient({ name }) {
|
|
176
|
+
const clientProxy = new Proxy({}, {
|
|
177
|
+
get: (_target, prop) => {
|
|
178
|
+
const route = prop;
|
|
179
|
+
return (...args) => {
|
|
180
|
+
const requestBytes = serializeJson(args.shift());
|
|
181
|
+
return this.invoke(name, route, requestBytes);
|
|
182
|
+
};
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
return clientProxy;
|
|
186
|
+
}
|
|
187
|
+
objectClient({ name }, key) {
|
|
188
|
+
const clientProxy = new Proxy({}, {
|
|
189
|
+
get: (_target, prop) => {
|
|
190
|
+
const route = prop;
|
|
191
|
+
return (...args) => {
|
|
192
|
+
const requestBytes = serializeJson(args.shift());
|
|
193
|
+
return this.invoke(name, route, requestBytes, key);
|
|
194
|
+
};
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
return clientProxy;
|
|
198
|
+
}
|
|
199
|
+
serviceSendClient(service, opts) {
|
|
200
|
+
const clientProxy = new Proxy({}, {
|
|
201
|
+
get: (_target, prop) => {
|
|
202
|
+
const route = prop;
|
|
203
|
+
return (...args) => {
|
|
204
|
+
const requestBytes = serializeJson(args.shift());
|
|
205
|
+
this.invokeOneWay(service.name, route, requestBytes, opts?.delay).catch((e) => {
|
|
206
|
+
this.stateMachine.handleDanglingPromiseError(e);
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
},
|
|
210
|
+
});
|
|
211
|
+
return clientProxy;
|
|
212
|
+
}
|
|
213
|
+
objectSendClient(obj, key, opts) {
|
|
214
|
+
const clientProxy = new Proxy({}, {
|
|
215
|
+
get: (_target, prop) => {
|
|
216
|
+
const route = prop;
|
|
217
|
+
return (...args) => {
|
|
218
|
+
const requestBytes = serializeJson(args.shift());
|
|
219
|
+
this.invokeOneWay(obj.name, route, requestBytes, opts?.delay, key).catch((e) => {
|
|
220
|
+
this.stateMachine.handleDanglingPromiseError(e);
|
|
221
|
+
});
|
|
222
|
+
};
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
return clientProxy;
|
|
226
|
+
}
|
|
227
|
+
workflowSendClient(def, key, opts) {
|
|
228
|
+
const clientProxy = new Proxy({}, {
|
|
229
|
+
get: (_target, prop) => {
|
|
230
|
+
const route = prop;
|
|
231
|
+
return (...args) => {
|
|
232
|
+
const requestBytes = serializeJson(args.shift());
|
|
233
|
+
this.invokeOneWay(def.name, route, requestBytes, opts?.delay, key).catch((e) => {
|
|
234
|
+
this.stateMachine.handleDanglingPromiseError(e);
|
|
235
|
+
});
|
|
236
|
+
};
|
|
237
|
+
},
|
|
238
|
+
});
|
|
239
|
+
return clientProxy;
|
|
240
|
+
}
|
|
241
|
+
// DON'T make this function async!!!
|
|
242
|
+
// The reason is that we want the errors thrown by the initial checks to be propagated in the caller context,
|
|
243
|
+
// and not in the promise context. To understand the semantic difference, make this function async and run the
|
|
244
|
+
// UnawaitedSideEffectShouldFailSubsequentContextCall test.
|
|
245
|
+
run(nameOrAction, actionSecondParameter) {
|
|
246
|
+
this.checkState("run");
|
|
247
|
+
const { name, action } = unpack(nameOrAction, actionSecondParameter);
|
|
248
|
+
this.executingRun = true;
|
|
249
|
+
const executeRun = async () => {
|
|
250
|
+
// in replay mode, we directly return the value from the log
|
|
251
|
+
if (this.stateMachine.nextEntryWillBeReplayed()) {
|
|
252
|
+
const emptyMsg = new RunEntryMessage({});
|
|
253
|
+
return this.stateMachine.handleUserCodeMessage(SIDE_EFFECT_ENTRY_MESSAGE_TYPE, emptyMsg);
|
|
254
|
+
}
|
|
255
|
+
let sideEffectResult;
|
|
256
|
+
try {
|
|
257
|
+
sideEffectResult = await action();
|
|
258
|
+
}
|
|
259
|
+
catch (e) {
|
|
260
|
+
if (!(e instanceof TerminalError)) {
|
|
261
|
+
///non terminal errors are retirable.
|
|
262
|
+
// we do not commit the error itself into the journal, but rather let restate know about this
|
|
263
|
+
// so that restate can retry this invocation later.
|
|
264
|
+
// Before we can propagate this error to the user, we must let the state machine know that this attempt
|
|
265
|
+
// is finished with an error, and it should not append anything else to the journal from now on.
|
|
266
|
+
const error = ensureError(e);
|
|
267
|
+
const additionalContext = {
|
|
268
|
+
relatedEntryName: name,
|
|
269
|
+
relatedEntryType: SIDE_EFFECT_ENTRY_MESSAGE_TYPE,
|
|
270
|
+
};
|
|
271
|
+
await this.stateMachine.sendErrorAndFinish(error, additionalContext);
|
|
272
|
+
throw e;
|
|
273
|
+
}
|
|
274
|
+
// we commit a terminal error from the side effect to the journal, and re-throw it into
|
|
275
|
+
// the function. that way, any catching by the user and reacting to it will be
|
|
276
|
+
// deterministic on replay
|
|
277
|
+
const error = ensureError(e);
|
|
278
|
+
const failure = errorToFailure(error);
|
|
279
|
+
const sideEffectMsg = new RunEntryMessage({
|
|
280
|
+
name,
|
|
281
|
+
result: { case: "failure", value: failure },
|
|
282
|
+
});
|
|
283
|
+
// this may throw an error from the SDK/runtime/connection side, in case the
|
|
284
|
+
// failure message cannot be committed to the journal. That error would then
|
|
285
|
+
// be returned from this function (replace the original error)
|
|
286
|
+
// that is acceptable, because in such a situation (failure to append to journal),
|
|
287
|
+
// the state machine closes anyways and no further operations will succeed and the
|
|
288
|
+
// the execution aborts
|
|
289
|
+
await this.stateMachine.handleUserCodeMessage(SIDE_EFFECT_ENTRY_MESSAGE_TYPE, sideEffectMsg, false, true);
|
|
290
|
+
throw e;
|
|
291
|
+
}
|
|
292
|
+
// we have this code outside the above try/catch block, to ensure that any error arising
|
|
293
|
+
// from here is not incorrectly attributed to the side-effect
|
|
294
|
+
const sideEffectMsg = sideEffectResult !== undefined
|
|
295
|
+
? new RunEntryMessage({
|
|
296
|
+
name,
|
|
297
|
+
result: {
|
|
298
|
+
case: "value",
|
|
299
|
+
value: Buffer.from(jsonSerialize(sideEffectResult)),
|
|
300
|
+
},
|
|
301
|
+
})
|
|
302
|
+
: new RunEntryMessage({
|
|
303
|
+
name,
|
|
304
|
+
});
|
|
305
|
+
// if an error arises from committing the side effect result, then this error will
|
|
306
|
+
// be thrown here (reject the returned promise) and the function will see that error,
|
|
307
|
+
// even if the side-effect function completed correctly
|
|
308
|
+
// that is acceptable, because in such a situation (failure to append to journal),
|
|
309
|
+
// the state machine closes anyways and reports an execution failure, meaning no further
|
|
310
|
+
// operations will succeed and the the execution will be retried.
|
|
311
|
+
// If the side-effect result did in fact not make it to the journal, then the side-effect
|
|
312
|
+
// re-executes, and if it made it to the journal after all (error happend inly during
|
|
313
|
+
// ack-back), then retries will use the journaled result.
|
|
314
|
+
// So all good in any case, due to the beauty of "the runtime log is the ground thruth" approach.
|
|
315
|
+
await this.stateMachine.handleUserCodeMessage(SIDE_EFFECT_ENTRY_MESSAGE_TYPE, sideEffectMsg, false, true);
|
|
316
|
+
return sideEffectResult;
|
|
317
|
+
};
|
|
318
|
+
return executeRun().finally(() => {
|
|
319
|
+
this.executingRun = false;
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
sleep(millis) {
|
|
323
|
+
this.checkState("sleep");
|
|
324
|
+
return this.markCombineablePromise(this.sleepInternal(millis));
|
|
325
|
+
}
|
|
326
|
+
sleepInternal(millis) {
|
|
327
|
+
return this.stateMachine.handleUserCodeMessage(SLEEP_ENTRY_MESSAGE_TYPE, new SleepEntryMessage({
|
|
328
|
+
wakeUpTime: protoInt64.parse(Date.now() + millis),
|
|
329
|
+
}));
|
|
330
|
+
}
|
|
331
|
+
// -- Awakeables
|
|
332
|
+
awakeable() {
|
|
333
|
+
this.checkState("awakeable");
|
|
334
|
+
const msg = new AwakeableEntryMessage();
|
|
335
|
+
const promise = this.stateMachine
|
|
336
|
+
.handleUserCodeMessage(AWAKEABLE_ENTRY_MESSAGE_TYPE, msg)
|
|
337
|
+
.transform((result) => {
|
|
338
|
+
if (!(result instanceof Buffer)) {
|
|
339
|
+
// This should either be a filled buffer or an empty buffer but never anything else.
|
|
340
|
+
throw RetryableError.internal("Awakeable was not resolved with a buffer payload");
|
|
341
|
+
}
|
|
342
|
+
return JSON.parse(result.toString());
|
|
343
|
+
});
|
|
344
|
+
// This needs to be done after handling the message in the state machine
|
|
345
|
+
// otherwise the index is not yet incremented.
|
|
346
|
+
const encodedEntryIndex = Buffer.alloc(4 /* Size of u32 */);
|
|
347
|
+
encodedEntryIndex.writeUInt32BE(this.stateMachine.getUserCodeJournalIndex());
|
|
348
|
+
return {
|
|
349
|
+
id: AWAKEABLE_IDENTIFIER_PREFIX +
|
|
350
|
+
Buffer.concat([this.request().id, encodedEntryIndex]).toString("base64url"),
|
|
351
|
+
promise: this.markCombineablePromise(promise),
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
resolveAwakeable(id, payload) {
|
|
355
|
+
// We coerce undefined to null as null can be stringified by JSON.stringify
|
|
356
|
+
const payloadToWrite = payload === undefined ? null : payload;
|
|
357
|
+
this.checkState("resolveAwakeable");
|
|
358
|
+
this.completeAwakeable(id, {
|
|
359
|
+
result: {
|
|
360
|
+
case: "value",
|
|
361
|
+
value: Buffer.from(JSON.stringify(payloadToWrite)),
|
|
362
|
+
},
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
rejectAwakeable(id, reason) {
|
|
366
|
+
this.checkState("rejectAwakeable");
|
|
367
|
+
this.completeAwakeable(id, {
|
|
368
|
+
result: {
|
|
369
|
+
case: "failure",
|
|
370
|
+
value: { code: UNKNOWN_ERROR_CODE, message: reason },
|
|
371
|
+
},
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
completeAwakeable(id, base) {
|
|
375
|
+
base.id = id;
|
|
376
|
+
this.stateMachine
|
|
377
|
+
.handleUserCodeMessage(COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, new CompleteAwakeableEntryMessage(base))
|
|
378
|
+
.catch((e) => this.stateMachine.handleDanglingPromiseError(e));
|
|
379
|
+
}
|
|
380
|
+
// Used by static methods of CombineablePromise
|
|
381
|
+
static createCombinator(combinatorConstructor, promises) {
|
|
382
|
+
const self = extractContext(promises[0]);
|
|
383
|
+
if (!self) {
|
|
384
|
+
throw RetryableError.internal("Not a combinable promise");
|
|
385
|
+
}
|
|
386
|
+
const outPromises = [];
|
|
387
|
+
for (const promise of promises) {
|
|
388
|
+
if (extractContext(promise) !== self) {
|
|
389
|
+
throw RetryableError.internal("You're mixing up CombineablePromises from different RestateContext. This is not supported.");
|
|
390
|
+
}
|
|
391
|
+
const index = promise
|
|
392
|
+
.journalIndex;
|
|
393
|
+
outPromises.push({
|
|
394
|
+
id: newJournalEntryPromiseId(index),
|
|
395
|
+
promise: promise,
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
return self.stateMachine.createCombinator(combinatorConstructor, outPromises);
|
|
399
|
+
}
|
|
400
|
+
// -- Various private methods
|
|
401
|
+
checkNotExecutingRun(callType) {
|
|
402
|
+
if (this.executingRun) {
|
|
403
|
+
throw new TerminalError(`Invoked a RestateContext method (${callType}) while a run() is still executing.
|
|
404
|
+
Make sure you await the ctx.run() call before using any other RestateContext method.`, { errorCode: INTERNAL_ERROR_CODE });
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
checkState(callType) {
|
|
408
|
+
this.checkNotExecutingRun(callType);
|
|
409
|
+
}
|
|
410
|
+
markCombineablePromise(p) {
|
|
411
|
+
const journalIndex = this.stateMachine.getUserCodeJournalIndex();
|
|
412
|
+
const orTimeout = (millis) => {
|
|
413
|
+
const sleepPromise = this.sleepInternal(millis).transform(() => {
|
|
414
|
+
throw new TimeoutError();
|
|
415
|
+
});
|
|
416
|
+
const sleepPromiseIndex = this.stateMachine.getUserCodeJournalIndex();
|
|
417
|
+
return this.stateMachine.createCombinator(Promise.race.bind(Promise), [
|
|
418
|
+
{
|
|
419
|
+
id: newJournalEntryPromiseId(journalIndex),
|
|
420
|
+
promise: p,
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
id: newJournalEntryPromiseId(sleepPromiseIndex),
|
|
424
|
+
promise: sleepPromise,
|
|
425
|
+
},
|
|
426
|
+
]);
|
|
427
|
+
};
|
|
428
|
+
defineProperty(p, RESTATE_CTX_SYMBOL, this);
|
|
429
|
+
defineProperty(p, "journalIndex", journalIndex);
|
|
430
|
+
defineProperty(p, "orTimeout", orTimeout.bind(this));
|
|
431
|
+
return p;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
// wraps defineProperty such that it informs tsc of the correct type of its output
|
|
435
|
+
function defineProperty(obj, prop, value) {
|
|
436
|
+
Object.defineProperty(obj, prop, { value });
|
|
437
|
+
}
|
|
438
|
+
function unpack(a, b) {
|
|
439
|
+
if (typeof a == "string") {
|
|
440
|
+
if (typeof b !== "function") {
|
|
441
|
+
throw new TypeError("");
|
|
442
|
+
}
|
|
443
|
+
return { name: a, action: b };
|
|
444
|
+
}
|
|
445
|
+
if (typeof a !== "function") {
|
|
446
|
+
throw new TypeError("unexpected type at the first parameter");
|
|
447
|
+
}
|
|
448
|
+
if (b) {
|
|
449
|
+
throw new TypeError("unexpected a function as a second parameter.");
|
|
450
|
+
}
|
|
451
|
+
return { action: a };
|
|
452
|
+
}
|
|
453
|
+
const RESTATE_CTX_SYMBOL = Symbol("restateContext");
|
|
454
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
455
|
+
function extractContext(n) {
|
|
456
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
457
|
+
return n[RESTATE_CTX_SYMBOL];
|
|
458
|
+
}
|
|
459
|
+
class DurablePromiseImpl {
|
|
460
|
+
ctx;
|
|
461
|
+
name;
|
|
462
|
+
constructor(ctx, name) {
|
|
463
|
+
this.ctx = ctx;
|
|
464
|
+
this.name = name;
|
|
465
|
+
}
|
|
466
|
+
then(onfulfilled, onrejected) {
|
|
467
|
+
return this.get().then(onfulfilled, onrejected);
|
|
468
|
+
}
|
|
469
|
+
catch(onrejected) {
|
|
470
|
+
return this.get().catch(onrejected);
|
|
471
|
+
}
|
|
472
|
+
finally(onfinally) {
|
|
473
|
+
return this.get().finally(onfinally);
|
|
474
|
+
}
|
|
475
|
+
[Symbol.toStringTag] = "DurablePromise";
|
|
476
|
+
get() {
|
|
477
|
+
const msg = new GetPromiseEntryMessage({
|
|
478
|
+
key: this.name,
|
|
479
|
+
});
|
|
480
|
+
return this.ctx.markCombineablePromise(this.ctx.stateMachine
|
|
481
|
+
.handleUserCodeMessage(GET_PROMISE_MESSAGE_TYPE, msg)
|
|
482
|
+
.transform((v) => deserializeJson(v)));
|
|
483
|
+
}
|
|
484
|
+
peek() {
|
|
485
|
+
const msg = new PeekPromiseEntryMessage({
|
|
486
|
+
key: this.name,
|
|
487
|
+
});
|
|
488
|
+
return this.ctx.stateMachine
|
|
489
|
+
.handleUserCodeMessage(PEEK_PROMISE_MESSAGE_TYPE, msg)
|
|
490
|
+
.transform((v) => v instanceof Empty ? undefined : deserializeJson(v));
|
|
491
|
+
}
|
|
492
|
+
resolve(value) {
|
|
493
|
+
const msg = new CompletePromiseEntryMessage({
|
|
494
|
+
key: this.name,
|
|
495
|
+
completion: {
|
|
496
|
+
case: "completionValue",
|
|
497
|
+
value: serializeJson(value),
|
|
498
|
+
},
|
|
499
|
+
});
|
|
500
|
+
return this.ctx.stateMachine.handleUserCodeMessage(COMPLETE_PROMISE_MESSAGE_TYPE, msg);
|
|
501
|
+
}
|
|
502
|
+
reject(errorMsg) {
|
|
503
|
+
const msg = new CompletePromiseEntryMessage({
|
|
504
|
+
key: this.name,
|
|
505
|
+
completion: {
|
|
506
|
+
case: "completionFailure",
|
|
507
|
+
value: {
|
|
508
|
+
message: errorMsg,
|
|
509
|
+
},
|
|
510
|
+
},
|
|
511
|
+
});
|
|
512
|
+
return this.ctx.stateMachine.handleUserCodeMessage(COMPLETE_PROMISE_MESSAGE_TYPE, msg);
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
//# sourceMappingURL=context_impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context_impl.js","sourceRoot":"","sources":["../../../src/context_impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ServiceDefinition, VirtualObjectDefinition, WorkflowDefinition } from "@restatedev/restate-sdk-core";
|
|
2
|
+
import type { Component } from "../types/components.js";
|
|
3
|
+
import type * as discovery from "../types/discovery.js";
|
|
4
|
+
import type { KeySetV1 } from "./request_signing/v1.js";
|
|
5
|
+
export declare class EndpointBuilder {
|
|
6
|
+
private readonly services;
|
|
7
|
+
private _keySet?;
|
|
8
|
+
get keySet(): KeySetV1 | undefined;
|
|
9
|
+
componentByName(componentName: string): Component | undefined;
|
|
10
|
+
addComponent(component: Component): void;
|
|
11
|
+
bind<P extends string, M>(definition: ServiceDefinition<P, M> | VirtualObjectDefinition<P, M> | WorkflowDefinition<P, M>): this;
|
|
12
|
+
withIdentityV1(...keys: string[]): this;
|
|
13
|
+
computeDiscovery(protocolMode: discovery.ProtocolMode): discovery.Endpoint;
|
|
14
|
+
private bindServiceComponent;
|
|
15
|
+
private bindVirtualObjectComponent;
|
|
16
|
+
private bindWorkflowObjectComponent;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=endpoint_builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint_builder.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/endpoint_builder.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOxD,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAqBxD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,OAAO,CAAC,CAAW;IAE3B,IAAW,MAAM,IAAI,QAAQ,GAAG,SAAS,CAExC;IAEM,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI7D,YAAY,CAAC,SAAS,EAAE,SAAS;IAIjC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC7B,UAAU,EACN,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;IA4BvB,cAAc,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAWvC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,QAAQ;IAa1E,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,2BAA2B;CAkBpC"}
|