@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,607 @@
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 { serde, } from "@restatedev/restate-sdk-core";
12
+ import { TerminalError } from "./errors.js";
13
+ export class Opts {
14
+ opts;
15
+ /**
16
+ * Create a call configuration from the provided options.
17
+ *
18
+ * @param opts the call configuration
19
+ */
20
+ static from(opts) {
21
+ return new Opts(opts);
22
+ }
23
+ constructor(opts) {
24
+ this.opts = opts;
25
+ }
26
+ getOpts() {
27
+ return this.opts;
28
+ }
29
+ }
30
+ export class SendOpts {
31
+ opts;
32
+ static from(opts) {
33
+ return new SendOpts(opts);
34
+ }
35
+ getOpts() {
36
+ return this.opts;
37
+ }
38
+ constructor(opts) {
39
+ this.opts = opts;
40
+ }
41
+ }
42
+ export var rpc;
43
+ (function (rpc) {
44
+ rpc.opts = (opts) => Opts.from(opts);
45
+ rpc.sendOpts = (opts) => SendOpts.from(opts);
46
+ })(rpc || (rpc = {}));
47
+ function optsFromArgs(args) {
48
+ let parameter;
49
+ let opts;
50
+ switch (args.length) {
51
+ case 0: {
52
+ break;
53
+ }
54
+ case 1: {
55
+ if (args[0] instanceof Opts) {
56
+ opts = args[0].getOpts();
57
+ }
58
+ else if (args[0] instanceof SendOpts) {
59
+ opts = args[0].getOpts();
60
+ }
61
+ else {
62
+ parameter = args[0];
63
+ }
64
+ break;
65
+ }
66
+ case 2: {
67
+ parameter = args[0];
68
+ if (args[1] instanceof Opts) {
69
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
70
+ opts = args[1].getOpts();
71
+ }
72
+ else if (args[1] instanceof SendOpts) {
73
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
74
+ opts = args[1].getOpts();
75
+ }
76
+ else {
77
+ throw new TypeError("The second argument must be either Opts or SendOpts");
78
+ }
79
+ break;
80
+ }
81
+ default: {
82
+ throw new TypeError("unexpected number of arguments");
83
+ }
84
+ }
85
+ return {
86
+ parameter,
87
+ opts,
88
+ };
89
+ }
90
+ export const defaultSerde = () => {
91
+ return serde.json;
92
+ };
93
+ export const makeRpcCallProxy = (genericCall, service, key) => {
94
+ const clientProxy = new Proxy({}, {
95
+ get: (_target, prop) => {
96
+ const method = prop;
97
+ return (...args) => {
98
+ const { parameter, opts } = optsFromArgs(args);
99
+ const requestSerde = opts?.input ?? defaultSerde();
100
+ const responseSerde = opts?.output ??
101
+ defaultSerde();
102
+ return genericCall({
103
+ service,
104
+ method,
105
+ parameter,
106
+ key,
107
+ inputSerde: requestSerde,
108
+ outputSerde: responseSerde,
109
+ });
110
+ };
111
+ },
112
+ });
113
+ return clientProxy;
114
+ };
115
+ export const makeRpcSendProxy = (genericSend, service, key, legacyDelay) => {
116
+ const clientProxy = new Proxy({}, {
117
+ get: (_target, prop) => {
118
+ const method = prop;
119
+ return (...args) => {
120
+ const { parameter, opts } = optsFromArgs(args);
121
+ const requestSerde = opts?.input ?? defaultSerde();
122
+ const delay = legacyDelay ??
123
+ opts?.delay;
124
+ return genericSend({
125
+ service,
126
+ method,
127
+ parameter,
128
+ key,
129
+ delay,
130
+ inputSerde: requestSerde,
131
+ });
132
+ };
133
+ },
134
+ });
135
+ return clientProxy;
136
+ };
137
+ // ----------- handlers ----------------------------------------------
138
+ export var HandlerKind;
139
+ (function (HandlerKind) {
140
+ HandlerKind[HandlerKind["SERVICE"] = 0] = "SERVICE";
141
+ HandlerKind[HandlerKind["EXCLUSIVE"] = 1] = "EXCLUSIVE";
142
+ HandlerKind[HandlerKind["SHARED"] = 2] = "SHARED";
143
+ HandlerKind[HandlerKind["WORKFLOW"] = 3] = "WORKFLOW";
144
+ })(HandlerKind || (HandlerKind = {}));
145
+ const JSON_CONTENT_TYPE = "application/json";
146
+ const HANDLER_SYMBOL = Symbol("Handler");
147
+ /** For backward compatability with the serializer handler option */
148
+ class SerializerWrapper {
149
+ contentType;
150
+ serializer;
151
+ constructor(contentType, serializer) {
152
+ this.contentType = contentType;
153
+ this.serializer = serializer;
154
+ }
155
+ serialize(input) {
156
+ return this.serializer(input);
157
+ }
158
+ deserialize() {
159
+ throw new Error("Not implemented");
160
+ }
161
+ }
162
+ /** For backward compatability with the serializer handler option */
163
+ class DeserializerWrapper {
164
+ contentType;
165
+ deserializer;
166
+ constructor(contentType, deserializer) {
167
+ this.contentType = contentType;
168
+ this.deserializer = deserializer;
169
+ }
170
+ serialize() {
171
+ throw new Error("Not implemented");
172
+ }
173
+ deserialize(input) {
174
+ return this.deserializer(input);
175
+ }
176
+ }
177
+ export class HandlerWrapper {
178
+ kind;
179
+ handler;
180
+ inputSerde;
181
+ outputSerde;
182
+ static from(kind, handler, opts) {
183
+ // backwards compatibility with the deserializer+accept options
184
+ let inputSerde;
185
+ if (opts?.inputDeserializer) {
186
+ // the caller has specified a custom serializer, use it
187
+ // if the accept is also specified, use it, otherwise use JSON
188
+ inputSerde = new DeserializerWrapper(opts.accept ?? JSON_CONTENT_TYPE, opts.inputDeserializer);
189
+ }
190
+ else if (opts?.accept) {
191
+ // accept but no serializer, use pass trough
192
+ inputSerde = new DeserializerWrapper(opts.accept, (input) => input);
193
+ }
194
+ else if (opts?.contentType == JSON_CONTENT_TYPE) {
195
+ // contentType is JSON, use the default serde
196
+ inputSerde = defaultSerde();
197
+ }
198
+ else if (opts?.input) {
199
+ // did the caller specify a custom serde?
200
+ inputSerde = opts.input;
201
+ }
202
+ else {
203
+ // use the default (JSON) serde
204
+ inputSerde = defaultSerde();
205
+ }
206
+ // backwards compatibility with the deserializer handler option
207
+ let outputSerde;
208
+ if (opts?.outputSerializer) {
209
+ outputSerde = new SerializerWrapper(opts.contentType ?? JSON_CONTENT_TYPE, opts.outputSerializer);
210
+ }
211
+ else if (opts?.contentType == JSON_CONTENT_TYPE) {
212
+ // contentType is JSON, use the default serde
213
+ outputSerde = defaultSerde();
214
+ }
215
+ else if (opts?.contentType) {
216
+ // contentType but no serializer, use passtrough
217
+ outputSerde = new SerializerWrapper(opts.contentType, (input) => input);
218
+ }
219
+ else if (opts?.output) {
220
+ outputSerde = opts.output;
221
+ }
222
+ else {
223
+ outputSerde = defaultSerde();
224
+ }
225
+ // we must create here a copy of the handler
226
+ // to be able to reuse the original handler in other places.
227
+ // like for example the same logic but under different routes.
228
+ const handlerCopy = function (...args) {
229
+ return handler.apply(this, args);
230
+ };
231
+ return new HandlerWrapper(kind, handlerCopy, inputSerde, outputSerde, opts?.accept);
232
+ }
233
+ static fromHandler(handler) {
234
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
235
+ return handler[HANDLER_SYMBOL];
236
+ }
237
+ accept;
238
+ contentType;
239
+ constructor(kind, handler, inputSerde, outputSerde, accept) {
240
+ this.kind = kind;
241
+ this.handler = handler;
242
+ this.inputSerde = inputSerde;
243
+ this.outputSerde = outputSerde;
244
+ this.accept = accept ? accept : inputSerde.contentType;
245
+ this.contentType = outputSerde.contentType;
246
+ }
247
+ bindInstance(t) {
248
+ this.handler = this.handler.bind(t);
249
+ }
250
+ async invoke(context, input) {
251
+ let req;
252
+ try {
253
+ req = this.inputSerde.deserialize(input);
254
+ }
255
+ catch (e) {
256
+ throw new TerminalError(`Failed to deserialize input.`, {
257
+ cause: e,
258
+ });
259
+ }
260
+ const res = await this.handler(context, req);
261
+ return this.outputSerde.serialize(res);
262
+ }
263
+ /**
264
+ * Instead of a HandlerWrapper with a handler property,
265
+ * return the original handler with a HandlerWrapper property.
266
+ * This is needed to keep the appearance of regular functions
267
+ * bound to an object, so that for example, `this.foo(ctx, arg)` would
268
+ * work.
269
+ */
270
+ transpose() {
271
+ const handler = this.handler;
272
+ const existing = HandlerWrapper.fromHandler(handler);
273
+ if (existing !== undefined) {
274
+ return handler;
275
+ }
276
+ Object.defineProperty(handler, HANDLER_SYMBOL, { value: this });
277
+ return handler;
278
+ }
279
+ }
280
+ // ----------- handler decorators ----------------------------------------------
281
+ export var handlers;
282
+ (function (handlers) {
283
+ /**
284
+ * Create a service handler.
285
+ *
286
+ * @param opts additional configuration
287
+ * @param fn the actual handler code to execute
288
+ */
289
+ function handler(opts, fn) {
290
+ return HandlerWrapper.from(HandlerKind.SERVICE, fn, opts).transpose();
291
+ }
292
+ handlers.handler = handler;
293
+ let workflow;
294
+ (function (workflow_1) {
295
+ function workflow(optsOrFn, fn) {
296
+ if (typeof optsOrFn == "function") {
297
+ return HandlerWrapper.from(HandlerKind.WORKFLOW, optsOrFn).transpose();
298
+ }
299
+ const opts = optsOrFn;
300
+ if (typeof fn !== "function") {
301
+ throw new TypeError("The second argument must be a function");
302
+ }
303
+ return HandlerWrapper.from(HandlerKind.WORKFLOW, fn, opts).transpose();
304
+ }
305
+ workflow_1.workflow = workflow;
306
+ /**
307
+ * Creates a shared handler for a workflow
308
+ *
309
+ * A shared handler allows a read-only concurrent execution
310
+ * for a given key.
311
+ *
312
+ * @param opts additional configurations
313
+ * @param fn the handler to execute
314
+ */
315
+ function shared(optsOrFn, fn) {
316
+ if (typeof optsOrFn == "function") {
317
+ return HandlerWrapper.from(HandlerKind.SHARED, optsOrFn).transpose();
318
+ }
319
+ const opts = optsOrFn;
320
+ if (typeof fn !== "function") {
321
+ throw new TypeError("The second argument must be a function");
322
+ }
323
+ return HandlerWrapper.from(HandlerKind.SHARED, fn, opts).transpose();
324
+ }
325
+ workflow_1.shared = shared;
326
+ })(workflow = handlers.workflow || (handlers.workflow = {}));
327
+ let object;
328
+ (function (object) {
329
+ /**
330
+ * Creates an exclusive handler for a virtual Object.
331
+ *
332
+ *
333
+ * note 1: This applies only to a virtual object.
334
+ * note 2: This is the default for virtual objects, so if no
335
+ * additional reconfiguration is needed, you can simply
336
+ * use the handler directly (no need to use exclusive).
337
+ * This variant here is only for symmetry/convenance.
338
+ *
339
+ * @param opts additional configurations
340
+ * @param fn the handler to execute
341
+ */
342
+ function exclusive(optsOrFn, fn) {
343
+ if (typeof optsOrFn == "function") {
344
+ return HandlerWrapper.from(HandlerKind.EXCLUSIVE, optsOrFn).transpose();
345
+ }
346
+ const opts = optsOrFn;
347
+ if (typeof fn !== "function") {
348
+ throw new TypeError("The second argument must be a function");
349
+ }
350
+ return HandlerWrapper.from(HandlerKind.EXCLUSIVE, fn, opts).transpose();
351
+ }
352
+ object.exclusive = exclusive;
353
+ /**
354
+ * Creates a shared handler for a virtual Object.
355
+ *
356
+ * A shared handler allows a read-only concurrent execution
357
+ * for a given key.
358
+ *
359
+ * note: This applies only to a virtual object.
360
+ *
361
+ * @param opts additional configurations
362
+ * @param fn the handler to execute
363
+ */
364
+ function shared(optsOrFn, fn) {
365
+ if (typeof optsOrFn == "function") {
366
+ return HandlerWrapper.from(HandlerKind.SHARED, optsOrFn).transpose();
367
+ }
368
+ const opts = optsOrFn;
369
+ if (typeof fn !== "function") {
370
+ throw new TypeError("The second argument must be a function");
371
+ }
372
+ return HandlerWrapper.from(HandlerKind.SHARED, fn, opts).transpose();
373
+ }
374
+ object.shared = shared;
375
+ })(object = handlers.object || (handlers.object = {}));
376
+ })(handlers || (handlers = {}));
377
+ /**
378
+ * Define a Restate service.
379
+ *
380
+ * @example Here is an example of how to define a service:
381
+ *
382
+ * ```ts
383
+ * const greeter = service({
384
+ * name: "greeter",
385
+ * handlers: {
386
+ * greet: async (ctx: Context, name: string) => {
387
+ * return `Hello ${name}`;
388
+ * }
389
+ * }
390
+ * });
391
+ * ```
392
+ *
393
+ * To use the service, you can bind it to an endpoint:
394
+ * ```
395
+ * ...
396
+ * endpoint.bind(greeter)
397
+ * ```
398
+ * @example To use a service, you can export its type to be used in a client:
399
+ * ```
400
+ * export type Greeter = typeof greeter;
401
+ * ...
402
+ * ...
403
+ * import type { Greeter } from "./greeter";
404
+ * const client = ctx.serviceClient<Greeter>({ name : "greeter"});
405
+ * client.greet("World").then(console.log);
406
+ * ```
407
+ *
408
+ * @example Alternatively to avoid repeating the service name, you can:
409
+ * ```
410
+ * import type {Greeter} from "./greeter";
411
+ * const Greeter: Greeter = { name : "greeter"};
412
+ *
413
+ * // now you can reference the service like this:
414
+ * const client = ctx.serviceClient(Greeter);
415
+ * ```
416
+ *
417
+ * @param name the service name
418
+ * @param handlers the handlers for the service
419
+ * @type P the name of the service
420
+ * @type M the handlers for the service
421
+ */
422
+ export const service = (service) => {
423
+ if (!service.handlers) {
424
+ throw new Error("service must be defined");
425
+ }
426
+ const handlers = Object.entries(service.handlers).map(([name, handler]) => {
427
+ if (handler instanceof Function) {
428
+ if (HandlerWrapper.fromHandler(handler) !== undefined) {
429
+ return [name, handler];
430
+ }
431
+ return [
432
+ name,
433
+ HandlerWrapper.from(HandlerKind.SERVICE, handler).transpose(),
434
+ ];
435
+ }
436
+ throw new TypeError(`Unexpected handler type ${name}`);
437
+ });
438
+ return {
439
+ name: service.name,
440
+ service: Object.fromEntries(handlers),
441
+ };
442
+ };
443
+ /**
444
+ * Define a Restate virtual object.
445
+ *
446
+ * @example Here is an example of how to define a virtual object:
447
+ * ```ts
448
+ * const counter = object({
449
+ * name: "counter",
450
+ * handlers: {
451
+ * add: async (ctx: ObjectContext, amount: number) => {},
452
+ * get: async (ctx: ObjectContext) => {}
453
+ * }
454
+ * })
455
+ * ```
456
+ *
457
+ * @example To use the object, you can bind it to an endpoint:
458
+ * ```ts
459
+ * ...
460
+ * endpoint.bind(counter)
461
+ * ```
462
+ *
463
+ * @see to interact with the object, you can use the object client:
464
+ * ```ts
465
+ * ...
466
+ * const client = ctx.objectClient<typeof counter>({ name: "counter"});
467
+ * const res = await client.add(1)
468
+ * ```
469
+ *
470
+ * ### Shared handlers
471
+ *
472
+ * Shared handlers are used to allow concurrent read-only access to the object.
473
+ * This is useful when you want to allow multiple clients to read the object's state at the same time.
474
+ * To define a shared handler, you can use the `shared` decorator as shown below:
475
+ *
476
+ * ```ts
477
+ * const counter = object({
478
+ * name: "counter",
479
+ * handlers: {
480
+ *
481
+ * add: async (ctx: ObjectContext, amount: number) => { .. },
482
+ *
483
+ * get: handlers.object.shared(async (ctx: ObjectSharedContext) => {
484
+ * return ctx.get<number>("count");
485
+ * })
486
+ * }
487
+ * });
488
+ * ```
489
+ *
490
+ * @param name the name of the object
491
+ * @param handlers the handlers for the object
492
+ */
493
+ export const object = (object) => {
494
+ if (!object.handlers) {
495
+ throw new Error("object options must be defined");
496
+ }
497
+ const handlers = Object.entries(object.handlers).map(([name, handler]) => {
498
+ if (handler instanceof Function) {
499
+ if (HandlerWrapper.fromHandler(handler) !== undefined) {
500
+ return [name, handler];
501
+ }
502
+ return [
503
+ name,
504
+ HandlerWrapper.from(HandlerKind.EXCLUSIVE, handler).transpose(),
505
+ ];
506
+ }
507
+ throw new TypeError(`Unexpected handler type ${name}`);
508
+ });
509
+ return {
510
+ name: object.name,
511
+ object: Object.fromEntries(handlers),
512
+ };
513
+ };
514
+ /**
515
+ * Define a Restate workflow.
516
+ *
517
+ *
518
+ * @example Here is an example of how to define a workflow:
519
+ * ```ts
520
+ * const mywf = workflow({
521
+ * name: "mywf",
522
+ * handlers: {
523
+ * run: async (ctx: WorkflowContext, argument: any) => {
524
+ * return "Hello World";
525
+ * }
526
+ * }
527
+ * });
528
+ * ```
529
+ *
530
+ * ### Note:
531
+ * * That a workflow must contain exactly one handler named 'run', and this handler must accept as a first argument a WorkflowContext.
532
+ * * The workflow handlers other than 'run' must accept as a first argument a WorkflowSharedContext.
533
+ * * The workflow handlers can not be named 'workflowSubmit', 'workflowAttach', 'workflowOutput' - as these are reserved keywords.
534
+ *
535
+ * @example To use the workflow, you can bind it to an endpoint:
536
+ * ```ts
537
+ * endpoint.bind(mywf)
538
+ * ```
539
+ *
540
+ * @example To interact with the workflow, you can use the workflow client:
541
+ * ```ts
542
+ * const client = ctx.workflowClient<typeof mywf>({ name: "mywf"});
543
+ * const res = await client.run("Hello");
544
+ * ```
545
+ *
546
+ * To use the workflow client from any other environment (like a browser), please refer to the documentation.
547
+ * https://docs.restate.dev
548
+ *
549
+ *
550
+ *
551
+ * @param name the workflow name
552
+ * @param handlers the handlers for the workflow.
553
+ */
554
+ export const workflow = (workflow) => {
555
+ if (!workflow.handlers) {
556
+ throw new Error("workflow must contain handlers");
557
+ }
558
+ //
559
+ // Add the main 'run' handler
560
+ //
561
+ const runHandler = workflow.handlers["run"];
562
+ let runWrapper;
563
+ if (runHandler instanceof HandlerWrapper) {
564
+ runWrapper = runHandler;
565
+ }
566
+ else if (runHandler instanceof Function) {
567
+ runWrapper =
568
+ HandlerWrapper.fromHandler(runHandler) ??
569
+ HandlerWrapper.from(HandlerKind.WORKFLOW, runHandler);
570
+ }
571
+ else {
572
+ throw new TypeError(`Missing main workflow handler, named 'run'`);
573
+ }
574
+ if (runWrapper.kind != HandlerKind.WORKFLOW) {
575
+ throw new TypeError(`Workflow's main handler handler run, must be of type workflow'`);
576
+ }
577
+ const handlers = [["run", runWrapper.transpose()]];
578
+ //
579
+ // Add all the shared handlers now
580
+ //
581
+ for (const [name, handler] of Object.entries(workflow.handlers)) {
582
+ if (name == "run") {
583
+ continue;
584
+ }
585
+ let wrapper;
586
+ if (handler instanceof HandlerWrapper) {
587
+ wrapper = handler;
588
+ }
589
+ else if (handler instanceof Function) {
590
+ wrapper =
591
+ HandlerWrapper.fromHandler(handler) ??
592
+ HandlerWrapper.from(HandlerKind.SHARED, handler);
593
+ }
594
+ else {
595
+ throw new TypeError(`Unexpected handler type ${name}`);
596
+ }
597
+ if (wrapper.kind == HandlerKind.WORKFLOW) {
598
+ throw new TypeError(`A workflow must contain exactly one handler annotated as workflow, named 'run'. Please use a shared handler for any additional handlers`);
599
+ }
600
+ handlers.push([name, wrapper.transpose()]);
601
+ }
602
+ return {
603
+ name: workflow.name,
604
+ workflow: Object.fromEntries(handlers),
605
+ };
606
+ };
607
+ //# sourceMappingURL=rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/types/rpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const X_RESTATE_SERVER = "restate-sdk-typescript/1.3.1";
2
+ //# sourceMappingURL=user_agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user_agent.d.ts","sourceRoot":"","sources":["../../../src/user_agent.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB,iCAA0C,CAAC"}
@@ -0,0 +1,13 @@
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 { SDK_VERSION } from "./generated/version.js";
12
+ export const X_RESTATE_SERVER = `restate-sdk-typescript/${SDK_VERSION}`;
13
+ //# sourceMappingURL=user_agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user_agent.js","sourceRoot":"","sources":["../../../src/user_agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,WAAW,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ export declare function readBigUInt64LE(buf: Uint8Array, offset?: number): bigint;
3
+ export declare function readBigUInt64BE(buf: Uint8Array, offset?: number): bigint;
4
+ export declare function writeBigUInt64BE(value: bigint, buf: Buffer, offset?: number): number;
5
+ //# sourceMappingURL=buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../../../src/utils/buffer.ts"],"names":[],"mappings":";AAIA,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,SAAI,GAAG,MAAM,CAmBnE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,SAAI,GAAG,MAAM,CAgBnE;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,SAAI,GACT,MAAM,CAkBR"}