@restatedev/restate-sdk-cloudflare-workers 0.0.0-SNAPSHOT-20241001101403

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.
Files changed (123) hide show
  1. package/dist/esm/src/common_api.d.ts +12 -0
  2. package/dist/esm/src/common_api.d.ts.map +1 -0
  3. package/dist/esm/src/common_api.js +16 -0
  4. package/dist/esm/src/common_api.js.map +1 -0
  5. package/dist/esm/src/context.d.ts +587 -0
  6. package/dist/esm/src/context.d.ts.map +1 -0
  7. package/dist/esm/src/context.js +75 -0
  8. package/dist/esm/src/context.js.map +1 -0
  9. package/dist/esm/src/context_impl.d.ts +96 -0
  10. package/dist/esm/src/context_impl.d.ts.map +1 -0
  11. package/dist/esm/src/context_impl.js +696 -0
  12. package/dist/esm/src/context_impl.js.map +1 -0
  13. package/dist/esm/src/endpoint/endpoint_builder.d.ts +28 -0
  14. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -0
  15. package/dist/esm/src/endpoint/endpoint_builder.js +139 -0
  16. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -0
  17. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +54 -0
  18. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -0
  19. package/dist/esm/src/endpoint/fetch_endpoint.js +57 -0
  20. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -0
  21. package/dist/esm/src/endpoint/handlers/fetch.d.ts +6 -0
  22. package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -0
  23. package/dist/esm/src/endpoint/handlers/fetch.js +30 -0
  24. package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -0
  25. package/dist/esm/src/endpoint/handlers/generic.d.ts +62 -0
  26. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -0
  27. package/dist/esm/src/endpoint/handlers/generic.js +289 -0
  28. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -0
  29. package/dist/esm/src/endpoint/handlers/lambda.d.ts +8 -0
  30. package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -0
  31. package/dist/esm/src/endpoint/handlers/lambda.js +80 -0
  32. package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -0
  33. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +270 -0
  34. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +20 -0
  35. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings_bg.js +1392 -0
  36. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings_bg.wasm +0 -0
  37. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings_bg.wasm.d.ts +61 -0
  38. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +34 -0
  39. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -0
  40. package/dist/esm/src/endpoint/lambda_endpoint.js +49 -0
  41. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -0
  42. package/dist/esm/src/endpoint/node_endpoint.d.ts +21 -0
  43. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -0
  44. package/dist/esm/src/endpoint/node_endpoint.js +101 -0
  45. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -0
  46. package/dist/esm/src/endpoint/request_signing/basex.d.ts +10 -0
  47. package/dist/esm/src/endpoint/request_signing/basex.d.ts.map +1 -0
  48. package/dist/esm/src/endpoint/request_signing/basex.js +136 -0
  49. package/dist/esm/src/endpoint/request_signing/basex.js.map +1 -0
  50. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts +17 -0
  51. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
  52. package/dist/esm/src/endpoint/request_signing/ed25519.js +52 -0
  53. package/dist/esm/src/endpoint/request_signing/ed25519.js.map +1 -0
  54. package/dist/esm/src/endpoint/request_signing/v1.d.ts +10 -0
  55. package/dist/esm/src/endpoint/request_signing/v1.d.ts.map +1 -0
  56. package/dist/esm/src/endpoint/request_signing/v1.js +143 -0
  57. package/dist/esm/src/endpoint/request_signing/v1.js.map +1 -0
  58. package/dist/esm/src/endpoint/request_signing/validate.d.ts +19 -0
  59. package/dist/esm/src/endpoint/request_signing/validate.d.ts.map +1 -0
  60. package/dist/esm/src/endpoint/request_signing/validate.js +40 -0
  61. package/dist/esm/src/endpoint/request_signing/validate.js.map +1 -0
  62. package/dist/esm/src/endpoint.d.ts +132 -0
  63. package/dist/esm/src/endpoint.d.ts.map +1 -0
  64. package/dist/esm/src/endpoint.js +12 -0
  65. package/dist/esm/src/endpoint.js.map +1 -0
  66. package/dist/esm/src/fetch.d.ts +8 -0
  67. package/dist/esm/src/fetch.d.ts.map +1 -0
  68. package/dist/esm/src/fetch.js +23 -0
  69. package/dist/esm/src/fetch.js.map +1 -0
  70. package/dist/esm/src/generated/version.d.ts +2 -0
  71. package/dist/esm/src/generated/version.d.ts.map +1 -0
  72. package/dist/esm/src/generated/version.js +2 -0
  73. package/dist/esm/src/generated/version.js.map +1 -0
  74. package/dist/esm/src/lambda.d.ts +7 -0
  75. package/dist/esm/src/lambda.d.ts.map +1 -0
  76. package/dist/esm/src/lambda.js +19 -0
  77. package/dist/esm/src/lambda.js.map +1 -0
  78. package/dist/esm/src/logger.d.ts +35 -0
  79. package/dist/esm/src/logger.d.ts.map +1 -0
  80. package/dist/esm/src/logger.js +144 -0
  81. package/dist/esm/src/logger.js.map +1 -0
  82. package/dist/esm/src/public_api.d.ts +7 -0
  83. package/dist/esm/src/public_api.d.ts.map +1 -0
  84. package/dist/esm/src/public_api.js +19 -0
  85. package/dist/esm/src/public_api.js.map +1 -0
  86. package/dist/esm/src/types/components.d.ts +85 -0
  87. package/dist/esm/src/types/components.d.ts.map +1 -0
  88. package/dist/esm/src/types/components.js +228 -0
  89. package/dist/esm/src/types/components.js.map +1 -0
  90. package/dist/esm/src/types/discovery.d.ts +43 -0
  91. package/dist/esm/src/types/discovery.d.ts.map +1 -0
  92. package/dist/esm/src/types/discovery.js +28 -0
  93. package/dist/esm/src/types/discovery.js.map +1 -0
  94. package/dist/esm/src/types/errors.d.ts +21 -0
  95. package/dist/esm/src/types/errors.d.ts.map +1 -0
  96. package/dist/esm/src/types/errors.js +47 -0
  97. package/dist/esm/src/types/errors.js.map +1 -0
  98. package/dist/esm/src/types/rpc.d.ts +417 -0
  99. package/dist/esm/src/types/rpc.d.ts.map +1 -0
  100. package/dist/esm/src/types/rpc.js +607 -0
  101. package/dist/esm/src/types/rpc.js.map +1 -0
  102. package/dist/esm/src/user_agent.d.ts +2 -0
  103. package/dist/esm/src/user_agent.d.ts.map +1 -0
  104. package/dist/esm/src/user_agent.js +13 -0
  105. package/dist/esm/src/user_agent.js.map +1 -0
  106. package/dist/esm/src/utils/buffer.d.ts +5 -0
  107. package/dist/esm/src/utils/buffer.d.ts.map +1 -0
  108. package/dist/esm/src/utils/buffer.js +53 -0
  109. package/dist/esm/src/utils/buffer.js.map +1 -0
  110. package/dist/esm/src/utils/completable_promise.d.ts +9 -0
  111. package/dist/esm/src/utils/completable_promise.d.ts.map +1 -0
  112. package/dist/esm/src/utils/completable_promise.js +30 -0
  113. package/dist/esm/src/utils/completable_promise.js.map +1 -0
  114. package/dist/esm/src/utils/rand.d.ts +13 -0
  115. package/dist/esm/src/utils/rand.d.ts.map +1 -0
  116. package/dist/esm/src/utils/rand.js +106 -0
  117. package/dist/esm/src/utils/rand.js.map +1 -0
  118. package/dist/esm/src/utils/streams.d.ts +4 -0
  119. package/dist/esm/src/utils/streams.d.ts.map +1 -0
  120. package/dist/esm/src/utils/streams.js +20 -0
  121. package/dist/esm/src/utils/streams.js.map +1 -0
  122. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  123. package/package.json +82 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from "./common_api.js";
2
+ import type { RestateEndpoint } from "./endpoint.js";
3
+ /**
4
+ * Create a new {@link RestateEndpoint}.
5
+ */
6
+ export declare function endpoint(): RestateEndpoint;
7
+ //# sourceMappingURL=public_api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../../src/public_api.ts"],"names":[],"mappings":"AAWA,cAAc,iBAAiB,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD;;GAEG;AACH,wBAAgB,QAAQ,IAAI,eAAe,CAE1C"}
@@ -0,0 +1,19 @@
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 * from "./common_api.js";
12
+ import { NodeEndpoint } from "./endpoint/node_endpoint.js";
13
+ /**
14
+ * Create a new {@link RestateEndpoint}.
15
+ */
16
+ export function endpoint() {
17
+ return new NodeEndpoint();
18
+ }
19
+ //# sourceMappingURL=public_api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public_api.js","sourceRoot":"","sources":["../../../src/public_api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,YAAY,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,85 @@
1
+ import * as d from "./discovery.js";
2
+ import type { ContextImpl } from "../context_impl.js";
3
+ import type { HandlerWrapper } from "./rpc.js";
4
+ import { HandlerKind } from "./rpc.js";
5
+ export interface Component {
6
+ name(): string;
7
+ handlerMatching(url: InvokePathComponents): ComponentHandler | undefined;
8
+ discovery(): d.Service;
9
+ }
10
+ export interface ComponentHandler {
11
+ name(): string;
12
+ component(): Component;
13
+ invoke(context: ContextImpl, input: Uint8Array): Promise<Uint8Array>;
14
+ kind(): HandlerKind;
15
+ }
16
+ export declare class ServiceComponent implements Component {
17
+ private readonly componentName;
18
+ private readonly handlers;
19
+ constructor(componentName: string);
20
+ name(): string;
21
+ add(name: string, handlerWrapper: HandlerWrapper): void;
22
+ discovery(): d.Service;
23
+ handlerMatching(url: InvokePathComponents): ComponentHandler | undefined;
24
+ }
25
+ export declare class ServiceHandler implements ComponentHandler {
26
+ private readonly handlerName;
27
+ private readonly parent;
28
+ readonly handlerWrapper: HandlerWrapper;
29
+ constructor(name: string, handlerWrapper: HandlerWrapper, parent: ServiceComponent);
30
+ kind(): HandlerKind;
31
+ invoke(context: ContextImpl, input: Uint8Array): Promise<Uint8Array>;
32
+ name(): string;
33
+ component(): Component;
34
+ }
35
+ export declare class VirtualObjectComponent implements Component {
36
+ readonly componentName: string;
37
+ private readonly handlers;
38
+ constructor(componentName: string);
39
+ name(): string;
40
+ add(name: string, wrapper: HandlerWrapper): void;
41
+ discovery(): d.Service;
42
+ handlerMatching(url: InvokePathComponents): ComponentHandler | undefined;
43
+ }
44
+ export declare class VirtualObjectHandler implements ComponentHandler {
45
+ private readonly componentName;
46
+ private readonly parent;
47
+ private readonly handlerWrapper;
48
+ constructor(componentName: string, parent: VirtualObjectComponent, handlerWrapper: HandlerWrapper);
49
+ name(): string;
50
+ component(): Component;
51
+ kind(): HandlerKind;
52
+ invoke(context: ContextImpl, input: Uint8Array): Promise<Uint8Array>;
53
+ }
54
+ export declare class WorkflowComponent implements Component {
55
+ readonly componentName: string;
56
+ private readonly handlers;
57
+ constructor(componentName: string);
58
+ name(): string;
59
+ add(name: string, wrapper: HandlerWrapper): void;
60
+ discovery(): d.Service;
61
+ handlerMatching(url: InvokePathComponents): ComponentHandler | undefined;
62
+ }
63
+ export declare class WorkflowHandler implements ComponentHandler {
64
+ private readonly componentName;
65
+ private readonly parent;
66
+ private readonly handlerWrapper;
67
+ constructor(componentName: string, parent: WorkflowComponent, handlerWrapper: HandlerWrapper);
68
+ name(): string;
69
+ component(): Component;
70
+ kind(): HandlerKind;
71
+ invoke(context: ContextImpl, input: Uint8Array): Promise<Uint8Array>;
72
+ }
73
+ export type PathComponents = InvokePathComponents | {
74
+ type: "discover";
75
+ } | {
76
+ type: "unknown";
77
+ path: string;
78
+ };
79
+ export type InvokePathComponents = {
80
+ type: "invoke";
81
+ componentName: string;
82
+ handlerName: string;
83
+ };
84
+ export declare function parseUrlComponents(urlPath?: string): PathComponents;
85
+ //# 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,228 @@
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
+ /* eslint-disable @typescript-eslint/ban-types */
12
+ /* eslint-disable @typescript-eslint/no-explicit-any */
13
+ import * as d from "./discovery.js";
14
+ import { HandlerKind } from "./rpc.js";
15
+ //
16
+ // Service
17
+ //
18
+ export class ServiceComponent {
19
+ componentName;
20
+ handlers = new Map();
21
+ constructor(componentName) {
22
+ this.componentName = componentName;
23
+ }
24
+ name() {
25
+ return this.componentName;
26
+ }
27
+ add(name, handlerWrapper) {
28
+ const serviceHandler = new ServiceHandler(name, handlerWrapper, this);
29
+ this.handlers.set(name, serviceHandler);
30
+ }
31
+ discovery() {
32
+ const handlers = [...this.handlers.entries()].map(([name, serviceHandler]) => {
33
+ return {
34
+ name,
35
+ input: {
36
+ required: false,
37
+ contentType: serviceHandler.handlerWrapper.accept ?? "application/json",
38
+ },
39
+ output: {
40
+ setContentTypeIfEmpty: false,
41
+ contentType: serviceHandler.handlerWrapper.contentType ?? "application/json",
42
+ },
43
+ };
44
+ });
45
+ return {
46
+ name: this.componentName,
47
+ ty: d.ServiceType.SERVICE,
48
+ handlers,
49
+ };
50
+ }
51
+ handlerMatching(url) {
52
+ return this.handlers.get(url.handlerName);
53
+ }
54
+ }
55
+ export class ServiceHandler {
56
+ handlerName;
57
+ parent;
58
+ handlerWrapper;
59
+ constructor(name, handlerWrapper, parent) {
60
+ this.handlerName = name;
61
+ this.parent = parent;
62
+ this.handlerWrapper = handlerWrapper;
63
+ }
64
+ kind() {
65
+ return this.handlerWrapper.kind;
66
+ }
67
+ invoke(context, input) {
68
+ return this.handlerWrapper.invoke(context, input);
69
+ }
70
+ name() {
71
+ return this.handlerName;
72
+ }
73
+ component() {
74
+ return this.parent;
75
+ }
76
+ }
77
+ //
78
+ // Virtual Object
79
+ //
80
+ export class VirtualObjectComponent {
81
+ componentName;
82
+ handlers = new Map();
83
+ constructor(componentName) {
84
+ this.componentName = componentName;
85
+ }
86
+ name() {
87
+ return this.componentName;
88
+ }
89
+ add(name, wrapper) {
90
+ this.handlers.set(name, wrapper);
91
+ }
92
+ discovery() {
93
+ const handlers = [...this.handlers.entries()].map(([name, opts]) => {
94
+ return {
95
+ name,
96
+ input: {
97
+ required: false,
98
+ contentType: opts.accept ?? "application/json",
99
+ },
100
+ output: {
101
+ setContentTypeIfEmpty: false,
102
+ contentType: opts.contentType ?? "application/json",
103
+ },
104
+ ty: opts.kind == HandlerKind.EXCLUSIVE
105
+ ? d.ServiceHandlerType.EXCLUSIVE
106
+ : d.ServiceHandlerType.SHARED,
107
+ };
108
+ });
109
+ return {
110
+ name: this.componentName,
111
+ ty: d.ServiceType.VIRTUAL_OBJECT,
112
+ handlers,
113
+ };
114
+ }
115
+ handlerMatching(url) {
116
+ const wrapper = this.handlers.get(url.handlerName);
117
+ if (!wrapper) {
118
+ return undefined;
119
+ }
120
+ return new VirtualObjectHandler(url.handlerName, this, wrapper);
121
+ }
122
+ }
123
+ export class VirtualObjectHandler {
124
+ componentName;
125
+ parent;
126
+ handlerWrapper;
127
+ constructor(componentName, parent, handlerWrapper) {
128
+ this.componentName = componentName;
129
+ this.parent = parent;
130
+ this.handlerWrapper = handlerWrapper;
131
+ }
132
+ name() {
133
+ return this.componentName;
134
+ }
135
+ component() {
136
+ return this.parent;
137
+ }
138
+ kind() {
139
+ return this.handlerWrapper.kind;
140
+ }
141
+ invoke(context, input) {
142
+ return this.handlerWrapper.invoke(context, input);
143
+ }
144
+ }
145
+ // Workflow
146
+ export class WorkflowComponent {
147
+ componentName;
148
+ handlers = new Map();
149
+ constructor(componentName) {
150
+ this.componentName = componentName;
151
+ }
152
+ name() {
153
+ return this.componentName;
154
+ }
155
+ add(name, wrapper) {
156
+ this.handlers.set(name, wrapper);
157
+ }
158
+ discovery() {
159
+ const handlers = [...this.handlers.entries()].map(([name, handler]) => {
160
+ return {
161
+ name,
162
+ input: {
163
+ required: false,
164
+ contentType: handler.accept ?? "application/json",
165
+ },
166
+ output: {
167
+ setContentTypeIfEmpty: false,
168
+ contentType: handler.contentType ?? "application/json",
169
+ },
170
+ ty: handler.kind == HandlerKind.WORKFLOW
171
+ ? d.ServiceHandlerType.WORKFLOW
172
+ : d.ServiceHandlerType.SHARED,
173
+ };
174
+ });
175
+ return {
176
+ name: this.componentName,
177
+ ty: d.ServiceType.WORKFLOW,
178
+ handlers,
179
+ };
180
+ }
181
+ handlerMatching(url) {
182
+ const wrapper = this.handlers.get(url.handlerName);
183
+ if (!wrapper) {
184
+ return undefined;
185
+ }
186
+ return new WorkflowHandler(url.handlerName, this, wrapper);
187
+ }
188
+ }
189
+ export class WorkflowHandler {
190
+ componentName;
191
+ parent;
192
+ handlerWrapper;
193
+ constructor(componentName, parent, handlerWrapper) {
194
+ this.componentName = componentName;
195
+ this.parent = parent;
196
+ this.handlerWrapper = handlerWrapper;
197
+ }
198
+ name() {
199
+ return this.componentName;
200
+ }
201
+ component() {
202
+ return this.parent;
203
+ }
204
+ kind() {
205
+ return this.handlerWrapper.kind;
206
+ }
207
+ invoke(context, input) {
208
+ return this.handlerWrapper.invoke(context, input);
209
+ }
210
+ }
211
+ export function parseUrlComponents(urlPath) {
212
+ if (!urlPath) {
213
+ return { type: "unknown", path: "" };
214
+ }
215
+ const fragments = urlPath.split("/");
216
+ if (fragments.length >= 3 && fragments[fragments.length - 3] === "invoke") {
217
+ return {
218
+ type: "invoke",
219
+ componentName: fragments[fragments.length - 2],
220
+ handlerName: fragments[fragments.length - 1],
221
+ };
222
+ }
223
+ if (fragments.length > 0 && fragments[fragments.length - 1] === "discover") {
224
+ return { type: "discover" };
225
+ }
226
+ return { type: "unknown", path: urlPath };
227
+ }
228
+ //# 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,43 @@
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
+ WORKFLOW = "WORKFLOW"
9
+ }
10
+ export declare enum ServiceHandlerType {
11
+ WORKFLOW = "WORKFLOW",
12
+ EXCLUSIVE = "EXCLUSIVE",
13
+ SHARED = "SHARED"
14
+ }
15
+ type InputPayload = {
16
+ required: boolean;
17
+ contentType: string;
18
+ jsonSchema?: any;
19
+ };
20
+ type OutputPayload = {
21
+ contentType: string;
22
+ setContentTypeIfEmpty: boolean;
23
+ jsonSchema?: any;
24
+ };
25
+ export interface Handler {
26
+ name: string;
27
+ ty?: ServiceHandlerType;
28
+ input?: InputPayload;
29
+ output?: OutputPayload;
30
+ }
31
+ export interface Service {
32
+ name: string;
33
+ ty: ServiceType;
34
+ handlers: Handler[];
35
+ }
36
+ export interface Endpoint {
37
+ protocolMode: ProtocolMode;
38
+ minProtocolVersion: number;
39
+ maxProtocolVersion: number;
40
+ services: Service[];
41
+ }
42
+ export {};
43
+ //# 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;IACnB,QAAQ,aAAa;CACtB;AAED,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAE/B,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,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,QAAQ;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB"}
@@ -0,0 +1,28 @@
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 var ProtocolMode;
12
+ (function (ProtocolMode) {
13
+ ProtocolMode["BIDI_STREAM"] = "BIDI_STREAM";
14
+ ProtocolMode["REQUEST_RESPONSE"] = "REQUEST_RESPONSE";
15
+ })(ProtocolMode || (ProtocolMode = {}));
16
+ export var ServiceType;
17
+ (function (ServiceType) {
18
+ ServiceType["VIRTUAL_OBJECT"] = "VIRTUAL_OBJECT";
19
+ ServiceType["SERVICE"] = "SERVICE";
20
+ ServiceType["WORKFLOW"] = "WORKFLOW";
21
+ })(ServiceType || (ServiceType = {}));
22
+ export var ServiceHandlerType;
23
+ (function (ServiceHandlerType) {
24
+ ServiceHandlerType["WORKFLOW"] = "WORKFLOW";
25
+ ServiceHandlerType["EXCLUSIVE"] = "EXCLUSIVE";
26
+ ServiceHandlerType["SHARED"] = "SHARED";
27
+ })(ServiceHandlerType || (ServiceHandlerType = {}));
28
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/types/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,qDAAqC,CAAA;AACvC,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;AACvB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;AACnB,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B"}
@@ -0,0 +1,21 @@
1
+ export declare const INTERNAL_ERROR_CODE = 500;
2
+ export declare const TIMEOUT_ERROR_CODE = 408;
3
+ export declare const UNKNOWN_ERROR_CODE = 500;
4
+ export declare function ensureError(e: unknown): Error;
5
+ export declare class RestateError extends Error {
6
+ readonly code: number;
7
+ constructor(message: string, options?: {
8
+ errorCode?: number;
9
+ cause?: any;
10
+ });
11
+ }
12
+ export declare class TerminalError extends RestateError {
13
+ constructor(message: string, options?: {
14
+ errorCode?: number;
15
+ cause?: any;
16
+ });
17
+ }
18
+ export declare class TimeoutError extends TerminalError {
19
+ constructor();
20
+ }
21
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/types/errors.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,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;CAI3E;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"}
@@ -0,0 +1,47 @@
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
+ /* eslint-disable @typescript-eslint/no-explicit-any */
12
+ export const INTERNAL_ERROR_CODE = 500;
13
+ export const TIMEOUT_ERROR_CODE = 408;
14
+ export const UNKNOWN_ERROR_CODE = 500;
15
+ export function ensureError(e) {
16
+ if (e instanceof Error) {
17
+ return e;
18
+ }
19
+ let msg;
20
+ try {
21
+ msg = JSON.stringify(e);
22
+ }
23
+ catch (x) {
24
+ msg = "(no JSON representation)";
25
+ }
26
+ return new Error("Non-Error value: " + msg);
27
+ }
28
+ export class RestateError extends Error {
29
+ code;
30
+ constructor(message, options) {
31
+ super(message, { cause: options?.cause });
32
+ this.code = options?.errorCode ?? INTERNAL_ERROR_CODE;
33
+ }
34
+ }
35
+ // Does not lead to Restate retries
36
+ // Leads to an output message with a failure defined
37
+ export class TerminalError extends RestateError {
38
+ constructor(message, options) {
39
+ super(message, options);
40
+ }
41
+ }
42
+ export class TimeoutError extends TerminalError {
43
+ constructor() {
44
+ super("Timeout occurred", { errorCode: TIMEOUT_ERROR_CODE });
45
+ }
46
+ }
47
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/types/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,uDAAuD;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,GAAG,0BAA0B,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrB,IAAI,CAAS;IAE7B,YAAY,OAAe,EAAE,OAA6C;QACxE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,SAAS,IAAI,mBAAmB,CAAC;IACxD,CAAC;CACF;AAED,mCAAmC;AACnC,oDAAoD;AACpD,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,OAAe,EAAE,OAA6C;QACxE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C;QACE,KAAK,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF"}