@restatedev/restate-sdk 0.8.1 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -118
- package/dist/{clients → src/clients}/workflow_client.d.ts +2 -2
- package/dist/src/clients/workflow_client.d.ts.map +1 -0
- package/dist/{clients → src/clients}/workflow_client.js +2 -2
- package/dist/src/clients/workflow_client.js.map +1 -0
- package/dist/{connection → src/connection}/buffered_connection.d.ts +1 -0
- package/dist/src/connection/buffered_connection.d.ts.map +1 -0
- package/dist/src/connection/buffered_connection.js.map +1 -0
- package/dist/src/connection/connection.d.ts.map +1 -0
- package/dist/src/connection/connection.js.map +1 -0
- package/dist/{connection → src/connection}/http_connection.d.ts +1 -1
- package/dist/src/connection/http_connection.d.ts.map +1 -0
- package/dist/{connection → src/connection}/http_connection.js +1 -1
- package/dist/src/connection/http_connection.js.map +1 -0
- package/dist/{connection → src/connection}/lambda_connection.d.ts +1 -0
- package/dist/src/connection/lambda_connection.d.ts.map +1 -0
- package/dist/{connection → src/connection}/lambda_connection.js +5 -4
- package/dist/src/connection/lambda_connection.js.map +1 -0
- package/dist/{context.d.ts → src/context.d.ts} +146 -224
- package/dist/src/context.d.ts.map +1 -0
- package/dist/{context.js → src/context.js} +6 -41
- package/dist/src/context.js.map +1 -0
- package/dist/src/context_impl.d.ts +62 -0
- package/dist/src/context_impl.d.ts.map +1 -0
- package/dist/{context_impl.js → src/context_impl.js} +201 -182
- package/dist/src/context_impl.js.map +1 -0
- package/dist/src/endpoint/endpoint_impl.d.ts +28 -0
- package/dist/src/endpoint/endpoint_impl.d.ts.map +1 -0
- package/dist/src/endpoint/endpoint_impl.js +164 -0
- package/dist/src/endpoint/endpoint_impl.js.map +1 -0
- package/dist/{endpoint → src/endpoint}/http2_handler.d.ts +1 -1
- package/dist/src/endpoint/http2_handler.d.ts.map +1 -0
- package/dist/src/endpoint/http2_handler.js +153 -0
- package/dist/src/endpoint/http2_handler.js.map +1 -0
- package/dist/{endpoint → src/endpoint}/lambda_handler.d.ts +2 -2
- package/dist/src/endpoint/lambda_handler.d.ts.map +1 -0
- package/dist/{endpoint → src/endpoint}/lambda_handler.js +66 -56
- package/dist/src/endpoint/lambda_handler.js.map +1 -0
- package/dist/src/endpoint/request_signing/basex.d.ts +10 -0
- package/dist/src/endpoint/request_signing/basex.d.ts.map +1 -0
- package/dist/src/endpoint/request_signing/basex.js +138 -0
- package/dist/src/endpoint/request_signing/basex.js.map +1 -0
- package/dist/src/endpoint/request_signing/ed25519.d.ts +17 -0
- package/dist/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
- package/dist/src/endpoint/request_signing/ed25519.js +78 -0
- package/dist/src/endpoint/request_signing/ed25519.js.map +1 -0
- package/dist/src/endpoint/request_signing/v1.d.ts +9 -0
- package/dist/src/endpoint/request_signing/v1.d.ts.map +1 -0
- package/dist/src/endpoint/request_signing/v1.js +148 -0
- package/dist/src/endpoint/request_signing/v1.js.map +1 -0
- package/dist/src/endpoint/request_signing/validate.d.ts +18 -0
- package/dist/src/endpoint/request_signing/validate.d.ts.map +1 -0
- package/dist/src/endpoint/request_signing/validate.js +45 -0
- package/dist/src/endpoint/request_signing/validate.js.map +1 -0
- package/dist/src/endpoint.d.ts +102 -0
- package/dist/src/endpoint.d.ts.map +1 -0
- package/dist/{endpoint.js → src/endpoint.js} +1 -1
- package/dist/src/endpoint.js.map +1 -0
- package/dist/src/generated/proto/javascript_pb.d.ts +26 -0
- package/dist/src/generated/proto/javascript_pb.d.ts.map +1 -0
- package/dist/src/generated/proto/javascript_pb.js +52 -0
- package/dist/src/generated/proto/javascript_pb.js.map +1 -0
- package/dist/src/generated/proto/protocol_pb.d.ts +865 -0
- package/dist/src/generated/proto/protocol_pb.d.ts.map +1 -0
- package/dist/src/generated/proto/protocol_pb.js +1112 -0
- package/dist/src/generated/proto/protocol_pb.js.map +1 -0
- package/dist/src/generated/version.d.ts +2 -0
- package/dist/src/generated/version.d.ts.map +1 -0
- package/dist/src/generated/version.js +5 -0
- package/dist/src/generated/version.js.map +1 -0
- package/dist/{invocation.d.ts → src/invocation.d.ts} +14 -18
- package/dist/src/invocation.d.ts.map +1 -0
- package/dist/{invocation.js → src/invocation.js} +25 -24
- package/dist/src/invocation.js.map +1 -0
- package/dist/{io → src/io}/decoder.d.ts +3 -2
- package/dist/src/io/decoder.d.ts.map +1 -0
- package/dist/{io → src/io}/decoder.js +12 -10
- package/dist/src/io/decoder.js.map +1 -0
- package/dist/{io → src/io}/encoder.d.ts +1 -1
- package/dist/src/io/encoder.d.ts.map +1 -0
- package/dist/{io → src/io}/encoder.js +11 -21
- package/dist/src/io/encoder.js.map +1 -0
- package/dist/{journal.d.ts → src/journal.d.ts} +7 -7
- package/dist/src/journal.d.ts.map +1 -0
- package/dist/{journal.js → src/journal.js} +64 -46
- package/dist/src/journal.js.map +1 -0
- package/dist/{local_state_store.d.ts → src/local_state_store.d.ts} +2 -2
- package/dist/src/local_state_store.d.ts.map +1 -0
- package/dist/{local_state_store.js → src/local_state_store.js} +19 -17
- package/dist/src/local_state_store.js.map +1 -0
- package/dist/{logger.d.ts → src/logger.d.ts} +9 -1
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +158 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/promise_combinator_tracker.d.ts.map +1 -0
- package/dist/src/promise_combinator_tracker.js.map +1 -0
- package/dist/src/public_api.d.ts +7 -0
- package/dist/src/public_api.d.ts.map +1 -0
- package/dist/{public_api.js → src/public_api.js} +4 -14
- package/dist/src/public_api.js.map +1 -0
- package/dist/{state_machine.d.ts → src/state_machine.d.ts} +7 -4
- package/dist/src/state_machine.d.ts.map +1 -0
- package/dist/{state_machine.js → src/state_machine.js} +34 -37
- package/dist/src/state_machine.js.map +1 -0
- package/dist/src/types/components.d.ts +65 -0
- package/dist/src/types/components.d.ts.map +1 -0
- package/dist/src/types/components.js +163 -0
- package/dist/src/types/components.js.map +1 -0
- package/dist/src/types/discovery.d.ts +40 -0
- package/dist/src/types/discovery.d.ts.map +1 -0
- package/dist/src/types/discovery.js +29 -0
- package/dist/src/types/discovery.js.map +1 -0
- package/dist/src/types/errors.d.ts +53 -0
- package/dist/src/types/errors.d.ts.map +1 -0
- package/dist/src/types/errors.js +129 -0
- package/dist/src/types/errors.js.map +1 -0
- package/dist/src/types/protocol.d.ts +33 -0
- package/dist/src/types/protocol.d.ts.map +1 -0
- package/dist/{types → src/types}/protocol.js +52 -52
- package/dist/src/types/protocol.js.map +1 -0
- package/dist/src/types/rpc.d.ts +50 -0
- package/dist/src/types/rpc.d.ts.map +1 -0
- package/dist/src/types/rpc.js +38 -0
- package/dist/src/types/rpc.js.map +1 -0
- package/dist/{types → src/types}/types.d.ts +0 -9
- package/dist/src/types/types.d.ts.map +1 -0
- package/dist/{types → src/types}/types.js +4 -21
- package/dist/src/types/types.js.map +1 -0
- package/dist/src/user_agent.d.ts +2 -0
- package/dist/src/user_agent.d.ts.map +1 -0
- package/dist/src/user_agent.js +16 -0
- package/dist/src/user_agent.js.map +1 -0
- package/dist/src/utils/message_logger.d.ts +7 -0
- package/dist/src/utils/message_logger.d.ts.map +1 -0
- package/dist/{utils → src/utils}/message_logger.js +17 -26
- package/dist/src/utils/message_logger.js.map +1 -0
- package/dist/src/utils/promises.d.ts.map +1 -0
- package/dist/src/utils/promises.js.map +1 -0
- package/dist/{utils → src/utils}/rand.d.ts +1 -0
- package/dist/src/utils/rand.d.ts.map +1 -0
- package/dist/{utils → src/utils}/rand.js +7 -6
- package/dist/src/utils/rand.js.map +1 -0
- package/dist/src/utils/serde.d.ts +3 -0
- package/dist/src/utils/serde.d.ts.map +1 -0
- package/dist/src/utils/serde.js +24 -0
- package/dist/src/utils/serde.js.map +1 -0
- package/dist/{utils → src/utils}/utils.d.ts +0 -1
- package/dist/src/utils/utils.d.ts.map +1 -0
- package/dist/{utils → src/utils}/utils.js +36 -43
- package/dist/src/utils/utils.js.map +1 -0
- package/dist/{workflows → src/workflows}/workflow.d.ts +6 -6
- package/dist/src/workflows/workflow.d.ts.map +1 -0
- package/dist/{workflows → src/workflows}/workflow.js +11 -7
- package/dist/src/workflows/workflow.js.map +1 -0
- package/dist/src/workflows/workflow_state_service.d.ts +35 -0
- package/dist/src/workflows/workflow_state_service.d.ts.map +1 -0
- package/dist/{workflows → src/workflows}/workflow_state_service.js +11 -11
- package/dist/src/workflows/workflow_state_service.js.map +1 -0
- package/dist/{workflows → src/workflows}/workflow_wrapper_service.d.ts +2 -2
- package/dist/src/workflows/workflow_wrapper_service.d.ts.map +1 -0
- package/dist/{workflows → src/workflows}/workflow_wrapper_service.js +66 -45
- package/dist/src/workflows/workflow_wrapper_service.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +13 -28
- package/LICENSE +0 -21
- package/dist/clients/workflow_client.d.ts.map +0 -1
- package/dist/clients/workflow_client.js.map +0 -1
- package/dist/connection/buffered_connection.d.ts.map +0 -1
- package/dist/connection/buffered_connection.js.map +0 -1
- package/dist/connection/connection.d.ts.map +0 -1
- package/dist/connection/connection.js.map +0 -1
- package/dist/connection/embedded_connection.d.ts +0 -20
- package/dist/connection/embedded_connection.d.ts.map +0 -1
- package/dist/connection/embedded_connection.js +0 -59
- package/dist/connection/embedded_connection.js.map +0 -1
- package/dist/connection/http_connection.d.ts.map +0 -1
- package/dist/connection/http_connection.js.map +0 -1
- package/dist/connection/lambda_connection.d.ts.map +0 -1
- package/dist/connection/lambda_connection.js.map +0 -1
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js.map +0 -1
- package/dist/context_impl.d.ts +0 -65
- package/dist/context_impl.d.ts.map +0 -1
- package/dist/context_impl.js.map +0 -1
- package/dist/embedded/api.d.ts +0 -27
- package/dist/embedded/api.d.ts.map +0 -1
- package/dist/embedded/api.js +0 -35
- package/dist/embedded/api.js.map +0 -1
- package/dist/embedded/handler.d.ts +0 -4
- package/dist/embedded/handler.d.ts.map +0 -1
- package/dist/embedded/handler.js +0 -26
- package/dist/embedded/handler.js.map +0 -1
- package/dist/embedded/http2_remote.d.ts +0 -11
- package/dist/embedded/http2_remote.d.ts.map +0 -1
- package/dist/embedded/http2_remote.js +0 -91
- package/dist/embedded/http2_remote.js.map +0 -1
- package/dist/embedded/invocation.d.ts +0 -5
- package/dist/embedded/invocation.d.ts.map +0 -1
- package/dist/embedded/invocation.js +0 -94
- package/dist/embedded/invocation.js.map +0 -1
- package/dist/endpoint/endpoint_impl.d.ts +0 -35
- package/dist/endpoint/endpoint_impl.d.ts.map +0 -1
- package/dist/endpoint/endpoint_impl.js +0 -405
- package/dist/endpoint/endpoint_impl.js.map +0 -1
- package/dist/endpoint/http2_handler.d.ts.map +0 -1
- package/dist/endpoint/http2_handler.js +0 -119
- package/dist/endpoint/http2_handler.js.map +0 -1
- package/dist/endpoint/lambda_handler.d.ts.map +0 -1
- package/dist/endpoint/lambda_handler.js.map +0 -1
- package/dist/endpoint.d.ts +0 -161
- package/dist/endpoint.d.ts.map +0 -1
- package/dist/endpoint.js.map +0 -1
- package/dist/generated/dev/restate/events.d.ts +0 -96
- package/dist/generated/dev/restate/events.d.ts.map +0 -1
- package/dist/generated/dev/restate/events.js +0 -371
- package/dist/generated/dev/restate/events.js.map +0 -1
- package/dist/generated/dev/restate/ext.d.ts +0 -91
- package/dist/generated/dev/restate/ext.d.ts.map +0 -1
- package/dist/generated/dev/restate/ext.js +0 -215
- package/dist/generated/dev/restate/ext.js.map +0 -1
- package/dist/generated/google/protobuf/descriptor.d.ts +0 -1204
- package/dist/generated/google/protobuf/descriptor.d.ts.map +0 -1
- package/dist/generated/google/protobuf/descriptor.js +0 -6676
- package/dist/generated/google/protobuf/descriptor.js.map +0 -1
- package/dist/generated/google/protobuf/empty.d.ts +0 -86
- package/dist/generated/google/protobuf/empty.d.ts.map +0 -1
- package/dist/generated/google/protobuf/empty.js +0 -107
- package/dist/generated/google/protobuf/empty.js.map +0 -1
- package/dist/generated/google/protobuf/struct.d.ts +0 -175
- package/dist/generated/google/protobuf/struct.d.ts.map +0 -1
- package/dist/generated/google/protobuf/struct.js +0 -754
- package/dist/generated/google/protobuf/struct.js.map +0 -1
- package/dist/generated/proto/discovery.d.ts +0 -105
- package/dist/generated/proto/discovery.d.ts.map +0 -1
- package/dist/generated/proto/discovery.js +0 -364
- package/dist/generated/proto/discovery.js.map +0 -1
- package/dist/generated/proto/dynrpc.d.ts +0 -150
- package/dist/generated/proto/dynrpc.d.ts.map +0 -1
- package/dist/generated/proto/dynrpc.js +0 -668
- package/dist/generated/proto/dynrpc.js.map +0 -1
- package/dist/generated/proto/javascript.d.ts +0 -110
- package/dist/generated/proto/javascript.d.ts.map +0 -1
- package/dist/generated/proto/javascript.js +0 -416
- package/dist/generated/proto/javascript.js.map +0 -1
- package/dist/generated/proto/protocol.d.ts +0 -450
- package/dist/generated/proto/protocol.d.ts.map +0 -1
- package/dist/generated/proto/protocol.js +0 -2641
- package/dist/generated/proto/protocol.js.map +0 -1
- package/dist/generated/proto/services.d.ts +0 -307
- package/dist/generated/proto/services.d.ts.map +0 -1
- package/dist/generated/proto/services.js +0 -1535
- package/dist/generated/proto/services.js.map +0 -1
- package/dist/generated/proto/test.d.ts +0 -116
- package/dist/generated/proto/test.d.ts.map +0 -1
- package/dist/generated/proto/test.js +0 -321
- package/dist/generated/proto/test.js.map +0 -1
- package/dist/invocation.d.ts.map +0 -1
- package/dist/invocation.js.map +0 -1
- package/dist/io/decoder.d.ts.map +0 -1
- package/dist/io/decoder.js.map +0 -1
- package/dist/io/encoder.d.ts.map +0 -1
- package/dist/io/encoder.js.map +0 -1
- package/dist/journal.d.ts.map +0 -1
- package/dist/journal.js.map +0 -1
- package/dist/local_state_store.d.ts.map +0 -1
- package/dist/local_state_store.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -90
- package/dist/logger.js.map +0 -1
- package/dist/promise_combinator_tracker.d.ts.map +0 -1
- package/dist/promise_combinator_tracker.js.map +0 -1
- package/dist/public_api.d.ts +0 -10
- package/dist/public_api.d.ts.map +0 -1
- package/dist/public_api.js.map +0 -1
- package/dist/state_machine.d.ts.map +0 -1
- package/dist/state_machine.js.map +0 -1
- package/dist/types/errors.d.ts +0 -188
- package/dist/types/errors.d.ts.map +0 -1
- package/dist/types/errors.js +0 -273
- package/dist/types/errors.js.map +0 -1
- package/dist/types/grpc.d.ts +0 -90
- package/dist/types/grpc.d.ts.map +0 -1
- package/dist/types/grpc.js +0 -81
- package/dist/types/grpc.js.map +0 -1
- package/dist/types/protocol.d.ts +0 -30
- package/dist/types/protocol.d.ts.map +0 -1
- package/dist/types/protocol.js.map +0 -1
- package/dist/types/router.d.ts +0 -33
- package/dist/types/router.d.ts.map +0 -1
- package/dist/types/router.js +0 -36
- package/dist/types/router.js.map +0 -1
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/types.js.map +0 -1
- package/dist/utils/assumptions.d.ts +0 -8
- package/dist/utils/assumptions.d.ts.map +0 -1
- package/dist/utils/assumptions.js +0 -101
- package/dist/utils/assumptions.js.map +0 -1
- package/dist/utils/message_logger.d.ts +0 -28
- package/dist/utils/message_logger.d.ts.map +0 -1
- package/dist/utils/message_logger.js.map +0 -1
- package/dist/utils/promises.d.ts.map +0 -1
- package/dist/utils/promises.js.map +0 -1
- package/dist/utils/public_utils.d.ts +0 -58
- package/dist/utils/public_utils.d.ts.map +0 -1
- package/dist/utils/public_utils.js +0 -49
- package/dist/utils/public_utils.js.map +0 -1
- package/dist/utils/rand.d.ts.map +0 -1
- package/dist/utils/rand.js.map +0 -1
- package/dist/utils/utils.d.ts.map +0 -1
- package/dist/utils/utils.js.map +0 -1
- package/dist/workflows/workflow.d.ts.map +0 -1
- package/dist/workflows/workflow.js.map +0 -1
- package/dist/workflows/workflow_state_service.d.ts +0 -35
- package/dist/workflows/workflow_state_service.d.ts.map +0 -1
- package/dist/workflows/workflow_state_service.js.map +0 -1
- package/dist/workflows/workflow_wrapper_service.d.ts.map +0 -1
- package/dist/workflows/workflow_wrapper_service.js.map +0 -1
- package/src/clients/workflow_client.ts +0 -290
- package/src/connection/buffered_connection.ts +0 -47
- package/src/connection/connection.ts +0 -34
- package/src/connection/embedded_connection.ts +0 -62
- package/src/connection/http_connection.ts +0 -228
- package/src/connection/lambda_connection.ts +0 -69
- package/src/context.ts +0 -633
- package/src/context_impl.ts +0 -721
- package/src/embedded/api.ts +0 -57
- package/src/embedded/handler.ts +0 -36
- package/src/embedded/http2_remote.ts +0 -103
- package/src/embedded/invocation.ts +0 -126
- package/src/endpoint/endpoint_impl.ts +0 -623
- package/src/endpoint/http2_handler.ts +0 -151
- package/src/endpoint/lambda_handler.ts +0 -181
- package/src/endpoint.ts +0 -187
- package/src/generated/dev/restate/events.ts +0 -430
- package/src/generated/dev/restate/ext.ts +0 -238
- package/src/generated/google/protobuf/descriptor.ts +0 -7889
- package/src/generated/google/protobuf/empty.ts +0 -150
- package/src/generated/google/protobuf/struct.ts +0 -878
- package/src/generated/proto/discovery.ts +0 -423
- package/src/generated/proto/dynrpc.ts +0 -768
- package/src/generated/proto/javascript.ts +0 -488
- package/src/generated/proto/protocol.ts +0 -3091
- package/src/generated/proto/services.ts +0 -1834
- package/src/generated/proto/test.ts +0 -387
- package/src/invocation.ts +0 -212
- package/src/io/decoder.ts +0 -171
- package/src/io/encoder.ts +0 -72
- package/src/journal.ts +0 -537
- package/src/local_state_store.ts +0 -94
- package/src/logger.ts +0 -121
- package/src/promise_combinator_tracker.ts +0 -191
- package/src/public_api.ts +0 -53
- package/src/state_machine.ts +0 -635
- package/src/types/errors.ts +0 -297
- package/src/types/grpc.ts +0 -97
- package/src/types/protocol.ts +0 -201
- package/src/types/router.ts +0 -118
- package/src/types/types.ts +0 -160
- package/src/utils/assumptions.ts +0 -131
- package/src/utils/message_logger.ts +0 -112
- package/src/utils/promises.ts +0 -118
- package/src/utils/public_utils.ts +0 -91
- package/src/utils/rand.ts +0 -142
- package/src/utils/utils.ts +0 -178
- package/src/workflows/workflow.ts +0 -178
- package/src/workflows/workflow_state_service.ts +0 -299
- package/src/workflows/workflow_wrapper_service.ts +0 -314
- /package/dist/{connection → src/connection}/buffered_connection.js +0 -0
- /package/dist/{connection → src/connection}/connection.d.ts +0 -0
- /package/dist/{connection → src/connection}/connection.js +0 -0
- /package/dist/{promise_combinator_tracker.d.ts → src/promise_combinator_tracker.d.ts} +0 -0
- /package/dist/{promise_combinator_tracker.js → src/promise_combinator_tracker.js} +0 -0
- /package/dist/{utils → src/utils}/promises.d.ts +0 -0
- /package/dist/{utils → src/utils}/promises.js +0 -0
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as p from "./types/protocol";
|
|
3
3
|
import { Connection, RestateStreamConsumer } from "./connection/connection";
|
|
4
|
-
import { ProtocolMode } from "./generated/proto/discovery";
|
|
5
4
|
import { Message } from "./types/types";
|
|
6
5
|
import { StateMachineConsole } from "./utils/message_logger";
|
|
7
6
|
import { Invocation } from "./invocation";
|
|
7
|
+
import { JournalErrorContext } from "./types/errors";
|
|
8
8
|
import { LocalStateStore } from "./local_state_store";
|
|
9
9
|
import { LoggerContext } from "./logger";
|
|
10
10
|
import { WrappedPromise } from "./utils/promises";
|
|
11
11
|
import { PromiseId } from "./promise_combinator_tracker";
|
|
12
|
-
|
|
12
|
+
import { ProtocolMode } from "./types/discovery";
|
|
13
|
+
import { Buffer } from "node:buffer";
|
|
14
|
+
export declare class StateMachine implements RestateStreamConsumer {
|
|
13
15
|
private readonly connection;
|
|
14
16
|
private readonly invocation;
|
|
15
17
|
private readonly protocolMode;
|
|
@@ -23,7 +25,7 @@ export declare class StateMachine<I, O> implements RestateStreamConsumer {
|
|
|
23
25
|
private suspensionTimeout?;
|
|
24
26
|
private promiseCombinatorTracker;
|
|
25
27
|
console: StateMachineConsole;
|
|
26
|
-
constructor(connection: Connection, invocation: Invocation
|
|
28
|
+
constructor(connection: Connection, invocation: Invocation, protocolMode: ProtocolMode, keyedContext: boolean, loggerContext: LoggerContext, suspensionMillis?: number);
|
|
27
29
|
handleMessage(m: Message): boolean;
|
|
28
30
|
handleUserCodeMessage<T>(messageType: bigint, message: p.ProtocolMessage, completedFlag?: boolean, protocolVersion?: number, requiresAckFlag?: boolean): WrappedPromise<T | void>;
|
|
29
31
|
createCombinator(combinatorConstructor: (promises: PromiseLike<unknown>[]) => Promise<unknown>, promises: Array<{
|
|
@@ -47,7 +49,7 @@ export declare class StateMachine<I, O> implements RestateStreamConsumer {
|
|
|
47
49
|
* expected to ensure that resources are properly cleaned up.
|
|
48
50
|
*/
|
|
49
51
|
invoke(): Promise<Buffer | void>;
|
|
50
|
-
|
|
52
|
+
sendErrorAndFinish(e: Error, ctx?: JournalErrorContext): Promise<void>;
|
|
51
53
|
private sendRetryableError;
|
|
52
54
|
private sendTerminalError;
|
|
53
55
|
private send;
|
|
@@ -76,6 +78,7 @@ export declare class StateMachine<I, O> implements RestateStreamConsumer {
|
|
|
76
78
|
getUserCodeJournalIndex(): number;
|
|
77
79
|
handleInputClosed(): void;
|
|
78
80
|
handleStreamError(e: Error): void;
|
|
81
|
+
handleDanglingPromiseError(e: Error): void;
|
|
79
82
|
nextEntryWillBeReplayed(): boolean;
|
|
80
83
|
private clearSuspensionTimeout;
|
|
81
84
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state_machine.d.ts","sourceRoot":"","sources":["../../src/state_machine.ts"],"names":[],"mappings":";AAWA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAEL,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAKL,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAwB,aAAa,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAIL,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,SAAS,EAEV,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,YAAa,YAAW,qBAAqB;IA4BtD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAG7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAhCnC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2C;IAO9E,OAAO,CAAC,kBAAkB,CAAS;IAEnC,SAAgB,eAAe,EAAE,eAAe,CAAC;IAKjD,OAAO,CAAC,kBAAkB,CAAS;IAGnC,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAE3C,OAAO,CAAC,wBAAwB,CAA2B;IAE3D,OAAO,EAAE,mBAAmB,CAAC;gBAGV,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC3C,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,aAAa,EACX,gBAAgB,GAAE,MAAe;IAsB7C,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO;IAwClC,qBAAqB,CAAC,CAAC,EAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,CAAC,eAAe,EAC1B,aAAa,CAAC,EAAE,OAAO,EACvB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,OAAO,GACxB,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC;IA+CpB,gBAAgB,CACrB,qBAAqB,EAAE,CACrB,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,KAC7B,OAAO,CAAC,OAAO,CAAC,EACrB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;IAe/D,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,SAAS;IA8CjE,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;IAgCxE;;;;;;;;;;;;;OAaG;IACI,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuG1B,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,mBAAmB;IAWnE,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,IAAI;IAMZ;;OAEG;YACW,MAAM;IAcpB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,mBAAmB;YAOb,OAAO;IAmCrB;;;;OAIG;IACI,uBAAuB,IAAI,MAAM;IAIjC,iBAAiB,IAAI,IAAI;IAmBzB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IASjC,0BAA0B,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAS1C,uBAAuB;IAI9B,OAAO,CAAC,sBAAsB;CAM/B"}
|
|
@@ -36,16 +36,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.StateMachine = void 0;
|
|
37
37
|
const p = __importStar(require("./types/protocol"));
|
|
38
38
|
const context_impl_1 = require("./context_impl");
|
|
39
|
-
const discovery_1 = require("./generated/proto/discovery");
|
|
40
39
|
const types_1 = require("./types/types");
|
|
41
40
|
const message_logger_1 = require("./utils/message_logger");
|
|
42
|
-
const timers_1 = require("timers");
|
|
43
41
|
const protocol_1 = require("./types/protocol");
|
|
44
42
|
const journal_1 = require("./journal");
|
|
45
43
|
const errors_1 = require("./types/errors");
|
|
46
44
|
const logger_1 = require("./logger");
|
|
47
45
|
const promises_1 = require("./utils/promises");
|
|
48
46
|
const promise_combinator_tracker_1 = require("./promise_combinator_tracker");
|
|
47
|
+
const javascript_pb_1 = require("./generated/proto/javascript_pb");
|
|
48
|
+
const discovery_1 = require("./types/discovery");
|
|
49
|
+
const node_buffer_1 = require("node:buffer");
|
|
49
50
|
class StateMachine {
|
|
50
51
|
connection;
|
|
51
52
|
invocation;
|
|
@@ -76,9 +77,9 @@ class StateMachine {
|
|
|
76
77
|
this.suspensionMillis = suspensionMillis;
|
|
77
78
|
this.localStateStore = invocation.localStateStore;
|
|
78
79
|
this.console = (0, message_logger_1.createStateMachineConsole)(loggerContext);
|
|
79
|
-
this.restateContext = new context_impl_1.ContextImpl(this.invocation.id,
|
|
80
|
+
this.restateContext = new context_impl_1.ContextImpl(this.invocation.id,
|
|
80
81
|
// The console exposed by RestateContext filters logs in replay, while the internal one is based on the ENV variables.
|
|
81
|
-
(0, logger_1.createRestateConsole)(loggerContext, () => !this.journal.isReplaying()), keyedContext, this);
|
|
82
|
+
(0, logger_1.createRestateConsole)(loggerContext, () => !this.journal.isReplaying()), keyedContext, invocation.userKey, invocation.invocationValue, invocation.invocationHeaders, this);
|
|
82
83
|
this.journal = new journal_1.Journal(this.invocation);
|
|
83
84
|
this.promiseCombinatorTracker = new promise_combinator_tracker_1.PromiseCombinatorTracker(this.readCombinatorOrderEntry.bind(this), this.writeCombinatorOrderEntry.bind(this));
|
|
84
85
|
}
|
|
@@ -101,7 +102,7 @@ class StateMachine {
|
|
|
101
102
|
// Remove lingering suspension timeouts, if we are not waiting for completions anymore
|
|
102
103
|
if (this.suspensionTimeout !== undefined &&
|
|
103
104
|
this.journal.getCompletableIndices().length === 0) {
|
|
104
|
-
|
|
105
|
+
clearTimeout(this.suspensionTimeout);
|
|
105
106
|
this.suspensionTimeout = undefined;
|
|
106
107
|
}
|
|
107
108
|
return false; // we are never complete
|
|
@@ -172,10 +173,10 @@ class StateMachine {
|
|
|
172
173
|
}
|
|
173
174
|
async writeCombinatorOrderEntry(combinatorId, order) {
|
|
174
175
|
if (this.journal.isProcessing()) {
|
|
175
|
-
const combinatorMessage = {
|
|
176
|
+
const combinatorMessage = new javascript_pb_1.CombinatorEntryMessage({
|
|
176
177
|
combinatorId,
|
|
177
178
|
journalEntriesOrder: order.map((pid) => pid.id),
|
|
178
|
-
};
|
|
179
|
+
});
|
|
179
180
|
this.console.debugJournalMessage("Adding message to journal and sending to Restate", protocol_1.COMBINATOR_ENTRY_MESSAGE, combinatorMessage);
|
|
180
181
|
const ackPromise = this.journal.appendJournalEntry(protocol_1.COMBINATOR_ENTRY_MESSAGE, combinatorMessage);
|
|
181
182
|
this.send(new types_1.Message(protocol_1.COMBINATOR_ENTRY_MESSAGE, combinatorMessage, undefined, undefined, true));
|
|
@@ -214,21 +215,13 @@ class StateMachine {
|
|
|
214
215
|
return Promise.reject(new Error("state machine is already closed"));
|
|
215
216
|
}
|
|
216
217
|
if (this.journal.nextEntryWillBeReplayed()) {
|
|
217
|
-
this.console.
|
|
218
|
+
this.console.debug("Resuming (replaying) function.");
|
|
218
219
|
}
|
|
219
220
|
else {
|
|
220
|
-
this.console.
|
|
221
|
-
}
|
|
222
|
-
let resultBytes;
|
|
223
|
-
switch (this.invocation.invocationValue.kind) {
|
|
224
|
-
case "value":
|
|
225
|
-
resultBytes = this.invocation.method.invoke(this.restateContext, this.invocation.invocationValue.value);
|
|
226
|
-
break;
|
|
227
|
-
case "failure":
|
|
228
|
-
resultBytes = Promise.reject((0, errors_1.failureToTerminalError)(this.invocation.invocationValue.failure));
|
|
229
|
-
break;
|
|
221
|
+
this.console.debug("Invoking function.");
|
|
230
222
|
}
|
|
231
|
-
|
|
223
|
+
this.invocation.handler
|
|
224
|
+
.invoke(this.restateContext, this.invocation.invocationValue)
|
|
232
225
|
.then((bytes) => {
|
|
233
226
|
// invocation successfully returned with a result value
|
|
234
227
|
try {
|
|
@@ -244,10 +237,10 @@ class StateMachine {
|
|
|
244
237
|
"This try-catch block should be placed inside the side effect.");
|
|
245
238
|
return;
|
|
246
239
|
}
|
|
247
|
-
const value = Buffer.from(bytes);
|
|
240
|
+
const value = node_buffer_1.Buffer.from(bytes);
|
|
248
241
|
// handle the result value
|
|
249
|
-
const msg = new types_1.Message(protocol_1.
|
|
250
|
-
value,
|
|
242
|
+
const msg = new types_1.Message(protocol_1.OUTPUT_ENTRY_MESSAGE_TYPE, new protocol_1.OutputEntryMessage({
|
|
243
|
+
result: { case: "value", value },
|
|
251
244
|
}));
|
|
252
245
|
this.journal.handleUserSideMessage(msg.messageType, msg.message);
|
|
253
246
|
if (!this.journal.outputMsgWasReplayed()) {
|
|
@@ -257,9 +250,9 @@ class StateMachine {
|
|
|
257
250
|
else {
|
|
258
251
|
this.console.debugJournalMessage("Replayed and matched output message from journal", msg.messageType, msg.message);
|
|
259
252
|
}
|
|
260
|
-
this.console.
|
|
253
|
+
this.console.debug("Function completed successfully.");
|
|
261
254
|
// Mark the end of the invocation
|
|
262
|
-
this.send(new types_1.Message(protocol_1.END_MESSAGE_TYPE, protocol_1.EndMessage
|
|
255
|
+
this.send(new types_1.Message(protocol_1.END_MESSAGE_TYPE, new protocol_1.EndMessage()));
|
|
263
256
|
this.finish(value);
|
|
264
257
|
}
|
|
265
258
|
catch (e) {
|
|
@@ -275,9 +268,7 @@ class StateMachine {
|
|
|
275
268
|
if (this.stateMachineClosed) {
|
|
276
269
|
return;
|
|
277
270
|
}
|
|
278
|
-
|
|
279
|
-
this.console.trace("Function completed with an error: " + error.message, e);
|
|
280
|
-
this.sendErrorAndFinish(error);
|
|
271
|
+
this.sendErrorAndFinish((0, errors_1.ensureError)(e));
|
|
281
272
|
}
|
|
282
273
|
catch (ee) {
|
|
283
274
|
this.unhandledError((0, errors_1.ensureError)(ee));
|
|
@@ -287,23 +278,24 @@ class StateMachine {
|
|
|
287
278
|
// rpc function does not end (error, suspension, ...)
|
|
288
279
|
return this.invocationComplete.promise;
|
|
289
280
|
}
|
|
290
|
-
async sendErrorAndFinish(e) {
|
|
281
|
+
async sendErrorAndFinish(e, ctx) {
|
|
282
|
+
this.console.warn("Function completed with an error.\n", e);
|
|
291
283
|
if (e instanceof errors_1.TerminalError) {
|
|
292
284
|
this.sendTerminalError(e);
|
|
293
285
|
}
|
|
294
286
|
else {
|
|
295
|
-
this.sendRetryableError(e);
|
|
287
|
+
this.sendRetryableError(e, ctx);
|
|
296
288
|
}
|
|
297
289
|
await this.finish();
|
|
298
290
|
}
|
|
299
|
-
sendRetryableError(e) {
|
|
300
|
-
const msg = new types_1.Message(protocol_1.ERROR_MESSAGE_TYPE, (0, errors_1.errorToErrorMessage)(e));
|
|
291
|
+
sendRetryableError(e, ctx) {
|
|
292
|
+
const msg = new types_1.Message(protocol_1.ERROR_MESSAGE_TYPE, (0, errors_1.errorToErrorMessage)(e, ctx));
|
|
301
293
|
this.console.debugJournalMessage("Invocation ended with retryable error.", msg.messageType, msg.message);
|
|
302
294
|
this.send(msg);
|
|
303
295
|
}
|
|
304
296
|
sendTerminalError(e) {
|
|
305
|
-
const msg = new types_1.Message(protocol_1.
|
|
306
|
-
failure: e.toFailure(),
|
|
297
|
+
const msg = new types_1.Message(protocol_1.OUTPUT_ENTRY_MESSAGE_TYPE, new protocol_1.OutputEntryMessage({
|
|
298
|
+
result: { case: "failure", value: e.toFailure() },
|
|
307
299
|
}));
|
|
308
300
|
this.console.debugJournalMessage("Invocation ended with failure message.", msg.messageType, msg.message);
|
|
309
301
|
this.journal.handleUserSideMessage(msg.messageType, msg.message);
|
|
@@ -311,7 +303,7 @@ class StateMachine {
|
|
|
311
303
|
this.send(msg);
|
|
312
304
|
}
|
|
313
305
|
// Mark the end of the invocation
|
|
314
|
-
this.send(new types_1.Message(protocol_1.END_MESSAGE_TYPE, protocol_1.EndMessage
|
|
306
|
+
this.send(new types_1.Message(protocol_1.END_MESSAGE_TYPE, new protocol_1.EndMessage()));
|
|
315
307
|
}
|
|
316
308
|
send(message) {
|
|
317
309
|
this.connection.send(message).catch((err) => {
|
|
@@ -386,7 +378,7 @@ class StateMachine {
|
|
|
386
378
|
// A suspension message is the end of the invocation.
|
|
387
379
|
// Resolve the root call with the suspension message
|
|
388
380
|
// This will lead to a onCallSuccess call where this msg will be sent.
|
|
389
|
-
const msg = new types_1.Message(protocol_1.SUSPENSION_MESSAGE_TYPE, protocol_1.SuspensionMessage
|
|
381
|
+
const msg = new types_1.Message(protocol_1.SUSPENSION_MESSAGE_TYPE, new protocol_1.SuspensionMessage({
|
|
390
382
|
entryIndexes: indices,
|
|
391
383
|
}));
|
|
392
384
|
this.console.debugJournalMessage("Writing suspension message to journal.", msg.messageType, msg.message);
|
|
@@ -394,7 +386,7 @@ class StateMachine {
|
|
|
394
386
|
if (!this.journal.outputMsgWasReplayed()) {
|
|
395
387
|
this.send(msg);
|
|
396
388
|
}
|
|
397
|
-
this.console.
|
|
389
|
+
this.console.debug("Suspending function.");
|
|
398
390
|
await this.finish();
|
|
399
391
|
}
|
|
400
392
|
/**
|
|
@@ -423,12 +415,17 @@ class StateMachine {
|
|
|
423
415
|
e.message);
|
|
424
416
|
this.unhandledError(e);
|
|
425
417
|
}
|
|
418
|
+
handleDanglingPromiseError(e) {
|
|
419
|
+
this.console.info("Aborting function execution and closing state machine due to an error: " +
|
|
420
|
+
e.message);
|
|
421
|
+
this.unhandledError(e);
|
|
422
|
+
}
|
|
426
423
|
nextEntryWillBeReplayed() {
|
|
427
424
|
return this.journal.nextEntryWillBeReplayed();
|
|
428
425
|
}
|
|
429
426
|
clearSuspensionTimeout() {
|
|
430
427
|
if (this.suspensionTimeout !== undefined) {
|
|
431
|
-
|
|
428
|
+
clearTimeout(this.suspensionTimeout);
|
|
432
429
|
this.suspensionTimeout = undefined;
|
|
433
430
|
}
|
|
434
431
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state_machine.js","sourceRoot":"","sources":["../../src/state_machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Context, ObjectContext } from "../context";
|
|
2
|
+
import * as d from "./discovery";
|
|
3
|
+
import { ContextImpl } from "../context_impl";
|
|
4
|
+
export interface Component {
|
|
5
|
+
name(): string;
|
|
6
|
+
handlerMatching(url: UrlPathComponents): ComponentHandler | undefined;
|
|
7
|
+
discovery(): d.Service;
|
|
8
|
+
}
|
|
9
|
+
export interface ComponentHandler {
|
|
10
|
+
name(): string;
|
|
11
|
+
component(): Component;
|
|
12
|
+
invoke(context: ContextImpl, input: Uint8Array): Promise<Uint8Array>;
|
|
13
|
+
}
|
|
14
|
+
export type ServiceHandlerFunction<I, O> = (ctx: Context, param: I) => Promise<O>;
|
|
15
|
+
export type ServiceHandlerOpts<I, O> = {
|
|
16
|
+
name: string;
|
|
17
|
+
fn: ServiceHandlerFunction<I, O>;
|
|
18
|
+
};
|
|
19
|
+
export declare class ServiceComponent implements Component {
|
|
20
|
+
private readonly componentName;
|
|
21
|
+
private readonly handlers;
|
|
22
|
+
constructor(componentName: string);
|
|
23
|
+
name(): string;
|
|
24
|
+
add<I, O>(opts: ServiceHandlerOpts<I, O>): void;
|
|
25
|
+
discovery(): d.Service;
|
|
26
|
+
handlerMatching(url: UrlPathComponents): ComponentHandler | undefined;
|
|
27
|
+
}
|
|
28
|
+
export declare class ServiceHandler implements ComponentHandler {
|
|
29
|
+
private readonly handlerName;
|
|
30
|
+
private readonly parent;
|
|
31
|
+
private readonly fn;
|
|
32
|
+
constructor(opts: ServiceHandlerOpts<any, any>, parent: ServiceComponent);
|
|
33
|
+
invoke(context: ContextImpl, input: Uint8Array): Promise<Uint8Array>;
|
|
34
|
+
name(): string;
|
|
35
|
+
component(): Component;
|
|
36
|
+
}
|
|
37
|
+
export type VirtualObjectHandlerFunction<I, O> = (ctx: ObjectContext, param: I) => Promise<O>;
|
|
38
|
+
export type VirtualObjectHandlerOpts<I, O> = {
|
|
39
|
+
name: string;
|
|
40
|
+
fn: VirtualObjectHandlerFunction<I, O>;
|
|
41
|
+
};
|
|
42
|
+
export declare class VritualObjectComponent implements Component {
|
|
43
|
+
readonly componentName: string;
|
|
44
|
+
private readonly opts;
|
|
45
|
+
constructor(componentName: string);
|
|
46
|
+
name(): string;
|
|
47
|
+
add<I, O>(opts: VirtualObjectHandlerOpts<I, O>): void;
|
|
48
|
+
discovery(): d.Service;
|
|
49
|
+
handlerMatching(url: UrlPathComponents): ComponentHandler | undefined;
|
|
50
|
+
}
|
|
51
|
+
export declare class VirtualObjectHandler implements ComponentHandler {
|
|
52
|
+
private readonly componentName;
|
|
53
|
+
private readonly parent;
|
|
54
|
+
private readonly opts;
|
|
55
|
+
constructor(componentName: string, parent: VritualObjectComponent, opts: VirtualObjectHandlerOpts<any, any>);
|
|
56
|
+
name(): string;
|
|
57
|
+
component(): Component;
|
|
58
|
+
invoke(context: ContextImpl, input: Uint8Array): Promise<Uint8Array>;
|
|
59
|
+
}
|
|
60
|
+
export type UrlPathComponents = {
|
|
61
|
+
componentName: string;
|
|
62
|
+
handlerName: string;
|
|
63
|
+
};
|
|
64
|
+
export declare function parseUrlComponents(urlPath?: string): UrlPathComponents | "discovery" | undefined;
|
|
65
|
+
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/types/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
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
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
15
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
16
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(o, k2, desc);
|
|
19
|
+
}) : (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
o[k2] = m[k];
|
|
22
|
+
}));
|
|
23
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
+
}) : function(o, v) {
|
|
26
|
+
o["default"] = v;
|
|
27
|
+
});
|
|
28
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.parseUrlComponents = exports.VirtualObjectHandler = exports.VritualObjectComponent = exports.ServiceHandler = exports.ServiceComponent = void 0;
|
|
37
|
+
const d = __importStar(require("./discovery"));
|
|
38
|
+
const serde_1 = require("../utils/serde");
|
|
39
|
+
class ServiceComponent {
|
|
40
|
+
componentName;
|
|
41
|
+
handlers = new Map();
|
|
42
|
+
constructor(componentName) {
|
|
43
|
+
this.componentName = componentName;
|
|
44
|
+
}
|
|
45
|
+
name() {
|
|
46
|
+
return this.componentName;
|
|
47
|
+
}
|
|
48
|
+
add(opts) {
|
|
49
|
+
const c = new ServiceHandler(opts, this);
|
|
50
|
+
this.handlers.set(opts.name, c);
|
|
51
|
+
}
|
|
52
|
+
discovery() {
|
|
53
|
+
const handlers = [...this.handlers.keys()].map((name) => {
|
|
54
|
+
return {
|
|
55
|
+
name,
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
name: this.componentName,
|
|
60
|
+
ty: d.ServiceType.SERVICE,
|
|
61
|
+
handlers,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
handlerMatching(url) {
|
|
65
|
+
return this.handlers.get(url.handlerName);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.ServiceComponent = ServiceComponent;
|
|
69
|
+
class ServiceHandler {
|
|
70
|
+
handlerName;
|
|
71
|
+
parent;
|
|
72
|
+
fn;
|
|
73
|
+
constructor(opts, parent) {
|
|
74
|
+
this.handlerName = opts.name;
|
|
75
|
+
this.parent = parent;
|
|
76
|
+
this.fn = opts.fn;
|
|
77
|
+
}
|
|
78
|
+
async invoke(context, input) {
|
|
79
|
+
const req = (0, serde_1.deserializeJson)(input);
|
|
80
|
+
const res = await this.fn(context, req);
|
|
81
|
+
return (0, serde_1.serializeJson)(res);
|
|
82
|
+
}
|
|
83
|
+
name() {
|
|
84
|
+
return this.handlerName;
|
|
85
|
+
}
|
|
86
|
+
component() {
|
|
87
|
+
return this.parent;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.ServiceHandler = ServiceHandler;
|
|
91
|
+
class VritualObjectComponent {
|
|
92
|
+
componentName;
|
|
93
|
+
opts = new Map();
|
|
94
|
+
constructor(componentName) {
|
|
95
|
+
this.componentName = componentName;
|
|
96
|
+
}
|
|
97
|
+
name() {
|
|
98
|
+
return this.componentName;
|
|
99
|
+
}
|
|
100
|
+
add(opts) {
|
|
101
|
+
this.opts.set(opts.name, opts);
|
|
102
|
+
}
|
|
103
|
+
discovery() {
|
|
104
|
+
const handlers = [...this.opts.keys()].map((name) => {
|
|
105
|
+
return {
|
|
106
|
+
name,
|
|
107
|
+
};
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
name: this.componentName,
|
|
111
|
+
ty: d.ServiceType.VIRTUAL_OBJECT,
|
|
112
|
+
handlers,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
handlerMatching(url) {
|
|
116
|
+
const opts = this.opts.get(url.handlerName);
|
|
117
|
+
if (!opts) {
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
return new VirtualObjectHandler(url.handlerName, this, opts);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.VritualObjectComponent = VritualObjectComponent;
|
|
124
|
+
class VirtualObjectHandler {
|
|
125
|
+
componentName;
|
|
126
|
+
parent;
|
|
127
|
+
opts;
|
|
128
|
+
constructor(componentName, parent, opts) {
|
|
129
|
+
this.componentName = componentName;
|
|
130
|
+
this.parent = parent;
|
|
131
|
+
this.opts = opts;
|
|
132
|
+
}
|
|
133
|
+
name() {
|
|
134
|
+
return this.componentName;
|
|
135
|
+
}
|
|
136
|
+
component() {
|
|
137
|
+
return this.parent;
|
|
138
|
+
}
|
|
139
|
+
async invoke(context, input) {
|
|
140
|
+
const req = (0, serde_1.deserializeJson)(input);
|
|
141
|
+
const res = await this.opts.fn(context, req);
|
|
142
|
+
return (0, serde_1.serializeJson)(res);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.VirtualObjectHandler = VirtualObjectHandler;
|
|
146
|
+
function parseUrlComponents(urlPath) {
|
|
147
|
+
if (!urlPath) {
|
|
148
|
+
return undefined;
|
|
149
|
+
}
|
|
150
|
+
const fragments = urlPath.split("/");
|
|
151
|
+
if (fragments.length >= 3 && fragments[fragments.length - 3] === "invoke") {
|
|
152
|
+
return {
|
|
153
|
+
componentName: fragments[fragments.length - 2],
|
|
154
|
+
handlerName: fragments[fragments.length - 1],
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
if (fragments.length > 0 && fragments[fragments.length - 1] === "discover") {
|
|
158
|
+
return "discovery";
|
|
159
|
+
}
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
exports.parseUrlComponents = parseUrlComponents;
|
|
163
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/types/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare enum ProtocolMode {
|
|
2
|
+
BIDI_STREAM = "BIDI_STREAM",
|
|
3
|
+
REQUEST_RESPONSE = "REQUEST_RESPONSE"
|
|
4
|
+
}
|
|
5
|
+
export declare enum ServiceType {
|
|
6
|
+
VIRTUAL_OBJECT = "VIRTUAL_OBJECT",
|
|
7
|
+
SERVICE = "SERVICE"
|
|
8
|
+
}
|
|
9
|
+
export declare enum ServiceHandlerType {
|
|
10
|
+
EXCLUSIVE = "EXCLUSIVE",
|
|
11
|
+
SHARED = "SHARED"
|
|
12
|
+
}
|
|
13
|
+
type InputPayload = {
|
|
14
|
+
contentType: string;
|
|
15
|
+
empty: "ALLOW" | "DISALLOW" | "REQUIRE";
|
|
16
|
+
jsonSchema?: any;
|
|
17
|
+
};
|
|
18
|
+
type OutputPayload = {
|
|
19
|
+
contentType: string;
|
|
20
|
+
setContentTypeIfEmpty: boolean;
|
|
21
|
+
};
|
|
22
|
+
export interface Handler {
|
|
23
|
+
name: string;
|
|
24
|
+
ty?: ServiceHandlerType;
|
|
25
|
+
input?: InputPayload;
|
|
26
|
+
output?: OutputPayload;
|
|
27
|
+
}
|
|
28
|
+
export interface Service {
|
|
29
|
+
name: string;
|
|
30
|
+
ty: ServiceType;
|
|
31
|
+
handlers: Handler[];
|
|
32
|
+
}
|
|
33
|
+
export interface Deployment {
|
|
34
|
+
protocolMode: ProtocolMode;
|
|
35
|
+
minProtocolVersion: number;
|
|
36
|
+
maxProtocolVersion: number;
|
|
37
|
+
services: Service[];
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/types/discovery.ts"],"names":[],"mappings":"AAWA,oBAAY,YAAY;IACtB,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;CACtC;AAED,oBAAY,WAAW;IACrB,cAAc,mBAAmB;IACjC,OAAO,YAAY;CACpB;AAED,oBAAY,kBAAkB;IAC5B,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,KAAK,YAAY,GAAG;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IAGxC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,WAAW,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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.ServiceHandlerType = exports.ServiceType = exports.ProtocolMode = void 0;
|
|
14
|
+
var ProtocolMode;
|
|
15
|
+
(function (ProtocolMode) {
|
|
16
|
+
ProtocolMode["BIDI_STREAM"] = "BIDI_STREAM";
|
|
17
|
+
ProtocolMode["REQUEST_RESPONSE"] = "REQUEST_RESPONSE";
|
|
18
|
+
})(ProtocolMode = exports.ProtocolMode || (exports.ProtocolMode = {}));
|
|
19
|
+
var ServiceType;
|
|
20
|
+
(function (ServiceType) {
|
|
21
|
+
ServiceType["VIRTUAL_OBJECT"] = "VIRTUAL_OBJECT";
|
|
22
|
+
ServiceType["SERVICE"] = "SERVICE";
|
|
23
|
+
})(ServiceType = exports.ServiceType || (exports.ServiceType = {}));
|
|
24
|
+
var ServiceHandlerType;
|
|
25
|
+
(function (ServiceHandlerType) {
|
|
26
|
+
ServiceHandlerType["EXCLUSIVE"] = "EXCLUSIVE";
|
|
27
|
+
ServiceHandlerType["SHARED"] = "SHARED";
|
|
28
|
+
})(ServiceHandlerType = exports.ServiceHandlerType || (exports.ServiceHandlerType = {}));
|
|
29
|
+
//# sourceMappingURL=discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/types/discovery.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,qDAAqC,CAAA;AACvC,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,kCAAmB,CAAA;AACrB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;AACnB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ErrorMessage, Failure } from "../generated/proto/protocol_pb";
|
|
2
|
+
import * as p from "./protocol";
|
|
3
|
+
export declare const INTERNAL_ERROR_CODE = 500;
|
|
4
|
+
export declare const TIMEOUT_ERROR_CODE = 408;
|
|
5
|
+
export declare const UNKNOWN_ERROR_CODE = 500;
|
|
6
|
+
export declare enum RestateErrorCodes {
|
|
7
|
+
JOURNAL_MISMATCH = 570,
|
|
8
|
+
PROTOCOL_VIOLATION = 571
|
|
9
|
+
}
|
|
10
|
+
export type JournalErrorContext = {
|
|
11
|
+
relatedEntryName?: string;
|
|
12
|
+
relatedEntryIndex?: number;
|
|
13
|
+
relatedEntryType?: bigint;
|
|
14
|
+
};
|
|
15
|
+
export declare function ensureError(e: unknown): Error;
|
|
16
|
+
export declare class RestateError extends Error {
|
|
17
|
+
readonly code: number;
|
|
18
|
+
constructor(message: string, options?: {
|
|
19
|
+
errorCode?: number;
|
|
20
|
+
cause?: any;
|
|
21
|
+
});
|
|
22
|
+
toFailure(): Failure;
|
|
23
|
+
}
|
|
24
|
+
export declare class TerminalError extends RestateError {
|
|
25
|
+
constructor(message: string, options?: {
|
|
26
|
+
errorCode?: number;
|
|
27
|
+
cause?: any;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export declare class TimeoutError extends TerminalError {
|
|
31
|
+
constructor();
|
|
32
|
+
}
|
|
33
|
+
export declare class RetryableError extends RestateError {
|
|
34
|
+
constructor(message: string, options?: {
|
|
35
|
+
errorCode?: number;
|
|
36
|
+
cause?: any;
|
|
37
|
+
});
|
|
38
|
+
static internal(message: string): RetryableError;
|
|
39
|
+
static journalMismatch(journalIndex: number, actualEntry: {
|
|
40
|
+
messageType: bigint;
|
|
41
|
+
message: p.ProtocolMessage | Uint8Array;
|
|
42
|
+
}, expectedEntry: {
|
|
43
|
+
messageType: bigint;
|
|
44
|
+
message: p.ProtocolMessage | Uint8Array;
|
|
45
|
+
}): RetryableError;
|
|
46
|
+
static protocolViolation(message: string): RetryableError;
|
|
47
|
+
static apiViolation(message: string): RetryableError;
|
|
48
|
+
}
|
|
49
|
+
export declare function errorToFailure(err: Error): Failure;
|
|
50
|
+
export declare function failureToTerminalError(failure: Failure): TerminalError;
|
|
51
|
+
export declare function failureToError(failure: Failure, terminalError: boolean): Error;
|
|
52
|
+
export declare function errorToErrorMessage(err: Error, additionalContext?: JournalErrorContext): ErrorMessage;
|
|
53
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/types/errors.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,oBAAY,iBAAiB;IAC3B,gBAAgB,MAAM;IACtB,kBAAkB,MAAM;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAa7C;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE;IAKnE,SAAS,IAAI,OAAO;CAM5B;AAID,qBAAa,aAAc,SAAQ,YAAY;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE;CAG3E;AAED,qBAAa,YAAa,SAAQ,aAAa;;CAI9C;AAGD,qBAAa,cAAe,SAAQ,YAAY;gBAClC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE;WAI5D,QAAQ,CAAC,OAAO,EAAE,MAAM;WAIxB,eAAe,CAC3B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,CAAC,CAAC,eAAe,GAAG,UAAU,CAAC;KACzC,EACD,aAAa,EAAE;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,CAAC,CAAC,eAAe,GAAG,UAAU,CAAC;KACzC;WAeW,iBAAiB,CAAC,OAAO,EAAE,MAAM;WAMjC,YAAY,CAAC,OAAO,EAAE,MAAM;CAK3C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAOlD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAEtE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,OAAO,GACrB,KAAK,CAOP;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,KAAK,EACV,iBAAiB,CAAC,EAAE,mBAAmB,GACtC,YAAY,CAYd"}
|