@restatedev/restate-sdk 1.0.0 → 1.1.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 +3 -3
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/src/common_api.d.ts +9 -0
- package/dist/cjs/src/common_api.d.ts.map +1 -0
- package/dist/{src/public_api.js → cjs/src/common_api.js} +13 -15
- package/dist/cjs/src/common_api.js.map +1 -0
- package/dist/{src/connection/http_connection.d.ts → cjs/src/connection/connection.d.ts} +32 -25
- package/dist/cjs/src/connection/connection.d.ts.map +1 -0
- package/dist/cjs/src/connection/connection.js +181 -0
- package/dist/cjs/src/connection/connection.js.map +1 -0
- package/dist/{src → cjs/src}/context.d.ts +14 -10
- 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/{src → cjs/src}/context_impl.d.ts +7 -18
- package/dist/cjs/src/context_impl.d.ts.map +1 -0
- package/dist/{src → cjs/src}/context_impl.js +90 -123
- package/dist/cjs/src/context_impl.js.map +1 -0
- package/dist/cjs/src/endpoint/endpoint_builder.d.ts +28 -0
- package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -0
- package/dist/{src/endpoint/endpoint_impl.js → cjs/src/endpoint/endpoint_builder.js} +30 -77
- package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -0
- package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +54 -0
- package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/fetch_endpoint.js +61 -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 +33 -0
- package/dist/cjs/src/endpoint/handlers/fetch.js.map +1 -0
- package/dist/cjs/src/endpoint/handlers/generic.d.ts +47 -0
- package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/handlers/generic.js +215 -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 +83 -0
- package/dist/cjs/src/endpoint/handlers/lambda.js.map +1 -0
- package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +34 -0
- package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/lambda_endpoint.js +53 -0
- package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -0
- package/dist/cjs/src/endpoint/node_endpoint.d.ts +21 -0
- package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -0
- package/dist/cjs/src/endpoint/node_endpoint.js +127 -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 +51 -29
- package/dist/cjs/src/endpoint.d.ts.map +1 -0
- package/dist/{src/connection/connection.js → cjs/src/endpoint.js} +1 -1
- package/dist/cjs/src/endpoint.js.map +1 -0
- package/dist/cjs/src/fetch.d.ts +8 -0
- package/dist/cjs/src/fetch.d.ts.map +1 -0
- package/dist/cjs/src/fetch.js +39 -0
- package/dist/cjs/src/fetch.js.map +1 -0
- package/dist/cjs/src/generated/proto/discovery_pb.d.ts.map +1 -0
- package/dist/{src → cjs/src}/generated/proto/discovery_pb.js +1 -1
- 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/cjs/src/generated/proto/protocol_pb.d.ts.map +1 -0
- package/dist/{src → cjs/src}/generated/proto/protocol_pb.js +1 -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 +3 -3
- package/dist/cjs/src/io/decoder.d.ts.map +1 -0
- package/dist/{src → cjs/src}/io/decoder.js +25 -24
- package/dist/cjs/src/io/decoder.js.map +1 -0
- package/dist/cjs/src/io/encoder.d.ts +4 -0
- package/dist/cjs/src/io/encoder.d.ts.map +1 -0
- package/dist/{src → cjs/src}/io/encoder.js +7 -23
- 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 +38 -38
- 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 +35 -0
- package/dist/cjs/src/logger.d.ts.map +1 -0
- package/dist/cjs/src/logger.js +151 -0
- 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 +13 -15
- package/dist/cjs/src/state_machine.d.ts.map +1 -0
- package/dist/{src → cjs/src}/state_machine.js +55 -63
- package/dist/cjs/src/state_machine.js.map +1 -0
- package/dist/{src → cjs/src}/types/components.d.ts +4 -3
- package/dist/cjs/src/types/components.d.ts.map +1 -0
- package/dist/{src → cjs/src}/types/components.js +4 -4
- package/dist/cjs/src/types/components.js.map +1 -0
- package/dist/cjs/src/types/discovery.d.ts.map +1 -0
- package/dist/{src → cjs/src}/types/discovery.js +3 -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 +6 -8
- package/dist/cjs/src/types/protocol.d.ts.map +1 -0
- package/dist/{src → cjs/src}/types/protocol.js +61 -61
- package/dist/cjs/src/types/protocol.js.map +1 -0
- package/dist/{src → cjs/src}/types/rpc.d.ts +13 -13
- package/dist/cjs/src/types/rpc.d.ts.map +1 -0
- package/dist/{src → cjs/src}/types/rpc.js +8 -7
- package/dist/cjs/src/types/rpc.js.map +1 -0
- package/dist/{src → cjs/src}/types/types.d.ts +1 -1
- package/dist/cjs/src/types/types.d.ts.map +1 -0
- package/dist/{src → cjs/src}/types/types.js +14 -14
- 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/cjs/src/utils/message_logger.d.ts +7 -0
- package/dist/cjs/src/utils/message_logger.d.ts.map +1 -0
- package/dist/{src → cjs/src}/utils/message_logger.js +8 -8
- 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/{src → cjs/src}/utils/serde.js +6 -4
- package/dist/cjs/src/utils/serde.js.map +1 -0
- package/dist/cjs/src/utils/streams.d.ts +4 -0
- package/dist/cjs/src/utils/streams.d.ts.map +1 -0
- package/dist/cjs/src/utils/streams.js +24 -0
- package/dist/cjs/src/utils/streams.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/test/awakeable.test.d.ts +2 -0
- package/dist/cjs/test/awakeable.test.d.ts.map +1 -0
- package/dist/cjs/test/awakeable.test.js +141 -0
- package/dist/cjs/test/awakeable.test.js.map +1 -0
- package/dist/cjs/test/complete_awakeable.test.d.ts +2 -0
- package/dist/cjs/test/complete_awakeable.test.d.ts.map +1 -0
- package/dist/cjs/test/complete_awakeable.test.js +123 -0
- package/dist/cjs/test/complete_awakeable.test.js.map +1 -0
- package/dist/cjs/test/eager_state.test.d.ts +2 -0
- package/dist/cjs/test/eager_state.test.d.ts.map +1 -0
- package/dist/cjs/test/eager_state.test.js +280 -0
- package/dist/cjs/test/eager_state.test.js.map +1 -0
- package/dist/cjs/test/get_and_set_state.test.d.ts +2 -0
- package/dist/cjs/test/get_and_set_state.test.d.ts.map +1 -0
- package/dist/cjs/test/get_and_set_state.test.js +233 -0
- package/dist/cjs/test/get_and_set_state.test.js.map +1 -0
- package/dist/cjs/test/get_state.test.d.ts +2 -0
- package/dist/cjs/test/get_state.test.d.ts.map +1 -0
- package/dist/cjs/test/get_state.test.js +333 -0
- package/dist/cjs/test/get_state.test.js.map +1 -0
- package/dist/cjs/test/lambda.test.d.ts +2 -0
- package/dist/cjs/test/lambda.test.d.ts.map +1 -0
- package/dist/cjs/test/lambda.test.js +246 -0
- package/dist/cjs/test/lambda.test.js.map +1 -0
- package/dist/cjs/test/message_coders.test.d.ts +2 -0
- package/dist/cjs/test/message_coders.test.d.ts.map +1 -0
- package/dist/cjs/test/message_coders.test.js +37 -0
- package/dist/cjs/test/message_coders.test.js.map +1 -0
- package/dist/cjs/test/promise_combinator_tracker.test.d.ts +2 -0
- package/dist/cjs/test/promise_combinator_tracker.test.d.ts.map +1 -0
- package/dist/cjs/test/promise_combinator_tracker.test.js +156 -0
- package/dist/cjs/test/promise_combinator_tracker.test.js.map +1 -0
- package/dist/cjs/test/promise_combinators.test.d.ts +2 -0
- package/dist/cjs/test/promise_combinators.test.d.ts.map +1 -0
- package/dist/cjs/test/promise_combinators.test.js +433 -0
- package/dist/cjs/test/promise_combinators.test.js.map +1 -0
- package/dist/cjs/test/promises.test.d.ts +2 -0
- package/dist/cjs/test/promises.test.d.ts.map +1 -0
- package/dist/cjs/test/promises.test.js +32 -0
- package/dist/cjs/test/promises.test.js.map +1 -0
- package/dist/cjs/test/protocol_stream.test.d.ts +2 -0
- package/dist/cjs/test/protocol_stream.test.d.ts.map +1 -0
- package/dist/cjs/test/protocol_stream.test.js +243 -0
- package/dist/cjs/test/protocol_stream.test.js.map +1 -0
- package/dist/cjs/test/protoutils.d.ts +44 -0
- package/dist/cjs/test/protoutils.d.ts.map +1 -0
- package/dist/cjs/test/protoutils.js +359 -0
- package/dist/cjs/test/protoutils.js.map +1 -0
- package/dist/cjs/test/service_bind.test.d.ts +2 -0
- package/dist/cjs/test/service_bind.test.d.ts.map +1 -0
- package/dist/cjs/test/service_bind.test.js +50 -0
- package/dist/cjs/test/service_bind.test.js.map +1 -0
- package/dist/cjs/test/side_effect.test.d.ts +2 -0
- package/dist/cjs/test/side_effect.test.d.ts.map +1 -0
- package/dist/cjs/test/side_effect.test.js +133 -0
- package/dist/cjs/test/side_effect.test.js.map +1 -0
- package/dist/cjs/test/sleep.test.d.ts +2 -0
- package/dist/cjs/test/sleep.test.d.ts.map +1 -0
- package/dist/cjs/test/sleep.test.js +224 -0
- package/dist/cjs/test/sleep.test.js.map +1 -0
- package/dist/cjs/test/state_keys.test.d.ts +2 -0
- package/dist/cjs/test/state_keys.test.d.ts.map +1 -0
- package/dist/cjs/test/state_keys.test.js +92 -0
- package/dist/cjs/test/state_keys.test.js.map +1 -0
- package/dist/cjs/test/state_machine.test.d.ts +2 -0
- package/dist/cjs/test/state_machine.test.d.ts.map +1 -0
- package/dist/cjs/test/state_machine.test.js +42 -0
- package/dist/cjs/test/state_machine.test.js.map +1 -0
- package/dist/cjs/test/testdriver.d.ts +31 -0
- package/dist/cjs/test/testdriver.d.ts.map +1 -0
- package/dist/cjs/test/testdriver.js +137 -0
- package/dist/cjs/test/testdriver.js.map +1 -0
- package/dist/cjs/test/utils.test.d.ts +2 -0
- package/dist/cjs/test/utils.test.d.ts.map +1 -0
- package/dist/cjs/test/utils.test.js +104 -0
- package/dist/cjs/test/utils.test.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/src/common_api.d.ts +9 -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/connection.d.ts +84 -0
- package/dist/esm/src/connection/connection.d.ts.map +1 -0
- package/dist/esm/src/connection/connection.js +177 -0
- package/dist/esm/src/connection/connection.js.map +1 -0
- package/dist/esm/src/context.d.ts +545 -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 +510 -0
- package/dist/esm/src/context_impl.js.map +1 -0
- package/dist/esm/src/endpoint/endpoint_builder.d.ts +28 -0
- package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -0
- package/dist/esm/src/endpoint/endpoint_builder.js +139 -0
- package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -0
- package/dist/esm/src/endpoint/fetch_endpoint.d.ts +54 -0
- package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -0
- package/dist/esm/src/endpoint/fetch_endpoint.js +57 -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 +29 -0
- package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -0
- package/dist/esm/src/endpoint/handlers/generic.d.ts +47 -0
- package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -0
- package/dist/esm/src/endpoint/handlers/generic.js +211 -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 +79 -0
- package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -0
- package/dist/esm/src/endpoint/lambda_endpoint.d.ts +34 -0
- package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -0
- package/dist/esm/src/endpoint/lambda_endpoint.js +49 -0
- package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -0
- package/dist/esm/src/endpoint/node_endpoint.d.ts +21 -0
- package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -0
- package/dist/esm/src/endpoint/node_endpoint.js +100 -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 +126 -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 +8 -0
- package/dist/esm/src/fetch.d.ts.map +1 -0
- package/dist/esm/src/fetch.js +21 -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 +128 -0
- package/dist/esm/src/io/decoder.js.map +1 -0
- package/dist/esm/src/io/encoder.d.ts +4 -0
- package/dist/esm/src/io/encoder.d.ts.map +1 -0
- package/dist/esm/src/io/encoder.js +36 -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/{src/endpoint.js → esm/src/lambda.js} +5 -8
- 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 +35 -0
- package/dist/esm/src/logger.d.ts.map +1 -0
- package/dist/esm/src/logger.js +144 -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 +84 -0
- package/dist/esm/src/state_machine.d.ts.map +1 -0
- package/dist/esm/src/state_machine.js +399 -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/streams.d.ts +4 -0
- package/dist/esm/src/utils/streams.d.ts.map +1 -0
- package/dist/esm/src/utils/streams.js +20 -0
- package/dist/esm/src/utils/streams.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/test/awakeable.test.d.ts +2 -0
- package/dist/esm/test/awakeable.test.d.ts.map +1 -0
- package/dist/esm/test/awakeable.test.js +139 -0
- package/dist/esm/test/awakeable.test.js.map +1 -0
- package/dist/esm/test/complete_awakeable.test.d.ts +2 -0
- package/dist/esm/test/complete_awakeable.test.d.ts.map +1 -0
- package/dist/esm/test/complete_awakeable.test.js +121 -0
- package/dist/esm/test/complete_awakeable.test.js.map +1 -0
- package/dist/esm/test/eager_state.test.d.ts +2 -0
- package/dist/esm/test/eager_state.test.d.ts.map +1 -0
- package/dist/esm/test/eager_state.test.js +278 -0
- package/dist/esm/test/eager_state.test.js.map +1 -0
- package/dist/esm/test/get_and_set_state.test.d.ts +2 -0
- package/dist/esm/test/get_and_set_state.test.d.ts.map +1 -0
- package/dist/esm/test/get_and_set_state.test.js +231 -0
- package/dist/esm/test/get_and_set_state.test.js.map +1 -0
- package/dist/esm/test/get_state.test.d.ts +2 -0
- package/dist/esm/test/get_state.test.d.ts.map +1 -0
- package/dist/esm/test/get_state.test.js +331 -0
- package/dist/esm/test/get_state.test.js.map +1 -0
- package/dist/esm/test/lambda.test.d.ts +2 -0
- package/dist/esm/test/lambda.test.d.ts.map +1 -0
- package/dist/esm/test/lambda.test.js +221 -0
- package/dist/esm/test/lambda.test.js.map +1 -0
- package/dist/esm/test/message_coders.test.d.ts +2 -0
- package/dist/esm/test/message_coders.test.d.ts.map +1 -0
- package/dist/esm/test/message_coders.test.js +35 -0
- package/dist/esm/test/message_coders.test.js.map +1 -0
- package/dist/esm/test/promise_combinator_tracker.test.d.ts +2 -0
- package/dist/esm/test/promise_combinator_tracker.test.d.ts.map +1 -0
- package/dist/esm/test/promise_combinator_tracker.test.js +154 -0
- package/dist/esm/test/promise_combinator_tracker.test.js.map +1 -0
- package/dist/esm/test/promise_combinators.test.d.ts +2 -0
- package/dist/esm/test/promise_combinators.test.d.ts.map +1 -0
- package/dist/esm/test/promise_combinators.test.js +431 -0
- package/dist/esm/test/promise_combinators.test.js.map +1 -0
- package/dist/esm/test/promises.test.d.ts +2 -0
- package/dist/esm/test/promises.test.d.ts.map +1 -0
- package/dist/esm/test/promises.test.js +30 -0
- package/dist/esm/test/promises.test.js.map +1 -0
- package/dist/esm/test/protocol_stream.test.d.ts +2 -0
- package/dist/esm/test/protocol_stream.test.d.ts.map +1 -0
- package/dist/esm/test/protocol_stream.test.js +218 -0
- package/dist/esm/test/protocol_stream.test.js.map +1 -0
- package/dist/esm/test/protoutils.d.ts +44 -0
- package/dist/esm/test/protoutils.d.ts.map +1 -0
- package/dist/esm/test/protoutils.js +326 -0
- package/dist/esm/test/protoutils.js.map +1 -0
- package/dist/esm/test/service_bind.test.d.ts +2 -0
- package/dist/esm/test/service_bind.test.d.ts.map +1 -0
- package/dist/esm/test/service_bind.test.js +48 -0
- package/dist/esm/test/service_bind.test.js.map +1 -0
- package/dist/esm/test/side_effect.test.d.ts +2 -0
- package/dist/esm/test/side_effect.test.d.ts.map +1 -0
- package/dist/esm/test/side_effect.test.js +131 -0
- package/dist/esm/test/side_effect.test.js.map +1 -0
- package/dist/esm/test/sleep.test.d.ts +2 -0
- package/dist/esm/test/sleep.test.d.ts.map +1 -0
- package/dist/esm/test/sleep.test.js +222 -0
- package/dist/esm/test/sleep.test.js.map +1 -0
- package/dist/esm/test/state_keys.test.d.ts +2 -0
- package/dist/esm/test/state_keys.test.d.ts.map +1 -0
- package/dist/esm/test/state_keys.test.js +90 -0
- package/dist/esm/test/state_keys.test.js.map +1 -0
- package/dist/esm/test/state_machine.test.d.ts +2 -0
- package/dist/esm/test/state_machine.test.d.ts.map +1 -0
- package/dist/esm/test/state_machine.test.js +40 -0
- package/dist/esm/test/state_machine.test.js.map +1 -0
- package/dist/esm/test/testdriver.d.ts +31 -0
- package/dist/esm/test/testdriver.d.ts.map +1 -0
- package/dist/esm/test/testdriver.js +133 -0
- package/dist/esm/test/testdriver.js.map +1 -0
- package/dist/esm/test/utils.test.d.ts +2 -0
- package/dist/esm/test/utils.test.d.ts.map +1 -0
- package/dist/esm/test/utils.test.js +102 -0
- package/dist/esm/test/utils.test.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/package.json +57 -19
- package/dist/src/connection/buffered_connection.d.ts +0 -14
- package/dist/src/connection/buffered_connection.d.ts.map +0 -1
- package/dist/src/connection/buffered_connection.js +0 -44
- package/dist/src/connection/buffered_connection.js.map +0 -1
- package/dist/src/connection/connection.d.ts +0 -20
- 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 +0 -208
- package/dist/src/connection/http_connection.js.map +0 -1
- package/dist/src/connection/lambda_connection.d.ts +0 -17
- package/dist/src/connection/lambda_connection.d.ts.map +0 -1
- package/dist/src/connection/lambda_connection.js +0 -64
- 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.map +0 -1
- package/dist/src/context_impl.js.map +0 -1
- package/dist/src/endpoint/endpoint_impl.d.ts +0 -27
- package/dist/src/endpoint/endpoint_impl.d.ts.map +0 -1
- package/dist/src/endpoint/endpoint_impl.js.map +0 -1
- package/dist/src/endpoint/http2_handler.d.ts +0 -11
- package/dist/src/endpoint/http2_handler.d.ts.map +0 -1
- package/dist/src/endpoint/http2_handler.js +0 -186
- 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 -176
- 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/discovery_pb.d.ts.map +0 -1
- package/dist/src/generated/proto/discovery_pb.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 +0 -7
- 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 +0 -27
- package/dist/src/logger.d.ts.map +0 -1
- package/dist/src/logger.js +0 -151
- 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.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.map +0 -1
- 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.map +0 -1
- package/dist/src/types/rpc.d.ts.map +0 -1
- 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 +0 -7
- 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 -5
- package/dist/src/utils/serde.d.ts.map +0 -1
- 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/tsconfig.tsbuildinfo +0 -1
- /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/discovery_pb.d.ts +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}/generated/proto/protocol_pb.d.ts +0 -0
- /package/dist/{src → cjs/src}/types/discovery.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
|
@@ -9,31 +9,30 @@
|
|
|
9
9
|
* directory of this repository or package, or at
|
|
10
10
|
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
11
|
*/
|
|
12
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
-
};
|
|
15
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const lambda_handler_1 = require("./lambda_handler");
|
|
22
|
-
const components_1 = require("../types/components");
|
|
23
|
-
const v1_1 = require("./request_signing/v1");
|
|
13
|
+
exports.EndpointBuilder = void 0;
|
|
14
|
+
const rpc_js_1 = require("../types/rpc.js");
|
|
15
|
+
const components_js_1 = require("../types/components.js");
|
|
16
|
+
const v1_js_1 = require("./request_signing/v1.js");
|
|
17
|
+
const logger_js_1 = require("../logger.js");
|
|
24
18
|
function isServiceDefinition(m) {
|
|
25
|
-
return m && m.service;
|
|
19
|
+
return m && m.service !== undefined;
|
|
26
20
|
}
|
|
27
21
|
function isObjectDefinition(m) {
|
|
28
|
-
return m && m.object;
|
|
22
|
+
return m && m.object !== undefined;
|
|
29
23
|
}
|
|
30
24
|
function isWorkflowDefinition(m) {
|
|
31
|
-
return m && m.workflow;
|
|
25
|
+
return m && m.workflow !== undefined;
|
|
32
26
|
}
|
|
33
|
-
|
|
34
|
-
exports.endpointImpl = endpointImpl;
|
|
35
|
-
class EndpointImpl {
|
|
27
|
+
class EndpointBuilder {
|
|
36
28
|
services = new Map();
|
|
29
|
+
logger = logger_js_1.defaultLogger;
|
|
30
|
+
/**
|
|
31
|
+
* This is a simple console without contextual info.
|
|
32
|
+
*
|
|
33
|
+
* This should be used only in cases where no contextual info is available.
|
|
34
|
+
*/
|
|
35
|
+
rlog = (0, logger_js_1.createRestateConsole)(this.logger, logger_js_1.LogSource.SYSTEM);
|
|
37
36
|
_keySet;
|
|
38
37
|
get keySet() {
|
|
39
38
|
return this._keySet;
|
|
@@ -44,10 +43,6 @@ class EndpointImpl {
|
|
|
44
43
|
addComponent(component) {
|
|
45
44
|
this.services.set(component.name(), component);
|
|
46
45
|
}
|
|
47
|
-
bindBundle(services) {
|
|
48
|
-
services.registerServices(this);
|
|
49
|
-
return this;
|
|
50
|
-
}
|
|
51
46
|
bind(definition) {
|
|
52
47
|
if (isServiceDefinition(definition)) {
|
|
53
48
|
const { name, service } = definition;
|
|
@@ -77,58 +72,16 @@ class EndpointImpl {
|
|
|
77
72
|
}
|
|
78
73
|
withIdentityV1(...keys) {
|
|
79
74
|
if (!this._keySet) {
|
|
80
|
-
this._keySet = (0,
|
|
75
|
+
this._keySet = (0, v1_js_1.parseKeySetV1)(keys);
|
|
81
76
|
return this;
|
|
82
77
|
}
|
|
83
|
-
(0,
|
|
78
|
+
(0, v1_js_1.parseKeySetV1)(keys).forEach((buffer, key) => this._keySet?.set(key, buffer));
|
|
84
79
|
return this;
|
|
85
80
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
logger_1.rlog.info(`Validating HTTP requests using signing keys [${Array.from(this._keySet.keys())}]`);
|
|
94
|
-
}
|
|
95
|
-
const handler = new http2_handler_1.Http2Handler(this);
|
|
96
|
-
return handler.acceptConnection.bind(handler);
|
|
97
|
-
}
|
|
98
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
99
|
-
lambdaHandler() {
|
|
100
|
-
if (!this._keySet) {
|
|
101
|
-
logger_1.rlog.warn(`Accepting Lambda requests without validating request signatures; Invoke permissions must be restricted`);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
logger_1.rlog.info(`Validating Lambda requests using signing keys [${Array.from(this._keySet.keys())}]`);
|
|
105
|
-
}
|
|
106
|
-
const handler = new lambda_handler_1.LambdaHandler(this);
|
|
107
|
-
return handler.handleRequest.bind(handler);
|
|
108
|
-
}
|
|
109
|
-
listen(port) {
|
|
110
|
-
const actualPort = port ?? parseInt(process.env.PORT ?? "9080");
|
|
111
|
-
logger_1.rlog.info(`Listening on ${actualPort}...`);
|
|
112
|
-
const server = http2_1.default.createServer(this.http2Handler());
|
|
113
|
-
return new Promise((resolve, reject) => {
|
|
114
|
-
let failed = false;
|
|
115
|
-
server.once("error", (e) => {
|
|
116
|
-
failed = true;
|
|
117
|
-
reject(e);
|
|
118
|
-
});
|
|
119
|
-
server.listen(actualPort, () => {
|
|
120
|
-
if (failed) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
const address = server.address();
|
|
124
|
-
if (address === null || typeof address === "string") {
|
|
125
|
-
reject(new TypeError("endpoint.listen() currently supports only binding to a PORT"));
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
resolve(address.port);
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
});
|
|
81
|
+
setLogger(newLogger) {
|
|
82
|
+
this.logger = newLogger;
|
|
83
|
+
this.rlog = (0, logger_js_1.createRestateConsole)(this.logger, logger_js_1.LogSource.SYSTEM);
|
|
84
|
+
return this;
|
|
132
85
|
}
|
|
133
86
|
computeDiscovery(protocolMode) {
|
|
134
87
|
const services = [...this.services.values()].map((c) => c.discovery());
|
|
@@ -144,9 +97,9 @@ class EndpointImpl {
|
|
|
144
97
|
if (name.indexOf("/") !== -1) {
|
|
145
98
|
throw new Error("service name must not contain any slash '/'");
|
|
146
99
|
}
|
|
147
|
-
const component = new
|
|
100
|
+
const component = new components_js_1.ServiceComponent(name);
|
|
148
101
|
for (const [route, handler] of Object.entries(router)) {
|
|
149
|
-
const wrapper =
|
|
102
|
+
const wrapper = rpc_js_1.HandlerWrapper.fromHandler(handler);
|
|
150
103
|
if (!wrapper) {
|
|
151
104
|
throw new TypeError(`${route} is not a restate handler.`);
|
|
152
105
|
}
|
|
@@ -159,9 +112,9 @@ class EndpointImpl {
|
|
|
159
112
|
if (name.indexOf("/") !== -1) {
|
|
160
113
|
throw new Error("service name must not contain any slash '/'");
|
|
161
114
|
}
|
|
162
|
-
const component = new
|
|
115
|
+
const component = new components_js_1.VirtualObjectComponent(name);
|
|
163
116
|
for (const [route, handler] of Object.entries(router)) {
|
|
164
|
-
const wrapper =
|
|
117
|
+
const wrapper = rpc_js_1.HandlerWrapper.fromHandler(handler);
|
|
165
118
|
if (!wrapper) {
|
|
166
119
|
throw new TypeError(`${route} is not a restate handler.`);
|
|
167
120
|
}
|
|
@@ -174,9 +127,9 @@ class EndpointImpl {
|
|
|
174
127
|
if (name.indexOf("/") !== -1) {
|
|
175
128
|
throw new Error("service name must not contain any slash '/'");
|
|
176
129
|
}
|
|
177
|
-
const component = new
|
|
130
|
+
const component = new components_js_1.WorkflowComponent(name);
|
|
178
131
|
for (const [route, handler] of Object.entries(workflow)) {
|
|
179
|
-
const wrapper =
|
|
132
|
+
const wrapper = rpc_js_1.HandlerWrapper.fromHandler(handler);
|
|
180
133
|
if (!wrapper) {
|
|
181
134
|
throw new TypeError(`${route} is not a restate handler.`);
|
|
182
135
|
}
|
|
@@ -186,5 +139,5 @@ class EndpointImpl {
|
|
|
186
139
|
this.addComponent(component);
|
|
187
140
|
}
|
|
188
141
|
}
|
|
189
|
-
exports.
|
|
190
|
-
//# sourceMappingURL=
|
|
142
|
+
exports.EndpointBuilder = EndpointBuilder;
|
|
143
|
+
//# sourceMappingURL=endpoint_builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint_builder.js","sourceRoot":"","sources":["../../../../src/endpoint/endpoint_builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { ServiceDefinition, VirtualObjectDefinition, WorkflowDefinition } from "@restatedev/restate-sdk-core";
|
|
3
|
+
import type { Component } from "../types/components.js";
|
|
4
|
+
import type { KeySetV1 } from "./request_signing/v1.js";
|
|
5
|
+
import type { RestateEndpointBase, ServiceBundle } from "../endpoint.js";
|
|
6
|
+
import { ProtocolMode } from "../types/discovery.js";
|
|
7
|
+
import type { Logger } from "../logger.js";
|
|
8
|
+
/**
|
|
9
|
+
* Generic Fetch encapsulates all the Restate services served by this endpoint.
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* A typical request-response handler would look like this:
|
|
14
|
+
* ```
|
|
15
|
+
* import * as restate from "@restatedev/restate-sdk/fetch";
|
|
16
|
+
*
|
|
17
|
+
* export default restate
|
|
18
|
+
* .endpoint()
|
|
19
|
+
* .bind(myService)
|
|
20
|
+
* .handler();
|
|
21
|
+
* @example
|
|
22
|
+
* A typical bidirectional handler (works with http2 and some http1.1 servers) would look like this:
|
|
23
|
+
* ```
|
|
24
|
+
* import * as restate from "@restatedev/restate-sdk/fetch";
|
|
25
|
+
*
|
|
26
|
+
* export default restate
|
|
27
|
+
* .endpoint()
|
|
28
|
+
* .bidirectional()
|
|
29
|
+
* .bind(myService)
|
|
30
|
+
* .handler();
|
|
31
|
+
*/
|
|
32
|
+
export interface FetchEndpoint extends RestateEndpointBase<FetchEndpoint> {
|
|
33
|
+
handler(): {
|
|
34
|
+
fetch: (request: Request) => Promise<Response>;
|
|
35
|
+
};
|
|
36
|
+
bidirectional(set?: boolean): FetchEndpoint;
|
|
37
|
+
}
|
|
38
|
+
export declare class FetchEndpointImpl implements FetchEndpoint {
|
|
39
|
+
private protocolMode;
|
|
40
|
+
constructor(protocolMode: ProtocolMode);
|
|
41
|
+
private builder;
|
|
42
|
+
get keySet(): KeySetV1 | undefined;
|
|
43
|
+
componentByName(componentName: string): Component | undefined;
|
|
44
|
+
addComponent(component: Component): void;
|
|
45
|
+
bindBundle(services: ServiceBundle): FetchEndpoint;
|
|
46
|
+
bind<P extends string, M>(definition: ServiceDefinition<P, M> | VirtualObjectDefinition<P, M> | WorkflowDefinition<P, M>): FetchEndpoint;
|
|
47
|
+
withIdentityV1(...keys: string[]): FetchEndpoint;
|
|
48
|
+
setLogger(newLogger: Logger): FetchEndpoint;
|
|
49
|
+
bidirectional(set?: boolean): FetchEndpoint;
|
|
50
|
+
handler(): {
|
|
51
|
+
fetch: (request: Request) => Promise<Response>;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=fetch_endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch_endpoint.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/fetch_endpoint.ts"],"names":[],"mappings":";AAWA,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,KAAK,EAEV,mBAAmB,EACnB,aAAa,EACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,aAAc,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IACvE,OAAO,IAAI;QAAE,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC;IAC9D,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;CAC7C;AAED,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAC9C,OAAO,CAAC,OAAO,CAA0C;IAEzD,IAAW,MAAM,IAAI,QAAQ,GAAG,SAAS,CAExC;IAEM,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI7D,YAAY,CAAC,SAAS,EAAE,SAAS;IAIxC,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa;IAK3C,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,GAC3B,aAAa;IAKT,cAAc,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa;IAKhD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAK3C,aAAa,CAAC,GAAG,GAAE,OAAc,GAAG,aAAa;IAOxD,OAAO,IAAI;QACT,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;KAChD;CAIF"}
|
|
@@ -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.FetchEndpointImpl = void 0;
|
|
14
|
+
const endpoint_builder_js_1 = require("./endpoint_builder.js");
|
|
15
|
+
const generic_js_1 = require("./handlers/generic.js");
|
|
16
|
+
const fetch_js_1 = require("./handlers/fetch.js");
|
|
17
|
+
const discovery_js_1 = require("../types/discovery.js");
|
|
18
|
+
class FetchEndpointImpl {
|
|
19
|
+
protocolMode;
|
|
20
|
+
constructor(protocolMode) {
|
|
21
|
+
this.protocolMode = protocolMode;
|
|
22
|
+
}
|
|
23
|
+
builder = new endpoint_builder_js_1.EndpointBuilder();
|
|
24
|
+
get keySet() {
|
|
25
|
+
return this.builder.keySet;
|
|
26
|
+
}
|
|
27
|
+
componentByName(componentName) {
|
|
28
|
+
return this.builder.componentByName(componentName);
|
|
29
|
+
}
|
|
30
|
+
addComponent(component) {
|
|
31
|
+
this.builder.addComponent(component);
|
|
32
|
+
}
|
|
33
|
+
bindBundle(services) {
|
|
34
|
+
services.registerServices(this);
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
bind(definition) {
|
|
38
|
+
this.builder.bind(definition);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
withIdentityV1(...keys) {
|
|
42
|
+
this.builder.withIdentityV1(...keys);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
setLogger(newLogger) {
|
|
46
|
+
this.builder.setLogger(newLogger);
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
bidirectional(set = true) {
|
|
50
|
+
this.protocolMode = set
|
|
51
|
+
? discovery_js_1.ProtocolMode.BIDI_STREAM
|
|
52
|
+
: discovery_js_1.ProtocolMode.REQUEST_RESPONSE;
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
handler() {
|
|
56
|
+
const genericHandler = new generic_js_1.GenericHandler(this.builder, this.protocolMode);
|
|
57
|
+
return (0, fetch_js_1.fetcher)(genericHandler);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.FetchEndpointImpl = FetchEndpointImpl;
|
|
61
|
+
//# sourceMappingURL=fetch_endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch_endpoint.js","sourceRoot":"","sources":["../../../../src/endpoint/fetch_endpoint.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AASH,+DAAwD;AAMxD,sDAAuD;AACvD,kDAA8C;AAC9C,wDAAqD;AAgCrD,MAAa,iBAAiB;IACR;IAApB,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAC1C,OAAO,GAAoB,IAAI,qCAAe,EAAE,CAAC;IAEzD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAEM,eAAe,CAAC,aAAqB;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAEM,YAAY,CAAC,SAAoB;QACtC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,QAAuB;QAChC,QAAQ,CAAC,gBAAgB,CAAC,IAAkC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI,CACT,UAG4B;QAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,cAAc,CAAC,GAAG,IAAc;QACrC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,SAAiB;QAChC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa,CAAC,MAAe,IAAI;QACtC,IAAI,CAAC,YAAY,GAAG,GAAG;YACrB,CAAC,CAAC,2BAAY,CAAC,WAAW;YAC1B,CAAC,CAAC,2BAAY,CAAC,gBAAgB,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QAGL,MAAM,cAAc,GAAG,IAAI,2BAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,OAAO,IAAA,kBAAO,EAAC,cAAc,CAAC,CAAC;IACjC,CAAC;CACF;AAtDD,8CAsDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/fetch.ts"],"names":[],"mappings":";AAWA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,cAAc,CAAC;AAEnE,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc;mBAEtB,OAAO,KAAG,QAAQ,QAAQ,CAAC;EAkBnD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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.fetcher = void 0;
|
|
14
|
+
function fetcher(handler) {
|
|
15
|
+
return {
|
|
16
|
+
fetch: async (event) => {
|
|
17
|
+
const url = event.url;
|
|
18
|
+
const headers = Object.fromEntries(event.headers.entries());
|
|
19
|
+
const request = {
|
|
20
|
+
url,
|
|
21
|
+
headers,
|
|
22
|
+
body: event.body,
|
|
23
|
+
};
|
|
24
|
+
const resp = await handler.handle(request);
|
|
25
|
+
return new Response(resp.body, {
|
|
26
|
+
status: resp.statusCode,
|
|
27
|
+
headers: resp.headers,
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.fetcher = fetcher;
|
|
33
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/fetch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAIH,SAAgB,OAAO,CAAC,OAAuB;IAC7C,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,KAAc,EAAqB,EAAE;YACjD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAE5D,MAAM,OAAO,GAAmB;gBAC9B,GAAG;gBACH,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE3C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC7B,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AApBD,0BAoBC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { ProtocolMode } from "../../types/discovery.js";
|
|
3
|
+
import type { EndpointBuilder } from "../endpoint_builder.js";
|
|
4
|
+
import { type ReadableStream } from "node:stream/web";
|
|
5
|
+
export interface Headers {
|
|
6
|
+
[name: string]: string | string[] | undefined;
|
|
7
|
+
}
|
|
8
|
+
export interface ResponseHeaders {
|
|
9
|
+
[name: string]: string;
|
|
10
|
+
}
|
|
11
|
+
export interface AdditionalContext {
|
|
12
|
+
[name: string]: string;
|
|
13
|
+
}
|
|
14
|
+
export interface RestateRequest {
|
|
15
|
+
readonly url: string;
|
|
16
|
+
readonly headers: Headers;
|
|
17
|
+
readonly body: ReadableStream<Uint8Array> | null;
|
|
18
|
+
}
|
|
19
|
+
export interface RestateResponse {
|
|
20
|
+
readonly headers: ResponseHeaders;
|
|
21
|
+
readonly statusCode: number;
|
|
22
|
+
readonly body: ReadableStream<Uint8Array>;
|
|
23
|
+
}
|
|
24
|
+
export interface RestateHandler {
|
|
25
|
+
handle(request: RestateRequest, context?: AdditionalContext): Promise<RestateResponse>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* This is an internal API to support 'fetch' like handlers.
|
|
29
|
+
* It supports both request-reply mode and bidirectional streaming mode.
|
|
30
|
+
*
|
|
31
|
+
* An individual handler will have to convert the shape of the incoming request
|
|
32
|
+
* to a RestateRequest, and then pass it to this handler, and eventually convert back
|
|
33
|
+
* the response.
|
|
34
|
+
* Different runtimes have slightly different shapes of the incoming request, and responses.
|
|
35
|
+
*/
|
|
36
|
+
export declare class GenericHandler implements RestateHandler {
|
|
37
|
+
readonly endpoint: EndpointBuilder;
|
|
38
|
+
private readonly protocolMode;
|
|
39
|
+
constructor(endpoint: EndpointBuilder, protocolMode: ProtocolMode);
|
|
40
|
+
handle(request: RestateRequest, context?: AdditionalContext): Promise<RestateResponse>;
|
|
41
|
+
private _handle;
|
|
42
|
+
private validateConnectionSignature;
|
|
43
|
+
private handleInvoke;
|
|
44
|
+
private handleDiscovery;
|
|
45
|
+
private toErrorResponse;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=generic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/generic.ts"],"names":[],"mappings":";AAqBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAO7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,OAAO;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CACJ,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,cAAc;IAEjD,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADpB,QAAQ,EAAE,eAAe,EACjB,YAAY,EAAE,YAAY;IAgBhC,MAAM,CACjB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC;YAYb,OAAO;YA4DP,2BAA2B;YAqC3B,YAAY;IA+D1B,OAAO,CAAC,eAAe;IAgDvB,OAAO,CAAC,eAAe;CAUxB"}
|
|
@@ -0,0 +1,215 @@
|
|
|
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.GenericHandler = void 0;
|
|
14
|
+
const invocation_js_1 = require("../../invocation.js");
|
|
15
|
+
const state_machine_js_1 = require("../../state_machine.js");
|
|
16
|
+
const errors_js_1 = require("../../types/errors.js");
|
|
17
|
+
const protocol_js_1 = require("../../types/protocol.js");
|
|
18
|
+
const components_js_1 = require("../../types/components.js");
|
|
19
|
+
const validate_js_1 = require("../request_signing/validate.js");
|
|
20
|
+
const user_agent_js_1 = require("../../user_agent.js");
|
|
21
|
+
const discovery_pb_js_1 = require("../../generated/proto/discovery_pb.js");
|
|
22
|
+
const web_1 = require("node:stream/web");
|
|
23
|
+
const connection_js_1 = require("../../connection/connection.js");
|
|
24
|
+
const streams_js_1 = require("../../utils/streams.js");
|
|
25
|
+
/**
|
|
26
|
+
* This is an internal API to support 'fetch' like handlers.
|
|
27
|
+
* It supports both request-reply mode and bidirectional streaming mode.
|
|
28
|
+
*
|
|
29
|
+
* An individual handler will have to convert the shape of the incoming request
|
|
30
|
+
* to a RestateRequest, and then pass it to this handler, and eventually convert back
|
|
31
|
+
* the response.
|
|
32
|
+
* Different runtimes have slightly different shapes of the incoming request, and responses.
|
|
33
|
+
*/
|
|
34
|
+
class GenericHandler {
|
|
35
|
+
endpoint;
|
|
36
|
+
protocolMode;
|
|
37
|
+
constructor(endpoint, protocolMode) {
|
|
38
|
+
this.endpoint = endpoint;
|
|
39
|
+
this.protocolMode = protocolMode;
|
|
40
|
+
if (!this.endpoint.keySet) {
|
|
41
|
+
this.endpoint.rlog.warn(`Accepting requests without validating request signatures; handler access must be restricted`);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.endpoint.rlog.info(`Validating requests using signing keys [${Array.from(this.endpoint.keySet.keys())}]`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// handle does not throw.
|
|
48
|
+
async handle(request, context) {
|
|
49
|
+
try {
|
|
50
|
+
return await this._handle(request, context);
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
const error = (0, errors_js_1.ensureError)(e);
|
|
54
|
+
this.endpoint.rlog.error("Error while handling invocation: " + (error.stack ?? error.message));
|
|
55
|
+
return this.toErrorResponse(500, error.message);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async _handle(request, context) {
|
|
59
|
+
const path = request.url;
|
|
60
|
+
const error = await this.validateConnectionSignature(path, request.headers);
|
|
61
|
+
if (error !== null) {
|
|
62
|
+
return error;
|
|
63
|
+
}
|
|
64
|
+
const parsed = (0, components_js_1.parseUrlComponents)(path);
|
|
65
|
+
if (!parsed) {
|
|
66
|
+
const msg = `Invalid path: path doesn't end in /invoke/SvcName/handlerName and also not in /discover: ${path}`;
|
|
67
|
+
this.endpoint.rlog.trace(msg);
|
|
68
|
+
return this.toErrorResponse(404, msg);
|
|
69
|
+
}
|
|
70
|
+
if (parsed === "discovery") {
|
|
71
|
+
return this.handleDiscovery(request.headers["accept"]);
|
|
72
|
+
}
|
|
73
|
+
const serviceProtocolVersionString = request.headers["content-type"];
|
|
74
|
+
if (typeof serviceProtocolVersionString !== "string") {
|
|
75
|
+
const errorMessage = "Missing content-type header";
|
|
76
|
+
this.endpoint.rlog.warn(errorMessage);
|
|
77
|
+
return this.toErrorResponse(415, errorMessage);
|
|
78
|
+
}
|
|
79
|
+
const serviceProtocolVersion = (0, protocol_js_1.parseServiceProtocolVersion)(serviceProtocolVersionString);
|
|
80
|
+
if (!(0, protocol_js_1.isServiceProtocolVersionSupported)(serviceProtocolVersion)) {
|
|
81
|
+
const errorMessage = `Unsupported service protocol version '${serviceProtocolVersionString}'`;
|
|
82
|
+
this.endpoint.rlog.warn(errorMessage);
|
|
83
|
+
return this.toErrorResponse(415, errorMessage);
|
|
84
|
+
}
|
|
85
|
+
const method = this.endpoint.componentByName(parsed.componentName);
|
|
86
|
+
if (!method) {
|
|
87
|
+
const msg = `No service found for URL: ${JSON.stringify(parsed)}`;
|
|
88
|
+
this.endpoint.rlog.error(msg);
|
|
89
|
+
return this.toErrorResponse(404, msg);
|
|
90
|
+
}
|
|
91
|
+
const handler = method?.handlerMatching(parsed);
|
|
92
|
+
if (!handler) {
|
|
93
|
+
const msg = `No service found for URL: ${JSON.stringify(parsed)}`;
|
|
94
|
+
this.endpoint.rlog.error(msg);
|
|
95
|
+
return this.toErrorResponse(404, msg);
|
|
96
|
+
}
|
|
97
|
+
if (!request.body) {
|
|
98
|
+
const msg = "The incoming message body was null";
|
|
99
|
+
this.endpoint.rlog.error(msg);
|
|
100
|
+
return this.toErrorResponse(400, msg);
|
|
101
|
+
}
|
|
102
|
+
return this.handleInvoke(handler, request.body, request.headers, serviceProtocolVersion, context ?? {});
|
|
103
|
+
}
|
|
104
|
+
async validateConnectionSignature(path, headers) {
|
|
105
|
+
if (!this.endpoint.keySet) {
|
|
106
|
+
// not validating
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
try {
|
|
110
|
+
const validateResponse = await (0, validate_js_1.validateRequestSignature)(this.endpoint.keySet, path, headers);
|
|
111
|
+
if (!validateResponse.valid) {
|
|
112
|
+
this.endpoint.rlog.error(`Rejecting request as its JWT did not validate: ${
|
|
113
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
114
|
+
validateResponse.error}`);
|
|
115
|
+
return this.toErrorResponse(401, "Unauthorized");
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
const error = (0, errors_js_1.ensureError)(e);
|
|
123
|
+
this.endpoint.rlog.error("Error while attempting to validate request signature: " +
|
|
124
|
+
(error.stack ?? error.message));
|
|
125
|
+
return this.toErrorResponse(401, "Unauthorized");
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
async handleInvoke(handler, body, headers, serviceProtocolVersion, context) {
|
|
129
|
+
let responseController;
|
|
130
|
+
const responseBody = new web_1.TransformStream({
|
|
131
|
+
start: (ctrl) => {
|
|
132
|
+
responseController =
|
|
133
|
+
ctrl;
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
const connection = connection_js_1.RestateConnection.from(this.endpoint.rlog, headers, {
|
|
137
|
+
readable: body,
|
|
138
|
+
writable: responseBody.writable,
|
|
139
|
+
});
|
|
140
|
+
// step 1: collect all journal events
|
|
141
|
+
const journalBuilder = new invocation_js_1.InvocationBuilder(handler);
|
|
142
|
+
connection.pipeToConsumer(journalBuilder);
|
|
143
|
+
try {
|
|
144
|
+
await journalBuilder.completion();
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
// ensure GC friendliness, also in case of errors
|
|
148
|
+
connection.removeCurrentConsumer();
|
|
149
|
+
}
|
|
150
|
+
// step 2: create the state machine
|
|
151
|
+
const invocation = journalBuilder.build();
|
|
152
|
+
const stateMachine = new state_machine_js_1.StateMachine(connection, invocation, handler.kind(), this.endpoint.logger, invocation.inferLoggerContext(context));
|
|
153
|
+
connection.pipeToConsumer(stateMachine);
|
|
154
|
+
// step 3: invoke the function
|
|
155
|
+
// This call would propagate errors in the state machine logic, but not errors
|
|
156
|
+
// in the application function code. Ending a function with an error as well
|
|
157
|
+
// as failign an invocation and being retried are perfectly valid actions from the
|
|
158
|
+
// SDK's perspective.
|
|
159
|
+
stateMachine
|
|
160
|
+
.invoke()
|
|
161
|
+
.catch((e) => responseController.error(e)) // in bidi case the best we can do is abort the connection
|
|
162
|
+
.finally(() => connection.removeCurrentConsumer());
|
|
163
|
+
return {
|
|
164
|
+
headers: {
|
|
165
|
+
"content-type": (0, protocol_js_1.serviceProtocolVersionToHeaderValue)(serviceProtocolVersion),
|
|
166
|
+
"x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
|
|
167
|
+
},
|
|
168
|
+
statusCode: 200,
|
|
169
|
+
body: responseBody.readable,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
handleDiscovery(acceptVersionsString) {
|
|
173
|
+
if (typeof acceptVersionsString !== "string") {
|
|
174
|
+
const errorMessage = "Missing accept header";
|
|
175
|
+
this.endpoint.rlog.warn(errorMessage);
|
|
176
|
+
return this.toErrorResponse(415, errorMessage);
|
|
177
|
+
}
|
|
178
|
+
const serviceDiscoveryProtocolVersion = (0, protocol_js_1.selectSupportedServiceDiscoveryProtocolVersion)(acceptVersionsString);
|
|
179
|
+
if (serviceDiscoveryProtocolVersion ===
|
|
180
|
+
discovery_pb_js_1.ServiceDiscoveryProtocolVersion.SERVICE_DISCOVERY_PROTOCOL_VERSION_UNSPECIFIED) {
|
|
181
|
+
const errorMessage = `Unsupported service discovery protocol version '${acceptVersionsString}'`;
|
|
182
|
+
this.endpoint.rlog.warn(errorMessage);
|
|
183
|
+
return this.toErrorResponse(415, errorMessage);
|
|
184
|
+
}
|
|
185
|
+
const discovery = this.endpoint.computeDiscovery(this.protocolMode);
|
|
186
|
+
let body;
|
|
187
|
+
if (serviceDiscoveryProtocolVersion === discovery_pb_js_1.ServiceDiscoveryProtocolVersion.V1) {
|
|
188
|
+
body = JSON.stringify(discovery);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
// should not be reached since we check for compatibility before
|
|
192
|
+
throw new Error(`Unsupported service discovery protocol version: ${serviceDiscoveryProtocolVersion}`);
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
headers: {
|
|
196
|
+
"content-type": (0, protocol_js_1.serviceDiscoveryProtocolVersionToHeaderValue)(serviceDiscoveryProtocolVersion),
|
|
197
|
+
"x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
|
|
198
|
+
},
|
|
199
|
+
statusCode: 200,
|
|
200
|
+
body: (0, streams_js_1.OnceStream)(new TextEncoder().encode(body)),
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
toErrorResponse(code, message) {
|
|
204
|
+
return {
|
|
205
|
+
headers: {
|
|
206
|
+
"content-type": "application/json",
|
|
207
|
+
"x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
|
|
208
|
+
},
|
|
209
|
+
statusCode: code,
|
|
210
|
+
body: (0, streams_js_1.OnceStream)(new TextEncoder().encode(JSON.stringify({ message }))),
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
exports.GenericHandler = GenericHandler;
|
|
215
|
+
//# sourceMappingURL=generic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/generic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyStructuredResultV2, Context } from "aws-lambda";
|
|
2
|
+
import type { GenericHandler } from "./generic.js";
|
|
3
|
+
export declare class LambdaHandler {
|
|
4
|
+
private readonly handler;
|
|
5
|
+
constructor(handler: GenericHandler);
|
|
6
|
+
handleRequest(event: APIGatewayProxyEvent | APIGatewayProxyEventV2, context: Context): Promise<APIGatewayProxyResult | APIGatewayProxyStructuredResultV2>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=lambda.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda.d.ts","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/lambda.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iCAAiC,EACjC,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,cAAc,CAAC;AAMnE,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,cAAc;IAE9C,aAAa,CACjB,KAAK,EAAE,oBAAoB,GAAG,sBAAsB,EACpD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,qBAAqB,GAAG,iCAAiC,CAAC;CAgEtE"}
|