@restatedev/restate-sdk 1.4.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +6 -4
  2. package/dist/cjs/src/common_api.d.ts +5 -5
  3. package/dist/cjs/src/common_api.d.ts.map +1 -1
  4. package/dist/cjs/src/common_api.js +2 -1
  5. package/dist/cjs/src/common_api.js.map +1 -1
  6. package/dist/cjs/src/context.d.ts +68 -10
  7. package/dist/cjs/src/context.d.ts.map +1 -1
  8. package/dist/cjs/src/context.js +21 -9
  9. package/dist/cjs/src/context.js.map +1 -1
  10. package/dist/cjs/src/context_impl.d.ts +28 -58
  11. package/dist/cjs/src/context_impl.d.ts.map +1 -1
  12. package/dist/cjs/src/context_impl.js +200 -428
  13. package/dist/cjs/src/context_impl.js.map +1 -1
  14. package/dist/cjs/src/endpoint/endpoint_builder.d.ts +4 -5
  15. package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -1
  16. package/dist/cjs/src/endpoint/endpoint_builder.js +21 -16
  17. package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -1
  18. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +3 -4
  19. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -1
  20. package/dist/cjs/src/endpoint/fetch_endpoint.js +0 -4
  21. package/dist/cjs/src/endpoint/fetch_endpoint.js.map +1 -1
  22. package/dist/cjs/src/endpoint/handlers/fetch.d.ts.map +1 -1
  23. package/dist/cjs/src/endpoint/handlers/fetch.js +1 -0
  24. package/dist/cjs/src/endpoint/handlers/fetch.js.map +1 -1
  25. package/dist/cjs/src/endpoint/handlers/generic.d.ts +7 -13
  26. package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -1
  27. package/dist/cjs/src/endpoint/handlers/generic.js +117 -58
  28. package/dist/cjs/src/endpoint/handlers/generic.js.map +1 -1
  29. package/dist/cjs/src/endpoint/handlers/lambda.d.ts.map +1 -1
  30. package/dist/cjs/src/endpoint/handlers/lambda.js +15 -3
  31. package/dist/cjs/src/endpoint/handlers/lambda.js.map +1 -1
  32. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +62 -79
  33. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -1
  34. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +561 -874
  35. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -1
  36. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +3 -4
  37. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -1
  38. package/dist/cjs/src/endpoint/lambda_endpoint.js +0 -4
  39. package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -1
  40. package/dist/cjs/src/endpoint/node_endpoint.d.ts +3 -4
  41. package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -1
  42. package/dist/cjs/src/endpoint/node_endpoint.js +12 -4
  43. package/dist/cjs/src/endpoint/node_endpoint.js.map +1 -1
  44. package/dist/cjs/src/endpoint.d.ts +6 -37
  45. package/dist/cjs/src/endpoint.d.ts.map +1 -1
  46. package/dist/cjs/src/generated/version.d.ts +1 -1
  47. package/dist/cjs/src/generated/version.js +1 -1
  48. package/dist/cjs/src/io.d.ts +25 -0
  49. package/dist/cjs/src/io.d.ts.map +1 -0
  50. package/dist/cjs/src/io.js +78 -0
  51. package/dist/cjs/src/io.js.map +1 -0
  52. package/dist/cjs/src/logging/console_logger_transport.d.ts +5 -0
  53. package/dist/cjs/src/logging/console_logger_transport.d.ts.map +1 -0
  54. package/dist/cjs/src/logging/console_logger_transport.js +98 -0
  55. package/dist/cjs/src/logging/console_logger_transport.js.map +1 -0
  56. package/dist/cjs/src/logging/logger.d.ts +11 -0
  57. package/dist/cjs/src/logging/logger.d.ts.map +1 -0
  58. package/dist/cjs/src/logging/logger.js +61 -0
  59. package/dist/cjs/src/logging/logger.js.map +1 -0
  60. package/dist/cjs/src/logging/logger_transport.d.ts +52 -0
  61. package/dist/cjs/src/logging/logger_transport.d.ts.map +1 -0
  62. package/dist/cjs/src/logging/logger_transport.js +59 -0
  63. package/dist/cjs/src/logging/logger_transport.js.map +1 -0
  64. package/dist/cjs/src/promises.d.ts +110 -0
  65. package/dist/cjs/src/promises.d.ts.map +1 -0
  66. package/dist/cjs/src/promises.js +323 -0
  67. package/dist/cjs/src/promises.js.map +1 -0
  68. package/dist/cjs/src/types/components.d.ts +11 -3
  69. package/dist/cjs/src/types/components.d.ts.map +1 -1
  70. package/dist/cjs/src/types/components.js +36 -3
  71. package/dist/cjs/src/types/components.js.map +1 -1
  72. package/dist/cjs/src/types/discovery.d.ts +4 -0
  73. package/dist/cjs/src/types/discovery.d.ts.map +1 -1
  74. package/dist/cjs/src/types/errors.d.ts +8 -0
  75. package/dist/cjs/src/types/errors.d.ts.map +1 -1
  76. package/dist/cjs/src/types/errors.js +12 -1
  77. package/dist/cjs/src/types/errors.js.map +1 -1
  78. package/dist/cjs/src/types/rpc.d.ts +66 -41
  79. package/dist/cjs/src/types/rpc.d.ts.map +1 -1
  80. package/dist/cjs/src/types/rpc.js +25 -76
  81. package/dist/cjs/src/types/rpc.js.map +1 -1
  82. package/dist/cjs/src/user_agent.d.ts +1 -1
  83. package/dist/cjs/src/utils/buffer.d.ts +1 -0
  84. package/dist/cjs/src/utils/buffer.d.ts.map +1 -1
  85. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  86. package/dist/esm/src/common_api.d.ts +5 -5
  87. package/dist/esm/src/common_api.d.ts.map +1 -1
  88. package/dist/esm/src/common_api.js +1 -1
  89. package/dist/esm/src/common_api.js.map +1 -1
  90. package/dist/esm/src/context.d.ts +68 -10
  91. package/dist/esm/src/context.d.ts.map +1 -1
  92. package/dist/esm/src/context.js +20 -8
  93. package/dist/esm/src/context.js.map +1 -1
  94. package/dist/esm/src/context_impl.d.ts +28 -58
  95. package/dist/esm/src/context_impl.d.ts.map +1 -1
  96. package/dist/esm/src/context_impl.js +196 -425
  97. package/dist/esm/src/context_impl.js.map +1 -1
  98. package/dist/esm/src/endpoint/endpoint_builder.d.ts +4 -5
  99. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -1
  100. package/dist/esm/src/endpoint/endpoint_builder.js +21 -16
  101. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -1
  102. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +3 -4
  103. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -1
  104. package/dist/esm/src/endpoint/fetch_endpoint.js +0 -4
  105. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -1
  106. package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -1
  107. package/dist/esm/src/endpoint/handlers/fetch.js +1 -0
  108. package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -1
  109. package/dist/esm/src/endpoint/handlers/generic.d.ts +7 -13
  110. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -1
  111. package/dist/esm/src/endpoint/handlers/generic.js +110 -51
  112. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -1
  113. package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -1
  114. package/dist/esm/src/endpoint/handlers/lambda.js +15 -3
  115. package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -1
  116. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +62 -79
  117. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -1
  118. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +559 -873
  119. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -1
  120. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +3 -4
  121. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -1
  122. package/dist/esm/src/endpoint/lambda_endpoint.js +0 -4
  123. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -1
  124. package/dist/esm/src/endpoint/node_endpoint.d.ts +3 -4
  125. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -1
  126. package/dist/esm/src/endpoint/node_endpoint.js +12 -4
  127. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -1
  128. package/dist/esm/src/endpoint.d.ts +6 -37
  129. package/dist/esm/src/endpoint.d.ts.map +1 -1
  130. package/dist/esm/src/generated/version.d.ts +1 -1
  131. package/dist/esm/src/generated/version.js +1 -1
  132. package/dist/esm/src/io.d.ts +25 -0
  133. package/dist/esm/src/io.d.ts.map +1 -0
  134. package/dist/esm/src/io.js +73 -0
  135. package/dist/esm/src/io.js.map +1 -0
  136. package/dist/esm/src/logging/console_logger_transport.d.ts +5 -0
  137. package/dist/esm/src/logging/console_logger_transport.d.ts.map +1 -0
  138. package/dist/esm/src/{logger.js → logging/console_logger_transport.js} +40 -90
  139. package/dist/esm/src/logging/console_logger_transport.js.map +1 -0
  140. package/dist/esm/src/logging/logger.d.ts +11 -0
  141. package/dist/esm/src/logging/logger.d.ts.map +1 -0
  142. package/dist/esm/src/logging/logger.js +57 -0
  143. package/dist/esm/src/logging/logger.js.map +1 -0
  144. package/dist/esm/src/logging/logger_transport.d.ts +52 -0
  145. package/dist/esm/src/logging/logger_transport.d.ts.map +1 -0
  146. package/dist/esm/src/logging/logger_transport.js +55 -0
  147. package/dist/esm/src/logging/logger_transport.js.map +1 -0
  148. package/dist/esm/src/promises.d.ts +110 -0
  149. package/dist/esm/src/promises.d.ts.map +1 -0
  150. package/dist/esm/src/promises.js +311 -0
  151. package/dist/esm/src/promises.js.map +1 -0
  152. package/dist/esm/src/types/components.d.ts +11 -3
  153. package/dist/esm/src/types/components.d.ts.map +1 -1
  154. package/dist/esm/src/types/components.js +36 -3
  155. package/dist/esm/src/types/components.js.map +1 -1
  156. package/dist/esm/src/types/discovery.d.ts +4 -0
  157. package/dist/esm/src/types/discovery.d.ts.map +1 -1
  158. package/dist/esm/src/types/errors.d.ts +8 -0
  159. package/dist/esm/src/types/errors.d.ts.map +1 -1
  160. package/dist/esm/src/types/errors.js +10 -0
  161. package/dist/esm/src/types/errors.js.map +1 -1
  162. package/dist/esm/src/types/rpc.d.ts +66 -41
  163. package/dist/esm/src/types/rpc.d.ts.map +1 -1
  164. package/dist/esm/src/types/rpc.js +25 -76
  165. package/dist/esm/src/types/rpc.js.map +1 -1
  166. package/dist/esm/src/user_agent.d.ts +1 -1
  167. package/dist/esm/src/utils/buffer.d.ts +1 -0
  168. package/dist/esm/src/utils/buffer.d.ts.map +1 -1
  169. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  170. package/package.json +2 -2
  171. package/dist/cjs/src/logger.d.ts +0 -35
  172. package/dist/cjs/src/logger.d.ts.map +0 -1
  173. package/dist/cjs/src/logger.js +0 -151
  174. package/dist/cjs/src/logger.js.map +0 -1
  175. package/dist/esm/src/logger.d.ts +0 -35
  176. package/dist/esm/src/logger.d.ts.map +0 -1
  177. package/dist/esm/src/logger.js.map +0 -1
@@ -9,6 +9,18 @@
9
9
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
10
10
  */
11
11
  import { ContextImpl } from "./context_impl.js";
12
+ export const InvocationIdParser = {
13
+ /**
14
+ * Creates an invocation id from a string.
15
+ * @param id the string to use as invocation id.
16
+ */
17
+ fromString(id) {
18
+ if (!id.startsWith("inv")) {
19
+ throw new Error(`Expected invocation id to start with 'inv' but got ${id}`);
20
+ }
21
+ return id;
22
+ },
23
+ };
12
24
  export const CombineablePromise = {
13
25
  /**
14
26
  * Creates a Promise that is resolved with an array of results when all of the provided Promises
@@ -21,9 +33,9 @@ export const CombineablePromise = {
21
33
  */
22
34
  all(values) {
23
35
  if (values.length === 0) {
24
- return Promise.all(values);
36
+ throw new Error("Expected combineable promise to have at least one promise");
25
37
  }
26
- return ContextImpl.createCombinator("All", values);
38
+ return ContextImpl.createCombinator((p) => Promise.all(p), values);
27
39
  },
28
40
  /**
29
41
  * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
@@ -36,9 +48,9 @@ export const CombineablePromise = {
36
48
  */
37
49
  race(values) {
38
50
  if (values.length === 0) {
39
- return Promise.race(values);
51
+ throw new Error("Expected combineable promise to have at least one promise");
40
52
  }
41
- return ContextImpl.createCombinator("Race", values);
53
+ return ContextImpl.createCombinator((p) => Promise.race(p), values);
42
54
  },
43
55
  /**
44
56
  * Creates a promise that fulfills when any of the input's promises fulfills, with this first fulfillment value.
@@ -52,9 +64,9 @@ export const CombineablePromise = {
52
64
  */
53
65
  any(values) {
54
66
  if (values.length === 0) {
55
- return Promise.any(values);
67
+ throw new Error("Expected combineable promise to have at least one promise");
56
68
  }
57
- return ContextImpl.createCombinator("Any", values);
69
+ return ContextImpl.createCombinator((p) => Promise.any(p), values);
58
70
  },
59
71
  /**
60
72
  * Creates a promise that fulfills when all the input's promises settle (including when an empty iterable is passed),
@@ -67,9 +79,9 @@ export const CombineablePromise = {
67
79
  */
68
80
  allSettled(values) {
69
81
  if (values.length === 0) {
70
- return Promise.allSettled(values);
82
+ throw new Error("Expected combineable promise to have at least one promise");
71
83
  }
72
- return ContextImpl.createCombinator("AllSettled", values);
84
+ return ContextImpl.createCombinator((p) => Promise.allSettled(p), values);
73
85
  },
74
86
  };
75
87
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAiBH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA+lBhD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;;;;;;;;OAQG;IACH,GAAG,CACD,MAAS;QAET,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAE/C,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,CACF,MAAS;QAET,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAEjD,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,GAAG,CACD,MAAS;QAET,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAEhD,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,UAAU,CACR,MAAS;QAIT,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAEtD,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAiBH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAqpBhD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,sDAAsD,EAAE,EAAE,CAC3D,CAAC;QACJ,CAAC;QACD,OAAO,EAAkB,CAAC;IAC5B,CAAC;CACF,CAAC;AASF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;;;;;;;;OAQG;IACH,GAAG,CACD,MAAS;QAET,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,gBAAgB,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EACrB,MAAM,CAGN,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,CACF,MAAS;QAET,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,gBAAgB,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EACtB,MAAM,CACmC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;OASG;IACH,GAAG,CACD,MAAS;QAET,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,gBAAgB,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EACrB,MAAM,CACmC,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACH,UAAU,CACR,MAAS;QAIT,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,gBAAgB,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAC5B,MAAM,CAGN,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,45 +1,47 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import type { CombineablePromise, ContextDate, DurablePromise, GenericCall, GenericSend, ObjectContext, Rand, Request, RunAction, RunOptions, SendOptions, WorkflowContext } from "./context.js";
3
+ import type { CombineablePromise, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationPromise, InvocationId, ObjectContext, Rand, Request, RunAction, RunOptions, SendOptions, WorkflowContext, InvocationHandle } from "./context.js";
4
4
  import type * as vm from "./endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js";
5
5
  import type { Client, SendClient } from "./types/rpc.js";
6
6
  import { HandlerKind } from "./types/rpc.js";
7
7
  import type { Serde, Service, ServiceDefinitionFrom, VirtualObject, VirtualObjectDefinitionFrom, Workflow, WorkflowDefinitionFrom } from "@restatedev/restate-sdk-core";
8
- import type { Headers } from "./endpoint/handlers/generic.js";
9
8
  import type { ReadableStreamDefaultReader, WritableStreamDefaultWriter } from "node:stream/web";
10
- import type { CompletablePromise } from "./utils/completable_promise.js";
11
- export type InternalCombineablePromise<T> = CombineablePromise<T> & {
12
- asyncResultHandle: number;
13
- };
9
+ import { CompletablePromise } from "./utils/completable_promise.js";
10
+ import type { AsyncResultValue } from "./promises.js";
11
+ import { PromisesExecutor } from "./promises.js";
14
12
  export declare class ContextImpl implements ObjectContext, WorkflowContext {
15
13
  readonly coreVm: vm.WasmVM;
16
14
  readonly input: vm.WasmInput;
17
15
  readonly console: Console;
18
16
  readonly handlerKind: HandlerKind;
19
- private readonly invocationEndPromise;
20
- private readonly inputReader;
21
- private readonly outputWriter;
17
+ private readonly vmLogger;
22
18
  private readonly invocationRequest;
19
+ private readonly invocationEndPromise;
23
20
  readonly rand: Rand;
24
21
  readonly date: ContextDate;
25
- private currentRead?;
26
- constructor(coreVm: vm.WasmVM, input: vm.WasmInput, console: Console, handlerKind: HandlerKind, attemptHeaders: Headers, extraArgs: unknown[], invocationEndPromise: CompletablePromise<void>, inputReader: ReadableStreamDefaultReader<Uint8Array>, outputWriter: WritableStreamDefaultWriter<Uint8Array>);
22
+ private readonly outputPump;
23
+ private readonly runClosuresTracker;
24
+ readonly promisesExecutor: PromisesExecutor;
25
+ constructor(coreVm: vm.WasmVM, input: vm.WasmInput, console: Console, handlerKind: HandlerKind, vmLogger: Console, invocationRequest: Request, invocationEndPromise: CompletablePromise<void>, inputReader: ReadableStreamDefaultReader<Uint8Array>, outputWriter: WritableStreamDefaultWriter<Uint8Array>);
26
+ cancel(invocationId: InvocationId): void;
27
+ attach<T>(invocationId: InvocationId, serde?: Serde<T>): CombineablePromise<T>;
27
28
  get key(): string;
28
29
  request(): Request;
29
- get<T>(name: string, serde?: Serde<T>): Promise<T | null>;
30
- stateKeys(): Promise<Array<string>>;
30
+ get<T>(name: string, serde?: Serde<T>): CombineablePromise<T | null>;
31
+ stateKeys(): CombineablePromise<Array<string>>;
31
32
  set<T>(name: string, value: T, serde?: Serde<T>): void;
32
33
  clear(name: string): void;
33
34
  clearAll(): void;
34
- genericCall<REQ = Uint8Array, RES = Uint8Array>(call: GenericCall<REQ, RES>): CombineablePromise<RES>;
35
- genericSend<REQ = Uint8Array>(send: GenericSend<REQ>): void;
35
+ genericCall<REQ = Uint8Array, RES = Uint8Array>(call: GenericCall<REQ, RES>): InvocationPromise<RES>;
36
+ genericSend<REQ = Uint8Array>(send: GenericSend<REQ>): InvocationHandle;
37
+ private createInvocationIdPromise;
36
38
  serviceClient<D>({ name }: ServiceDefinitionFrom<D>): Client<Service<D>>;
37
39
  objectClient<D>({ name }: VirtualObjectDefinitionFrom<D>, key: string): Client<VirtualObject<D>>;
38
40
  workflowClient<D>({ name }: WorkflowDefinitionFrom<D>, key: string): Client<Workflow<D>>;
39
41
  serviceSendClient<D>({ name }: ServiceDefinitionFrom<D>, opts?: SendOptions): SendClient<Service<D>>;
40
42
  objectSendClient<D>({ name }: VirtualObjectDefinitionFrom<D>, key: string, opts?: SendOptions): SendClient<VirtualObject<D>>;
41
43
  workflowSendClient<D>({ name }: WorkflowDefinitionFrom<D>, key: string, opts?: SendOptions): SendClient<Workflow<D>>;
42
- run<T>(nameOrAction: string | RunAction<T>, actionSecondParameter?: RunAction<T>, options?: RunOptions<T>): Promise<T>;
44
+ run<T>(nameOrAction: string | RunAction<T>, actionSecondParameter?: RunAction<T>, options?: RunOptions<T>): CombineablePromise<T>;
43
45
  sleep(millis: number): CombineablePromise<void>;
44
46
  awakeable<T>(serde?: Serde<T>): {
45
47
  id: string;
@@ -48,49 +50,17 @@ export declare class ContextImpl implements ObjectContext, WorkflowContext {
48
50
  resolveAwakeable<T>(id: string, payload?: T, serde?: Serde<T>): void;
49
51
  rejectAwakeable(id: string, reason: string): void;
50
52
  promise<T>(name: string, serde?: Serde<T>): DurablePromise<T>;
51
- static createCombinator<T extends readonly CombineablePromise<unknown>[]>(combinatorType: PromiseCombinatorType, promises: T): Promise<unknown>;
52
- private static extractAllCombinatorResult;
53
- private static extractAnyCombinatorResult;
54
- private static extractAllSettledCombinatorResult;
55
- processNonCompletableEntry(vmCall: (vm: vm.WasmVM) => void): void;
56
- processCompletableEntry<T>(vmCall: (vm: vm.WasmVM) => number, transformer: (value: "Empty" | {
57
- Success: Uint8Array;
58
- } | {
59
- Failure: vm.WasmFailure;
60
- } | {
61
- StateKeys: string[];
62
- } | {
63
- CombinatorResult: number[];
64
- }) => T): LazyContextPromise<T>;
65
- pollAsyncResult<T>(handle: number, transformer: (value: "Empty" | {
66
- Success: Uint8Array;
67
- } | {
68
- Failure: vm.WasmFailure;
69
- } | {
70
- StateKeys: string[];
71
- } | {
72
- CombinatorResult: number[];
73
- }) => T): Promise<T>;
74
- private awaitNextRead;
75
- private readNext;
53
+ static createCombinator<T extends readonly CombineablePromise<unknown>[]>(combinatorConstructor: (promises: Promise<any>[]) => Promise<any>, promises: T): CombineablePromise<unknown>;
54
+ private processNonCompletableEntry;
55
+ processCompletableEntry<T>(vmCall: (vm: vm.WasmVM) => number, completer: (value: AsyncResultValue, prom: CompletablePromise<T>) => void): CombineablePromise<T>;
76
56
  handleInvocationEndError(e: unknown): void;
77
57
  }
78
- declare const RESTATE_CTX_SYMBOL: unique symbol;
79
- declare class LazyPromise<T> implements Promise<T> {
80
- private readonly executor;
81
- private _promise?;
82
- constructor(executor: () => Promise<T>);
83
- then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
84
- catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined): Promise<T | TResult>;
85
- finally(onfinally?: (() => void) | null | undefined): Promise<T>;
86
- readonly [Symbol.toStringTag] = "LazyPromise";
87
- }
88
- declare class LazyContextPromise<T> extends LazyPromise<T> implements InternalCombineablePromise<T> {
89
- readonly asyncResultHandle: number;
90
- [RESTATE_CTX_SYMBOL]: ContextImpl;
91
- constructor(asyncResultHandle: number, ctx: ContextImpl, executor: () => Promise<T>);
92
- orTimeout(millis: number): Promise<T>;
58
+ export declare class RunClosuresTracker {
59
+ private currentRunWaitPoint?;
60
+ private runsToExecute;
61
+ executeRun(handle: number): void;
62
+ registerRunClosure(handle: number, runClosure: () => Promise<any>): void;
63
+ awaitNextCompletedRun(): Promise<void>;
64
+ private unblockCurrentRunWaitPoint;
93
65
  }
94
- type PromiseCombinatorType = "All" | "Any" | "AllSettled" | "Race" | "OrTimeout";
95
- export {};
96
66
  //# sourceMappingURL=context_impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context_impl.d.ts","sourceRoot":"","sources":["../../../src/context_impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context_impl.d.ts","sourceRoot":"","sources":["../../../src/context_impl.ts"],"names":[],"mappings":"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"}