@restatedev/restate-sdk 1.3.3 → 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 (505) 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 +103 -12
  7. package/dist/cjs/src/context.d.ts.map +1 -1
  8. package/dist/cjs/src/context.js +25 -13
  9. package/dist/cjs/src/context.js.map +1 -1
  10. package/dist/cjs/src/context_impl.d.ts +38 -24
  11. package/dist/cjs/src/context_impl.d.ts.map +1 -1
  12. package/dist/cjs/src/context_impl.js +327 -342
  13. package/dist/cjs/src/context_impl.js.map +1 -1
  14. package/dist/cjs/src/endpoint/endpoint_builder.d.ts +6 -8
  15. package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -1
  16. package/dist/cjs/src/endpoint/endpoint_builder.js +23 -23
  17. package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -1
  18. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +4 -6
  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 +9 -0
  26. package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -1
  27. package/dist/cjs/src/endpoint/handlers/generic.js +249 -88
  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 +283 -0
  33. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -0
  34. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +1333 -0
  35. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -0
  36. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +4 -6
  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 +4 -6
  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 +38 -5
  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 -31
  75. package/dist/cjs/src/types/errors.d.ts.map +1 -1
  76. package/dist/cjs/src/types/errors.js +18 -74
  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 +32 -83
  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/src/utils/completable_promise.d.ts +9 -0
  86. package/dist/cjs/src/utils/completable_promise.d.ts.map +1 -0
  87. package/dist/cjs/src/utils/completable_promise.js +34 -0
  88. package/dist/cjs/src/utils/completable_promise.js.map +1 -0
  89. package/dist/cjs/src/utils/rand.d.ts +1 -1
  90. package/dist/cjs/src/utils/rand.d.ts.map +1 -1
  91. package/dist/cjs/src/utils/rand.js +1 -1
  92. package/dist/cjs/src/utils/rand.js.map +1 -1
  93. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  94. package/dist/esm/src/common_api.d.ts +5 -5
  95. package/dist/esm/src/common_api.d.ts.map +1 -1
  96. package/dist/esm/src/common_api.js +1 -1
  97. package/dist/esm/src/common_api.js.map +1 -1
  98. package/dist/esm/src/context.d.ts +103 -12
  99. package/dist/esm/src/context.d.ts.map +1 -1
  100. package/dist/esm/src/context.js +24 -12
  101. package/dist/esm/src/context.js.map +1 -1
  102. package/dist/esm/src/context_impl.d.ts +38 -24
  103. package/dist/esm/src/context_impl.d.ts.map +1 -1
  104. package/dist/esm/src/context_impl.js +325 -341
  105. package/dist/esm/src/context_impl.js.map +1 -1
  106. package/dist/esm/src/endpoint/endpoint_builder.d.ts +6 -8
  107. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -1
  108. package/dist/esm/src/endpoint/endpoint_builder.js +23 -23
  109. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -1
  110. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +4 -6
  111. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -1
  112. package/dist/esm/src/endpoint/fetch_endpoint.js +0 -4
  113. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -1
  114. package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -1
  115. package/dist/esm/src/endpoint/handlers/fetch.js +1 -0
  116. package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -1
  117. package/dist/esm/src/endpoint/handlers/generic.d.ts +9 -0
  118. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -1
  119. package/dist/esm/src/endpoint/handlers/generic.js +226 -89
  120. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -1
  121. package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -1
  122. package/dist/esm/src/endpoint/handlers/lambda.js +15 -3
  123. package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -1
  124. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +283 -0
  125. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -0
  126. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +1322 -0
  127. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -0
  128. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +4 -6
  129. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -1
  130. package/dist/esm/src/endpoint/lambda_endpoint.js +0 -4
  131. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -1
  132. package/dist/esm/src/endpoint/node_endpoint.d.ts +4 -6
  133. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -1
  134. package/dist/esm/src/endpoint/node_endpoint.js +12 -4
  135. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -1
  136. package/dist/esm/src/endpoint.d.ts +6 -37
  137. package/dist/esm/src/endpoint.d.ts.map +1 -1
  138. package/dist/esm/src/generated/version.d.ts +1 -1
  139. package/dist/esm/src/generated/version.js +1 -1
  140. package/dist/esm/src/io.d.ts +25 -0
  141. package/dist/esm/src/io.d.ts.map +1 -0
  142. package/dist/esm/src/io.js +73 -0
  143. package/dist/esm/src/io.js.map +1 -0
  144. package/dist/esm/src/logging/console_logger_transport.d.ts +5 -0
  145. package/dist/esm/src/logging/console_logger_transport.d.ts.map +1 -0
  146. package/dist/esm/src/{logger.js → logging/console_logger_transport.js} +40 -90
  147. package/dist/esm/src/logging/console_logger_transport.js.map +1 -0
  148. package/dist/esm/src/logging/logger.d.ts +11 -0
  149. package/dist/esm/src/logging/logger.d.ts.map +1 -0
  150. package/dist/esm/src/logging/logger.js +57 -0
  151. package/dist/esm/src/logging/logger.js.map +1 -0
  152. package/dist/esm/src/logging/logger_transport.d.ts +52 -0
  153. package/dist/esm/src/logging/logger_transport.d.ts.map +1 -0
  154. package/dist/esm/src/logging/logger_transport.js +55 -0
  155. package/dist/esm/src/logging/logger_transport.js.map +1 -0
  156. package/dist/esm/src/promises.d.ts +110 -0
  157. package/dist/esm/src/promises.d.ts.map +1 -0
  158. package/dist/esm/src/promises.js +311 -0
  159. package/dist/esm/src/promises.js.map +1 -0
  160. package/dist/esm/src/types/components.d.ts +11 -3
  161. package/dist/esm/src/types/components.d.ts.map +1 -1
  162. package/dist/esm/src/types/components.js +38 -5
  163. package/dist/esm/src/types/components.js.map +1 -1
  164. package/dist/esm/src/types/discovery.d.ts +4 -0
  165. package/dist/esm/src/types/discovery.d.ts.map +1 -1
  166. package/dist/esm/src/types/errors.d.ts +8 -31
  167. package/dist/esm/src/types/errors.d.ts.map +1 -1
  168. package/dist/esm/src/types/errors.js +16 -68
  169. package/dist/esm/src/types/errors.js.map +1 -1
  170. package/dist/esm/src/types/rpc.d.ts +66 -41
  171. package/dist/esm/src/types/rpc.d.ts.map +1 -1
  172. package/dist/esm/src/types/rpc.js +32 -83
  173. package/dist/esm/src/types/rpc.js.map +1 -1
  174. package/dist/esm/src/user_agent.d.ts +1 -1
  175. package/dist/esm/src/utils/buffer.d.ts +1 -0
  176. package/dist/esm/src/utils/buffer.d.ts.map +1 -1
  177. package/dist/esm/src/utils/completable_promise.d.ts +9 -0
  178. package/dist/esm/src/utils/completable_promise.d.ts.map +1 -0
  179. package/dist/esm/src/utils/completable_promise.js +30 -0
  180. package/dist/esm/src/utils/completable_promise.js.map +1 -0
  181. package/dist/esm/src/utils/rand.d.ts +1 -1
  182. package/dist/esm/src/utils/rand.d.ts.map +1 -1
  183. package/dist/esm/src/utils/rand.js +1 -1
  184. package/dist/esm/src/utils/rand.js.map +1 -1
  185. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  186. package/package.json +2 -6
  187. package/dist/cjs/src/connection/connection.d.ts +0 -84
  188. package/dist/cjs/src/connection/connection.d.ts.map +0 -1
  189. package/dist/cjs/src/connection/connection.js +0 -181
  190. package/dist/cjs/src/connection/connection.js.map +0 -1
  191. package/dist/cjs/src/endpoint/request_signing/basex.d.ts +0 -10
  192. package/dist/cjs/src/endpoint/request_signing/basex.d.ts.map +0 -1
  193. package/dist/cjs/src/endpoint/request_signing/basex.js +0 -138
  194. package/dist/cjs/src/endpoint/request_signing/basex.js.map +0 -1
  195. package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts +0 -17
  196. package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
  197. package/dist/cjs/src/endpoint/request_signing/ed25519.js +0 -80
  198. package/dist/cjs/src/endpoint/request_signing/ed25519.js.map +0 -1
  199. package/dist/cjs/src/endpoint/request_signing/v1.d.ts +0 -10
  200. package/dist/cjs/src/endpoint/request_signing/v1.d.ts.map +0 -1
  201. package/dist/cjs/src/endpoint/request_signing/v1.js +0 -151
  202. package/dist/cjs/src/endpoint/request_signing/v1.js.map +0 -1
  203. package/dist/cjs/src/endpoint/request_signing/validate.d.ts +0 -19
  204. package/dist/cjs/src/endpoint/request_signing/validate.d.ts.map +0 -1
  205. package/dist/cjs/src/endpoint/request_signing/validate.js +0 -45
  206. package/dist/cjs/src/endpoint/request_signing/validate.js.map +0 -1
  207. package/dist/cjs/src/generated/proto/discovery_pb.d.ts +0 -18
  208. package/dist/cjs/src/generated/proto/discovery_pb.d.ts.map +0 -1
  209. package/dist/cjs/src/generated/proto/discovery_pb.js +0 -40
  210. package/dist/cjs/src/generated/proto/discovery_pb.js.map +0 -1
  211. package/dist/cjs/src/generated/proto/javascript_pb.d.ts +0 -26
  212. package/dist/cjs/src/generated/proto/javascript_pb.d.ts.map +0 -1
  213. package/dist/cjs/src/generated/proto/javascript_pb.js +0 -52
  214. package/dist/cjs/src/generated/proto/javascript_pb.js.map +0 -1
  215. package/dist/cjs/src/generated/proto/protocol_pb.d.ts +0 -1051
  216. package/dist/cjs/src/generated/proto/protocol_pb.d.ts.map +0 -1
  217. package/dist/cjs/src/generated/proto/protocol_pb.js +0 -1288
  218. package/dist/cjs/src/generated/proto/protocol_pb.js.map +0 -1
  219. package/dist/cjs/src/invocation.d.ts +0 -48
  220. package/dist/cjs/src/invocation.d.ts.map +0 -1
  221. package/dist/cjs/src/invocation.js +0 -158
  222. package/dist/cjs/src/invocation.js.map +0 -1
  223. package/dist/cjs/src/io/decoder.d.ts +0 -9
  224. package/dist/cjs/src/io/decoder.d.ts.map +0 -1
  225. package/dist/cjs/src/io/decoder.js +0 -137
  226. package/dist/cjs/src/io/decoder.js.map +0 -1
  227. package/dist/cjs/src/io/encoder.d.ts +0 -4
  228. package/dist/cjs/src/io/encoder.d.ts.map +0 -1
  229. package/dist/cjs/src/io/encoder.js +0 -41
  230. package/dist/cjs/src/io/encoder.js.map +0 -1
  231. package/dist/cjs/src/journal.d.ts +0 -52
  232. package/dist/cjs/src/journal.d.ts.map +0 -1
  233. package/dist/cjs/src/journal.js +0 -438
  234. package/dist/cjs/src/journal.js.map +0 -1
  235. package/dist/cjs/src/local_state_store.d.ts +0 -14
  236. package/dist/cjs/src/local_state_store.d.ts.map +0 -1
  237. package/dist/cjs/src/local_state_store.js +0 -83
  238. package/dist/cjs/src/local_state_store.js.map +0 -1
  239. package/dist/cjs/src/logger.d.ts +0 -35
  240. package/dist/cjs/src/logger.d.ts.map +0 -1
  241. package/dist/cjs/src/logger.js +0 -151
  242. package/dist/cjs/src/logger.js.map +0 -1
  243. package/dist/cjs/src/promise_combinator_tracker.d.ts +0 -29
  244. package/dist/cjs/src/promise_combinator_tracker.d.ts.map +0 -1
  245. package/dist/cjs/src/promise_combinator_tracker.js +0 -130
  246. package/dist/cjs/src/promise_combinator_tracker.js.map +0 -1
  247. package/dist/cjs/src/state_machine.d.ts +0 -85
  248. package/dist/cjs/src/state_machine.d.ts.map +0 -1
  249. package/dist/cjs/src/state_machine.js +0 -426
  250. package/dist/cjs/src/state_machine.js.map +0 -1
  251. package/dist/cjs/src/types/protocol.d.ts +0 -40
  252. package/dist/cjs/src/types/protocol.d.ts.map +0 -1
  253. package/dist/cjs/src/types/protocol.js +0 -237
  254. package/dist/cjs/src/types/protocol.js.map +0 -1
  255. package/dist/cjs/src/types/types.d.ts +0 -20
  256. package/dist/cjs/src/types/types.d.ts.map +0 -1
  257. package/dist/cjs/src/types/types.js +0 -110
  258. package/dist/cjs/src/types/types.js.map +0 -1
  259. package/dist/cjs/src/utils/message_logger.d.ts +0 -7
  260. package/dist/cjs/src/utils/message_logger.d.ts.map +0 -1
  261. package/dist/cjs/src/utils/message_logger.js +0 -79
  262. package/dist/cjs/src/utils/message_logger.js.map +0 -1
  263. package/dist/cjs/src/utils/promises.d.ts +0 -15
  264. package/dist/cjs/src/utils/promises.d.ts.map +0 -1
  265. package/dist/cjs/src/utils/promises.js +0 -68
  266. package/dist/cjs/src/utils/promises.js.map +0 -1
  267. package/dist/cjs/src/utils/utils.d.ts +0 -3
  268. package/dist/cjs/src/utils/utils.d.ts.map +0 -1
  269. package/dist/cjs/src/utils/utils.js +0 -105
  270. package/dist/cjs/src/utils/utils.js.map +0 -1
  271. package/dist/cjs/test/awakeable.test.d.ts +0 -2
  272. package/dist/cjs/test/awakeable.test.d.ts.map +0 -1
  273. package/dist/cjs/test/awakeable.test.js +0 -141
  274. package/dist/cjs/test/awakeable.test.js.map +0 -1
  275. package/dist/cjs/test/complete_awakeable.test.d.ts +0 -2
  276. package/dist/cjs/test/complete_awakeable.test.d.ts.map +0 -1
  277. package/dist/cjs/test/complete_awakeable.test.js +0 -123
  278. package/dist/cjs/test/complete_awakeable.test.js.map +0 -1
  279. package/dist/cjs/test/eager_state.test.d.ts +0 -2
  280. package/dist/cjs/test/eager_state.test.d.ts.map +0 -1
  281. package/dist/cjs/test/eager_state.test.js +0 -280
  282. package/dist/cjs/test/eager_state.test.js.map +0 -1
  283. package/dist/cjs/test/get_and_set_state.test.d.ts +0 -2
  284. package/dist/cjs/test/get_and_set_state.test.d.ts.map +0 -1
  285. package/dist/cjs/test/get_and_set_state.test.js +0 -233
  286. package/dist/cjs/test/get_and_set_state.test.js.map +0 -1
  287. package/dist/cjs/test/get_state.test.d.ts +0 -2
  288. package/dist/cjs/test/get_state.test.d.ts.map +0 -1
  289. package/dist/cjs/test/get_state.test.js +0 -328
  290. package/dist/cjs/test/get_state.test.js.map +0 -1
  291. package/dist/cjs/test/lambda.test.d.ts +0 -2
  292. package/dist/cjs/test/lambda.test.d.ts.map +0 -1
  293. package/dist/cjs/test/lambda.test.js +0 -258
  294. package/dist/cjs/test/lambda.test.js.map +0 -1
  295. package/dist/cjs/test/message_coders.test.d.ts +0 -2
  296. package/dist/cjs/test/message_coders.test.d.ts.map +0 -1
  297. package/dist/cjs/test/message_coders.test.js +0 -37
  298. package/dist/cjs/test/message_coders.test.js.map +0 -1
  299. package/dist/cjs/test/promise_combinator_tracker.test.d.ts +0 -2
  300. package/dist/cjs/test/promise_combinator_tracker.test.d.ts.map +0 -1
  301. package/dist/cjs/test/promise_combinator_tracker.test.js +0 -156
  302. package/dist/cjs/test/promise_combinator_tracker.test.js.map +0 -1
  303. package/dist/cjs/test/promise_combinators.test.d.ts +0 -2
  304. package/dist/cjs/test/promise_combinators.test.d.ts.map +0 -1
  305. package/dist/cjs/test/promise_combinators.test.js +0 -433
  306. package/dist/cjs/test/promise_combinators.test.js.map +0 -1
  307. package/dist/cjs/test/promises.test.d.ts +0 -2
  308. package/dist/cjs/test/promises.test.d.ts.map +0 -1
  309. package/dist/cjs/test/promises.test.js +0 -32
  310. package/dist/cjs/test/promises.test.js.map +0 -1
  311. package/dist/cjs/test/protocol_stream.test.d.ts +0 -2
  312. package/dist/cjs/test/protocol_stream.test.d.ts.map +0 -1
  313. package/dist/cjs/test/protocol_stream.test.js +0 -243
  314. package/dist/cjs/test/protocol_stream.test.js.map +0 -1
  315. package/dist/cjs/test/protoutils.d.ts +0 -44
  316. package/dist/cjs/test/protoutils.d.ts.map +0 -1
  317. package/dist/cjs/test/protoutils.js +0 -368
  318. package/dist/cjs/test/protoutils.js.map +0 -1
  319. package/dist/cjs/test/service_bind.test.d.ts +0 -2
  320. package/dist/cjs/test/service_bind.test.d.ts.map +0 -1
  321. package/dist/cjs/test/service_bind.test.js +0 -118
  322. package/dist/cjs/test/service_bind.test.js.map +0 -1
  323. package/dist/cjs/test/side_effect.test.d.ts +0 -2
  324. package/dist/cjs/test/side_effect.test.d.ts.map +0 -1
  325. package/dist/cjs/test/side_effect.test.js +0 -133
  326. package/dist/cjs/test/side_effect.test.js.map +0 -1
  327. package/dist/cjs/test/sleep.test.d.ts +0 -2
  328. package/dist/cjs/test/sleep.test.d.ts.map +0 -1
  329. package/dist/cjs/test/sleep.test.js +0 -224
  330. package/dist/cjs/test/sleep.test.js.map +0 -1
  331. package/dist/cjs/test/state_keys.test.d.ts +0 -2
  332. package/dist/cjs/test/state_keys.test.d.ts.map +0 -1
  333. package/dist/cjs/test/state_keys.test.js +0 -92
  334. package/dist/cjs/test/state_keys.test.js.map +0 -1
  335. package/dist/cjs/test/state_machine.test.d.ts +0 -2
  336. package/dist/cjs/test/state_machine.test.d.ts.map +0 -1
  337. package/dist/cjs/test/state_machine.test.js +0 -42
  338. package/dist/cjs/test/state_machine.test.js.map +0 -1
  339. package/dist/cjs/test/testdriver.d.ts +0 -39
  340. package/dist/cjs/test/testdriver.d.ts.map +0 -1
  341. package/dist/cjs/test/testdriver.js +0 -188
  342. package/dist/cjs/test/testdriver.js.map +0 -1
  343. package/dist/cjs/test/utils.test.d.ts +0 -2
  344. package/dist/cjs/test/utils.test.d.ts.map +0 -1
  345. package/dist/cjs/test/utils.test.js +0 -93
  346. package/dist/cjs/test/utils.test.js.map +0 -1
  347. package/dist/esm/src/connection/connection.d.ts +0 -84
  348. package/dist/esm/src/connection/connection.d.ts.map +0 -1
  349. package/dist/esm/src/connection/connection.js +0 -177
  350. package/dist/esm/src/connection/connection.js.map +0 -1
  351. package/dist/esm/src/endpoint/request_signing/basex.d.ts +0 -10
  352. package/dist/esm/src/endpoint/request_signing/basex.d.ts.map +0 -1
  353. package/dist/esm/src/endpoint/request_signing/basex.js +0 -136
  354. package/dist/esm/src/endpoint/request_signing/basex.js.map +0 -1
  355. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts +0 -17
  356. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
  357. package/dist/esm/src/endpoint/request_signing/ed25519.js +0 -52
  358. package/dist/esm/src/endpoint/request_signing/ed25519.js.map +0 -1
  359. package/dist/esm/src/endpoint/request_signing/v1.d.ts +0 -10
  360. package/dist/esm/src/endpoint/request_signing/v1.d.ts.map +0 -1
  361. package/dist/esm/src/endpoint/request_signing/v1.js +0 -143
  362. package/dist/esm/src/endpoint/request_signing/v1.js.map +0 -1
  363. package/dist/esm/src/endpoint/request_signing/validate.d.ts +0 -19
  364. package/dist/esm/src/endpoint/request_signing/validate.d.ts.map +0 -1
  365. package/dist/esm/src/endpoint/request_signing/validate.js +0 -40
  366. package/dist/esm/src/endpoint/request_signing/validate.js.map +0 -1
  367. package/dist/esm/src/generated/proto/discovery_pb.d.ts +0 -18
  368. package/dist/esm/src/generated/proto/discovery_pb.d.ts.map +0 -1
  369. package/dist/esm/src/generated/proto/discovery_pb.js +0 -37
  370. package/dist/esm/src/generated/proto/discovery_pb.js.map +0 -1
  371. package/dist/esm/src/generated/proto/javascript_pb.d.ts +0 -26
  372. package/dist/esm/src/generated/proto/javascript_pb.d.ts.map +0 -1
  373. package/dist/esm/src/generated/proto/javascript_pb.js +0 -48
  374. package/dist/esm/src/generated/proto/javascript_pb.js.map +0 -1
  375. package/dist/esm/src/generated/proto/protocol_pb.d.ts +0 -1051
  376. package/dist/esm/src/generated/proto/protocol_pb.d.ts.map +0 -1
  377. package/dist/esm/src/generated/proto/protocol_pb.js +0 -1258
  378. package/dist/esm/src/generated/proto/protocol_pb.js.map +0 -1
  379. package/dist/esm/src/invocation.d.ts +0 -48
  380. package/dist/esm/src/invocation.d.ts.map +0 -1
  381. package/dist/esm/src/invocation.js +0 -153
  382. package/dist/esm/src/invocation.js.map +0 -1
  383. package/dist/esm/src/io/decoder.d.ts +0 -9
  384. package/dist/esm/src/io/decoder.d.ts.map +0 -1
  385. package/dist/esm/src/io/decoder.js +0 -128
  386. package/dist/esm/src/io/decoder.js.map +0 -1
  387. package/dist/esm/src/io/encoder.d.ts +0 -4
  388. package/dist/esm/src/io/encoder.d.ts.map +0 -1
  389. package/dist/esm/src/io/encoder.js +0 -36
  390. package/dist/esm/src/io/encoder.js.map +0 -1
  391. package/dist/esm/src/journal.d.ts +0 -52
  392. package/dist/esm/src/journal.d.ts.map +0 -1
  393. package/dist/esm/src/journal.js +0 -410
  394. package/dist/esm/src/journal.js.map +0 -1
  395. package/dist/esm/src/local_state_store.d.ts +0 -14
  396. package/dist/esm/src/local_state_store.d.ts.map +0 -1
  397. package/dist/esm/src/local_state_store.js +0 -79
  398. package/dist/esm/src/local_state_store.js.map +0 -1
  399. package/dist/esm/src/logger.d.ts +0 -35
  400. package/dist/esm/src/logger.d.ts.map +0 -1
  401. package/dist/esm/src/logger.js.map +0 -1
  402. package/dist/esm/src/promise_combinator_tracker.d.ts +0 -29
  403. package/dist/esm/src/promise_combinator_tracker.d.ts.map +0 -1
  404. package/dist/esm/src/promise_combinator_tracker.js +0 -125
  405. package/dist/esm/src/promise_combinator_tracker.js.map +0 -1
  406. package/dist/esm/src/state_machine.d.ts +0 -85
  407. package/dist/esm/src/state_machine.d.ts.map +0 -1
  408. package/dist/esm/src/state_machine.js +0 -399
  409. package/dist/esm/src/state_machine.js.map +0 -1
  410. package/dist/esm/src/types/protocol.d.ts +0 -40
  411. package/dist/esm/src/types/protocol.d.ts.map +0 -1
  412. package/dist/esm/src/types/protocol.js +0 -206
  413. package/dist/esm/src/types/protocol.js.map +0 -1
  414. package/dist/esm/src/types/types.d.ts +0 -20
  415. package/dist/esm/src/types/types.d.ts.map +0 -1
  416. package/dist/esm/src/types/types.js +0 -105
  417. package/dist/esm/src/types/types.js.map +0 -1
  418. package/dist/esm/src/utils/message_logger.d.ts +0 -7
  419. package/dist/esm/src/utils/message_logger.d.ts.map +0 -1
  420. package/dist/esm/src/utils/message_logger.js +0 -75
  421. package/dist/esm/src/utils/message_logger.js.map +0 -1
  422. package/dist/esm/src/utils/promises.d.ts +0 -15
  423. package/dist/esm/src/utils/promises.d.ts.map +0 -1
  424. package/dist/esm/src/utils/promises.js +0 -63
  425. package/dist/esm/src/utils/promises.js.map +0 -1
  426. package/dist/esm/src/utils/utils.d.ts +0 -3
  427. package/dist/esm/src/utils/utils.d.ts.map +0 -1
  428. package/dist/esm/src/utils/utils.js +0 -101
  429. package/dist/esm/src/utils/utils.js.map +0 -1
  430. package/dist/esm/test/awakeable.test.d.ts +0 -2
  431. package/dist/esm/test/awakeable.test.d.ts.map +0 -1
  432. package/dist/esm/test/awakeable.test.js +0 -139
  433. package/dist/esm/test/awakeable.test.js.map +0 -1
  434. package/dist/esm/test/complete_awakeable.test.d.ts +0 -2
  435. package/dist/esm/test/complete_awakeable.test.d.ts.map +0 -1
  436. package/dist/esm/test/complete_awakeable.test.js +0 -121
  437. package/dist/esm/test/complete_awakeable.test.js.map +0 -1
  438. package/dist/esm/test/eager_state.test.d.ts +0 -2
  439. package/dist/esm/test/eager_state.test.d.ts.map +0 -1
  440. package/dist/esm/test/eager_state.test.js +0 -278
  441. package/dist/esm/test/eager_state.test.js.map +0 -1
  442. package/dist/esm/test/get_and_set_state.test.d.ts +0 -2
  443. package/dist/esm/test/get_and_set_state.test.d.ts.map +0 -1
  444. package/dist/esm/test/get_and_set_state.test.js +0 -231
  445. package/dist/esm/test/get_and_set_state.test.js.map +0 -1
  446. package/dist/esm/test/get_state.test.d.ts +0 -2
  447. package/dist/esm/test/get_state.test.d.ts.map +0 -1
  448. package/dist/esm/test/get_state.test.js +0 -326
  449. package/dist/esm/test/get_state.test.js.map +0 -1
  450. package/dist/esm/test/lambda.test.d.ts +0 -2
  451. package/dist/esm/test/lambda.test.d.ts.map +0 -1
  452. package/dist/esm/test/lambda.test.js +0 -233
  453. package/dist/esm/test/lambda.test.js.map +0 -1
  454. package/dist/esm/test/message_coders.test.d.ts +0 -2
  455. package/dist/esm/test/message_coders.test.d.ts.map +0 -1
  456. package/dist/esm/test/message_coders.test.js +0 -35
  457. package/dist/esm/test/message_coders.test.js.map +0 -1
  458. package/dist/esm/test/promise_combinator_tracker.test.d.ts +0 -2
  459. package/dist/esm/test/promise_combinator_tracker.test.d.ts.map +0 -1
  460. package/dist/esm/test/promise_combinator_tracker.test.js +0 -154
  461. package/dist/esm/test/promise_combinator_tracker.test.js.map +0 -1
  462. package/dist/esm/test/promise_combinators.test.d.ts +0 -2
  463. package/dist/esm/test/promise_combinators.test.d.ts.map +0 -1
  464. package/dist/esm/test/promise_combinators.test.js +0 -431
  465. package/dist/esm/test/promise_combinators.test.js.map +0 -1
  466. package/dist/esm/test/promises.test.d.ts +0 -2
  467. package/dist/esm/test/promises.test.d.ts.map +0 -1
  468. package/dist/esm/test/promises.test.js +0 -30
  469. package/dist/esm/test/promises.test.js.map +0 -1
  470. package/dist/esm/test/protocol_stream.test.d.ts +0 -2
  471. package/dist/esm/test/protocol_stream.test.d.ts.map +0 -1
  472. package/dist/esm/test/protocol_stream.test.js +0 -218
  473. package/dist/esm/test/protocol_stream.test.js.map +0 -1
  474. package/dist/esm/test/protoutils.d.ts +0 -44
  475. package/dist/esm/test/protoutils.d.ts.map +0 -1
  476. package/dist/esm/test/protoutils.js +0 -335
  477. package/dist/esm/test/protoutils.js.map +0 -1
  478. package/dist/esm/test/service_bind.test.d.ts +0 -2
  479. package/dist/esm/test/service_bind.test.d.ts.map +0 -1
  480. package/dist/esm/test/service_bind.test.js +0 -93
  481. package/dist/esm/test/service_bind.test.js.map +0 -1
  482. package/dist/esm/test/side_effect.test.d.ts +0 -2
  483. package/dist/esm/test/side_effect.test.d.ts.map +0 -1
  484. package/dist/esm/test/side_effect.test.js +0 -131
  485. package/dist/esm/test/side_effect.test.js.map +0 -1
  486. package/dist/esm/test/sleep.test.d.ts +0 -2
  487. package/dist/esm/test/sleep.test.d.ts.map +0 -1
  488. package/dist/esm/test/sleep.test.js +0 -222
  489. package/dist/esm/test/sleep.test.js.map +0 -1
  490. package/dist/esm/test/state_keys.test.d.ts +0 -2
  491. package/dist/esm/test/state_keys.test.d.ts.map +0 -1
  492. package/dist/esm/test/state_keys.test.js +0 -90
  493. package/dist/esm/test/state_keys.test.js.map +0 -1
  494. package/dist/esm/test/state_machine.test.d.ts +0 -2
  495. package/dist/esm/test/state_machine.test.d.ts.map +0 -1
  496. package/dist/esm/test/state_machine.test.js +0 -40
  497. package/dist/esm/test/state_machine.test.js.map +0 -1
  498. package/dist/esm/test/testdriver.d.ts +0 -39
  499. package/dist/esm/test/testdriver.d.ts.map +0 -1
  500. package/dist/esm/test/testdriver.js +0 -182
  501. package/dist/esm/test/testdriver.js.map +0 -1
  502. package/dist/esm/test/utils.test.d.ts +0 -2
  503. package/dist/esm/test/utils.test.d.ts.map +0 -1
  504. package/dist/esm/test/utils.test.js +0 -91
  505. package/dist/esm/test/utils.test.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 |
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
  *
@@ -12,7 +14,7 @@ export interface Request {
12
14
  * The unique id that identifies the current function invocation. This id is guaranteed to be
13
15
  * unique across invocations, but constant across reties and suspensions.
14
16
  */
15
- readonly id: Uint8Array;
17
+ readonly id: string;
16
18
  /**
17
19
  * Request headers - the following headers capture the original invocation headers, as provided to
18
20
  * the ingress.
@@ -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 = {
@@ -132,10 +140,42 @@ export interface ContextDate {
132
140
  export type RunAction<T> = (() => Promise<T>) | (() => T);
133
141
  export type RunOptions<T> = {
134
142
  serde?: Serde<T>;
143
+ /**
144
+ * Max number of retry attempts, before giving up.
145
+ *
146
+ * When giving up, `ctx.run` will throw a `TerminalError` wrapping the original error message.
147
+ */
148
+ maxRetryAttempts?: number;
149
+ /**
150
+ * Max duration of retries, before giving up.
151
+ *
152
+ * When giving up, `ctx.run` will throw a `TerminalError` wrapping the original error message.
153
+ */
154
+ maxRetryDurationMillis?: number;
155
+ /**
156
+ * Initial interval for the first retry attempt.
157
+ * Retry interval will grow by a factor specified in `retryIntervalFactor`.
158
+ *
159
+ * The default is 50 milliseconds.
160
+ */
161
+ initialRetryIntervalMillis?: number;
162
+ /**
163
+ * Max interval between retries.
164
+ * Retry interval will grow by a factor specified in `retryIntervalFactor`.
165
+ *
166
+ * The default is 10 seconds.
167
+ */
168
+ maxRetryIntervalMillis?: number;
169
+ /**
170
+ * Exponentiation factor to use when computing the next retry delay.
171
+ *
172
+ * The default value is `2`, meaning retry interval will double at each attempt.
173
+ */
174
+ retryIntervalFactor?: number;
135
175
  };
136
176
  /**
137
177
  * Call a handler directly avoiding restate's type safety checks.
138
- * This is a generic machnisim to invoke handlers directly by only knowing
178
+ * This is a generic mechanism to invoke handlers directly by only knowing
139
179
  * the service and handler name, (or key in the case of objects or workflows)
140
180
  */
141
181
  export type GenericCall<REQ, RES> = {
@@ -143,8 +183,10 @@ export type GenericCall<REQ, RES> = {
143
183
  method: string;
144
184
  parameter: REQ;
145
185
  key?: string;
186
+ headers?: Record<string, string>;
146
187
  inputSerde?: Serde<REQ>;
147
188
  outputSerde?: Serde<RES>;
189
+ idempotencyKey?: string;
148
190
  };
149
191
  /**
150
192
  * Send a message to an handler directly avoiding restate's type safety checks.
@@ -156,8 +198,10 @@ export type GenericSend<REQ> = {
156
198
  method: string;
157
199
  parameter: REQ;
158
200
  key?: string;
201
+ headers?: Record<string, string>;
159
202
  inputSerde?: Serde<REQ>;
160
203
  delay?: number;
204
+ idempotencyKey?: string;
161
205
  };
162
206
  /**
163
207
  * The context that gives access to all Restate-backed operations, for example
@@ -222,6 +266,7 @@ export interface Context extends RestateContext {
222
266
  * throw new TerminalError("Payment failed");
223
267
  * } else if (result.paymentGatewayBusy) {
224
268
  * // restate will retry automatically
269
+ * // to bound retries, use RunOptions
225
270
  * throw new Exception("Payment gateway busy");
226
271
  * } else {
227
272
  * // success!
@@ -232,7 +277,7 @@ export interface Context extends RestateContext {
232
277
  *
233
278
  * @param action The function to run.
234
279
  */
235
- run<T>(action: RunAction<T>): Promise<T>;
280
+ run<T>(action: RunAction<T>): CombineablePromise<T>;
236
281
  /**
237
282
  * Run an operation and store the result in Restate. The operation will thus not
238
283
  * be re-run during a later replay, but take the durable result from Restate.
@@ -240,8 +285,8 @@ export interface Context extends RestateContext {
240
285
  * @param name the action's name
241
286
  * @param action the action to run.
242
287
  */
243
- run<T>(name: string, action: RunAction<T>): Promise<T>;
244
- 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>;
245
290
  /**
246
291
  * Register an awakeable and pause the processing until the awakeable ID (and optional payload) have been returned to the service
247
292
  * (via ctx.completeAwakeable(...)). The SDK deserializes the payload with `JSON.parse(result.toString()) as T`.
@@ -409,13 +454,26 @@ export interface Context extends RestateContext {
409
454
  * @param opts Send options
410
455
  */
411
456
  objectSendClient<D>(obj: VirtualObjectDefinitionFrom<D>, key: string, opts?: SendOptions): SendClient<VirtualObject<D>>;
412
- genericCall<REQ = Uint8Array, RES = Uint8Array>(call: GenericCall<REQ, RES>): Promise<RES>;
413
- 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;
414
459
  /**
415
460
  * Returns the raw request that triggered that handler.
416
461
  * Use that object to inspect the original request headers
417
462
  */
418
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>;
419
477
  }
420
478
  /**
421
479
  * The context that gives access to all Restate-backed operations, for example
@@ -485,8 +543,41 @@ export type CombineablePromise<T> = Promise<T> & {
485
543
  * @param millis duration of the sleep in millis.
486
544
  * This is a lower-bound.
487
545
  */
488
- 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>;
489
579
  };
580
+ export type InvocationPromise<T> = CombineablePromise<T> & InvocationHandle;
490
581
  export declare const CombineablePromise: {
491
582
  /**
492
583
  * Creates a Promise that is resolved with an array of results when all of the provided Promises
@@ -497,7 +588,7 @@ export declare const CombineablePromise: {
497
588
  * @param values An iterable of Promises.
498
589
  * @returns A new Promise.
499
590
  */
500
- 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]>; }>;
501
592
  /**
502
593
  * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
503
594
  * or rejected.
@@ -507,7 +598,7 @@ export declare const CombineablePromise: {
507
598
  * @param values An iterable of Promises.
508
599
  * @returns A new Promise.
509
600
  */
510
- 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]>>;
511
602
  /**
512
603
  * Creates a promise that fulfills when any of the input's promises fulfills, with this first fulfillment value.
513
604
  * It rejects when all the input's promises reject (including when an empty iterable is passed),
@@ -518,7 +609,7 @@ export declare const CombineablePromise: {
518
609
  * @param values An iterable of Promises.
519
610
  * @returns A new Promise.
520
611
  */
521
- 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]>>;
522
613
  /**
523
614
  * Creates a promise that fulfills when all the input's promises settle (including when an empty iterable is passed),
524
615
  * with an array of objects that describe the outcome of each promise.
@@ -528,7 +619,7 @@ export declare const CombineablePromise: {
528
619
  * @param values An iterable of Promises.
529
620
  * @returns A new Promise.
530
621
  */
531
- 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]>>; }>;
532
623
  };
533
624
  /**
534
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
@@ -23,10 +35,10 @@ exports.CombineablePromise = {
23
35
  * @returns A new Promise.
24
36
  */
25
37
  all(values) {
26
- if (values.length == 0) {
27
- return Promise.all(values);
38
+ if (values.length === 0) {
39
+ throw new Error("Expected combineable promise to have at least one promise");
28
40
  }
29
- return context_impl_js_1.ContextImpl.createCombinator(Promise.all.bind(Promise), 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
@@ -38,10 +50,10 @@ exports.CombineablePromise = {
38
50
  * @returns A new Promise.
39
51
  */
40
52
  race(values) {
41
- if (values.length == 0) {
42
- return Promise.race(values);
53
+ if (values.length === 0) {
54
+ throw new Error("Expected combineable promise to have at least one promise");
43
55
  }
44
- return context_impl_js_1.ContextImpl.createCombinator(Promise.race.bind(Promise), 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.
@@ -54,10 +66,10 @@ exports.CombineablePromise = {
54
66
  * @returns A new Promise.
55
67
  */
56
68
  any(values) {
57
- if (values.length == 0) {
58
- return Promise.any(values);
69
+ if (values.length === 0) {
70
+ throw new Error("Expected combineable promise to have at least one promise");
59
71
  }
60
- return context_impl_js_1.ContextImpl.createCombinator(Promise.any.bind(Promise), 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),
@@ -69,10 +81,10 @@ exports.CombineablePromise = {
69
81
  * @returns A new Promise.
70
82
  */
71
83
  allSettled(values) {
72
- if (values.length == 0) {
73
- return Promise.allSettled(values);
84
+ if (values.length === 0) {
85
+ throw new Error("Expected combineable promise to have at least one promise");
74
86
  }
75
- return context_impl_js_1.ContextImpl.createCombinator(Promise.allSettled.bind(Promise), 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;AAyjBnC,QAAA,kBAAkB,GAAG;IAChC;;;;;;;;OAQG;IACH,GAAG,CACD,MAAS;QAET,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,6BAAW,CAAC,gBAAgB,CACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EACzB,MAAM,CAGN,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,CACF,MAAS;QAET,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,6BAAW,CAAC,gBAAgB,CACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1B,MAAM,CACwB,CAAC;IACnC,CAAC;IAED;;;;;;;;;OASG;IACH,GAAG,CACD,MAAS;QAET,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,6BAAW,CAAC,gBAAgB,CACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EACzB,MAAM,CACwB,CAAC;IACnC,CAAC;IAED;;;;;;;;OAQG;IACH,UAAU,CACR,MAAS;QAIT,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,6BAAW,CAAC,gBAAgB,CACjC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAChC,MAAM,CAGN,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,52 +1,66 @@
1
1
  /// <reference types="node" />
2
- import type { CombineablePromise, ContextDate, DurablePromise, GenericCall, GenericSend, ObjectContext, Rand, Request, RunAction, RunOptions, SendOptions, WorkflowContext } from "./context.js";
3
- import type { StateMachine } from "./state_machine.js";
4
- import { HandlerKind } from "./types/rpc.js";
2
+ /// <reference types="node" />
3
+ import type { CombineablePromise, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationPromise, InvocationId, ObjectContext, Rand, Request, RunAction, RunOptions, SendOptions, WorkflowContext, InvocationHandle } from "./context.js";
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
- import type { Service, ServiceDefinitionFrom, VirtualObjectDefinitionFrom, VirtualObject, WorkflowDefinitionFrom, Workflow, Serde } from "@restatedev/restate-sdk-core";
7
- import type { WrappedPromise } from "./utils/promises.js";
8
- export type InternalCombineablePromise<T> = CombineablePromise<T> & {
9
- journalIndex: number;
10
- };
6
+ import { HandlerKind } from "./types/rpc.js";
7
+ import type { Serde, Service, ServiceDefinitionFrom, VirtualObject, VirtualObjectDefinitionFrom, Workflow, WorkflowDefinitionFrom } from "@restatedev/restate-sdk-core";
8
+ import type { ReadableStreamDefaultReader, WritableStreamDefaultWriter } from "node:stream/web";
9
+ import { CompletablePromise } from "./utils/completable_promise.js";
10
+ import type { AsyncResultValue } from "./promises.js";
11
+ import { PromisesExecutor } from "./promises.js";
11
12
  export declare class ContextImpl implements ObjectContext, WorkflowContext {
13
+ readonly coreVm: vm.WasmVM;
14
+ readonly input: vm.WasmInput;
12
15
  readonly console: Console;
13
16
  readonly handlerKind: HandlerKind;
14
- readonly keyedContextKey: string | undefined;
15
- readonly stateMachine: StateMachine;
16
- private executingRun;
17
+ private readonly vmLogger;
17
18
  private readonly invocationRequest;
19
+ private readonly invocationEndPromise;
18
20
  readonly rand: Rand;
19
21
  readonly date: ContextDate;
20
- constructor(id: Uint8Array, console: Console, handlerKind: HandlerKind, keyedContextKey: string | undefined, invocationValue: Uint8Array, invocationHeaders: ReadonlyMap<string, string>, attemptHeaders: ReadonlyMap<string, string | string[] | undefined>, extraArgs: unknown[], stateMachine: StateMachine);
21
- promise<T>(name: string, serde?: Serde<T>): DurablePromise<T>;
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>;
22
28
  get key(): string;
23
29
  request(): Request;
24
- get<T>(name: string, serde?: Serde<T>): Promise<T | null>;
25
- stateKeys(): Promise<Array<string>>;
30
+ get<T>(name: string, serde?: Serde<T>): CombineablePromise<T | null>;
31
+ stateKeys(): CombineablePromise<Array<string>>;
26
32
  set<T>(name: string, value: T, serde?: Serde<T>): void;
27
33
  clear(name: string): void;
28
34
  clearAll(): void;
29
- genericCall<REQ = Uint8Array, RES = Uint8Array>(call: GenericCall<REQ, RES>): Promise<RES>;
30
- 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;
31
38
  serviceClient<D>({ name }: ServiceDefinitionFrom<D>): Client<Service<D>>;
32
39
  objectClient<D>({ name }: VirtualObjectDefinitionFrom<D>, key: string): Client<VirtualObject<D>>;
33
40
  workflowClient<D>({ name }: WorkflowDefinitionFrom<D>, key: string): Client<Workflow<D>>;
34
41
  serviceSendClient<D>({ name }: ServiceDefinitionFrom<D>, opts?: SendOptions): SendClient<Service<D>>;
35
42
  objectSendClient<D>({ name }: VirtualObjectDefinitionFrom<D>, key: string, opts?: SendOptions): SendClient<VirtualObject<D>>;
36
43
  workflowSendClient<D>({ name }: WorkflowDefinitionFrom<D>, key: string, opts?: SendOptions): SendClient<Workflow<D>>;
37
- 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>;
38
45
  sleep(millis: number): CombineablePromise<void>;
39
- private sleepInternal;
40
46
  awakeable<T>(serde?: Serde<T>): {
41
47
  id: string;
42
48
  promise: CombineablePromise<T>;
43
49
  };
44
50
  resolveAwakeable<T>(id: string, payload?: T, serde?: Serde<T>): void;
45
51
  rejectAwakeable(id: string, reason: string): void;
46
- private completeAwakeable;
47
- static createCombinator<T extends readonly CombineablePromise<unknown>[]>(combinatorConstructor: (promises: PromiseLike<unknown>[]) => Promise<unknown>, promises: T): WrappedPromise<unknown>;
48
- private checkNotExecutingRun;
49
- private checkState;
50
- markCombineablePromise<T>(p: WrappedPromise<T>): InternalCombineablePromise<T>;
52
+ promise<T>(name: string, serde?: Serde<T>): DurablePromise<T>;
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>;
56
+ handleInvocationEndError(e: unknown): void;
57
+ }
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;
51
65
  }
52
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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"}