@restatedev/restate-sdk-cloudflare-workers 1.4.0 → 1.5.0

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/esm/src/common_api.d.ts +5 -5
  2. package/dist/esm/src/common_api.d.ts.map +1 -1
  3. package/dist/esm/src/common_api.js +1 -1
  4. package/dist/esm/src/common_api.js.map +1 -1
  5. package/dist/esm/src/context.d.ts +68 -10
  6. package/dist/esm/src/context.d.ts.map +1 -1
  7. package/dist/esm/src/context.js +20 -8
  8. package/dist/esm/src/context.js.map +1 -1
  9. package/dist/esm/src/context_impl.d.ts +28 -58
  10. package/dist/esm/src/context_impl.d.ts.map +1 -1
  11. package/dist/esm/src/context_impl.js +196 -425
  12. package/dist/esm/src/context_impl.js.map +1 -1
  13. package/dist/esm/src/endpoint/endpoint_builder.d.ts +4 -5
  14. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -1
  15. package/dist/esm/src/endpoint/endpoint_builder.js +21 -16
  16. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -1
  17. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +3 -4
  18. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -1
  19. package/dist/esm/src/endpoint/fetch_endpoint.js +0 -4
  20. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -1
  21. package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -1
  22. package/dist/esm/src/endpoint/handlers/fetch.js +1 -0
  23. package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -1
  24. package/dist/esm/src/endpoint/handlers/generic.d.ts +7 -13
  25. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -1
  26. package/dist/esm/src/endpoint/handlers/generic.js +110 -51
  27. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -1
  28. package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -1
  29. package/dist/esm/src/endpoint/handlers/lambda.js +15 -3
  30. package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -1
  31. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +37 -208
  32. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings_bg.js +667 -930
  33. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings_bg.wasm +0 -0
  34. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings_bg.wasm.d.ts +66 -63
  35. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +3 -4
  36. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -1
  37. package/dist/esm/src/endpoint/lambda_endpoint.js +0 -4
  38. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -1
  39. package/dist/esm/src/endpoint/node_endpoint.d.ts +3 -4
  40. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -1
  41. package/dist/esm/src/endpoint/node_endpoint.js +12 -4
  42. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -1
  43. package/dist/esm/src/endpoint.d.ts +6 -37
  44. package/dist/esm/src/endpoint.d.ts.map +1 -1
  45. package/dist/esm/src/generated/version.d.ts +1 -1
  46. package/dist/esm/src/generated/version.js +1 -1
  47. package/dist/esm/src/io.d.ts +25 -0
  48. package/dist/esm/src/io.d.ts.map +1 -0
  49. package/dist/esm/src/io.js +73 -0
  50. package/dist/esm/src/io.js.map +1 -0
  51. package/dist/esm/src/logging/console_logger_transport.d.ts +5 -0
  52. package/dist/esm/src/logging/console_logger_transport.d.ts.map +1 -0
  53. package/dist/esm/src/{logger.js → logging/console_logger_transport.js} +40 -90
  54. package/dist/esm/src/logging/console_logger_transport.js.map +1 -0
  55. package/dist/esm/src/logging/logger.d.ts +11 -0
  56. package/dist/esm/src/logging/logger.d.ts.map +1 -0
  57. package/dist/esm/src/logging/logger.js +57 -0
  58. package/dist/esm/src/logging/logger.js.map +1 -0
  59. package/dist/esm/src/logging/logger_transport.d.ts +52 -0
  60. package/dist/esm/src/logging/logger_transport.d.ts.map +1 -0
  61. package/dist/esm/src/logging/logger_transport.js +55 -0
  62. package/dist/esm/src/logging/logger_transport.js.map +1 -0
  63. package/dist/esm/src/promises.d.ts +110 -0
  64. package/dist/esm/src/promises.d.ts.map +1 -0
  65. package/dist/esm/src/promises.js +311 -0
  66. package/dist/esm/src/promises.js.map +1 -0
  67. package/dist/esm/src/types/components.d.ts +11 -3
  68. package/dist/esm/src/types/components.d.ts.map +1 -1
  69. package/dist/esm/src/types/components.js +36 -3
  70. package/dist/esm/src/types/components.js.map +1 -1
  71. package/dist/esm/src/types/discovery.d.ts +4 -0
  72. package/dist/esm/src/types/discovery.d.ts.map +1 -1
  73. package/dist/esm/src/types/errors.d.ts +8 -0
  74. package/dist/esm/src/types/errors.d.ts.map +1 -1
  75. package/dist/esm/src/types/errors.js +10 -0
  76. package/dist/esm/src/types/errors.js.map +1 -1
  77. package/dist/esm/src/types/rpc.d.ts +66 -41
  78. package/dist/esm/src/types/rpc.d.ts.map +1 -1
  79. package/dist/esm/src/types/rpc.js +25 -76
  80. package/dist/esm/src/types/rpc.js.map +1 -1
  81. package/dist/esm/src/user_agent.d.ts +1 -1
  82. package/dist/esm/src/utils/buffer.d.ts +1 -0
  83. package/dist/esm/src/utils/buffer.d.ts.map +1 -1
  84. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +2 -2
  86. package/dist/esm/src/logger.d.ts +0 -35
  87. package/dist/esm/src/logger.d.ts.map +0 -1
  88. package/dist/esm/src/logger.js.map +0 -1
@@ -8,30 +8,41 @@
8
8
  * directory of this repository or package, or at
9
9
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
10
10
  */
11
- /* eslint-disable @typescript-eslint/no-explicit-any */
12
- /* eslint-disable no-console */
13
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
14
- export var RestateLogLevel;
15
- (function (RestateLogLevel) {
16
- RestateLogLevel["TRACE"] = "trace";
17
- RestateLogLevel["DEBUG"] = "debug";
18
- RestateLogLevel["INFO"] = "info";
19
- RestateLogLevel["WARN"] = "warn";
20
- RestateLogLevel["ERROR"] = "error";
21
- })(RestateLogLevel || (RestateLogLevel = {}));
22
- export function logLevel(level) {
23
- switch (level) {
11
+ import { RestateLogLevel } from "./logger_transport.js";
12
+ export const defaultLoggerTransport = (params, message, ...optionalParams) => {
13
+ if (params.replaying) {
14
+ return;
15
+ }
16
+ if (logLevel(params.level) < logLevel(DEFAULT_CONSOLE_LOGGER_LOG_LEVEL)) {
17
+ return;
18
+ }
19
+ const p = `${formatLogPrefix(params.context)} ${params.level.toUpperCase()}:`;
20
+ switch (params.level) {
24
21
  case RestateLogLevel.TRACE:
25
- return 1;
22
+ return console.trace(p, message, ...optionalParams);
26
23
  case RestateLogLevel.DEBUG:
27
- return 2;
24
+ return console.debug(p, message, ...optionalParams);
28
25
  case RestateLogLevel.INFO:
29
- return 3;
26
+ return console.info(p, message, ...optionalParams);
30
27
  case RestateLogLevel.WARN:
31
- return 4;
28
+ return console.warn(p, message, ...optionalParams);
32
29
  case RestateLogLevel.ERROR:
33
- return 5;
30
+ return console.error(p, message, ...optionalParams);
31
+ default:
32
+ throw new TypeError(`unset or unknown log level ${params.level}`);
33
+ }
34
+ };
35
+ // this is the log level as provided by the environment variable RESTATE_LOG_LEVEL,
36
+ // but it only affects the default logger - custom loggers get all log events and
37
+ // should use their own filtering mechanism
38
+ export const DEFAULT_CONSOLE_LOGGER_LOG_LEVEL = readRestateLogLevel();
39
+ function readRestateLogLevel() {
40
+ const env = globalThis.process?.env?.RESTATE_LOGGING;
41
+ const level = logLevelFromName(env);
42
+ if (level !== null) {
43
+ return level;
34
44
  }
45
+ return RestateLogLevel.INFO;
35
46
  }
36
47
  function logLevelFromName(name) {
37
48
  if (!name) {
@@ -53,58 +64,26 @@ function logLevelFromName(name) {
53
64
  throw new TypeError(`unknown name ${name}`);
54
65
  }
55
66
  }
56
- // this is the log level as provided by the environment variable RESTATE_LOG_LEVEL,
57
- // but it only affects the default logger - custom loggers get all log events and
58
- // should use their own filtering mechanism
59
- export const DEFAULT_LOGGER_LOG_LEVEL = readRestateLogLevel();
60
- export const defaultLogger = (params, message, ...optionalParams) => {
61
- if (params.replaying) {
62
- return;
63
- }
64
- if (logLevel(params.level) < logLevel(DEFAULT_LOGGER_LOG_LEVEL)) {
65
- return;
66
- }
67
- const p = `${formatLogPrefix(params.context)}[${new Date().toISOString()}] ${params.level.toUpperCase()}: `;
68
- switch (params.level) {
67
+ function logLevel(level) {
68
+ switch (level) {
69
69
  case RestateLogLevel.TRACE:
70
- return console.trace(p, message, ...optionalParams);
70
+ return 1;
71
71
  case RestateLogLevel.DEBUG:
72
- return console.debug(p, message, ...optionalParams);
72
+ return 2;
73
73
  case RestateLogLevel.INFO:
74
- return console.info(p, message, ...optionalParams);
74
+ return 3;
75
75
  case RestateLogLevel.WARN:
76
- return console.warn(p, message, ...optionalParams);
76
+ return 4;
77
77
  case RestateLogLevel.ERROR:
78
- return console.error(p, message, ...optionalParams);
79
- default:
80
- throw new TypeError(`unset or unknown log level ${params.level}`);
81
- }
82
- };
83
- function readRestateLogLevel() {
84
- const env = globalThis.process?.env?.RESTATE_LOGGING;
85
- const level = logLevelFromName(env);
86
- if (level !== null) {
87
- return level;
88
- }
89
- return RestateLogLevel.INFO;
90
- }
91
- export class LoggerContext {
92
- invocationId;
93
- additionalContext;
94
- fqMethodName;
95
- constructor(invocationId, packageName, serviceName, handlerName, additionalContext) {
96
- this.invocationId = invocationId;
97
- this.additionalContext = additionalContext;
98
- this.fqMethodName = packageName
99
- ? `${packageName}.${serviceName}/${handlerName}`
100
- : `${serviceName}/${handlerName}`;
78
+ return 5;
101
79
  }
102
80
  }
103
81
  function formatLogPrefix(context) {
82
+ let prefix = `[restate][${new Date().toISOString()}]`;
104
83
  if (context === undefined) {
105
- return "[restate] ";
84
+ return prefix;
106
85
  }
107
- let prefix = `[restate] [${context.fqMethodName}][${context.invocationId}]`;
86
+ prefix = `${prefix}[${context.invocationTarget}][${context.invocationId}]`;
108
87
  if (context.additionalContext !== undefined) {
109
88
  for (const [k, v] of Object.entries(context.additionalContext)) {
110
89
  prefix = prefix + `[${k}: ${v}]`;
@@ -112,33 +91,4 @@ function formatLogPrefix(context) {
112
91
  }
113
92
  return prefix;
114
93
  }
115
- function loggerForLevel(logger, source, level, isReplaying, context) {
116
- return {
117
- get: () => {
118
- return logger.bind(null, {
119
- source,
120
- level,
121
- replaying: isReplaying(),
122
- context,
123
- });
124
- },
125
- };
126
- }
127
- export var LogSource;
128
- (function (LogSource) {
129
- LogSource["SYSTEM"] = "SYSTEM";
130
- LogSource["JOURNAL"] = "JOURNAL";
131
- LogSource["USER"] = "USER";
132
- })(LogSource || (LogSource = {}));
133
- export function createRestateConsole(logger, source, context, isReplaying = () => false) {
134
- const info = loggerForLevel(logger, source, RestateLogLevel.INFO, isReplaying, context);
135
- return Object.create(console, {
136
- trace: loggerForLevel(logger, source, RestateLogLevel.TRACE, isReplaying, context),
137
- debug: loggerForLevel(logger, source, RestateLogLevel.DEBUG, isReplaying, context),
138
- info,
139
- log: info,
140
- warn: loggerForLevel(logger, source, RestateLogLevel.WARN, isReplaying, context),
141
- error: loggerForLevel(logger, source, RestateLogLevel.ERROR, isReplaying, context),
142
- });
143
- }
144
- //# sourceMappingURL=logger.js.map
94
+ //# sourceMappingURL=console_logger_transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console_logger_transport.js","sourceRoot":"","sources":["../../../../src/logging/console_logger_transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,sBAAsB,GAAoB,CACrD,MAAmB,EACnB,OAAa,EACb,GAAG,cAAqB,EACxB,EAAE;IACF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;QACxE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;IAC9E,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,eAAe,CAAC,KAAK;YACxB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACtD,KAAK,eAAe,CAAC,KAAK;YACxB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACtD,KAAK,eAAe,CAAC,IAAI;YACvB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACrD,KAAK,eAAe,CAAC,IAAI;YACvB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACrD,KAAK,eAAe,CAAC,KAAK;YACxB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACtD;YACE,MAAM,IAAI,SAAS,CAAC,8BAA8B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC;AAEF,mFAAmF;AACnF,iFAAiF;AACjF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gCAAgC,GAAG,mBAAmB,EAAE,CAAC;AAEtE,SAAS,mBAAmB;IAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC;IACrD,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa;IACrC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,OAAO;YACV,OAAO,eAAe,CAAC,KAAK,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,eAAe,CAAC,KAAK,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO,eAAe,CAAC,IAAI,CAAC;QAC9B,KAAK,MAAM;YACT,OAAO,eAAe,CAAC,IAAI,CAAC;QAC9B,KAAK,OAAO;YACV,OAAO,eAAe,CAAC,KAAK,CAAC;QAC/B;YACE,MAAM,IAAI,SAAS,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAsB;IACtC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,eAAe,CAAC,KAAK;YACxB,OAAO,CAAC,CAAC;QACX,KAAK,eAAe,CAAC,KAAK;YACxB,OAAO,CAAC,CAAC;QACX,KAAK,eAAe,CAAC,IAAI;YACvB,OAAO,CAAC,CAAC;QACX,KAAK,eAAe,CAAC,IAAI;YACvB,OAAO,CAAC,CAAC;QACX,KAAK,eAAe,CAAC,KAAK;YACxB,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAuB;IAC9C,IAAI,MAAM,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC;IACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,gBAAgB,KAAK,OAAO,CAAC,YAAY,GAAG,CAAC;IAC3E,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/D,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import type { LoggerContext, LoggerTransport, LogSource } from "./logger_transport.js";
3
+ import { RestateLogLevel } from "./logger_transport.js";
4
+ /**
5
+ * Logging facade used internally by the Restate SDK.
6
+ */
7
+ export interface Logger extends Console {
8
+ logForLevel(level: RestateLogLevel, message?: any, ...optionalParams: any[]): void;
9
+ }
10
+ export declare function createLogger(loggerTransport: LoggerTransport, source: LogSource, context?: LoggerContext, isReplaying?: () => boolean): Logger;
11
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/logging/logger.ts"],"names":[],"mappings":";AAaA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,MAAO,SAAQ,OAAO;IACrC,WAAW,CACT,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,GAAG,EACb,GAAG,cAAc,EAAE,GAAG,EAAE,GACvB,IAAI,CAAC;CACT;AAED,wBAAgB,YAAY,CAC1B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,aAAa,EACvB,WAAW,GAAE,MAAM,OAAqB,GACvC,MAAM,CA2FR"}
@@ -0,0 +1,57 @@
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 { RestateLogLevel } from "./logger_transport.js";
12
+ export function createLogger(loggerTransport, source, context, isReplaying = () => false) {
13
+ function loggerForLevel(loggerTransport, source, level, isReplaying, context) {
14
+ return {
15
+ get: () => {
16
+ return loggerTransport.bind(null, {
17
+ source,
18
+ level,
19
+ replaying: isReplaying(),
20
+ context,
21
+ });
22
+ },
23
+ };
24
+ }
25
+ const info = loggerForLevel(loggerTransport, source, RestateLogLevel.INFO, isReplaying, context);
26
+ return Object.create(console, {
27
+ trace: loggerForLevel(loggerTransport, source, RestateLogLevel.TRACE, isReplaying, context),
28
+ debug: loggerForLevel(loggerTransport, source, RestateLogLevel.DEBUG, isReplaying, context),
29
+ info,
30
+ log: info,
31
+ warn: loggerForLevel(loggerTransport, source, RestateLogLevel.WARN, isReplaying, context),
32
+ error: loggerForLevel(loggerTransport, source, RestateLogLevel.ERROR, isReplaying, context),
33
+ logForLevel: {
34
+ get() {
35
+ return (level, message, ...optionalParams) => {
36
+ if (optionalParams?.length === 0 || optionalParams === undefined) {
37
+ loggerTransport.bind(null)({
38
+ source,
39
+ level,
40
+ replaying: isReplaying(),
41
+ context,
42
+ }, message);
43
+ }
44
+ else {
45
+ loggerTransport.bind(null)({
46
+ source,
47
+ level,
48
+ replaying: isReplaying(),
49
+ context,
50
+ }, message, optionalParams);
51
+ }
52
+ };
53
+ },
54
+ },
55
+ });
56
+ }
57
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/logging/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAaxD,MAAM,UAAU,YAAY,CAC1B,eAAgC,EAChC,MAAiB,EACjB,OAAuB,EACvB,cAA6B,GAAG,EAAE,CAAC,KAAK;IAExC,SAAS,cAAc,CACrB,eAAgC,EAChC,MAAiB,EACjB,KAAsB,EACtB,WAA0B,EAC1B,OAAuB;QAEvB,OAAO;YACL,GAAG,EAAE,GAAG,EAAE;gBACR,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;oBAChC,MAAM;oBACN,KAAK;oBACL,SAAS,EAAE,WAAW,EAAE;oBACxB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CACzB,eAAe,EACf,MAAM,EACN,eAAe,CAAC,IAAI,EACpB,WAAW,EACX,OAAO,CACR,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC5B,KAAK,EAAE,cAAc,CACnB,eAAe,EACf,MAAM,EACN,eAAe,CAAC,KAAK,EACrB,WAAW,EACX,OAAO,CACR;QACD,KAAK,EAAE,cAAc,CACnB,eAAe,EACf,MAAM,EACN,eAAe,CAAC,KAAK,EACrB,WAAW,EACX,OAAO,CACR;QACD,IAAI;QACJ,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,cAAc,CAClB,eAAe,EACf,MAAM,EACN,eAAe,CAAC,IAAI,EACpB,WAAW,EACX,OAAO,CACR;QACD,KAAK,EAAE,cAAc,CACnB,eAAe,EACf,MAAM,EACN,eAAe,CAAC,KAAK,EACrB,WAAW,EACX,OAAO,CACR;QACD,WAAW,EAAE;YACX,GAAG;gBACD,OAAO,CACL,KAAsB,EACtB,OAAa,EACb,GAAG,cAAqB,EAClB,EAAE;oBACR,IAAI,cAAc,EAAE,MAAM,KAAK,CAAC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;wBACjE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CACxB;4BACE,MAAM;4BACN,KAAK;4BACL,SAAS,EAAE,WAAW,EAAE;4BACxB,OAAO;yBACR,EACD,OAAO,CACR,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CACxB;4BACE,MAAM;4BACN,KAAK;4BACL,SAAS,EAAE,WAAW,EAAE;4BACxB,OAAO;yBACR,EACD,OAAO,EACP,cAAc,CACf,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;SACF;KACF,CAAW,CAAC;AACf,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { Request } from "../context.js";
2
+ /**
3
+ * Logger level.
4
+ */
5
+ export declare enum RestateLogLevel {
6
+ TRACE = "trace",
7
+ DEBUG = "debug",
8
+ INFO = "info",
9
+ WARN = "warn",
10
+ ERROR = "error"
11
+ }
12
+ /**
13
+ * Source of the log.
14
+ */
15
+ export declare enum LogSource {
16
+ SYSTEM = "SYSTEM",
17
+ JOURNAL = "JOURNAL",
18
+ USER = "USER"
19
+ }
20
+ /**
21
+ * Log event metadata metadata.
22
+ */
23
+ export type LogMetadata = {
24
+ source: LogSource;
25
+ level: RestateLogLevel;
26
+ replaying: boolean;
27
+ context?: LoggerContext;
28
+ };
29
+ /**
30
+ * Logger transport, often known in other logging libraries as appender. Filtering of log events should happen within this function as well.
31
+ *
32
+ * This can be overridden in {@link RestateEndpointBase.setLogger} to customize logging. The default Logger transport will log to console.
33
+ */
34
+ export type LoggerTransport = (params: LogMetadata, message?: any, ...optionalParams: any[]) => void;
35
+ /**
36
+ * Logger context.
37
+ */
38
+ export declare class LoggerContext {
39
+ readonly invocationId: string;
40
+ readonly serviceName: string;
41
+ readonly handlerName: string;
42
+ readonly key?: string | undefined;
43
+ readonly request?: Request | undefined;
44
+ readonly additionalContext?: {
45
+ [name: string]: string;
46
+ } | undefined;
47
+ readonly invocationTarget: string;
48
+ constructor(invocationId: string, serviceName: string, handlerName: string, key?: string | undefined, request?: Request | undefined, additionalContext?: {
49
+ [name: string]: string;
50
+ } | undefined);
51
+ }
52
+ //# sourceMappingURL=logger_transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger_transport.d.ts","sourceRoot":"","sources":["../../../../src/logging/logger_transport.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,GAAG,EACb,GAAG,cAAc,EAAE,GAAG,EAAE,KACrB,IAAI,CAAC;AAEV;;GAEG;AACH,qBAAa,aAAa;IAItB,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,GAAG,CAAC;IACb,QAAQ,CAAC,OAAO,CAAC;IACjB,QAAQ,CAAC,iBAAiB,CAAC;;;IAR7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAGvB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,oBAAQ,EACZ,OAAO,CAAC,qBAAS,EACjB,iBAAiB,CAAC;;iBAA4B;CAO1D"}
@@ -0,0 +1,55 @@
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
+ /**
12
+ * Logger level.
13
+ */
14
+ export var RestateLogLevel;
15
+ (function (RestateLogLevel) {
16
+ RestateLogLevel["TRACE"] = "trace";
17
+ RestateLogLevel["DEBUG"] = "debug";
18
+ RestateLogLevel["INFO"] = "info";
19
+ RestateLogLevel["WARN"] = "warn";
20
+ RestateLogLevel["ERROR"] = "error";
21
+ })(RestateLogLevel || (RestateLogLevel = {}));
22
+ /**
23
+ * Source of the log.
24
+ */
25
+ export var LogSource;
26
+ (function (LogSource) {
27
+ LogSource["SYSTEM"] = "SYSTEM";
28
+ LogSource["JOURNAL"] = "JOURNAL";
29
+ LogSource["USER"] = "USER";
30
+ })(LogSource || (LogSource = {}));
31
+ /**
32
+ * Logger context.
33
+ */
34
+ export class LoggerContext {
35
+ invocationId;
36
+ serviceName;
37
+ handlerName;
38
+ key;
39
+ request;
40
+ additionalContext;
41
+ invocationTarget;
42
+ constructor(invocationId, serviceName, handlerName, key, request, additionalContext) {
43
+ this.invocationId = invocationId;
44
+ this.serviceName = serviceName;
45
+ this.handlerName = handlerName;
46
+ this.key = key;
47
+ this.request = request;
48
+ this.additionalContext = additionalContext;
49
+ this.invocationTarget =
50
+ key === undefined || key.length === 0
51
+ ? `${serviceName}/${handlerName}`
52
+ : `${serviceName}/${key}/${handlerName}`;
53
+ }
54
+ }
55
+ //# sourceMappingURL=logger_transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger_transport.js","sourceRoot":"","sources":["../../../../src/logging/logger_transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;GAEG;AACH,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,gCAAa,CAAA;IACb,kCAAe,CAAA;AACjB,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;AACf,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAuBD;;GAEG;AACH,MAAM,OAAO,aAAa;IAIb;IACA;IACA;IACA;IACA;IACA;IARF,gBAAgB,CAAS;IAElC,YACW,YAAoB,EACpB,WAAmB,EACnB,WAAmB,EACnB,GAAY,EACZ,OAAiB,EACjB,iBAA8C;QAL9C,iBAAY,GAAZ,YAAY,CAAQ;QACpB,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAQ;QACnB,QAAG,GAAH,GAAG,CAAS;QACZ,YAAO,GAAP,OAAO,CAAU;QACjB,sBAAiB,GAAjB,iBAAiB,CAA6B;QAEvD,IAAI,CAAC,gBAAgB;YACnB,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBACnC,CAAC,CAAC,GAAG,WAAW,IAAI,WAAW,EAAE;gBACjC,CAAC,CAAC,GAAG,WAAW,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;IAC/C,CAAC;CACF"}
@@ -0,0 +1,110 @@
1
+ import type { CombineablePromise, InvocationId, InvocationPromise } from "./context.js";
2
+ import type * as vm from "./endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js";
3
+ import { TerminalError } from "./types/errors.js";
4
+ import { CompletablePromise } from "./utils/completable_promise.js";
5
+ import type { ContextImpl, RunClosuresTracker } from "./context_impl.js";
6
+ import type { InputPump, OutputPump } from "./io.js";
7
+ export declare function pendingPromise<T>(): Promise<T>;
8
+ export declare const RESTATE_CTX_SYMBOL: unique symbol;
9
+ export interface RestatePromise<T> extends CombineablePromise<T> {
10
+ [RESTATE_CTX_SYMBOL]: ContextImpl;
11
+ tryCancel(): void;
12
+ tryComplete(): void;
13
+ uncompletedLeaves(): Array<number>;
14
+ publicPromise(): Promise<T>;
15
+ }
16
+ export type AsyncResultValue = "Empty" | {
17
+ Success: Uint8Array;
18
+ } | {
19
+ Failure: vm.WasmFailure;
20
+ } | {
21
+ StateKeys: string[];
22
+ } | {
23
+ InvocationId: string;
24
+ };
25
+ export declare function extractContext(n: any): ContextImpl | undefined;
26
+ declare abstract class AbstractRestatePromise<T> implements RestatePromise<T> {
27
+ [RESTATE_CTX_SYMBOL]: ContextImpl;
28
+ private pollingPromise?;
29
+ private cancelPromise;
30
+ protected constructor(ctx: ContextImpl);
31
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
32
+ catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined): Promise<T | TResult>;
33
+ finally(onfinally?: (() => void) | null | undefined): Promise<T>;
34
+ private publicPromiseOrCancelPromise;
35
+ orTimeout(millis: number): CombineablePromise<T>;
36
+ map<U>(mapper: (value?: T, failure?: TerminalError) => U): CombineablePromise<U>;
37
+ tryCancel(): void;
38
+ abstract tryComplete(): void;
39
+ abstract uncompletedLeaves(): Array<number>;
40
+ abstract publicPromise(): Promise<T>;
41
+ abstract [Symbol.toStringTag]: string;
42
+ }
43
+ export declare class RestateSinglePromise<T> extends AbstractRestatePromise<T> {
44
+ readonly handle: number;
45
+ private readonly completer;
46
+ private state;
47
+ private completablePromise;
48
+ constructor(ctx: ContextImpl, handle: number, completer: (value: AsyncResultValue, prom: CompletablePromise<T>) => void);
49
+ uncompletedLeaves(): number[];
50
+ tryComplete(): void;
51
+ publicPromise(): Promise<T>;
52
+ readonly [Symbol.toStringTag] = "RestateSinglePromise";
53
+ }
54
+ export declare class RestateInvocationPromise<T> extends RestateSinglePromise<T> implements InvocationPromise<T> {
55
+ private readonly invocationIdPromise;
56
+ constructor(ctx: ContextImpl, handle: number, completer: (value: AsyncResultValue, prom: CompletablePromise<T>) => void, invocationIdPromise: Promise<InvocationId>);
57
+ get invocationId(): Promise<InvocationId>;
58
+ }
59
+ export declare class RestateCombinatorPromise extends AbstractRestatePromise<any> {
60
+ readonly childs: Array<RestatePromise<any>>;
61
+ private state;
62
+ private readonly combinatorPromise;
63
+ constructor(ctx: ContextImpl, combinatorConstructor: (promises: Promise<any>[]) => Promise<any>, childs: Array<RestatePromise<any>>);
64
+ uncompletedLeaves(): number[];
65
+ tryComplete(): void;
66
+ publicPromise(): Promise<unknown>;
67
+ readonly [Symbol.toStringTag] = "RestateCombinatorPromise";
68
+ }
69
+ export declare class RestatePendingPromise<T> implements RestatePromise<T> {
70
+ [RESTATE_CTX_SYMBOL]: ContextImpl;
71
+ constructor(ctx: ContextImpl);
72
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
73
+ catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined): Promise<T | TResult>;
74
+ finally(onfinally?: (() => void) | null | undefined): Promise<T>;
75
+ orTimeout(): CombineablePromise<T>;
76
+ map<U>(): CombineablePromise<U>;
77
+ tryCancel(): void;
78
+ tryComplete(): void;
79
+ uncompletedLeaves(): number[];
80
+ publicPromise(): Promise<T>;
81
+ readonly [Symbol.toStringTag] = "RestatePendingPromise";
82
+ }
83
+ export declare class InvocationPendingPromise<T> extends RestatePendingPromise<T> implements InvocationPromise<T> {
84
+ constructor(ctx: ContextImpl);
85
+ get invocationId(): Promise<InvocationId>;
86
+ }
87
+ export declare class RestateMappedPromise<T, U> extends AbstractRestatePromise<U> {
88
+ readonly inner: RestatePromise<T>;
89
+ private publicPromiseMapper;
90
+ constructor(ctx: ContextImpl, inner: RestatePromise<T>, mapper: (value?: T, failure?: TerminalError) => U);
91
+ tryComplete(): void;
92
+ uncompletedLeaves(): number[];
93
+ publicPromise(): Promise<U>;
94
+ readonly [Symbol.toStringTag] = "RestateMappedPromise";
95
+ }
96
+ /**
97
+ * Promises executor, gluing VM with I/O and Promises given to user space.
98
+ */
99
+ export declare class PromisesExecutor {
100
+ private readonly coreVm;
101
+ private readonly inputPump;
102
+ private readonly outputPump;
103
+ private readonly runClosuresTracker;
104
+ private readonly errorCallback;
105
+ constructor(coreVm: vm.WasmVM, inputPump: InputPump, outputPump: OutputPump, runClosuresTracker: RunClosuresTracker, errorCallback: (e: any) => void);
106
+ doProgress(restatePromise: RestatePromise<unknown>): Promise<void>;
107
+ private doProgressInner;
108
+ }
109
+ export {};
110
+ //# sourceMappingURL=promises.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promises.d.ts","sourceRoot":"","sources":["../../../src/promises.ts"],"names":[],"mappings":"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"}