@restatedev/restate-sdk 0.7.0 → 0.7.2-worker

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 (88) hide show
  1. package/dist/cloudflare_bundle.js +26133 -0
  2. package/dist/io/encoder.d.ts +2 -1
  3. package/dist/io/encoder.d.ts.map +1 -1
  4. package/package.json +6 -3
  5. package/dist/connection/buffered_connection.js +0 -44
  6. package/dist/connection/buffered_connection.js.map +0 -1
  7. package/dist/connection/connection.js +0 -13
  8. package/dist/connection/connection.js.map +0 -1
  9. package/dist/connection/embedded_connection.js +0 -59
  10. package/dist/connection/embedded_connection.js.map +0 -1
  11. package/dist/connection/http_connection.js +0 -203
  12. package/dist/connection/http_connection.js.map +0 -1
  13. package/dist/connection/lambda_connection.js +0 -58
  14. package/dist/connection/lambda_connection.js.map +0 -1
  15. package/dist/embedded/api.js +0 -35
  16. package/dist/embedded/api.js.map +0 -1
  17. package/dist/embedded/handler.js +0 -28
  18. package/dist/embedded/handler.js.map +0 -1
  19. package/dist/embedded/http2_remote.js +0 -91
  20. package/dist/embedded/http2_remote.js.map +0 -1
  21. package/dist/embedded/invocation.js +0 -94
  22. package/dist/embedded/invocation.js.map +0 -1
  23. package/dist/generated/dev/restate/events.js +0 -371
  24. package/dist/generated/dev/restate/events.js.map +0 -1
  25. package/dist/generated/dev/restate/ext.js +0 -215
  26. package/dist/generated/dev/restate/ext.js.map +0 -1
  27. package/dist/generated/google/protobuf/descriptor.js +0 -6676
  28. package/dist/generated/google/protobuf/descriptor.js.map +0 -1
  29. package/dist/generated/google/protobuf/empty.js +0 -107
  30. package/dist/generated/google/protobuf/empty.js.map +0 -1
  31. package/dist/generated/google/protobuf/struct.js +0 -754
  32. package/dist/generated/google/protobuf/struct.js.map +0 -1
  33. package/dist/generated/proto/discovery.js +0 -364
  34. package/dist/generated/proto/discovery.js.map +0 -1
  35. package/dist/generated/proto/dynrpc.js +0 -668
  36. package/dist/generated/proto/dynrpc.js.map +0 -1
  37. package/dist/generated/proto/javascript.js +0 -297
  38. package/dist/generated/proto/javascript.js.map +0 -1
  39. package/dist/generated/proto/protocol.js +0 -2398
  40. package/dist/generated/proto/protocol.js.map +0 -1
  41. package/dist/generated/proto/services.js +0 -1535
  42. package/dist/generated/proto/services.js.map +0 -1
  43. package/dist/generated/proto/test.js +0 -321
  44. package/dist/generated/proto/test.js.map +0 -1
  45. package/dist/invocation.js +0 -154
  46. package/dist/invocation.js.map +0 -1
  47. package/dist/io/decoder.js +0 -133
  48. package/dist/io/decoder.js.map +0 -1
  49. package/dist/io/encoder.js +0 -68
  50. package/dist/io/encoder.js.map +0 -1
  51. package/dist/journal.js +0 -372
  52. package/dist/journal.js.map +0 -1
  53. package/dist/local_state_store.js +0 -72
  54. package/dist/local_state_store.js.map +0 -1
  55. package/dist/public_api.js +0 -58
  56. package/dist/public_api.js.map +0 -1
  57. package/dist/restate_context.js +0 -46
  58. package/dist/restate_context.js.map +0 -1
  59. package/dist/restate_context_impl.js +0 -375
  60. package/dist/restate_context_impl.js.map +0 -1
  61. package/dist/server/base_restate_server.js +0 -364
  62. package/dist/server/base_restate_server.js.map +0 -1
  63. package/dist/server/restate_lambda_handler.js +0 -247
  64. package/dist/server/restate_lambda_handler.js.map +0 -1
  65. package/dist/server/restate_server.js +0 -186
  66. package/dist/server/restate_server.js.map +0 -1
  67. package/dist/state_machine.js +0 -403
  68. package/dist/state_machine.js.map +0 -1
  69. package/dist/types/errors.js +0 -267
  70. package/dist/types/errors.js.map +0 -1
  71. package/dist/types/grpc.js +0 -68
  72. package/dist/types/grpc.js.map +0 -1
  73. package/dist/types/protocol.js +0 -125
  74. package/dist/types/protocol.js.map +0 -1
  75. package/dist/types/router.js +0 -36
  76. package/dist/types/router.js.map +0 -1
  77. package/dist/types/types.js +0 -126
  78. package/dist/types/types.js.map +0 -1
  79. package/dist/utils/assumpsions.js +0 -101
  80. package/dist/utils/assumpsions.js.map +0 -1
  81. package/dist/utils/logger.js +0 -102
  82. package/dist/utils/logger.js.map +0 -1
  83. package/dist/utils/public_utils.js +0 -49
  84. package/dist/utils/public_utils.js.map +0 -1
  85. package/dist/utils/rand.js +0 -114
  86. package/dist/utils/rand.js.map +0 -1
  87. package/dist/utils/utils.js +0 -144
  88. package/dist/utils/utils.js.map +0 -1
@@ -1,101 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.verifyAssumptions = exports.requestFromArgs = void 0;
14
- const dynrpc_1 = require("../generated/proto/dynrpc");
15
- const errors_1 = require("../types/errors");
16
- const ASSUME_UNKEYED_SINCE_FIRST_PARAM_NOT_STRING = 1;
17
- const ASSUME_UNKEYED_SINCE_ZERO_ARGS = 2;
18
- const ASSUME_KEYED_SINCE_TWO_ARGS_STR_AND_ANY = 3;
19
- const ASSUME_EITHER_KEYED_OR_UNKEYED_ONE_STR_ARG = 4;
20
- const requestFromArgs = (args) => {
21
- switch (args.length) {
22
- case 0: {
23
- return dynrpc_1.RpcRequest.create({
24
- senderAssumes: ASSUME_UNKEYED_SINCE_ZERO_ARGS,
25
- });
26
- }
27
- case 1: {
28
- if (typeof args[0] === "string") {
29
- return dynrpc_1.RpcRequest.create({
30
- key: args[0],
31
- senderAssumes: ASSUME_EITHER_KEYED_OR_UNKEYED_ONE_STR_ARG,
32
- });
33
- }
34
- else {
35
- return dynrpc_1.RpcRequest.create({
36
- request: args[0],
37
- senderAssumes: ASSUME_UNKEYED_SINCE_FIRST_PARAM_NOT_STRING,
38
- });
39
- }
40
- }
41
- case 2: {
42
- if (typeof args[0] !== "string") {
43
- throw new errors_1.TerminalError(`Two argument handlers are only possible for keyed handlers. Where the first argument must be of type 'string'.`);
44
- }
45
- return dynrpc_1.RpcRequest.create({
46
- key: args[0],
47
- request: args[1],
48
- senderAssumes: ASSUME_KEYED_SINCE_TWO_ARGS_STR_AND_ANY,
49
- });
50
- }
51
- default: {
52
- throw new errors_1.TerminalError("wrong number of arguments " + args.length);
53
- }
54
- }
55
- };
56
- exports.requestFromArgs = requestFromArgs;
57
- /* eslint-enable @typescript-eslint/ban-types, @typescript-eslint/no-explicit-any */
58
- const requireThat = (condition, errorMessage) => {
59
- if (!condition) {
60
- throw new errors_1.TerminalError(errorMessage);
61
- }
62
- };
63
- const verifyAssumptions = (isKeyed, request) => {
64
- const assumpsion = request.senderAssumes ?? 0;
65
- switch (assumpsion) {
66
- case 0: {
67
- // no assumption: this comes from an ingress.
68
- const hasKeyProperty = typeof request.key === "string" && request.key.length > 0;
69
- if (isKeyed) {
70
- requireThat(hasKeyProperty, "Trying to call a keyed handler with a missing or empty 'key' property.");
71
- }
72
- else {
73
- requireThat(!hasKeyProperty, "Trying to call a an unkeyed handler with a 'key' property. Did you mean using the 'request' property instead?");
74
- }
75
- return { key: request.key, request: request.request };
76
- }
77
- case ASSUME_UNKEYED_SINCE_FIRST_PARAM_NOT_STRING: {
78
- requireThat(!isKeyed, "Trying to call a keyed handler with a missing key. This could happen if the first argument passed is not a 'string'.");
79
- return { request: request.request };
80
- }
81
- case ASSUME_UNKEYED_SINCE_ZERO_ARGS: {
82
- requireThat(!isKeyed, "A keyed handler must at least be invoked with a single non empty string argument, that represents the key. 0 arguments given.");
83
- return { request: request.request };
84
- }
85
- case ASSUME_KEYED_SINCE_TWO_ARGS_STR_AND_ANY: {
86
- requireThat(isKeyed, "An unkeyed handler must have at most 1 argument. two given.");
87
- return { key: request.key, request: request.request };
88
- }
89
- case ASSUME_EITHER_KEYED_OR_UNKEYED_ONE_STR_ARG: {
90
- if (isKeyed) {
91
- return { key: request.key };
92
- }
93
- return { request: request.key };
94
- }
95
- default: {
96
- throw new errors_1.TerminalError(`Unknown assumption id ${assumpsion}. This indicates an incorrect (or involuntary) setting of the assumption property at the ingress request, or an SDK bug.`);
97
- }
98
- }
99
- };
100
- exports.verifyAssumptions = verifyAssumptions;
101
- //# sourceMappingURL=assumpsions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assumpsions.js","sourceRoot":"","sources":["../../src/utils/assumpsions.ts"],"names":[],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.rlog = exports.DEBUG_LOG_LEVEL = exports.DEBUG_LOGGING_ENV = void 0;
14
- /* eslint-disable @typescript-eslint/no-explicit-any */
15
- /* eslint-disable no-console */
16
- const protocol_1 = require("../types/protocol");
17
- const utils_1 = require("./utils");
18
- /**
19
- * The environment variable which is read to determine the debug log settings.
20
- */
21
- exports.DEBUG_LOGGING_ENV = "RESTATE_DEBUG_LOGGING";
22
- /**
23
- * The values for the {@link DEBUG_LOGGING_ENV} variable.
24
- */
25
- var DEBUG_LOG_LEVEL;
26
- (function (DEBUG_LOG_LEVEL) {
27
- /** No debug logging at all. Good for performance and avoid per-invocation log volume */
28
- DEBUG_LOG_LEVEL["OFF"] = "OFF";
29
- /** Logs debug information for every Restate function invocation. */
30
- DEBUG_LOG_LEVEL["INVOKE"] = "INVOKE";
31
- /** Logs debug information for every Restate effect (=journal event) inside an invocation,
32
- * like RPC, state access, sideEffect, ... */
33
- DEBUG_LOG_LEVEL["JOURNAL"] = "JOURNAL";
34
- /** Logs debug information for every Restate effect (=journal event) inside an invocation,
35
- * like RPC, state access, sideEffect, ... Additionally, this adds a JSON representation
36
- * of the journal message to the log. */
37
- DEBUG_LOG_LEVEL["JOURNAL_VERBOSE"] = "JOURNAL_VERBOSE";
38
- })(DEBUG_LOG_LEVEL = exports.DEBUG_LOG_LEVEL || (exports.DEBUG_LOG_LEVEL = {}));
39
- const log_setting = process.env[exports.DEBUG_LOGGING_ENV]?.toUpperCase();
40
- const verbose_journal_event_logging = log_setting == DEBUG_LOG_LEVEL.JOURNAL_VERBOSE;
41
- const journal_event_logging = verbose_journal_event_logging || log_setting == DEBUG_LOG_LEVEL.JOURNAL;
42
- const invoke_event_logging = journal_event_logging ||
43
- log_setting == DEBUG_LOG_LEVEL.INVOKE ||
44
- (log_setting != DEBUG_LOG_LEVEL.OFF &&
45
- process.env["NODE_ENV"]?.toLowerCase() !== "production");
46
- // ----------------------------------------------------------------------------
47
- // build restate logger
48
- // ----------------------------------------------------------------------------
49
- // effectively duplicate the console object (new object with same prototype)
50
- // to override some specific methods
51
- const restate_logger = Object.create(console);
52
- restate_logger.log = (message, ...optionalParams) => {
53
- console.log(`[restate] [${new Date().toISOString()}] LOG: ${message}`, ...optionalParams);
54
- };
55
- restate_logger.info = (message, ...optionalParams) => {
56
- console.info(`[restate] [${new Date().toISOString()}] INFO: ${message}`, ...optionalParams);
57
- };
58
- restate_logger.warn = (message, ...optionalParams) => {
59
- console.warn(`[restate] [${new Date().toISOString()}] WARN: ${message}`, ...optionalParams);
60
- };
61
- restate_logger.error = (message, ...optionalParams) => {
62
- console.error(`[restate] [${new Date().toISOString()}] ERROR: ${message}`, ...optionalParams);
63
- };
64
- restate_logger.debug = (message, ...optionalParams) => {
65
- console.debug(`[restate] [${new Date().toISOString()}] DEBUG: ${message}`, ...optionalParams);
66
- };
67
- restate_logger.trace = (message, ...optionalParams) => {
68
- console.trace(`[restate] [${new Date().toISOString()}] TRACE: ${message}`, ...optionalParams);
69
- };
70
- restate_logger.debugInvokeMessage = function (invocationInfo, logMessage) {
71
- if (!invoke_event_logging) {
72
- return;
73
- }
74
- const msg = `[restate] [${new Date().toISOString()}] DEBUG: ${invocationInfo} : ${logMessage}`;
75
- console.debug(msg);
76
- };
77
- restate_logger.debugJournalMessage = function (invocationInfo, logMessage, messageType, message) {
78
- if (!journal_event_logging) {
79
- return;
80
- }
81
- const type = messageType !== undefined
82
- ? " ; " + protocol_1.PROTOBUF_MESSAGE_NAME_BY_TYPE.get(messageType) ||
83
- "" + messageType
84
- : "";
85
- const journalEvent = verbose_journal_event_logging && message !== undefined
86
- ? " : " + (0, utils_1.printMessageAsJson)(message)
87
- : "";
88
- console.debug(`[restate] [${new Date().toISOString()}] DEBUG: ${invocationInfo} : ${logMessage}${type}${journalEvent}`);
89
- };
90
- /**
91
- * The RestateLogger lets us add some extra information to logging statements:
92
- * [restate] [timestamp] INFO/WARN/ERROR/DEBUG/TRACE <log-message>.
93
- *
94
- * It also adds the methods {@link RestateConsole.debugInvokeMessage} and *
95
- * {@link RestateConsole.debugJournalMessage} for optional intensive (per
96
- * invocation / per journal message) logging.
97
- *
98
- * We don't override the console here, to make sure that this only applies to Restate
99
- * log lines, and not to logging from application code.
100
- */
101
- exports.rlog = restate_logger;
102
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.NO_RETRIES = exports.DEFAULT_INFINITE_EXPONENTIAL_BACKOFF = exports.DEFAULT_INITIAL_DELAY_MS = exports.EXPONENTIAL_BACKOFF = exports.FIXED_DELAY = void 0;
14
- /**
15
- * A {@link RetryPolicy} that keeps a fixed delay between retries.
16
- */
17
- exports.FIXED_DELAY = {
18
- computeNextDelay(previousDelayMs) {
19
- return previousDelayMs;
20
- },
21
- };
22
- /**
23
- * A {@link RetryPolicy} that does an exponential backoff delay between retries.
24
- * Each delay is twice as long as the previous delay.
25
- */
26
- exports.EXPONENTIAL_BACKOFF = {
27
- computeNextDelay(previousDelayMs) {
28
- return 2 * previousDelayMs;
29
- },
30
- };
31
- /**
32
- * The default initial delay between retries: 10 milliseconds.
33
- */
34
- exports.DEFAULT_INITIAL_DELAY_MS = 10;
35
- /**
36
- * Default retry policy that retries an infinite number of times, with exponential backoff
37
- * and a starting delay of 10 milliseconds.
38
- */
39
- exports.DEFAULT_INFINITE_EXPONENTIAL_BACKOFF = {
40
- initialDelayMs: exports.DEFAULT_INITIAL_DELAY_MS,
41
- maxDelayMs: Number.MAX_SAFE_INTEGER,
42
- maxRetries: Number.MAX_SAFE_INTEGER,
43
- policy: exports.EXPONENTIAL_BACKOFF,
44
- };
45
- /**
46
- * Retry policy that does no retries.
47
- */
48
- exports.NO_RETRIES = { maxRetries: 0 };
49
- //# sourceMappingURL=public_utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"public_utils.js","sourceRoot":"","sources":["../../src/utils/public_utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AASH;;GAEG;AACU,QAAA,WAAW,GAAgB;IACtC,gBAAgB,CAAC,eAAuB;QACtC,OAAO,eAAe,CAAC;IACzB,CAAC;CACF,CAAC;AAEF;;;GAGG;AACU,QAAA,mBAAmB,GAAgB;IAC9C,gBAAgB,CAAC,eAAuB;QACtC,OAAO,CAAC,GAAG,eAAe,CAAC;IAC7B,CAAC;CACF,CAAC;AAoCF;;GAEG;AACU,QAAA,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;;GAGG;AACU,QAAA,oCAAoC,GAAkB;IACjE,cAAc,EAAE,gCAAwB;IACxC,UAAU,EAAE,MAAM,CAAC,gBAAgB;IACnC,UAAU,EAAE,MAAM,CAAC,gBAAgB;IACnC,MAAM,EAAE,2BAAmB;CAC5B,CAAC;AAEF;;GAEG;AACU,QAAA,UAAU,GAAkB,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC"}
@@ -1,114 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.RandImpl = void 0;
14
- const errors_1 = require("../types/errors");
15
- const restate_context_impl_1 = require("../restate_context_impl");
16
- const crypto_1 = require("crypto");
17
- class RandImpl {
18
- randstate256;
19
- constructor(id) {
20
- if (id instanceof Buffer) {
21
- // hash the invocation ID, which is known to contain 74 bits of entropy
22
- const hash = (0, crypto_1.createHash)("sha256").update(id).digest();
23
- this.randstate256 = [
24
- hash.readBigUInt64LE(0),
25
- hash.readBigUInt64LE(8),
26
- hash.readBigUInt64LE(16),
27
- hash.readBigUInt64LE(24),
28
- ];
29
- }
30
- else {
31
- this.randstate256 = id;
32
- }
33
- }
34
- static U64_MASK = (1n << 64n) - 1n;
35
- // xoshiro256++
36
- // https://prng.di.unimi.it/xoshiro256plusplus.c - public domain
37
- u64() {
38
- const result = (RandImpl.rotl((this.randstate256[0] + this.randstate256[3]) & RandImpl.U64_MASK, 23n) +
39
- this.randstate256[0]) &
40
- RandImpl.U64_MASK;
41
- const t = (this.randstate256[1] << 17n) & RandImpl.U64_MASK;
42
- this.randstate256[2] ^= this.randstate256[0];
43
- this.randstate256[3] ^= this.randstate256[1];
44
- this.randstate256[1] ^= this.randstate256[2];
45
- this.randstate256[0] ^= this.randstate256[3];
46
- this.randstate256[2] ^= t;
47
- this.randstate256[3] = RandImpl.rotl(this.randstate256[3], 45n);
48
- return result;
49
- }
50
- static rotl(x, k) {
51
- return ((x << k) & RandImpl.U64_MASK) | (x >> (64n - k));
52
- }
53
- checkContext() {
54
- const context = restate_context_impl_1.RestateGrpcContextImpl.callContext.getStore();
55
- if (context && context.type === restate_context_impl_1.CallContexType.SideEffect) {
56
- throw new errors_1.TerminalError(`You may not call methods on Rand from within a side effect.`, { errorCode: errors_1.ErrorCodes.INTERNAL });
57
- }
58
- }
59
- static U53_MASK = (1n << 53n) - 1n;
60
- random() {
61
- this.checkContext();
62
- // first generate a uint in range [0,2^53), which can be mapped 1:1 to a float64 in [0,1)
63
- const u53 = this.u64() & RandImpl.U53_MASK;
64
- // then divide by 2^53, which will simply update the exponent
65
- return Number(u53) / 2 ** 53;
66
- }
67
- uuidv4() {
68
- this.checkContext();
69
- const buf = Buffer.alloc(16);
70
- buf.writeBigUInt64LE(this.u64(), 0);
71
- buf.writeBigUInt64LE(this.u64(), 8);
72
- // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
73
- buf[6] = (buf[6] & 0x0f) | 0x40;
74
- buf[8] = (buf[8] & 0x3f) | 0x80;
75
- return uuidStringify(buf);
76
- }
77
- }
78
- exports.RandImpl = RandImpl;
79
- const byteToHex = [];
80
- for (let i = 0; i < 256; ++i) {
81
- byteToHex.push((i + 0x100).toString(16).slice(1));
82
- }
83
- /**
84
- * Convert array of 16 byte values to UUID string format of the form:
85
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
86
- */
87
- function uuidStringify(arr, offset = 0) {
88
- // Note: Be careful editing this code! It's been tuned for performance
89
- // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
90
- //
91
- // Note to future-self: No, you can't remove the `toLowerCase()` call.
92
- // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351
93
- return (byteToHex[arr[offset + 0]] +
94
- byteToHex[arr[offset + 1]] +
95
- byteToHex[arr[offset + 2]] +
96
- byteToHex[arr[offset + 3]] +
97
- "-" +
98
- byteToHex[arr[offset + 4]] +
99
- byteToHex[arr[offset + 5]] +
100
- "-" +
101
- byteToHex[arr[offset + 6]] +
102
- byteToHex[arr[offset + 7]] +
103
- "-" +
104
- byteToHex[arr[offset + 8]] +
105
- byteToHex[arr[offset + 9]] +
106
- "-" +
107
- byteToHex[arr[offset + 10]] +
108
- byteToHex[arr[offset + 11]] +
109
- byteToHex[arr[offset + 12]] +
110
- byteToHex[arr[offset + 13]] +
111
- byteToHex[arr[offset + 14]] +
112
- byteToHex[arr[offset + 15]]).toLowerCase();
113
- }
114
- //# sourceMappingURL=rand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rand.js","sourceRoot":"","sources":["../../src/utils/rand.ts"],"names":[],"mappings":"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"}
@@ -1,144 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.equalityCheckers = exports.makeFqServiceName = exports.printMessageAsJson = exports.jsonSafeAny = exports.jsonDeserialize = exports.jsonSerialize = exports.CompletablePromise = void 0;
14
- const protocol_1 = require("../types/protocol");
15
- class CompletablePromise {
16
- success;
17
- failure;
18
- promise;
19
- constructor() {
20
- this.promise = new Promise((resolve, reject) => {
21
- this.success = resolve;
22
- this.failure = reject;
23
- });
24
- }
25
- resolve(value) {
26
- this.success(value);
27
- }
28
- reject(reason) {
29
- this.failure(reason);
30
- }
31
- }
32
- exports.CompletablePromise = CompletablePromise;
33
- function jsonSerialize(obj) {
34
- return JSON.stringify(obj, (_, v) => typeof v === "bigint" ? "BIGINT::" + v.toString() : v);
35
- }
36
- exports.jsonSerialize = jsonSerialize;
37
- function jsonDeserialize(json) {
38
- return JSON.parse(json, (_, v) => typeof v === "string" && v.startsWith("BIGINT::")
39
- ? BigInt(v.substring(8))
40
- : v);
41
- }
42
- exports.jsonDeserialize = jsonDeserialize;
43
- // When using google.protobuf.Value in RPC handler responses, we want to roughly match the behaviour of JSON.stringify
44
- // for example in converting Date objects to a UTC string
45
- function jsonSafeAny(key, value) {
46
- if (value !== undefined &&
47
- value !== null &&
48
- typeof value.toJSON == "function") {
49
- return value.toJSON(key);
50
- }
51
- else if (globalThis.Array.isArray(value)) {
52
- // in place replace
53
- value.forEach((_, i) => (value[i] = jsonSafeAny(i.toString(), value[i])));
54
- return value;
55
- }
56
- else if (typeof value === "object") {
57
- Object.keys(value).forEach((key) => {
58
- value[key] = jsonSafeAny(key, value[key]);
59
- });
60
- return value;
61
- }
62
- else {
63
- // primitive that doesn't have a toJSON method, with no children
64
- return value;
65
- }
66
- }
67
- exports.jsonSafeAny = jsonSafeAny;
68
- function printMessageAsJson(obj) {
69
- const newObj = { ...obj };
70
- for (const [key, value] of Object.entries(newObj)) {
71
- if (Buffer.isBuffer(value)) {
72
- newObj[key] = value.toString().trim();
73
- }
74
- }
75
- // Stringify object. Replace bigintToString serializer to prevent "BigInt not serializable" errors
76
- return JSON.stringify(obj, (_, v) => typeof v === "bigint" ? v.toString() + "n" : v);
77
- }
78
- exports.printMessageAsJson = printMessageAsJson;
79
- function makeFqServiceName(pckg, name) {
80
- return pckg ? `${pckg}.${name}` : name;
81
- }
82
- exports.makeFqServiceName = makeFqServiceName;
83
- /**
84
- * Equality functions
85
- * @param msg1 the current message from user code
86
- * @param msg2 the replayed message
87
- */
88
- // These functions are used to check whether a replayed message matches the current user code.
89
- // We check the fields which we can check
90
- // (the fields which do not contain results, because these might be filled in the result)
91
- const getStateMsgEquality = (msg1, msg2) => {
92
- return msg1.key.equals(msg2.key);
93
- };
94
- const invokeMsgEquality = (msg1, msg2) => {
95
- return (msg1.serviceName === msg2.serviceName &&
96
- msg1.methodName === msg2.methodName &&
97
- msg1.parameter.equals(msg2.parameter));
98
- };
99
- const setStateMsgEquality = (msg1, msg2) => {
100
- return msg1.key.equals(msg2.key) && msg1.value.equals(msg2.value);
101
- };
102
- const clearStateMsgEquality = (msg1, msg2) => {
103
- return msg1.key.equals(msg2.key);
104
- };
105
- const completeAwakeableMsgEquality = (msg1, msg2) => {
106
- if (!(msg1.id === msg2.id)) {
107
- return false;
108
- }
109
- if (msg1.value && msg2.value) {
110
- return msg1.value.equals(msg2.value);
111
- }
112
- else if (msg1.failure && msg2.failure) {
113
- return (msg1.failure?.code === msg2.failure?.code &&
114
- msg1.failure?.message === msg2.failure?.message);
115
- }
116
- else {
117
- return false;
118
- }
119
- };
120
- const outputMsgEquality = (msg1, msg2) => {
121
- if (msg1.value && msg2.value) {
122
- return msg1.value.equals(msg2.value);
123
- }
124
- else if (msg1.failure && msg2.failure) {
125
- return (msg1.failure?.code === msg2.failure?.code &&
126
- msg1.failure?.message === msg2.failure?.message);
127
- }
128
- else {
129
- return false;
130
- }
131
- };
132
- exports.equalityCheckers = new Map([
133
- [protocol_1.GET_STATE_ENTRY_MESSAGE_TYPE, getStateMsgEquality],
134
- [protocol_1.SET_STATE_ENTRY_MESSAGE_TYPE, setStateMsgEquality],
135
- [protocol_1.CLEAR_STATE_ENTRY_MESSAGE_TYPE, clearStateMsgEquality],
136
- [protocol_1.INVOKE_ENTRY_MESSAGE_TYPE, invokeMsgEquality],
137
- [protocol_1.BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE, invokeMsgEquality],
138
- [protocol_1.COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, completeAwakeableMsgEquality],
139
- [protocol_1.OUTPUT_STREAM_ENTRY_MESSAGE_TYPE, outputMsgEquality],
140
- [protocol_1.AWAKEABLE_ENTRY_MESSAGE_TYPE, () => true],
141
- [protocol_1.SIDE_EFFECT_ENTRY_MESSAGE_TYPE, () => true],
142
- [protocol_1.SLEEP_ENTRY_MESSAGE_TYPE, () => true],
143
- ]);
144
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}