@restatedev/restate-sdk 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 (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
package/README.md CHANGED
@@ -53,9 +53,11 @@ This library follows [Semantic Versioning](https://semver.org/).
53
53
 
54
54
  The compatibility with Restate is described in the following table:
55
55
 
56
- | Restate Server\sdk-typescript | 1.0/1.1/1.2/1.3 | 1.4 |
57
- |-------------------------------|------------------|-----|
58
- | 1.0 | ✅ | ❌ |
59
- | 1.1 | ✅ <sup>(1)</sup> | ✅ |
56
+ | Restate Server\sdk-typescript | 1.0/1.1/1.2/1.3 | 1.4 | 1.5 |
57
+ |-------------------------------|------------------|-----|-----|
58
+ | 1.0 | ✅ | ❌ | ❌ |
59
+ | 1.1 | ✅ <sup>(1)</sup> | ✅ | ❌ |
60
+ | 1.2 | ✅ | ✅ | ❌ |
61
+ | 1.3 | ✅ | ✅ | ✅ |
60
62
 
61
63
  <sup>(1)</sup> **Only** when upgrading from 1.0 to 1.1 you MUST rediscover all the existing deployments using `restate dp register <address> --force`. You don't need to update the SDK, nor change the code.
@@ -1,12 +1,12 @@
1
- export type { Context, ObjectContext, ObjectSharedContext, WorkflowContext, WorkflowSharedContext, Rand, GenericCall, GenericSend, } from "./context.js";
2
- export { CombineablePromise } from "./context.js";
1
+ export type { Context, ObjectContext, ObjectSharedContext, WorkflowContext, WorkflowSharedContext, Rand, GenericCall, GenericSend, InvocationId, InvocationHandle, InvocationPromise, } from "./context.js";
2
+ export { InvocationIdParser, CombineablePromise } from "./context.js";
3
3
  export type { Serde } from "@restatedev/restate-sdk-core";
4
4
  export { serde } from "@restatedev/restate-sdk-core";
5
- export type { Client, SendClient, ClientCallOptions, ClientSendOptions, } from "./types/rpc.js";
5
+ export type { Client, SendClient, ClientCallOptions, ClientSendOptions, RemoveVoidArgument, } from "./types/rpc.js";
6
6
  export { service, object, workflow, handlers, Opts, SendOpts, } from "./types/rpc.js";
7
7
  export { rpc } from "./types/rpc.js";
8
8
  export type { ServiceDefinition, VirtualObjectDefinition, WorkflowDefinition, } from "@restatedev/restate-sdk-core";
9
- export type { ServiceBundle, RestateEndpoint } from "./endpoint.js";
9
+ export type { RestateEndpoint } from "./endpoint.js";
10
10
  export { RestateError, TerminalError, TimeoutError } from "./types/errors.js";
11
- export type { Logger, LogParams, RestateLogLevel, LoggerContext, LogSource, } from "./logger.js";
11
+ export type { LoggerTransport, LogMetadata, RestateLogLevel, LoggerContext, LogSource, } from "./logging/logger_transport.js";
12
12
  //# sourceMappingURL=common_api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common_api.d.ts","sourceRoot":"","sources":["../../../src/common_api.ts"],"names":[],"mappings":"AAWA,YAAY,EACV,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,IAAI,EACJ,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,YAAY,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAErD,YAAY,EACV,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9E,YAAY,EACV,MAAM,EACN,SAAS,EACT,eAAe,EACf,aAAa,EACb,SAAS,GACV,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"common_api.d.ts","sourceRoot":"","sources":["../../../src/common_api.ts"],"names":[],"mappings":"AAWA,YAAY,EACV,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,IAAI,EACJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEtE,YAAY,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAErD,YAAY,EACV,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9E,YAAY,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,aAAa,EACb,SAAS,GACV,MAAM,+BAA+B,CAAC"}
@@ -10,8 +10,9 @@
10
10
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.TimeoutError = exports.TerminalError = exports.RestateError = exports.rpc = exports.SendOpts = exports.Opts = exports.handlers = exports.workflow = exports.object = exports.service = exports.serde = exports.CombineablePromise = void 0;
13
+ exports.TimeoutError = exports.TerminalError = exports.RestateError = exports.rpc = exports.SendOpts = exports.Opts = exports.handlers = exports.workflow = exports.object = exports.service = exports.serde = exports.CombineablePromise = exports.InvocationIdParser = void 0;
14
14
  var context_js_1 = require("./context.js");
15
+ Object.defineProperty(exports, "InvocationIdParser", { enumerable: true, get: function () { return context_js_1.InvocationIdParser; } });
15
16
  Object.defineProperty(exports, "CombineablePromise", { enumerable: true, get: function () { return context_js_1.CombineablePromise; } });
16
17
  var restate_sdk_core_1 = require("@restatedev/restate-sdk-core");
17
18
  Object.defineProperty(exports, "serde", { enumerable: true, get: function () { return restate_sdk_core_1.serde; } });
@@ -1 +1 @@
1
- {"version":3,"file":"common_api.js","sourceRoot":"","sources":["../../../src/common_api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAYH,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAG3B,iEAAqD;AAA5C,yGAAA,KAAK,OAAA;AAQd,yCAOwB;AANtB,iGAAA,OAAO,OAAA;AACP,gGAAA,MAAM,OAAA;AACN,kGAAA,QAAQ,OAAA;AACR,kGAAA,QAAQ,OAAA;AACR,8FAAA,IAAI,OAAA;AACJ,kGAAA,QAAQ,OAAA;AAGV,yCAAqC;AAA5B,6FAAA,GAAG,OAAA;AASZ,+CAA8E;AAArE,yGAAA,YAAY,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,yGAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"common_api.js","sourceRoot":"","sources":["../../../src/common_api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAeH,2CAAsE;AAA7D,gHAAA,kBAAkB,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AAG/C,iEAAqD;AAA5C,yGAAA,KAAK,OAAA;AASd,yCAOwB;AANtB,iGAAA,OAAO,OAAA;AACP,gGAAA,MAAM,OAAA;AACN,kGAAA,QAAQ,OAAA;AACR,kGAAA,QAAQ,OAAA;AACR,8FAAA,IAAI,OAAA;AACJ,kGAAA,QAAQ,OAAA;AAGV,yCAAqC;AAA5B,6FAAA,GAAG,OAAA;AASZ,+CAA8E;AAArE,yGAAA,YAAY,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,yGAAA,YAAY,OAAA"}
@@ -1,6 +1,8 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import type { Client, SendClient } from "./types/rpc.js";
3
4
  import type { RestateContext, RestateObjectContext, RestateObjectSharedContext, RestateWorkflowContext, RestateWorkflowSharedContext, Service, ServiceDefinitionFrom, VirtualObject, VirtualObjectDefinitionFrom, Workflow, WorkflowDefinitionFrom, Serde } from "@restatedev/restate-sdk-core";
5
+ import type { TerminalError } from "./types/errors.js";
4
6
  /**
5
7
  * Represents the original request as sent to this handler.
6
8
  *
@@ -38,6 +40,12 @@ export interface Request {
38
40
  * Care should be taken to use them deterministically.
39
41
  */
40
42
  readonly extraArgs: unknown[];
43
+ /**
44
+ * This is a signal that is aborted when the current attempt has been completed either successful or unsuccessfully.
45
+ * When the signal is aborted, the current attempt has been completed and the handler should not perform any more work, other
46
+ * than cleanup any external resources that might be shared across attempts (e.g. database connections).
47
+ */
48
+ readonly attemptCompletedSignal: AbortSignal;
41
49
  }
42
50
  export type TypedState = Record<string, any>;
43
51
  export type UntypedState = {
@@ -175,8 +183,10 @@ export type GenericCall<REQ, RES> = {
175
183
  method: string;
176
184
  parameter: REQ;
177
185
  key?: string;
186
+ headers?: Record<string, string>;
178
187
  inputSerde?: Serde<REQ>;
179
188
  outputSerde?: Serde<RES>;
189
+ idempotencyKey?: string;
180
190
  };
181
191
  /**
182
192
  * Send a message to an handler directly avoiding restate's type safety checks.
@@ -188,8 +198,10 @@ export type GenericSend<REQ> = {
188
198
  method: string;
189
199
  parameter: REQ;
190
200
  key?: string;
201
+ headers?: Record<string, string>;
191
202
  inputSerde?: Serde<REQ>;
192
203
  delay?: number;
204
+ idempotencyKey?: string;
193
205
  };
194
206
  /**
195
207
  * The context that gives access to all Restate-backed operations, for example
@@ -265,7 +277,7 @@ export interface Context extends RestateContext {
265
277
  *
266
278
  * @param action The function to run.
267
279
  */
268
- run<T>(action: RunAction<T>): Promise<T>;
280
+ run<T>(action: RunAction<T>): CombineablePromise<T>;
269
281
  /**
270
282
  * Run an operation and store the result in Restate. The operation will thus not
271
283
  * be re-run during a later replay, but take the durable result from Restate.
@@ -273,8 +285,8 @@ export interface Context extends RestateContext {
273
285
  * @param name the action's name
274
286
  * @param action the action to run.
275
287
  */
276
- run<T>(name: string, action: RunAction<T>): Promise<T>;
277
- run<T>(name: string, action: RunAction<T>, options: RunOptions<T>): Promise<T>;
288
+ run<T>(name: string, action: RunAction<T>): CombineablePromise<T>;
289
+ run<T>(name: string, action: RunAction<T>, options: RunOptions<T>): CombineablePromise<T>;
278
290
  /**
279
291
  * Register an awakeable and pause the processing until the awakeable ID (and optional payload) have been returned to the service
280
292
  * (via ctx.completeAwakeable(...)). The SDK deserializes the payload with `JSON.parse(result.toString()) as T`.
@@ -442,13 +454,26 @@ export interface Context extends RestateContext {
442
454
  * @param opts Send options
443
455
  */
444
456
  objectSendClient<D>(obj: VirtualObjectDefinitionFrom<D>, key: string, opts?: SendOptions): SendClient<VirtualObject<D>>;
445
- genericCall<REQ = Uint8Array, RES = Uint8Array>(call: GenericCall<REQ, RES>): Promise<RES>;
446
- genericSend<REQ = Uint8Array>(call: GenericSend<REQ>): void;
457
+ genericCall<REQ = Uint8Array, RES = Uint8Array>(call: GenericCall<REQ, RES>): InvocationPromise<RES>;
458
+ genericSend<REQ = Uint8Array>(call: GenericSend<REQ>): InvocationHandle;
447
459
  /**
448
460
  * Returns the raw request that triggered that handler.
449
461
  * Use that object to inspect the original request headers
450
462
  */
451
463
  request(): Request;
464
+ /**
465
+ * Cancel an invocation
466
+ *
467
+ * @param invocationId the invocation id to cancel
468
+ */
469
+ cancel(invocationId: InvocationId): void;
470
+ /**
471
+ * Attach to an invocation
472
+ *
473
+ * @param invocationId the invocation id to attach to
474
+ * @param serde the serde to use for the result, default to JSON serde.
475
+ */
476
+ attach<T>(invocationId: InvocationId, serde?: Serde<T>): CombineablePromise<T>;
452
477
  }
453
478
  /**
454
479
  * The context that gives access to all Restate-backed operations, for example
@@ -518,8 +543,41 @@ export type CombineablePromise<T> = Promise<T> & {
518
543
  * @param millis duration of the sleep in millis.
519
544
  * This is a lower-bound.
520
545
  */
521
- orTimeout(millis: number): Promise<T>;
546
+ orTimeout(millis: number): CombineablePromise<T>;
547
+ /**
548
+ * Creates a new {@link CombineablePromise} that maps the result of this promise with
549
+ * the provided `mapper`, once this promise is fulfilled.
550
+ *
551
+ * **NOTE**: You **MUST** use this API when you need to map the result of a
552
+ * {@link CombineablePromise} without `await`ing it, rather than using {@link Promise.then}.
553
+ * {@link Promise.then} is used by Restate to distinguish when awaiting an asynchronous operation,
554
+ * thus calling `.then` on several Restate promises can lead to concurrency issues.
555
+ *
556
+ * @param mapper the function to execute when this promise is fulfilled.
557
+ * If the promise completed successfully, `value` is provided as input, otherwise `failure` is provided as input.
558
+ * If this mapper returns a value, this value will be used to resolve the returned {@link CombineablePromise}.
559
+ * If the mapper throws a {@link TerminalError}, this error will be used to reject the returned {@link CombineablePromise}.
560
+ */
561
+ map<U>(mapper: (value?: T, failure?: TerminalError) => U): CombineablePromise<U>;
562
+ };
563
+ /**
564
+ * Represents an invocation id.
565
+ * @see {@link InvocationIdParser}
566
+ */
567
+ export type InvocationId = string & {
568
+ __brand: "InvocationId";
569
+ };
570
+ export declare const InvocationIdParser: {
571
+ /**
572
+ * Creates an invocation id from a string.
573
+ * @param id the string to use as invocation id.
574
+ */
575
+ fromString(id: string): InvocationId;
576
+ };
577
+ export type InvocationHandle = {
578
+ readonly invocationId: Promise<InvocationId>;
522
579
  };
580
+ export type InvocationPromise<T> = CombineablePromise<T> & InvocationHandle;
523
581
  export declare const CombineablePromise: {
524
582
  /**
525
583
  * Creates a Promise that is resolved with an array of results when all of the provided Promises
@@ -530,7 +588,7 @@ export declare const CombineablePromise: {
530
588
  * @param values An iterable of Promises.
531
589
  * @returns A new Promise.
532
590
  */
533
- all<T extends [] | readonly CombineablePromise<unknown>[]>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>;
591
+ all<T extends readonly CombineablePromise<unknown>[]>(values: T): CombineablePromise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>;
534
592
  /**
535
593
  * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
536
594
  * or rejected.
@@ -540,7 +598,7 @@ export declare const CombineablePromise: {
540
598
  * @param values An iterable of Promises.
541
599
  * @returns A new Promise.
542
600
  */
543
- race<T_1 extends [] | readonly CombineablePromise<unknown>[]>(values: T_1): Promise<Awaited<T_1[number]>>;
601
+ race<T_1 extends readonly CombineablePromise<unknown>[]>(values: T_1): CombineablePromise<Awaited<T_1[number]>>;
544
602
  /**
545
603
  * Creates a promise that fulfills when any of the input's promises fulfills, with this first fulfillment value.
546
604
  * It rejects when all the input's promises reject (including when an empty iterable is passed),
@@ -551,7 +609,7 @@ export declare const CombineablePromise: {
551
609
  * @param values An iterable of Promises.
552
610
  * @returns A new Promise.
553
611
  */
554
- any<T_2 extends [] | readonly CombineablePromise<unknown>[]>(values: T_2): Promise<Awaited<T_2[number]>>;
612
+ any<T_2 extends readonly CombineablePromise<unknown>[]>(values: T_2): CombineablePromise<Awaited<T_2[number]>>;
555
613
  /**
556
614
  * Creates a promise that fulfills when all the input's promises settle (including when an empty iterable is passed),
557
615
  * with an array of objects that describe the outcome of each promise.
@@ -561,7 +619,7 @@ export declare const CombineablePromise: {
561
619
  * @param values An iterable of Promises.
562
620
  * @returns A new Promise.
563
621
  */
564
- allSettled<T_3 extends [] | readonly CombineablePromise<unknown>[]>(values: T_3): Promise<{ -readonly [P_1 in keyof T_3]: PromiseSettledResult<Awaited<T_3[P_1]>>; }>;
622
+ allSettled<T_3 extends readonly CombineablePromise<unknown>[]>(values: T_3): CombineablePromise<{ -readonly [P_1 in keyof T_3]: PromiseSettledResult<Awaited<T_3[P_1]>>; }>;
565
623
  };
566
624
  /**
567
625
  * Workflow bound durable promise
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,20 @@
10
10
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.CombineablePromise = void 0;
13
+ exports.CombineablePromise = exports.InvocationIdParser = void 0;
14
14
  const context_impl_js_1 = require("./context_impl.js");
15
+ exports.InvocationIdParser = {
16
+ /**
17
+ * Creates an invocation id from a string.
18
+ * @param id the string to use as invocation id.
19
+ */
20
+ fromString(id) {
21
+ if (!id.startsWith("inv")) {
22
+ throw new Error(`Expected invocation id to start with 'inv' but got ${id}`);
23
+ }
24
+ return id;
25
+ },
26
+ };
15
27
  exports.CombineablePromise = {
16
28
  /**
17
29
  * Creates a Promise that is resolved with an array of results when all of the provided Promises
@@ -24,9 +36,9 @@ exports.CombineablePromise = {
24
36
  */
25
37
  all(values) {
26
38
  if (values.length === 0) {
27
- return Promise.all(values);
39
+ throw new Error("Expected combineable promise to have at least one promise");
28
40
  }
29
- return context_impl_js_1.ContextImpl.createCombinator("All", values);
41
+ return context_impl_js_1.ContextImpl.createCombinator((p) => Promise.all(p), values);
30
42
  },
31
43
  /**
32
44
  * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
@@ -39,9 +51,9 @@ exports.CombineablePromise = {
39
51
  */
40
52
  race(values) {
41
53
  if (values.length === 0) {
42
- return Promise.race(values);
54
+ throw new Error("Expected combineable promise to have at least one promise");
43
55
  }
44
- return context_impl_js_1.ContextImpl.createCombinator("Race", values);
56
+ return context_impl_js_1.ContextImpl.createCombinator((p) => Promise.race(p), values);
45
57
  },
46
58
  /**
47
59
  * Creates a promise that fulfills when any of the input's promises fulfills, with this first fulfillment value.
@@ -55,9 +67,9 @@ exports.CombineablePromise = {
55
67
  */
56
68
  any(values) {
57
69
  if (values.length === 0) {
58
- return Promise.any(values);
70
+ throw new Error("Expected combineable promise to have at least one promise");
59
71
  }
60
- return context_impl_js_1.ContextImpl.createCombinator("Any", values);
72
+ return context_impl_js_1.ContextImpl.createCombinator((p) => Promise.any(p), values);
61
73
  },
62
74
  /**
63
75
  * Creates a promise that fulfills when all the input's promises settle (including when an empty iterable is passed),
@@ -70,9 +82,9 @@ exports.CombineablePromise = {
70
82
  */
71
83
  allSettled(values) {
72
84
  if (values.length === 0) {
73
- return Promise.allSettled(values);
85
+ throw new Error("Expected combineable promise to have at least one promise");
74
86
  }
75
- return context_impl_js_1.ContextImpl.createCombinator("AllSettled", values);
87
+ return context_impl_js_1.ContextImpl.createCombinator((p) => Promise.allSettled(p), values);
76
88
  },
77
89
  };
78
90
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAiBH,uDAAgD;AA+lBnC,QAAA,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,6BAAW,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,6BAAW,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,6BAAW,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,6BAAW,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,uDAAgD;AAqpBnC,QAAA,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;AASW,QAAA,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,6BAAW,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,6BAAW,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,6BAAW,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,6BAAW,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" />
2
2
  /// <reference types="node" />
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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"}