@restatedev/restate-sdk-cloudflare-workers 1.9.1 → 1.10.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/LICENSE +21 -0
- package/dist/_virtual/rolldown_runtime.cjs +25 -0
- package/dist/common_api.cjs +25 -0
- package/dist/common_api.d.cts +30 -0
- package/dist/common_api.d.cts.map +1 -0
- package/dist/common_api.d.ts +30 -0
- package/dist/common_api.d.ts.map +1 -0
- package/dist/common_api.js +19 -0
- package/dist/common_api.js.map +1 -0
- package/dist/context.cjs +29 -0
- package/dist/context.d.cts +699 -0
- package/dist/context.d.cts.map +1 -0
- package/dist/context.d.ts +699 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +29 -0
- package/dist/context.js.map +1 -0
- package/dist/context_impl.cjs +441 -0
- package/dist/context_impl.js +440 -0
- package/dist/context_impl.js.map +1 -0
- package/dist/endpoint/components.cjs +257 -0
- package/dist/endpoint/components.js +253 -0
- package/dist/endpoint/components.js.map +1 -0
- package/dist/endpoint/endpoint.cjs +117 -0
- package/dist/endpoint/endpoint.js +118 -0
- package/dist/endpoint/endpoint.js.map +1 -0
- package/dist/endpoint/fetch_endpoint.cjs +41 -0
- package/dist/endpoint/fetch_endpoint.d.cts +39 -0
- package/dist/endpoint/fetch_endpoint.d.cts.map +1 -0
- package/dist/endpoint/fetch_endpoint.d.ts +39 -0
- package/dist/endpoint/fetch_endpoint.d.ts.map +1 -0
- package/dist/endpoint/fetch_endpoint.js +42 -0
- package/dist/endpoint/fetch_endpoint.js.map +1 -0
- package/dist/endpoint/handlers/fetch.cjs +21 -0
- package/dist/endpoint/handlers/fetch.js +21 -0
- package/dist/endpoint/handlers/fetch.js.map +1 -0
- package/dist/endpoint/handlers/generic.cjs +328 -0
- package/dist/endpoint/handlers/generic.js +324 -0
- package/dist/endpoint/handlers/generic.js.map +1 -0
- package/dist/endpoint/handlers/lambda.cjs +93 -0
- package/dist/endpoint/handlers/lambda.js +89 -0
- package/dist/endpoint/handlers/lambda.js.map +1 -0
- package/dist/endpoint/lambda_endpoint.cjs +36 -0
- package/dist/endpoint/lambda_endpoint.d.cts +26 -0
- package/dist/endpoint/lambda_endpoint.d.cts.map +1 -0
- package/dist/endpoint/lambda_endpoint.d.ts +26 -0
- package/dist/endpoint/lambda_endpoint.d.ts.map +1 -0
- package/dist/endpoint/lambda_endpoint.js +37 -0
- package/dist/endpoint/lambda_endpoint.js.map +1 -0
- package/dist/endpoint/node_endpoint.cjs +101 -0
- package/dist/endpoint/node_endpoint.js +99 -0
- package/dist/endpoint/node_endpoint.js.map +1 -0
- package/dist/endpoint/types.d.cts +61 -0
- package/dist/endpoint/types.d.cts.map +1 -0
- package/dist/endpoint/types.d.ts +61 -0
- package/dist/endpoint/types.d.ts.map +1 -0
- package/dist/endpoint/withOptions.cjs +15 -0
- package/dist/endpoint/withOptions.js +15 -0
- package/dist/endpoint/withOptions.js.map +1 -0
- package/dist/endpoint.d.cts +112 -0
- package/dist/endpoint.d.cts.map +1 -0
- package/dist/endpoint.d.ts +112 -0
- package/dist/endpoint.d.ts.map +1 -0
- package/dist/fetch.cjs +83 -0
- package/dist/fetch.d.cts +52 -0
- package/dist/fetch.d.cts.map +1 -0
- package/dist/fetch.d.ts +52 -0
- package/dist/fetch.d.ts.map +1 -0
- package/dist/{esm/src/fetch.js → fetch.js} +15 -18
- package/dist/fetch.js.map +1 -0
- package/dist/index.cjs +48 -0
- package/dist/index.d.cts +9 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +7 -0
- package/dist/io.cjs +48 -0
- package/dist/io.js +48 -0
- package/dist/io.js.map +1 -0
- package/dist/lambda.cjs +74 -0
- package/dist/lambda.d.cts +32 -0
- package/dist/lambda.d.cts.map +1 -0
- package/dist/lambda.d.ts +32 -0
- package/dist/lambda.d.ts.map +1 -0
- package/dist/lambda.js +35 -0
- package/dist/lambda.js.map +1 -0
- package/dist/logging/console_logger_transport.cjs +54 -0
- package/dist/logging/console_logger_transport.js +54 -0
- package/dist/logging/console_logger_transport.js.map +1 -0
- package/dist/logging/logger.cjs +43 -0
- package/dist/logging/logger.js +44 -0
- package/dist/logging/logger.js.map +1 -0
- package/dist/logging/logger_transport.cjs +42 -0
- package/dist/logging/logger_transport.d.cts +57 -0
- package/dist/logging/logger_transport.d.cts.map +1 -0
- package/dist/logging/logger_transport.d.ts +57 -0
- package/dist/logging/logger_transport.d.ts.map +1 -0
- package/dist/logging/logger_transport.js +40 -0
- package/dist/logging/logger_transport.js.map +1 -0
- package/dist/node.cjs +90 -0
- package/dist/node.d.cts +51 -0
- package/dist/node.d.cts.map +1 -0
- package/dist/node.d.ts +51 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +50 -0
- package/dist/node.js.map +1 -0
- package/dist/package.cjs +11 -0
- package/dist/package.js +6 -0
- package/dist/package.js.map +1 -0
- package/dist/promises.cjs +234 -0
- package/dist/promises.js +226 -0
- package/dist/promises.js.map +1 -0
- package/dist/types/errors.cjs +110 -0
- package/dist/types/errors.d.cts +71 -0
- package/dist/types/errors.d.cts.map +1 -0
- package/dist/types/errors.d.ts +71 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +102 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/rpc.cjs +425 -0
- package/dist/types/rpc.d.cts +580 -0
- package/dist/types/rpc.d.cts.map +1 -0
- package/dist/types/rpc.d.ts +580 -0
- package/dist/types/rpc.d.ts.map +1 -0
- package/dist/types/rpc.js +406 -0
- package/dist/types/rpc.js.map +1 -0
- package/dist/user_agent.cjs +7 -0
- package/dist/user_agent.js +8 -0
- package/dist/user_agent.js.map +1 -0
- package/dist/utils/completable_promise.cjs +22 -0
- package/dist/utils/completable_promise.js +22 -0
- package/dist/utils/completable_promise.js.map +1 -0
- package/dist/utils/rand.cjs +72 -0
- package/dist/utils/rand.js +71 -0
- package/dist/utils/rand.js.map +1 -0
- package/dist/utils/streams.cjs +14 -0
- package/dist/utils/streams.js +13 -0
- package/dist/utils/streams.js.map +1 -0
- package/package.json +30 -52
- package/dist/esm/src/common_api.d.ts +0 -37
- package/dist/esm/src/common_api.d.ts.map +0 -1
- package/dist/esm/src/common_api.js +0 -32
- package/dist/esm/src/common_api.js.map +0 -1
- package/dist/esm/src/context.d.ts +0 -695
- package/dist/esm/src/context.d.ts.map +0 -1
- package/dist/esm/src/context.js +0 -87
- package/dist/esm/src/context.js.map +0 -1
- package/dist/esm/src/context_impl.d.ts +0 -69
- package/dist/esm/src/context_impl.d.ts.map +0 -1
- package/dist/esm/src/context_impl.js +0 -592
- package/dist/esm/src/context_impl.js.map +0 -1
- package/dist/esm/src/endpoint/components.d.ts +0 -97
- package/dist/esm/src/endpoint/components.d.ts.map +0 -1
- package/dist/esm/src/endpoint/components.js +0 -343
- package/dist/esm/src/endpoint/components.js.map +0 -1
- package/dist/esm/src/endpoint/discovery.d.ts +0 -184
- package/dist/esm/src/endpoint/discovery.d.ts.map +0 -1
- package/dist/esm/src/endpoint/discovery.js +0 -8
- package/dist/esm/src/endpoint/discovery.js.map +0 -1
- package/dist/esm/src/endpoint/endpoint.d.ts +0 -39
- package/dist/esm/src/endpoint/endpoint.d.ts.map +0 -1
- package/dist/esm/src/endpoint/endpoint.js +0 -155
- package/dist/esm/src/endpoint/endpoint.js.map +0 -1
- package/dist/esm/src/endpoint/fetch_endpoint.d.ts +0 -49
- package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +0 -1
- package/dist/esm/src/endpoint/fetch_endpoint.js +0 -49
- package/dist/esm/src/endpoint/fetch_endpoint.js.map +0 -1
- package/dist/esm/src/endpoint/handlers/fetch.d.ts +0 -5
- package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +0 -1
- package/dist/esm/src/endpoint/handlers/fetch.js +0 -31
- package/dist/esm/src/endpoint/handlers/fetch.js.map +0 -1
- package/dist/esm/src/endpoint/handlers/generic.d.ts +0 -61
- package/dist/esm/src/endpoint/handlers/generic.d.ts.map +0 -1
- package/dist/esm/src/endpoint/handlers/generic.js +0 -470
- package/dist/esm/src/endpoint/handlers/generic.js.map +0 -1
- package/dist/esm/src/endpoint/handlers/lambda.d.ts +0 -10
- package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +0 -1
- package/dist/esm/src/endpoint/handlers/lambda.js +0 -143
- package/dist/esm/src/endpoint/handlers/lambda.js.map +0 -1
- package/dist/esm/src/endpoint/lambda_endpoint.d.ts +0 -30
- package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +0 -1
- package/dist/esm/src/endpoint/lambda_endpoint.js +0 -48
- package/dist/esm/src/endpoint/lambda_endpoint.js.map +0 -1
- package/dist/esm/src/endpoint/node_endpoint.d.ts +0 -16
- package/dist/esm/src/endpoint/node_endpoint.d.ts.map +0 -1
- package/dist/esm/src/endpoint/node_endpoint.js +0 -124
- package/dist/esm/src/endpoint/node_endpoint.js.map +0 -1
- package/dist/esm/src/endpoint/types.d.ts +0 -55
- package/dist/esm/src/endpoint/types.d.ts.map +0 -1
- package/dist/esm/src/endpoint/types.js +0 -2
- package/dist/esm/src/endpoint/types.js.map +0 -1
- package/dist/esm/src/endpoint/withOptions.d.ts +0 -4
- package/dist/esm/src/endpoint/withOptions.d.ts.map +0 -1
- package/dist/esm/src/endpoint/withOptions.js +0 -19
- package/dist/esm/src/endpoint/withOptions.js.map +0 -1
- package/dist/esm/src/endpoint.d.ts +0 -108
- package/dist/esm/src/endpoint.d.ts.map +0 -1
- package/dist/esm/src/endpoint.js +0 -12
- package/dist/esm/src/endpoint.js.map +0 -1
- package/dist/esm/src/fetch.d.ts +0 -43
- package/dist/esm/src/fetch.d.ts.map +0 -1
- package/dist/esm/src/fetch.js.map +0 -1
- package/dist/esm/src/generated/version.d.ts +0 -2
- package/dist/esm/src/generated/version.d.ts.map +0 -1
- package/dist/esm/src/generated/version.js +0 -2
- package/dist/esm/src/generated/version.js.map +0 -1
- package/dist/esm/src/io.d.ts +0 -24
- package/dist/esm/src/io.d.ts.map +0 -1
- package/dist/esm/src/io.js +0 -73
- package/dist/esm/src/io.js.map +0 -1
- package/dist/esm/src/lambda.d.ts +0 -23
- package/dist/esm/src/lambda.d.ts.map +0 -1
- package/dist/esm/src/lambda.js +0 -37
- package/dist/esm/src/lambda.js.map +0 -1
- package/dist/esm/src/logging/console_logger_transport.d.ts +0 -5
- package/dist/esm/src/logging/console_logger_transport.d.ts.map +0 -1
- package/dist/esm/src/logging/console_logger_transport.js +0 -94
- package/dist/esm/src/logging/console_logger_transport.js.map +0 -1
- package/dist/esm/src/logging/logger.d.ts +0 -10
- package/dist/esm/src/logging/logger.d.ts.map +0 -1
- package/dist/esm/src/logging/logger.js +0 -57
- package/dist/esm/src/logging/logger.js.map +0 -1
- package/dist/esm/src/logging/logger_transport.d.ts +0 -52
- package/dist/esm/src/logging/logger_transport.d.ts.map +0 -1
- package/dist/esm/src/logging/logger_transport.js +0 -55
- package/dist/esm/src/logging/logger_transport.js.map +0 -1
- package/dist/esm/src/node.d.ts +0 -39
- package/dist/esm/src/node.d.ts.map +0 -1
- package/dist/esm/src/node.js +0 -52
- package/dist/esm/src/node.js.map +0 -1
- package/dist/esm/src/promises.d.ts +0 -111
- package/dist/esm/src/promises.d.ts.map +0 -1
- package/dist/esm/src/promises.js +0 -314
- package/dist/esm/src/promises.js.map +0 -1
- package/dist/esm/src/public_api.d.ts +0 -2
- package/dist/esm/src/public_api.d.ts.map +0 -1
- package/dist/esm/src/public_api.js +0 -12
- package/dist/esm/src/public_api.js.map +0 -1
- package/dist/esm/src/types/errors.d.ts +0 -74
- package/dist/esm/src/types/errors.d.ts.map +0 -1
- package/dist/esm/src/types/errors.js +0 -128
- package/dist/esm/src/types/errors.js.map +0 -1
- package/dist/esm/src/types/rpc.d.ts +0 -620
- package/dist/esm/src/types/rpc.d.ts.map +0 -1
- package/dist/esm/src/types/rpc.js +0 -577
- package/dist/esm/src/types/rpc.js.map +0 -1
- package/dist/esm/src/user_agent.d.ts +0 -2
- package/dist/esm/src/user_agent.d.ts.map +0 -1
- package/dist/esm/src/user_agent.js +0 -13
- package/dist/esm/src/user_agent.js.map +0 -1
- package/dist/esm/src/utils/completable_promise.d.ts +0 -9
- package/dist/esm/src/utils/completable_promise.d.ts.map +0 -1
- package/dist/esm/src/utils/completable_promise.js +0 -30
- package/dist/esm/src/utils/completable_promise.js.map +0 -1
- package/dist/esm/src/utils/rand.d.ts +0 -13
- package/dist/esm/src/utils/rand.d.ts.map +0 -1
- package/dist/esm/src/utils/rand.js +0 -109
- package/dist/esm/src/utils/rand.js.map +0 -1
- package/dist/esm/src/utils/streams.d.ts +0 -3
- package/dist/esm/src/utils/streams.d.ts.map +0 -1
- package/dist/esm/src/utils/streams.js +0 -20
- package/dist/esm/src/utils/streams.js.map +0 -1
- package/dist/esm/tsconfig.tsbuildinfo +0 -1
- /package/dist/{esm/src/endpoint → endpoint}/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +0 -0
- /package/dist/{esm/src/endpoint → endpoint}/handlers/vm/sdk_shared_core_wasm_bindings.js +0 -0
- /package/dist/{esm/src/endpoint → endpoint}/handlers/vm/sdk_shared_core_wasm_bindings_bg.js +0 -0
- /package/dist/{esm/src/endpoint → endpoint}/handlers/vm/sdk_shared_core_wasm_bindings_bg.wasm +0 -0
- /package/dist/{esm/src/endpoint → endpoint}/handlers/vm/sdk_shared_core_wasm_bindings_bg.wasm.d.ts +0 -0
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { JournalValueCodec, ServiceDefinition, VirtualObjectDefinition, WorkflowDefinition } from "@restatedev/restate-sdk-core";
|
|
2
|
-
import type { Component } from "./components.js";
|
|
3
|
-
import type * as discovery from "./discovery.js";
|
|
4
|
-
import { type LoggerTransport } from "../logging/logger_transport.js";
|
|
5
|
-
import type { Logger } from "../logging/logger.js";
|
|
6
|
-
import type { DefaultServiceOptions } from "../endpoint.js";
|
|
7
|
-
export type Endpoint = {
|
|
8
|
-
loggerTransport: LoggerTransport;
|
|
9
|
-
components: Map<string, Component>;
|
|
10
|
-
keySet: string[];
|
|
11
|
-
/**
|
|
12
|
-
* This is a simple console without contextual info.
|
|
13
|
-
*
|
|
14
|
-
* This should be used only in cases where no contextual info is available.
|
|
15
|
-
*/
|
|
16
|
-
rlog: Logger;
|
|
17
|
-
/**
|
|
18
|
-
* All discovery metadata, except protocol mode provided by the node/fetch/lambda endpoint implementations
|
|
19
|
-
*/
|
|
20
|
-
discoveryMetadata: Omit<discovery.Endpoint, "protocolMode">;
|
|
21
|
-
/**
|
|
22
|
-
* Codec provider to use for journal values.
|
|
23
|
-
*/
|
|
24
|
-
journalValueCodec?: Promise<JournalValueCodec>;
|
|
25
|
-
};
|
|
26
|
-
export declare class EndpointBuilder {
|
|
27
|
-
private readonly serviceDefinitions;
|
|
28
|
-
private loggerTransport;
|
|
29
|
-
private keySet;
|
|
30
|
-
private defaultServiceOptions;
|
|
31
|
-
private journalValueCodecProvider?;
|
|
32
|
-
bind<P extends string, M>(definition: ServiceDefinition<P, M> | VirtualObjectDefinition<P, M> | WorkflowDefinition<P, M>): void;
|
|
33
|
-
addIdentityKeys(...keys: string[]): void;
|
|
34
|
-
setDefaultServiceOptions(options: DefaultServiceOptions): void;
|
|
35
|
-
setLogger(newLogger: LoggerTransport): void;
|
|
36
|
-
setJournalValueCodecProvider(codecProvider: () => Promise<JournalValueCodec>): void;
|
|
37
|
-
build(): Endpoint;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=endpoint.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/endpoint.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMjD,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AA8B5D,MAAM,MAAM,QAAQ,GAAG;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE5D;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAChD,CAAC;AAEF,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAKrB;IACd,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,yBAAyB,CAAC,CAAmC;IAE9D,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;IAUvB,eAAe,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAIjC,wBAAwB,CAAC,OAAO,EAAE,qBAAqB;IAIvD,SAAS,CAAC,SAAS,EAAE,eAAe;IAIpC,4BAA4B,CACjC,aAAa,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC;IAK1C,KAAK,IAAI,QAAQ;CAqEzB"}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
|
|
3
|
-
*
|
|
4
|
-
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
5
|
-
* which is released under the MIT license.
|
|
6
|
-
*
|
|
7
|
-
* You can find a copy of the license in file LICENSE in the root
|
|
8
|
-
* directory of this repository or package, or at
|
|
9
|
-
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
10
|
-
*/
|
|
11
|
-
import { HandlerWrapper } from "../types/rpc.js";
|
|
12
|
-
import { ServiceComponent, VirtualObjectComponent, WorkflowComponent, } from "./components.js";
|
|
13
|
-
import { defaultLoggerTransport } from "../logging/console_logger_transport.js";
|
|
14
|
-
import { LogSource, } from "../logging/logger_transport.js";
|
|
15
|
-
import { createLogger } from "../logging/logger.js";
|
|
16
|
-
function isServiceDefinition(m) {
|
|
17
|
-
return m && m.service !== undefined;
|
|
18
|
-
}
|
|
19
|
-
function isObjectDefinition(m) {
|
|
20
|
-
return m && m.object !== undefined;
|
|
21
|
-
}
|
|
22
|
-
function isWorkflowDefinition(m) {
|
|
23
|
-
return m && m.workflow !== undefined;
|
|
24
|
-
}
|
|
25
|
-
export class EndpointBuilder {
|
|
26
|
-
serviceDefinitions = new Map();
|
|
27
|
-
loggerTransport = defaultLoggerTransport;
|
|
28
|
-
keySet = [];
|
|
29
|
-
defaultServiceOptions = {};
|
|
30
|
-
journalValueCodecProvider;
|
|
31
|
-
bind(definition) {
|
|
32
|
-
// Validate service name
|
|
33
|
-
if (definition.name.indexOf("/") !== -1) {
|
|
34
|
-
throw new Error("service name must not contain any slash '/'");
|
|
35
|
-
}
|
|
36
|
-
this.serviceDefinitions.set(definition.name, definition);
|
|
37
|
-
}
|
|
38
|
-
addIdentityKeys(...keys) {
|
|
39
|
-
this.keySet.push(...keys);
|
|
40
|
-
}
|
|
41
|
-
setDefaultServiceOptions(options) {
|
|
42
|
-
this.defaultServiceOptions = options;
|
|
43
|
-
}
|
|
44
|
-
setLogger(newLogger) {
|
|
45
|
-
this.loggerTransport = newLogger;
|
|
46
|
-
}
|
|
47
|
-
setJournalValueCodecProvider(codecProvider) {
|
|
48
|
-
this.journalValueCodecProvider = codecProvider;
|
|
49
|
-
}
|
|
50
|
-
build() {
|
|
51
|
-
const rlog = createLogger(this.loggerTransport, LogSource.SYSTEM);
|
|
52
|
-
// Build the components
|
|
53
|
-
const components = new Map();
|
|
54
|
-
for (const [name, definition] of this.serviceDefinitions) {
|
|
55
|
-
if (isServiceDefinition(definition)) {
|
|
56
|
-
const { name, service } = definition;
|
|
57
|
-
if (!service) {
|
|
58
|
-
throw new TypeError(`no service implementation found.`);
|
|
59
|
-
}
|
|
60
|
-
components.set(name, buildServiceComponent(name, service, definition, this.defaultServiceOptions));
|
|
61
|
-
}
|
|
62
|
-
else if (isObjectDefinition(definition)) {
|
|
63
|
-
const { name, object } = definition;
|
|
64
|
-
if (!object) {
|
|
65
|
-
throw new TypeError(`no object implementation found.`);
|
|
66
|
-
}
|
|
67
|
-
components.set(name, buildVirtualObjectComponent(name, object, definition, this.defaultServiceOptions));
|
|
68
|
-
}
|
|
69
|
-
else if (isWorkflowDefinition(definition)) {
|
|
70
|
-
const { name, workflow } = definition;
|
|
71
|
-
if (!workflow) {
|
|
72
|
-
throw new TypeError(`no workflow implementation found.`);
|
|
73
|
-
}
|
|
74
|
-
components.set(name, buildWorkflowComponent(name, workflow, definition, this.defaultServiceOptions));
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
throw new TypeError(`cannot bind ${name}, can only bind a service or a virtual object or a workflow definition`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
// Compute discovery metadata
|
|
81
|
-
const discoveryMetadata = computeDiscovery(components);
|
|
82
|
-
return {
|
|
83
|
-
keySet: this.keySet,
|
|
84
|
-
loggerTransport: this.loggerTransport,
|
|
85
|
-
rlog,
|
|
86
|
-
components,
|
|
87
|
-
discoveryMetadata,
|
|
88
|
-
journalValueCodec: this.journalValueCodecProvider
|
|
89
|
-
? this.journalValueCodecProvider()
|
|
90
|
-
: undefined,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
function computeDiscovery(components) {
|
|
95
|
-
return {
|
|
96
|
-
minProtocolVersion: 5,
|
|
97
|
-
maxProtocolVersion: 6,
|
|
98
|
-
services: [...components.values()].map((c) => c.discovery()),
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
function buildServiceComponent(name, router, definition, defaultServiceOptions) {
|
|
102
|
-
if (name.indexOf("/") !== -1) {
|
|
103
|
-
throw new Error("service name must not contain any slash '/'");
|
|
104
|
-
}
|
|
105
|
-
const component = new ServiceComponent(name, definition.description, definition.metadata, {
|
|
106
|
-
...defaultServiceOptions,
|
|
107
|
-
...definition?.options,
|
|
108
|
-
});
|
|
109
|
-
for (const [route, handler] of Object.entries(router)) {
|
|
110
|
-
const wrapper = HandlerWrapper.fromHandler(handler);
|
|
111
|
-
if (!wrapper) {
|
|
112
|
-
throw new TypeError(`${route} is not a restate handler.`);
|
|
113
|
-
}
|
|
114
|
-
wrapper.bindInstance(router);
|
|
115
|
-
component.add(route, wrapper);
|
|
116
|
-
}
|
|
117
|
-
return component;
|
|
118
|
-
}
|
|
119
|
-
function buildVirtualObjectComponent(name, router, definition, defaultServiceOptions) {
|
|
120
|
-
if (name.indexOf("/") !== -1) {
|
|
121
|
-
throw new Error("service name must not contain any slash '/'");
|
|
122
|
-
}
|
|
123
|
-
const component = new VirtualObjectComponent(name, definition.description, definition.metadata, {
|
|
124
|
-
...defaultServiceOptions,
|
|
125
|
-
...definition?.options,
|
|
126
|
-
});
|
|
127
|
-
for (const [route, handler] of Object.entries(router)) {
|
|
128
|
-
const wrapper = HandlerWrapper.fromHandler(handler);
|
|
129
|
-
if (!wrapper) {
|
|
130
|
-
throw new TypeError(`${route} is not a restate handler.`);
|
|
131
|
-
}
|
|
132
|
-
wrapper.bindInstance(router);
|
|
133
|
-
component.add(route, wrapper);
|
|
134
|
-
}
|
|
135
|
-
return component;
|
|
136
|
-
}
|
|
137
|
-
function buildWorkflowComponent(name, workflow, definition, defaultServiceOptions) {
|
|
138
|
-
if (name.indexOf("/") !== -1) {
|
|
139
|
-
throw new Error("service name must not contain any slash '/'");
|
|
140
|
-
}
|
|
141
|
-
const component = new WorkflowComponent(name, definition.description, definition.metadata, {
|
|
142
|
-
...defaultServiceOptions,
|
|
143
|
-
...definition?.options,
|
|
144
|
-
});
|
|
145
|
-
for (const [route, handler] of Object.entries(workflow)) {
|
|
146
|
-
const wrapper = HandlerWrapper.fromHandler(handler);
|
|
147
|
-
if (!wrapper) {
|
|
148
|
-
throw new TypeError(`${route} is not a restate handler.`);
|
|
149
|
-
}
|
|
150
|
-
wrapper.bindInstance(workflow);
|
|
151
|
-
component.add(route, wrapper);
|
|
152
|
-
}
|
|
153
|
-
return component;
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=endpoint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../../src/endpoint/endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { JournalValueCodec, ServiceDefinition, VirtualObjectDefinition, WorkflowDefinition } from "@restatedev/restate-sdk-core";
|
|
2
|
-
import type { DefaultServiceOptions, RestateEndpointBase } from "../endpoint.js";
|
|
3
|
-
import type { LoggerTransport } from "../logging/logger_transport.js";
|
|
4
|
-
import type { ProtocolMode } from "./discovery.js";
|
|
5
|
-
/**
|
|
6
|
-
* Generic Fetch encapsulates all the Restate services served by this endpoint.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* A typical request-response handler would look like this:
|
|
11
|
-
* ```
|
|
12
|
-
* import * as restate from "@restatedev/restate-sdk/fetch";
|
|
13
|
-
*
|
|
14
|
-
* export default restate
|
|
15
|
-
* .endpoint()
|
|
16
|
-
* .bind(myService)
|
|
17
|
-
* .handler();
|
|
18
|
-
* @example
|
|
19
|
-
* A typical bidirectional handler (works with http2 and some http1.1 servers) would look like this:
|
|
20
|
-
* ```
|
|
21
|
-
* import * as restate from "@restatedev/restate-sdk/fetch";
|
|
22
|
-
*
|
|
23
|
-
* export default restate
|
|
24
|
-
* .endpoint()
|
|
25
|
-
* .bidirectional()
|
|
26
|
-
* .bind(myService)
|
|
27
|
-
* .handler();
|
|
28
|
-
*/
|
|
29
|
-
export interface FetchEndpoint extends RestateEndpointBase<FetchEndpoint> {
|
|
30
|
-
handler(): {
|
|
31
|
-
fetch: (request: Request, ...extraArgs: unknown[]) => Promise<Response>;
|
|
32
|
-
};
|
|
33
|
-
bidirectional(set?: boolean): FetchEndpoint;
|
|
34
|
-
}
|
|
35
|
-
export declare class FetchEndpointImpl implements FetchEndpoint {
|
|
36
|
-
private protocolMode;
|
|
37
|
-
constructor(protocolMode: ProtocolMode);
|
|
38
|
-
private builder;
|
|
39
|
-
bind<P extends string, M>(definition: ServiceDefinition<P, M> | VirtualObjectDefinition<P, M> | WorkflowDefinition<P, M>): FetchEndpoint;
|
|
40
|
-
withIdentityV1(...keys: string[]): FetchEndpoint;
|
|
41
|
-
defaultServiceOptions(options: DefaultServiceOptions): FetchEndpoint;
|
|
42
|
-
setLogger(newLogger: LoggerTransport): FetchEndpoint;
|
|
43
|
-
bidirectional(set?: boolean): FetchEndpoint;
|
|
44
|
-
journalValueCodecProvider(codecProvider: () => Promise<JournalValueCodec>): FetchEndpoint;
|
|
45
|
-
handler(): {
|
|
46
|
-
fetch: (request: Request, ...extraArgs: unknown[]) => Promise<Response>;
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=fetch_endpoint.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch_endpoint.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/fetch_endpoint.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,aAAc,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IACvE,OAAO,IAAI;QACT,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;KACzE,CAAC;IACF,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;IAElD,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,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa;IAKpE,SAAS,CAAC,SAAS,EAAE,eAAe,GAAG,aAAa;IAKpD,aAAa,CAAC,GAAG,GAAE,OAAc,GAAG,aAAa;IAKjD,yBAAyB,CAC9B,aAAa,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,GAC9C,aAAa;IAKhB,OAAO,IAAI;QACT,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;KACzE;CAQF"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
|
|
3
|
-
*
|
|
4
|
-
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
5
|
-
* which is released under the MIT license.
|
|
6
|
-
*
|
|
7
|
-
* You can find a copy of the license in file LICENSE in the root
|
|
8
|
-
* directory of this repository or package, or at
|
|
9
|
-
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
10
|
-
*/
|
|
11
|
-
import { EndpointBuilder } from "./endpoint.js";
|
|
12
|
-
import { GenericHandler } from "./handlers/generic.js";
|
|
13
|
-
import { fetcher } from "./handlers/fetch.js";
|
|
14
|
-
export class FetchEndpointImpl {
|
|
15
|
-
protocolMode;
|
|
16
|
-
constructor(protocolMode) {
|
|
17
|
-
this.protocolMode = protocolMode;
|
|
18
|
-
}
|
|
19
|
-
builder = new EndpointBuilder();
|
|
20
|
-
bind(definition) {
|
|
21
|
-
this.builder.bind(definition);
|
|
22
|
-
return this;
|
|
23
|
-
}
|
|
24
|
-
withIdentityV1(...keys) {
|
|
25
|
-
this.builder.addIdentityKeys(...keys);
|
|
26
|
-
return this;
|
|
27
|
-
}
|
|
28
|
-
defaultServiceOptions(options) {
|
|
29
|
-
this.builder.setDefaultServiceOptions(options);
|
|
30
|
-
return this;
|
|
31
|
-
}
|
|
32
|
-
setLogger(newLogger) {
|
|
33
|
-
this.builder.setLogger(newLogger);
|
|
34
|
-
return this;
|
|
35
|
-
}
|
|
36
|
-
bidirectional(set = true) {
|
|
37
|
-
this.protocolMode = set ? "BIDI_STREAM" : "REQUEST_RESPONSE";
|
|
38
|
-
return this;
|
|
39
|
-
}
|
|
40
|
-
journalValueCodecProvider(codecProvider) {
|
|
41
|
-
this.builder.setJournalValueCodecProvider(codecProvider);
|
|
42
|
-
return this;
|
|
43
|
-
}
|
|
44
|
-
handler() {
|
|
45
|
-
const genericHandler = new GenericHandler(this.builder.build(), this.protocolMode, {});
|
|
46
|
-
return fetcher(genericHandler);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=fetch_endpoint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch_endpoint.js","sourceRoot":"","sources":["../../../../src/endpoint/fetch_endpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAmC9C,MAAM,OAAO,iBAAiB;IACR;IAApB,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAC1C,OAAO,GAAoB,IAAI,eAAe,EAAE,CAAC;IAElD,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,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,qBAAqB,CAAC,OAA8B;QACzD,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,SAA0B;QACzC,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,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,yBAAyB,CAC9B,aAA+C;QAE/C,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QAGL,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EACpB,IAAI,CAAC,YAAY,EACjB,EAAE,CACH,CAAC;QACF,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
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;mBAGlC,OAAO,gBACA,OAAO,EAAE,KACtB,OAAO,CAAC,QAAQ,CAAC;EAoBvB"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
|
|
3
|
-
*
|
|
4
|
-
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
5
|
-
* which is released under the MIT license.
|
|
6
|
-
*
|
|
7
|
-
* You can find a copy of the license in file LICENSE in the root
|
|
8
|
-
* directory of this repository or package, or at
|
|
9
|
-
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
10
|
-
*/
|
|
11
|
-
export function fetcher(handler) {
|
|
12
|
-
return {
|
|
13
|
-
fetch: async (event, ...extraArgs) => {
|
|
14
|
-
const url = event.url;
|
|
15
|
-
const headers = Object.fromEntries(event.headers.entries());
|
|
16
|
-
const request = {
|
|
17
|
-
url,
|
|
18
|
-
headers,
|
|
19
|
-
body: event.body,
|
|
20
|
-
extraArgs,
|
|
21
|
-
abortSignal: event.signal,
|
|
22
|
-
};
|
|
23
|
-
const resp = await handler.handle(request);
|
|
24
|
-
return new Response(resp.body, {
|
|
25
|
-
status: resp.statusCode,
|
|
26
|
-
headers: resp.headers,
|
|
27
|
-
});
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC7C,OAAO;QACL,KAAK,EAAE,KAAK,EACV,KAAc,EACd,GAAG,SAAoB,EACJ,EAAE;YACrB,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;gBAChB,SAAS;gBACT,WAAW,EAAE,KAAK,CAAC,MAAM;aAC1B,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"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import type { Endpoint as EndpointManifest, ProtocolMode } from "../discovery.js";
|
|
2
|
-
import { type ReadableStream } from "node:stream/web";
|
|
3
|
-
import * as vm from "./vm/sdk_shared_core_wasm_bindings.js";
|
|
4
|
-
import { type Logger } from "../../logging/logger.js";
|
|
5
|
-
import { type LoggerTransport } from "../../logging/logger_transport.js";
|
|
6
|
-
import type { Endpoint } from "../endpoint.js";
|
|
7
|
-
export interface Headers {
|
|
8
|
-
[name: string]: string | string[] | undefined;
|
|
9
|
-
}
|
|
10
|
-
export interface ResponseHeaders {
|
|
11
|
-
[name: string]: string;
|
|
12
|
-
}
|
|
13
|
-
export interface AdditionalContext {
|
|
14
|
-
[name: string]: string;
|
|
15
|
-
}
|
|
16
|
-
export interface RestateRequest {
|
|
17
|
-
readonly url: string;
|
|
18
|
-
readonly headers: Headers;
|
|
19
|
-
readonly body: ReadableStream<Uint8Array> | null;
|
|
20
|
-
readonly extraArgs: unknown[];
|
|
21
|
-
readonly abortSignal: AbortSignal;
|
|
22
|
-
}
|
|
23
|
-
export interface RestateResponse {
|
|
24
|
-
readonly headers: ResponseHeaders;
|
|
25
|
-
readonly statusCode: number;
|
|
26
|
-
readonly body: ReadableStream<Uint8Array>;
|
|
27
|
-
}
|
|
28
|
-
export interface RestateHandler {
|
|
29
|
-
handle(request: RestateRequest, context?: AdditionalContext): Promise<RestateResponse>;
|
|
30
|
-
}
|
|
31
|
-
export declare function tryCreateContextualLogger(loggerTransport: LoggerTransport, url: string, headers: Headers, additionalContext?: {
|
|
32
|
-
[name: string]: string;
|
|
33
|
-
}): Logger | undefined;
|
|
34
|
-
/**
|
|
35
|
-
* This is an internal API to support 'fetch' like handlers.
|
|
36
|
-
* It supports both request-reply mode and bidirectional streaming mode.
|
|
37
|
-
*
|
|
38
|
-
* An individual handler will have to convert the shape of the incoming request
|
|
39
|
-
* to a RestateRequest, and then pass it to this handler, and eventually convert back
|
|
40
|
-
* the response.
|
|
41
|
-
* Different runtimes have slightly different shapes of the incoming request, and responses.
|
|
42
|
-
*/
|
|
43
|
-
export declare class GenericHandler implements RestateHandler {
|
|
44
|
-
readonly endpoint: Endpoint;
|
|
45
|
-
private readonly protocolMode;
|
|
46
|
-
private readonly additionalDiscoveryFields;
|
|
47
|
-
private readonly identityVerifier?;
|
|
48
|
-
constructor(endpoint: Endpoint, protocolMode: ProtocolMode, additionalDiscoveryFields: Partial<EndpointManifest>);
|
|
49
|
-
handle(request: RestateRequest, context?: AdditionalContext): Promise<RestateResponse>;
|
|
50
|
-
private _handle;
|
|
51
|
-
private validateConnectionSignature;
|
|
52
|
-
private handleInvoke;
|
|
53
|
-
private handleDiscovery;
|
|
54
|
-
private toErrorResponse;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* The shared core propagates logs to the SDK invoking this method.
|
|
58
|
-
* When possible it provides an invocationId, which is used to access the registered invocationLoggers, that should contain the logger per invocation id.
|
|
59
|
-
*/
|
|
60
|
-
export declare function vm_log(level: vm.LogLevel, strBytes: Uint8Array, loggerId?: number): void;
|
|
61
|
-
//# sourceMappingURL=generic.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/generic.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,QAAQ,IAAI,gBAAgB,EAC5B,YAAY,EACb,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,iBAAiB,CAAC;AAIvE,OAAO,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAG5D,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAKpE,OAAO,EAEL,KAAK,eAAe,EAGrB,MAAM,mCAAmC,CAAC;AAK3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,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;IACjD,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;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;AAMD,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,iBAAiB,CAAC,EAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAC7C,MAAM,GAAG,SAAS,CAuBpB;AAaD;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,cAAc;IAIjD,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAL5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA0B;gBAGjD,QAAQ,EAAE,QAAQ,EACV,YAAY,EAAE,YAAY,EAC1B,yBAAyB,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAwB1D,MAAM,CACjB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC;YAqBb,OAAO;IAmErB,OAAO,CAAC,2BAA2B;YA4BrB,YAAY;IA+P1B,OAAO,CAAC,eAAe;IA8HvB,OAAO,CAAC,eAAe;CAUxB;AAMD;;;GAGG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,EAAE,CAAC,QAAQ,EAClB,QAAQ,EAAE,UAAU,EACpB,QAAQ,CAAC,EAAE,MAAM,QA6BlB"}
|