@restatedev/restate-sdk 1.0.0 → 1.1.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 (615) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/package.json +1 -0
  3. package/dist/cjs/src/common_api.d.ts +9 -0
  4. package/dist/cjs/src/common_api.d.ts.map +1 -0
  5. package/dist/{src/public_api.js → cjs/src/common_api.js} +13 -15
  6. package/dist/cjs/src/common_api.js.map +1 -0
  7. package/dist/{src/connection/http_connection.d.ts → cjs/src/connection/connection.d.ts} +32 -25
  8. package/dist/cjs/src/connection/connection.d.ts.map +1 -0
  9. package/dist/cjs/src/connection/connection.js +181 -0
  10. package/dist/cjs/src/connection/connection.js.map +1 -0
  11. package/dist/{src → cjs/src}/context.d.ts +14 -10
  12. package/dist/cjs/src/context.d.ts.map +1 -0
  13. package/dist/{src → cjs/src}/context.js +5 -5
  14. package/dist/cjs/src/context.js.map +1 -0
  15. package/dist/{src → cjs/src}/context_impl.d.ts +7 -18
  16. package/dist/cjs/src/context_impl.d.ts.map +1 -0
  17. package/dist/{src → cjs/src}/context_impl.js +90 -123
  18. package/dist/cjs/src/context_impl.js.map +1 -0
  19. package/dist/cjs/src/endpoint/endpoint_builder.d.ts +28 -0
  20. package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -0
  21. package/dist/{src/endpoint/endpoint_impl.js → cjs/src/endpoint/endpoint_builder.js} +30 -77
  22. package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -0
  23. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +54 -0
  24. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -0
  25. package/dist/cjs/src/endpoint/fetch_endpoint.js +61 -0
  26. package/dist/cjs/src/endpoint/fetch_endpoint.js.map +1 -0
  27. package/dist/cjs/src/endpoint/handlers/fetch.d.ts +6 -0
  28. package/dist/cjs/src/endpoint/handlers/fetch.d.ts.map +1 -0
  29. package/dist/cjs/src/endpoint/handlers/fetch.js +33 -0
  30. package/dist/cjs/src/endpoint/handlers/fetch.js.map +1 -0
  31. package/dist/cjs/src/endpoint/handlers/generic.d.ts +47 -0
  32. package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -0
  33. package/dist/cjs/src/endpoint/handlers/generic.js +215 -0
  34. package/dist/cjs/src/endpoint/handlers/generic.js.map +1 -0
  35. package/dist/cjs/src/endpoint/handlers/lambda.d.ts +8 -0
  36. package/dist/cjs/src/endpoint/handlers/lambda.d.ts.map +1 -0
  37. package/dist/cjs/src/endpoint/handlers/lambda.js +83 -0
  38. package/dist/cjs/src/endpoint/handlers/lambda.js.map +1 -0
  39. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +34 -0
  40. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -0
  41. package/dist/cjs/src/endpoint/lambda_endpoint.js +53 -0
  42. package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -0
  43. package/dist/cjs/src/endpoint/node_endpoint.d.ts +21 -0
  44. package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -0
  45. package/dist/cjs/src/endpoint/node_endpoint.js +127 -0
  46. package/dist/cjs/src/endpoint/node_endpoint.js.map +1 -0
  47. package/dist/cjs/src/endpoint/request_signing/basex.d.ts.map +1 -0
  48. package/dist/cjs/src/endpoint/request_signing/basex.js.map +1 -0
  49. package/dist/{src → cjs/src}/endpoint/request_signing/ed25519.d.ts +1 -1
  50. package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
  51. package/dist/{src → cjs/src}/endpoint/request_signing/ed25519.js +3 -1
  52. package/dist/cjs/src/endpoint/request_signing/ed25519.js.map +1 -0
  53. package/dist/{src → cjs/src}/endpoint/request_signing/v1.d.ts +2 -2
  54. package/dist/cjs/src/endpoint/request_signing/v1.d.ts.map +1 -0
  55. package/dist/{src → cjs/src}/endpoint/request_signing/v1.js +9 -16
  56. package/dist/cjs/src/endpoint/request_signing/v1.js.map +1 -0
  57. package/dist/{src → cjs/src}/endpoint/request_signing/validate.d.ts +1 -1
  58. package/dist/cjs/src/endpoint/request_signing/validate.d.ts.map +1 -0
  59. package/dist/{src → cjs/src}/endpoint/request_signing/validate.js +3 -3
  60. package/dist/cjs/src/endpoint/request_signing/validate.js.map +1 -0
  61. package/dist/{src → cjs/src}/endpoint.d.ts +51 -29
  62. package/dist/cjs/src/endpoint.d.ts.map +1 -0
  63. package/dist/{src/connection/connection.js → cjs/src/endpoint.js} +1 -1
  64. package/dist/cjs/src/endpoint.js.map +1 -0
  65. package/dist/cjs/src/fetch.d.ts +8 -0
  66. package/dist/cjs/src/fetch.d.ts.map +1 -0
  67. package/dist/cjs/src/fetch.js +39 -0
  68. package/dist/cjs/src/fetch.js.map +1 -0
  69. package/dist/cjs/src/generated/proto/discovery_pb.d.ts.map +1 -0
  70. package/dist/{src → cjs/src}/generated/proto/discovery_pb.js +1 -1
  71. package/dist/cjs/src/generated/proto/discovery_pb.js.map +1 -0
  72. package/dist/cjs/src/generated/proto/javascript_pb.d.ts.map +1 -0
  73. package/dist/cjs/src/generated/proto/javascript_pb.js.map +1 -0
  74. package/dist/cjs/src/generated/proto/protocol_pb.d.ts.map +1 -0
  75. package/dist/{src → cjs/src}/generated/proto/protocol_pb.js +1 -1
  76. package/dist/cjs/src/generated/proto/protocol_pb.js.map +1 -0
  77. package/dist/cjs/src/generated/version.d.ts +2 -0
  78. package/dist/cjs/src/generated/version.d.ts.map +1 -0
  79. package/dist/{src → cjs/src}/generated/version.js +1 -1
  80. package/dist/cjs/src/generated/version.js.map +1 -0
  81. package/dist/{src → cjs/src}/invocation.d.ts +5 -5
  82. package/dist/cjs/src/invocation.d.ts.map +1 -0
  83. package/dist/{src → cjs/src}/invocation.js +14 -14
  84. package/dist/cjs/src/invocation.js.map +1 -0
  85. package/dist/{src → cjs/src}/io/decoder.d.ts +3 -3
  86. package/dist/cjs/src/io/decoder.d.ts.map +1 -0
  87. package/dist/{src → cjs/src}/io/decoder.js +25 -24
  88. package/dist/cjs/src/io/decoder.js.map +1 -0
  89. package/dist/cjs/src/io/encoder.d.ts +4 -0
  90. package/dist/cjs/src/io/encoder.d.ts.map +1 -0
  91. package/dist/{src → cjs/src}/io/encoder.js +7 -23
  92. package/dist/cjs/src/io/encoder.js.map +1 -0
  93. package/dist/{src → cjs/src}/journal.d.ts +7 -7
  94. package/dist/cjs/src/journal.d.ts.map +1 -0
  95. package/dist/{src → cjs/src}/journal.js +38 -38
  96. package/dist/cjs/src/journal.js.map +1 -0
  97. package/dist/cjs/src/lambda.d.ts +7 -0
  98. package/dist/cjs/src/lambda.d.ts.map +1 -0
  99. package/dist/cjs/src/lambda.js +37 -0
  100. package/dist/cjs/src/lambda.js.map +1 -0
  101. package/dist/{src → cjs/src}/local_state_store.d.ts +2 -1
  102. package/dist/cjs/src/local_state_store.d.ts.map +1 -0
  103. package/dist/{src → cjs/src}/local_state_store.js +10 -10
  104. package/dist/cjs/src/local_state_store.js.map +1 -0
  105. package/dist/cjs/src/logger.d.ts +35 -0
  106. package/dist/cjs/src/logger.d.ts.map +1 -0
  107. package/dist/cjs/src/logger.js +151 -0
  108. package/dist/cjs/src/logger.js.map +1 -0
  109. package/dist/{src → cjs/src}/promise_combinator_tracker.d.ts +1 -1
  110. package/dist/cjs/src/promise_combinator_tracker.d.ts.map +1 -0
  111. package/dist/{src → cjs/src}/promise_combinator_tracker.js +7 -5
  112. package/dist/cjs/src/promise_combinator_tracker.js.map +1 -0
  113. package/dist/cjs/src/public_api.d.ts +7 -0
  114. package/dist/cjs/src/public_api.d.ts.map +1 -0
  115. package/dist/cjs/src/public_api.js +37 -0
  116. package/dist/cjs/src/public_api.js.map +1 -0
  117. package/dist/{src → cjs/src}/state_machine.d.ts +13 -15
  118. package/dist/cjs/src/state_machine.d.ts.map +1 -0
  119. package/dist/{src → cjs/src}/state_machine.js +55 -63
  120. package/dist/cjs/src/state_machine.js.map +1 -0
  121. package/dist/{src → cjs/src}/types/components.d.ts +4 -3
  122. package/dist/cjs/src/types/components.d.ts.map +1 -0
  123. package/dist/{src → cjs/src}/types/components.js +4 -4
  124. package/dist/cjs/src/types/components.js.map +1 -0
  125. package/dist/cjs/src/types/discovery.d.ts.map +1 -0
  126. package/dist/{src → cjs/src}/types/discovery.js +3 -3
  127. package/dist/cjs/src/types/discovery.js.map +1 -0
  128. package/dist/{src → cjs/src}/types/errors.d.ts +2 -2
  129. package/dist/cjs/src/types/errors.d.ts.map +1 -0
  130. package/dist/{src → cjs/src}/types/errors.js +8 -8
  131. package/dist/cjs/src/types/errors.js.map +1 -0
  132. package/dist/{src → cjs/src}/types/protocol.d.ts +6 -8
  133. package/dist/cjs/src/types/protocol.d.ts.map +1 -0
  134. package/dist/{src → cjs/src}/types/protocol.js +61 -61
  135. package/dist/cjs/src/types/protocol.js.map +1 -0
  136. package/dist/{src → cjs/src}/types/rpc.d.ts +13 -13
  137. package/dist/cjs/src/types/rpc.d.ts.map +1 -0
  138. package/dist/{src → cjs/src}/types/rpc.js +8 -7
  139. package/dist/cjs/src/types/rpc.js.map +1 -0
  140. package/dist/{src → cjs/src}/types/types.d.ts +1 -1
  141. package/dist/cjs/src/types/types.d.ts.map +1 -0
  142. package/dist/{src → cjs/src}/types/types.js +14 -14
  143. package/dist/cjs/src/types/types.js.map +1 -0
  144. package/dist/cjs/src/user_agent.d.ts +2 -0
  145. package/dist/cjs/src/user_agent.d.ts.map +1 -0
  146. package/dist/{src → cjs/src}/user_agent.js +2 -2
  147. package/dist/cjs/src/user_agent.js.map +1 -0
  148. package/dist/cjs/src/utils/buffer.d.ts +5 -0
  149. package/dist/cjs/src/utils/buffer.d.ts.map +1 -0
  150. package/dist/cjs/src/utils/buffer.js +59 -0
  151. package/dist/cjs/src/utils/buffer.js.map +1 -0
  152. package/dist/cjs/src/utils/message_logger.d.ts +7 -0
  153. package/dist/cjs/src/utils/message_logger.d.ts.map +1 -0
  154. package/dist/{src → cjs/src}/utils/message_logger.js +8 -8
  155. package/dist/cjs/src/utils/message_logger.js.map +1 -0
  156. package/dist/cjs/src/utils/promises.d.ts.map +1 -0
  157. package/dist/{src → cjs/src}/utils/promises.js +2 -1
  158. package/dist/cjs/src/utils/promises.js.map +1 -0
  159. package/dist/{src → cjs/src}/utils/rand.d.ts +3 -3
  160. package/dist/cjs/src/utils/rand.d.ts.map +1 -0
  161. package/dist/{src → cjs/src}/utils/rand.js +10 -15
  162. package/dist/cjs/src/utils/rand.js.map +1 -0
  163. package/dist/cjs/src/utils/serde.d.ts +5 -0
  164. package/dist/cjs/src/utils/serde.d.ts.map +1 -0
  165. package/dist/{src → cjs/src}/utils/serde.js +6 -4
  166. package/dist/cjs/src/utils/serde.js.map +1 -0
  167. package/dist/cjs/src/utils/streams.d.ts +4 -0
  168. package/dist/cjs/src/utils/streams.d.ts.map +1 -0
  169. package/dist/cjs/src/utils/streams.js +24 -0
  170. package/dist/cjs/src/utils/streams.js.map +1 -0
  171. package/dist/cjs/src/utils/utils.d.ts.map +1 -0
  172. package/dist/{src → cjs/src}/utils/utils.js +11 -11
  173. package/dist/cjs/src/utils/utils.js.map +1 -0
  174. package/dist/cjs/test/awakeable.test.d.ts +2 -0
  175. package/dist/cjs/test/awakeable.test.d.ts.map +1 -0
  176. package/dist/cjs/test/awakeable.test.js +141 -0
  177. package/dist/cjs/test/awakeable.test.js.map +1 -0
  178. package/dist/cjs/test/complete_awakeable.test.d.ts +2 -0
  179. package/dist/cjs/test/complete_awakeable.test.d.ts.map +1 -0
  180. package/dist/cjs/test/complete_awakeable.test.js +123 -0
  181. package/dist/cjs/test/complete_awakeable.test.js.map +1 -0
  182. package/dist/cjs/test/eager_state.test.d.ts +2 -0
  183. package/dist/cjs/test/eager_state.test.d.ts.map +1 -0
  184. package/dist/cjs/test/eager_state.test.js +280 -0
  185. package/dist/cjs/test/eager_state.test.js.map +1 -0
  186. package/dist/cjs/test/get_and_set_state.test.d.ts +2 -0
  187. package/dist/cjs/test/get_and_set_state.test.d.ts.map +1 -0
  188. package/dist/cjs/test/get_and_set_state.test.js +233 -0
  189. package/dist/cjs/test/get_and_set_state.test.js.map +1 -0
  190. package/dist/cjs/test/get_state.test.d.ts +2 -0
  191. package/dist/cjs/test/get_state.test.d.ts.map +1 -0
  192. package/dist/cjs/test/get_state.test.js +333 -0
  193. package/dist/cjs/test/get_state.test.js.map +1 -0
  194. package/dist/cjs/test/lambda.test.d.ts +2 -0
  195. package/dist/cjs/test/lambda.test.d.ts.map +1 -0
  196. package/dist/cjs/test/lambda.test.js +246 -0
  197. package/dist/cjs/test/lambda.test.js.map +1 -0
  198. package/dist/cjs/test/message_coders.test.d.ts +2 -0
  199. package/dist/cjs/test/message_coders.test.d.ts.map +1 -0
  200. package/dist/cjs/test/message_coders.test.js +37 -0
  201. package/dist/cjs/test/message_coders.test.js.map +1 -0
  202. package/dist/cjs/test/promise_combinator_tracker.test.d.ts +2 -0
  203. package/dist/cjs/test/promise_combinator_tracker.test.d.ts.map +1 -0
  204. package/dist/cjs/test/promise_combinator_tracker.test.js +156 -0
  205. package/dist/cjs/test/promise_combinator_tracker.test.js.map +1 -0
  206. package/dist/cjs/test/promise_combinators.test.d.ts +2 -0
  207. package/dist/cjs/test/promise_combinators.test.d.ts.map +1 -0
  208. package/dist/cjs/test/promise_combinators.test.js +433 -0
  209. package/dist/cjs/test/promise_combinators.test.js.map +1 -0
  210. package/dist/cjs/test/promises.test.d.ts +2 -0
  211. package/dist/cjs/test/promises.test.d.ts.map +1 -0
  212. package/dist/cjs/test/promises.test.js +32 -0
  213. package/dist/cjs/test/promises.test.js.map +1 -0
  214. package/dist/cjs/test/protocol_stream.test.d.ts +2 -0
  215. package/dist/cjs/test/protocol_stream.test.d.ts.map +1 -0
  216. package/dist/cjs/test/protocol_stream.test.js +243 -0
  217. package/dist/cjs/test/protocol_stream.test.js.map +1 -0
  218. package/dist/cjs/test/protoutils.d.ts +44 -0
  219. package/dist/cjs/test/protoutils.d.ts.map +1 -0
  220. package/dist/cjs/test/protoutils.js +359 -0
  221. package/dist/cjs/test/protoutils.js.map +1 -0
  222. package/dist/cjs/test/service_bind.test.d.ts +2 -0
  223. package/dist/cjs/test/service_bind.test.d.ts.map +1 -0
  224. package/dist/cjs/test/service_bind.test.js +50 -0
  225. package/dist/cjs/test/service_bind.test.js.map +1 -0
  226. package/dist/cjs/test/side_effect.test.d.ts +2 -0
  227. package/dist/cjs/test/side_effect.test.d.ts.map +1 -0
  228. package/dist/cjs/test/side_effect.test.js +133 -0
  229. package/dist/cjs/test/side_effect.test.js.map +1 -0
  230. package/dist/cjs/test/sleep.test.d.ts +2 -0
  231. package/dist/cjs/test/sleep.test.d.ts.map +1 -0
  232. package/dist/cjs/test/sleep.test.js +224 -0
  233. package/dist/cjs/test/sleep.test.js.map +1 -0
  234. package/dist/cjs/test/state_keys.test.d.ts +2 -0
  235. package/dist/cjs/test/state_keys.test.d.ts.map +1 -0
  236. package/dist/cjs/test/state_keys.test.js +92 -0
  237. package/dist/cjs/test/state_keys.test.js.map +1 -0
  238. package/dist/cjs/test/state_machine.test.d.ts +2 -0
  239. package/dist/cjs/test/state_machine.test.d.ts.map +1 -0
  240. package/dist/cjs/test/state_machine.test.js +42 -0
  241. package/dist/cjs/test/state_machine.test.js.map +1 -0
  242. package/dist/cjs/test/testdriver.d.ts +31 -0
  243. package/dist/cjs/test/testdriver.d.ts.map +1 -0
  244. package/dist/cjs/test/testdriver.js +137 -0
  245. package/dist/cjs/test/testdriver.js.map +1 -0
  246. package/dist/cjs/test/utils.test.d.ts +2 -0
  247. package/dist/cjs/test/utils.test.d.ts.map +1 -0
  248. package/dist/cjs/test/utils.test.js +104 -0
  249. package/dist/cjs/test/utils.test.js.map +1 -0
  250. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  251. package/dist/esm/src/common_api.d.ts +9 -0
  252. package/dist/esm/src/common_api.d.ts.map +1 -0
  253. package/dist/esm/src/common_api.js +14 -0
  254. package/dist/esm/src/common_api.js.map +1 -0
  255. package/dist/esm/src/connection/connection.d.ts +84 -0
  256. package/dist/esm/src/connection/connection.d.ts.map +1 -0
  257. package/dist/esm/src/connection/connection.js +177 -0
  258. package/dist/esm/src/connection/connection.js.map +1 -0
  259. package/dist/esm/src/context.d.ts +545 -0
  260. package/dist/esm/src/context.d.ts.map +1 -0
  261. package/dist/esm/src/context.js +75 -0
  262. package/dist/esm/src/context.js.map +1 -0
  263. package/dist/esm/src/context_impl.d.ts +54 -0
  264. package/dist/esm/src/context_impl.d.ts.map +1 -0
  265. package/dist/esm/src/context_impl.js +510 -0
  266. package/dist/esm/src/context_impl.js.map +1 -0
  267. package/dist/esm/src/endpoint/endpoint_builder.d.ts +28 -0
  268. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -0
  269. package/dist/esm/src/endpoint/endpoint_builder.js +139 -0
  270. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -0
  271. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +54 -0
  272. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -0
  273. package/dist/esm/src/endpoint/fetch_endpoint.js +57 -0
  274. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -0
  275. package/dist/esm/src/endpoint/handlers/fetch.d.ts +6 -0
  276. package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -0
  277. package/dist/esm/src/endpoint/handlers/fetch.js +29 -0
  278. package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -0
  279. package/dist/esm/src/endpoint/handlers/generic.d.ts +47 -0
  280. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -0
  281. package/dist/esm/src/endpoint/handlers/generic.js +211 -0
  282. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -0
  283. package/dist/esm/src/endpoint/handlers/lambda.d.ts +8 -0
  284. package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -0
  285. package/dist/esm/src/endpoint/handlers/lambda.js +79 -0
  286. package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -0
  287. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +34 -0
  288. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -0
  289. package/dist/esm/src/endpoint/lambda_endpoint.js +49 -0
  290. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -0
  291. package/dist/esm/src/endpoint/node_endpoint.d.ts +21 -0
  292. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -0
  293. package/dist/esm/src/endpoint/node_endpoint.js +100 -0
  294. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -0
  295. package/dist/esm/src/endpoint/request_signing/basex.d.ts +10 -0
  296. package/dist/esm/src/endpoint/request_signing/basex.d.ts.map +1 -0
  297. package/dist/esm/src/endpoint/request_signing/basex.js +136 -0
  298. package/dist/esm/src/endpoint/request_signing/basex.js.map +1 -0
  299. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts +17 -0
  300. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
  301. package/dist/esm/src/endpoint/request_signing/ed25519.js +52 -0
  302. package/dist/esm/src/endpoint/request_signing/ed25519.js.map +1 -0
  303. package/dist/esm/src/endpoint/request_signing/v1.d.ts +9 -0
  304. package/dist/esm/src/endpoint/request_signing/v1.d.ts.map +1 -0
  305. package/dist/esm/src/endpoint/request_signing/v1.js +133 -0
  306. package/dist/esm/src/endpoint/request_signing/v1.js.map +1 -0
  307. package/dist/esm/src/endpoint/request_signing/validate.d.ts +18 -0
  308. package/dist/esm/src/endpoint/request_signing/validate.d.ts.map +1 -0
  309. package/dist/esm/src/endpoint/request_signing/validate.js +40 -0
  310. package/dist/esm/src/endpoint/request_signing/validate.js.map +1 -0
  311. package/dist/esm/src/endpoint.d.ts +126 -0
  312. package/dist/esm/src/endpoint.d.ts.map +1 -0
  313. package/dist/esm/src/endpoint.js +12 -0
  314. package/dist/esm/src/endpoint.js.map +1 -0
  315. package/dist/esm/src/fetch.d.ts +8 -0
  316. package/dist/esm/src/fetch.d.ts.map +1 -0
  317. package/dist/esm/src/fetch.js +21 -0
  318. package/dist/esm/src/fetch.js.map +1 -0
  319. package/dist/esm/src/generated/proto/discovery_pb.d.ts +18 -0
  320. package/dist/esm/src/generated/proto/discovery_pb.d.ts.map +1 -0
  321. package/dist/esm/src/generated/proto/discovery_pb.js +37 -0
  322. package/dist/esm/src/generated/proto/discovery_pb.js.map +1 -0
  323. package/dist/esm/src/generated/proto/javascript_pb.d.ts +26 -0
  324. package/dist/esm/src/generated/proto/javascript_pb.d.ts.map +1 -0
  325. package/dist/esm/src/generated/proto/javascript_pb.js +48 -0
  326. package/dist/esm/src/generated/proto/javascript_pb.js.map +1 -0
  327. package/dist/esm/src/generated/proto/protocol_pb.d.ts +1051 -0
  328. package/dist/esm/src/generated/proto/protocol_pb.d.ts.map +1 -0
  329. package/dist/esm/src/generated/proto/protocol_pb.js +1258 -0
  330. package/dist/esm/src/generated/proto/protocol_pb.js.map +1 -0
  331. package/dist/esm/src/generated/version.d.ts +2 -0
  332. package/dist/esm/src/generated/version.d.ts.map +1 -0
  333. package/dist/esm/src/generated/version.js +2 -0
  334. package/dist/esm/src/generated/version.js.map +1 -0
  335. package/dist/esm/src/invocation.d.ts +48 -0
  336. package/dist/esm/src/invocation.d.ts.map +1 -0
  337. package/dist/esm/src/invocation.js +153 -0
  338. package/dist/esm/src/invocation.js.map +1 -0
  339. package/dist/esm/src/io/decoder.d.ts +9 -0
  340. package/dist/esm/src/io/decoder.d.ts.map +1 -0
  341. package/dist/esm/src/io/decoder.js +128 -0
  342. package/dist/esm/src/io/decoder.js.map +1 -0
  343. package/dist/esm/src/io/encoder.d.ts +4 -0
  344. package/dist/esm/src/io/encoder.d.ts.map +1 -0
  345. package/dist/esm/src/io/encoder.js +36 -0
  346. package/dist/esm/src/io/encoder.js.map +1 -0
  347. package/dist/esm/src/journal.d.ts +52 -0
  348. package/dist/esm/src/journal.d.ts.map +1 -0
  349. package/dist/esm/src/journal.js +412 -0
  350. package/dist/esm/src/journal.js.map +1 -0
  351. package/dist/esm/src/lambda.d.ts +7 -0
  352. package/dist/esm/src/lambda.d.ts.map +1 -0
  353. package/dist/{src/endpoint.js → esm/src/lambda.js} +5 -8
  354. package/dist/esm/src/lambda.js.map +1 -0
  355. package/dist/esm/src/local_state_store.d.ts +16 -0
  356. package/dist/esm/src/local_state_store.d.ts.map +1 -0
  357. package/dist/esm/src/local_state_store.js +80 -0
  358. package/dist/esm/src/local_state_store.js.map +1 -0
  359. package/dist/esm/src/logger.d.ts +35 -0
  360. package/dist/esm/src/logger.d.ts.map +1 -0
  361. package/dist/esm/src/logger.js +144 -0
  362. package/dist/esm/src/logger.js.map +1 -0
  363. package/dist/esm/src/promise_combinator_tracker.d.ts +29 -0
  364. package/dist/esm/src/promise_combinator_tracker.d.ts.map +1 -0
  365. package/dist/esm/src/promise_combinator_tracker.js +125 -0
  366. package/dist/esm/src/promise_combinator_tracker.js.map +1 -0
  367. package/dist/esm/src/public_api.d.ts +7 -0
  368. package/dist/esm/src/public_api.d.ts.map +1 -0
  369. package/dist/esm/src/public_api.js +19 -0
  370. package/dist/esm/src/public_api.js.map +1 -0
  371. package/dist/esm/src/state_machine.d.ts +84 -0
  372. package/dist/esm/src/state_machine.d.ts.map +1 -0
  373. package/dist/esm/src/state_machine.js +399 -0
  374. package/dist/esm/src/state_machine.js.map +1 -0
  375. package/dist/esm/src/types/components.d.ts +78 -0
  376. package/dist/esm/src/types/components.d.ts.map +1 -0
  377. package/dist/esm/src/types/components.js +227 -0
  378. package/dist/esm/src/types/components.js.map +1 -0
  379. package/dist/esm/src/types/discovery.d.ts +43 -0
  380. package/dist/esm/src/types/discovery.d.ts.map +1 -0
  381. package/dist/esm/src/types/discovery.js +28 -0
  382. package/dist/esm/src/types/discovery.js.map +1 -0
  383. package/dist/esm/src/types/errors.d.ts +53 -0
  384. package/dist/esm/src/types/errors.d.ts.map +1 -0
  385. package/dist/esm/src/types/errors.js +117 -0
  386. package/dist/esm/src/types/errors.js.map +1 -0
  387. package/dist/esm/src/types/protocol.d.ts +40 -0
  388. package/dist/esm/src/types/protocol.d.ts.map +1 -0
  389. package/dist/esm/src/types/protocol.js +206 -0
  390. package/dist/esm/src/types/protocol.js.map +1 -0
  391. package/dist/esm/src/types/rpc.d.ts +300 -0
  392. package/dist/esm/src/types/rpc.d.ts.map +1 -0
  393. package/dist/esm/src/types/rpc.js +412 -0
  394. package/dist/esm/src/types/rpc.js.map +1 -0
  395. package/dist/esm/src/types/types.d.ts +20 -0
  396. package/dist/esm/src/types/types.d.ts.map +1 -0
  397. package/dist/esm/src/types/types.js +105 -0
  398. package/dist/esm/src/types/types.js.map +1 -0
  399. package/dist/esm/src/user_agent.d.ts +2 -0
  400. package/dist/esm/src/user_agent.d.ts.map +1 -0
  401. package/dist/esm/src/user_agent.js +13 -0
  402. package/dist/esm/src/user_agent.js.map +1 -0
  403. package/dist/esm/src/utils/buffer.d.ts +5 -0
  404. package/dist/esm/src/utils/buffer.d.ts.map +1 -0
  405. package/dist/esm/src/utils/buffer.js +53 -0
  406. package/dist/esm/src/utils/buffer.js.map +1 -0
  407. package/dist/esm/src/utils/message_logger.d.ts +7 -0
  408. package/dist/esm/src/utils/message_logger.d.ts.map +1 -0
  409. package/dist/esm/src/utils/message_logger.js +75 -0
  410. package/dist/esm/src/utils/message_logger.js.map +1 -0
  411. package/dist/esm/src/utils/promises.d.ts +15 -0
  412. package/dist/esm/src/utils/promises.d.ts.map +1 -0
  413. package/dist/esm/src/utils/promises.js +63 -0
  414. package/dist/esm/src/utils/promises.js.map +1 -0
  415. package/dist/esm/src/utils/rand.d.ts +15 -0
  416. package/dist/esm/src/utils/rand.d.ts.map +1 -0
  417. package/dist/esm/src/utils/rand.js +106 -0
  418. package/dist/esm/src/utils/rand.js.map +1 -0
  419. package/dist/esm/src/utils/serde.d.ts +5 -0
  420. package/dist/esm/src/utils/serde.d.ts.map +1 -0
  421. package/dist/esm/src/utils/serde.js +43 -0
  422. package/dist/esm/src/utils/serde.js.map +1 -0
  423. package/dist/esm/src/utils/streams.d.ts +4 -0
  424. package/dist/esm/src/utils/streams.d.ts.map +1 -0
  425. package/dist/esm/src/utils/streams.js +20 -0
  426. package/dist/esm/src/utils/streams.js.map +1 -0
  427. package/dist/esm/src/utils/utils.d.ts +5 -0
  428. package/dist/esm/src/utils/utils.d.ts.map +1 -0
  429. package/dist/esm/src/utils/utils.js +109 -0
  430. package/dist/esm/src/utils/utils.js.map +1 -0
  431. package/dist/esm/test/awakeable.test.d.ts +2 -0
  432. package/dist/esm/test/awakeable.test.d.ts.map +1 -0
  433. package/dist/esm/test/awakeable.test.js +139 -0
  434. package/dist/esm/test/awakeable.test.js.map +1 -0
  435. package/dist/esm/test/complete_awakeable.test.d.ts +2 -0
  436. package/dist/esm/test/complete_awakeable.test.d.ts.map +1 -0
  437. package/dist/esm/test/complete_awakeable.test.js +121 -0
  438. package/dist/esm/test/complete_awakeable.test.js.map +1 -0
  439. package/dist/esm/test/eager_state.test.d.ts +2 -0
  440. package/dist/esm/test/eager_state.test.d.ts.map +1 -0
  441. package/dist/esm/test/eager_state.test.js +278 -0
  442. package/dist/esm/test/eager_state.test.js.map +1 -0
  443. package/dist/esm/test/get_and_set_state.test.d.ts +2 -0
  444. package/dist/esm/test/get_and_set_state.test.d.ts.map +1 -0
  445. package/dist/esm/test/get_and_set_state.test.js +231 -0
  446. package/dist/esm/test/get_and_set_state.test.js.map +1 -0
  447. package/dist/esm/test/get_state.test.d.ts +2 -0
  448. package/dist/esm/test/get_state.test.d.ts.map +1 -0
  449. package/dist/esm/test/get_state.test.js +331 -0
  450. package/dist/esm/test/get_state.test.js.map +1 -0
  451. package/dist/esm/test/lambda.test.d.ts +2 -0
  452. package/dist/esm/test/lambda.test.d.ts.map +1 -0
  453. package/dist/esm/test/lambda.test.js +221 -0
  454. package/dist/esm/test/lambda.test.js.map +1 -0
  455. package/dist/esm/test/message_coders.test.d.ts +2 -0
  456. package/dist/esm/test/message_coders.test.d.ts.map +1 -0
  457. package/dist/esm/test/message_coders.test.js +35 -0
  458. package/dist/esm/test/message_coders.test.js.map +1 -0
  459. package/dist/esm/test/promise_combinator_tracker.test.d.ts +2 -0
  460. package/dist/esm/test/promise_combinator_tracker.test.d.ts.map +1 -0
  461. package/dist/esm/test/promise_combinator_tracker.test.js +154 -0
  462. package/dist/esm/test/promise_combinator_tracker.test.js.map +1 -0
  463. package/dist/esm/test/promise_combinators.test.d.ts +2 -0
  464. package/dist/esm/test/promise_combinators.test.d.ts.map +1 -0
  465. package/dist/esm/test/promise_combinators.test.js +431 -0
  466. package/dist/esm/test/promise_combinators.test.js.map +1 -0
  467. package/dist/esm/test/promises.test.d.ts +2 -0
  468. package/dist/esm/test/promises.test.d.ts.map +1 -0
  469. package/dist/esm/test/promises.test.js +30 -0
  470. package/dist/esm/test/promises.test.js.map +1 -0
  471. package/dist/esm/test/protocol_stream.test.d.ts +2 -0
  472. package/dist/esm/test/protocol_stream.test.d.ts.map +1 -0
  473. package/dist/esm/test/protocol_stream.test.js +218 -0
  474. package/dist/esm/test/protocol_stream.test.js.map +1 -0
  475. package/dist/esm/test/protoutils.d.ts +44 -0
  476. package/dist/esm/test/protoutils.d.ts.map +1 -0
  477. package/dist/esm/test/protoutils.js +326 -0
  478. package/dist/esm/test/protoutils.js.map +1 -0
  479. package/dist/esm/test/service_bind.test.d.ts +2 -0
  480. package/dist/esm/test/service_bind.test.d.ts.map +1 -0
  481. package/dist/esm/test/service_bind.test.js +48 -0
  482. package/dist/esm/test/service_bind.test.js.map +1 -0
  483. package/dist/esm/test/side_effect.test.d.ts +2 -0
  484. package/dist/esm/test/side_effect.test.d.ts.map +1 -0
  485. package/dist/esm/test/side_effect.test.js +131 -0
  486. package/dist/esm/test/side_effect.test.js.map +1 -0
  487. package/dist/esm/test/sleep.test.d.ts +2 -0
  488. package/dist/esm/test/sleep.test.d.ts.map +1 -0
  489. package/dist/esm/test/sleep.test.js +222 -0
  490. package/dist/esm/test/sleep.test.js.map +1 -0
  491. package/dist/esm/test/state_keys.test.d.ts +2 -0
  492. package/dist/esm/test/state_keys.test.d.ts.map +1 -0
  493. package/dist/esm/test/state_keys.test.js +90 -0
  494. package/dist/esm/test/state_keys.test.js.map +1 -0
  495. package/dist/esm/test/state_machine.test.d.ts +2 -0
  496. package/dist/esm/test/state_machine.test.d.ts.map +1 -0
  497. package/dist/esm/test/state_machine.test.js +40 -0
  498. package/dist/esm/test/state_machine.test.js.map +1 -0
  499. package/dist/esm/test/testdriver.d.ts +31 -0
  500. package/dist/esm/test/testdriver.d.ts.map +1 -0
  501. package/dist/esm/test/testdriver.js +133 -0
  502. package/dist/esm/test/testdriver.js.map +1 -0
  503. package/dist/esm/test/utils.test.d.ts +2 -0
  504. package/dist/esm/test/utils.test.d.ts.map +1 -0
  505. package/dist/esm/test/utils.test.js +102 -0
  506. package/dist/esm/test/utils.test.js.map +1 -0
  507. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  508. package/package.json +57 -19
  509. package/dist/src/connection/buffered_connection.d.ts +0 -14
  510. package/dist/src/connection/buffered_connection.d.ts.map +0 -1
  511. package/dist/src/connection/buffered_connection.js +0 -44
  512. package/dist/src/connection/buffered_connection.js.map +0 -1
  513. package/dist/src/connection/connection.d.ts +0 -20
  514. package/dist/src/connection/connection.d.ts.map +0 -1
  515. package/dist/src/connection/connection.js.map +0 -1
  516. package/dist/src/connection/http_connection.d.ts.map +0 -1
  517. package/dist/src/connection/http_connection.js +0 -208
  518. package/dist/src/connection/http_connection.js.map +0 -1
  519. package/dist/src/connection/lambda_connection.d.ts +0 -17
  520. package/dist/src/connection/lambda_connection.d.ts.map +0 -1
  521. package/dist/src/connection/lambda_connection.js +0 -64
  522. package/dist/src/connection/lambda_connection.js.map +0 -1
  523. package/dist/src/context.d.ts.map +0 -1
  524. package/dist/src/context.js.map +0 -1
  525. package/dist/src/context_impl.d.ts.map +0 -1
  526. package/dist/src/context_impl.js.map +0 -1
  527. package/dist/src/endpoint/endpoint_impl.d.ts +0 -27
  528. package/dist/src/endpoint/endpoint_impl.d.ts.map +0 -1
  529. package/dist/src/endpoint/endpoint_impl.js.map +0 -1
  530. package/dist/src/endpoint/http2_handler.d.ts +0 -11
  531. package/dist/src/endpoint/http2_handler.d.ts.map +0 -1
  532. package/dist/src/endpoint/http2_handler.js +0 -186
  533. package/dist/src/endpoint/http2_handler.js.map +0 -1
  534. package/dist/src/endpoint/lambda_handler.d.ts +0 -15
  535. package/dist/src/endpoint/lambda_handler.d.ts.map +0 -1
  536. package/dist/src/endpoint/lambda_handler.js +0 -176
  537. package/dist/src/endpoint/lambda_handler.js.map +0 -1
  538. package/dist/src/endpoint/request_signing/basex.d.ts.map +0 -1
  539. package/dist/src/endpoint/request_signing/basex.js.map +0 -1
  540. package/dist/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
  541. package/dist/src/endpoint/request_signing/ed25519.js.map +0 -1
  542. package/dist/src/endpoint/request_signing/v1.d.ts.map +0 -1
  543. package/dist/src/endpoint/request_signing/v1.js.map +0 -1
  544. package/dist/src/endpoint/request_signing/validate.d.ts.map +0 -1
  545. package/dist/src/endpoint/request_signing/validate.js.map +0 -1
  546. package/dist/src/endpoint.d.ts.map +0 -1
  547. package/dist/src/endpoint.js.map +0 -1
  548. package/dist/src/generated/proto/discovery_pb.d.ts.map +0 -1
  549. package/dist/src/generated/proto/discovery_pb.js.map +0 -1
  550. package/dist/src/generated/proto/javascript_pb.d.ts.map +0 -1
  551. package/dist/src/generated/proto/javascript_pb.js.map +0 -1
  552. package/dist/src/generated/proto/protocol_pb.d.ts.map +0 -1
  553. package/dist/src/generated/proto/protocol_pb.js.map +0 -1
  554. package/dist/src/generated/version.d.ts +0 -2
  555. package/dist/src/generated/version.d.ts.map +0 -1
  556. package/dist/src/generated/version.js.map +0 -1
  557. package/dist/src/invocation.d.ts.map +0 -1
  558. package/dist/src/invocation.js.map +0 -1
  559. package/dist/src/io/decoder.d.ts.map +0 -1
  560. package/dist/src/io/decoder.js.map +0 -1
  561. package/dist/src/io/encoder.d.ts +0 -7
  562. package/dist/src/io/encoder.d.ts.map +0 -1
  563. package/dist/src/io/encoder.js.map +0 -1
  564. package/dist/src/journal.d.ts.map +0 -1
  565. package/dist/src/journal.js.map +0 -1
  566. package/dist/src/local_state_store.d.ts.map +0 -1
  567. package/dist/src/local_state_store.js.map +0 -1
  568. package/dist/src/logger.d.ts +0 -27
  569. package/dist/src/logger.d.ts.map +0 -1
  570. package/dist/src/logger.js +0 -151
  571. package/dist/src/logger.js.map +0 -1
  572. package/dist/src/promise_combinator_tracker.d.ts.map +0 -1
  573. package/dist/src/promise_combinator_tracker.js.map +0 -1
  574. package/dist/src/public_api.d.ts +0 -7
  575. package/dist/src/public_api.d.ts.map +0 -1
  576. package/dist/src/public_api.js.map +0 -1
  577. package/dist/src/state_machine.d.ts.map +0 -1
  578. package/dist/src/state_machine.js.map +0 -1
  579. package/dist/src/types/components.d.ts.map +0 -1
  580. package/dist/src/types/components.js.map +0 -1
  581. package/dist/src/types/discovery.d.ts.map +0 -1
  582. package/dist/src/types/discovery.js.map +0 -1
  583. package/dist/src/types/errors.d.ts.map +0 -1
  584. package/dist/src/types/errors.js.map +0 -1
  585. package/dist/src/types/protocol.d.ts.map +0 -1
  586. package/dist/src/types/protocol.js.map +0 -1
  587. package/dist/src/types/rpc.d.ts.map +0 -1
  588. package/dist/src/types/rpc.js.map +0 -1
  589. package/dist/src/types/types.d.ts.map +0 -1
  590. package/dist/src/types/types.js.map +0 -1
  591. package/dist/src/user_agent.d.ts +0 -2
  592. package/dist/src/user_agent.d.ts.map +0 -1
  593. package/dist/src/user_agent.js.map +0 -1
  594. package/dist/src/utils/message_logger.d.ts +0 -7
  595. package/dist/src/utils/message_logger.d.ts.map +0 -1
  596. package/dist/src/utils/message_logger.js.map +0 -1
  597. package/dist/src/utils/promises.d.ts.map +0 -1
  598. package/dist/src/utils/promises.js.map +0 -1
  599. package/dist/src/utils/rand.d.ts.map +0 -1
  600. package/dist/src/utils/rand.js.map +0 -1
  601. package/dist/src/utils/serde.d.ts +0 -5
  602. package/dist/src/utils/serde.d.ts.map +0 -1
  603. package/dist/src/utils/serde.js.map +0 -1
  604. package/dist/src/utils/utils.d.ts.map +0 -1
  605. package/dist/src/utils/utils.js.map +0 -1
  606. package/dist/tsconfig.tsbuildinfo +0 -1
  607. /package/dist/{src → cjs/src}/endpoint/request_signing/basex.d.ts +0 -0
  608. /package/dist/{src → cjs/src}/endpoint/request_signing/basex.js +0 -0
  609. /package/dist/{src → cjs/src}/generated/proto/discovery_pb.d.ts +0 -0
  610. /package/dist/{src → cjs/src}/generated/proto/javascript_pb.d.ts +0 -0
  611. /package/dist/{src → cjs/src}/generated/proto/javascript_pb.js +0 -0
  612. /package/dist/{src → cjs/src}/generated/proto/protocol_pb.d.ts +0 -0
  613. /package/dist/{src → cjs/src}/types/discovery.d.ts +0 -0
  614. /package/dist/{src → cjs/src}/utils/promises.d.ts +0 -0
  615. /package/dist/{src → cjs/src}/utils/utils.d.ts +0 -0
package/README.md CHANGED
@@ -53,6 +53,6 @@ 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 |
57
- |-------------------------------|-----|
58
- | 1.0 | ✅ |
56
+ | Restate Server\sdk-typescript | 1.0 | 1.1 |
57
+ |-------------------------------|-----|-----|
58
+ | 1.0 | ✅ | ✅ |
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,9 @@
1
+ export type { Context, ObjectContext, ObjectSharedContext, WorkflowContext, WorkflowSharedContext, Rand, } from "./context.js";
2
+ export { CombineablePromise } from "./context.js";
3
+ export type { Client, SendClient } from "./types/rpc.js";
4
+ export { service, object, workflow, handlers } from "./types/rpc.js";
5
+ export type { ServiceDefinition, VirtualObjectDefinition, WorkflowDefinition, } from "@restatedev/restate-sdk-core";
6
+ export type { ServiceBundle, RestateEndpoint } from "./endpoint.js";
7
+ export { RestateError, TerminalError, TimeoutError } from "./types/errors.js";
8
+ export type { Logger, LogParams, RestateLogLevel, LoggerContext, LogSource, } from "./logger.js";
9
+ //# sourceMappingURL=common_api.d.ts.map
@@ -0,0 +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,GACL,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAErE,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"}
@@ -10,18 +10,16 @@
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.endpoint = exports.handlers = exports.workflow = exports.object = exports.service = exports.CombineablePromise = void 0;
14
- var context_1 = require("./context");
15
- Object.defineProperty(exports, "CombineablePromise", { enumerable: true, get: function () { return context_1.CombineablePromise; } });
16
- var rpc_1 = require("./types/rpc");
17
- Object.defineProperty(exports, "service", { enumerable: true, get: function () { return rpc_1.service; } });
18
- Object.defineProperty(exports, "object", { enumerable: true, get: function () { return rpc_1.object; } });
19
- Object.defineProperty(exports, "workflow", { enumerable: true, get: function () { return rpc_1.workflow; } });
20
- Object.defineProperty(exports, "handlers", { enumerable: true, get: function () { return rpc_1.handlers; } });
21
- var endpoint_1 = require("./endpoint");
22
- Object.defineProperty(exports, "endpoint", { enumerable: true, get: function () { return endpoint_1.endpoint; } });
23
- var errors_1 = require("./types/errors");
24
- Object.defineProperty(exports, "RestateError", { enumerable: true, get: function () { return errors_1.RestateError; } });
25
- Object.defineProperty(exports, "TerminalError", { enumerable: true, get: function () { return errors_1.TerminalError; } });
26
- Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_1.TimeoutError; } });
27
- //# sourceMappingURL=public_api.js.map
13
+ exports.TimeoutError = exports.TerminalError = exports.RestateError = exports.handlers = exports.workflow = exports.object = exports.service = exports.CombineablePromise = void 0;
14
+ var context_js_1 = require("./context.js");
15
+ Object.defineProperty(exports, "CombineablePromise", { enumerable: true, get: function () { return context_js_1.CombineablePromise; } });
16
+ var rpc_js_1 = require("./types/rpc.js");
17
+ Object.defineProperty(exports, "service", { enumerable: true, get: function () { return rpc_js_1.service; } });
18
+ Object.defineProperty(exports, "object", { enumerable: true, get: function () { return rpc_js_1.object; } });
19
+ Object.defineProperty(exports, "workflow", { enumerable: true, get: function () { return rpc_js_1.workflow; } });
20
+ Object.defineProperty(exports, "handlers", { enumerable: true, get: function () { return rpc_js_1.handlers; } });
21
+ var errors_js_1 = require("./types/errors.js");
22
+ Object.defineProperty(exports, "RestateError", { enumerable: true, get: function () { return errors_js_1.RestateError; } });
23
+ Object.defineProperty(exports, "TerminalError", { enumerable: true, get: function () { return errors_js_1.TerminalError; } });
24
+ Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_js_1.TimeoutError; } });
25
+ //# sourceMappingURL=common_api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common_api.js","sourceRoot":"","sources":["../../../src/common_api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAUH,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAG3B,yCAAqE;AAA5D,iGAAA,OAAO,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAS5C,+CAA8E;AAArE,yGAAA,YAAY,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,yGAAA,YAAY,OAAA"}
@@ -1,45 +1,52 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import stream from "node:stream";
4
- import { Connection, RestateStreamConsumer } from "./connection";
5
- import { Message } from "../types/types";
6
- import { Http2ServerRequest, IncomingHttpHeaders } from "node:http2";
3
+ import type stream from "node:stream/web";
4
+ import type { Message } from "../types/types.js";
7
5
  /**
8
- * A duplex stream with Restate Messages over HTTP2.
6
+ * A connection from the service/SDK to Restate.
7
+ * Accepts messages to be sent and committed to the journal.
8
+ */
9
+ export interface Connection {
10
+ send(msg: Message): Promise<void>;
11
+ end(): Promise<void>;
12
+ headers(): ReadonlyMap<string, string | string[] | undefined>;
13
+ }
14
+ /**
15
+ * A consumer of a message stream from Restate.
16
+ * Messages include journal replay messages and completion messages.
17
+ */
18
+ export interface RestateStreamConsumer {
19
+ handleMessage(m: Message): boolean;
20
+ handleStreamError(e: Error): void;
21
+ handleInputClosed(): void;
22
+ }
23
+ /**
24
+ * A stream with Restate Messages, potentially but not necessarily full duplex.
9
25
  *
10
26
  * This stream handles the following concerns:
11
27
  *
12
- * (1) encoding and decoding of messages from and from raw bytes
13
- *
14
- * (2) buffering the outgoing messages, because the call sites that produce (potentially) large
15
- * messages might not await their transfer. Aside from the fact that we achieve better pipelining
16
- * that way, we also simply cannot guarantee that users of the Restate SDK actually await the
17
- * relevant async API methods.
28
+ * (1) encoding and decoding of messages to and from raw bytes
18
29
  *
19
- * This stream essentially buffers messages and, upon flush, sends them asynchronously, as the
20
- * stream has availability. Flush requests queue up, if new data gets flushed while the previous
21
- * data is still being sent.
22
30
  *
23
- * (3) Input messages can be pipelined to a sequence of consumers. For example, first to a journal,
31
+ * (2) Input messages can be pipelined to a sequence of consumers. For example, first to a journal,
24
32
  * and afterwards to the state machine.
25
33
  *
26
- * (4) Handling the relevant stream events for errors and consolidating them to one error handler, plus
34
+ * (3) Handling the relevant stream events for errors and consolidating them to one error handler, plus
27
35
  * notifications for cleanly closed input (to trigger suspension).
28
36
  */
29
- export declare class RestateHttp2Connection implements Connection {
37
+ export declare class RestateConnection implements Connection {
30
38
  private readonly attemptHeaders;
31
- private readonly rawStream;
32
39
  /**
33
- * create a RestateDuplex stream from an http2 (duplex) stream.
40
+ * create a RestateBidiConnection stream from a duplex stream
34
41
  */
35
- static from(request: Http2ServerRequest, http2stream: stream.Duplex): RestateHttp2Connection;
36
- private readonly sdkInput;
42
+ static from(rlog: Console, headers: Record<string, string | string[] | undefined>, rawStream: stream.ReadableWritablePair<Uint8Array, Uint8Array>): RestateConnection;
43
+ private readonly sdkInputPipeline;
37
44
  private currentConsumer;
38
45
  private inputBuffer;
39
46
  private consumerError?;
40
47
  private consumerInputClosed;
41
- private outputBuffer;
42
- constructor(attemptHeaders: IncomingHttpHeaders, rawStream: stream.Duplex);
48
+ private readonly sdkOutput;
49
+ constructor(rlog: Console, attemptHeaders: Record<string, string | string[] | undefined>, rawStream: stream.ReadableWritablePair<Uint8Array, Uint8Array>);
43
50
  headers(): ReadonlyMap<string, string | string[] | undefined>;
44
51
  /**
45
52
  * Pipes the messages from this connection to the given consumer. The consumer
@@ -70,8 +77,8 @@ export declare class RestateHttp2Connection implements Connection {
70
77
  */
71
78
  send(msg: Message): Promise<void>;
72
79
  /**
73
- * Ends the stream, awaiting pending writes.
80
+ * Ends the output stream, awaiting pending writes.
74
81
  */
75
82
  end(): Promise<void>;
76
83
  }
77
- //# sourceMappingURL=http_connection.d.ts.map
84
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../src/connection/connection.ts"],"names":[],"mappings":";;AAWA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAErB,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CAC/D;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAEnC,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAElC,iBAAiB,IAAI,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IA0BhD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAzBjC;;OAEG;WACW,IAAI,CAChB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,GAC7D,iBAAiB;IAMpB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IAGjD,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiD;gBAGzE,IAAI,EAAE,OAAO,EACI,cAAc,EAAE,MAAM,CACrC,MAAM,EACN,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAC9B,EACD,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC;IAsEhE,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAI7D;;;;;;;;OAQG;IACI,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IA+B5D;;OAEG;IACI,qBAAqB,IAAI,IAAI;IAQpC;;;;;;;;;;;;OAYG;IACU,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C;;OAEG;IACU,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
4
+ *
5
+ * This file is part of the Restate SDK for Node.js/TypeScript,
6
+ * which is released under the MIT license.
7
+ *
8
+ * You can find a copy of the license in file LICENSE in the root
9
+ * directory of this repository or package, or at
10
+ * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.RestateConnection = void 0;
14
+ const decoder_js_1 = require("../io/decoder.js");
15
+ const encoder_js_1 = require("../io/encoder.js");
16
+ const web_1 = require("node:stream/web");
17
+ /**
18
+ * A stream with Restate Messages, potentially but not necessarily full duplex.
19
+ *
20
+ * This stream handles the following concerns:
21
+ *
22
+ * (1) encoding and decoding of messages to and from raw bytes
23
+ *
24
+ *
25
+ * (2) Input messages can be pipelined to a sequence of consumers. For example, first to a journal,
26
+ * and afterwards to the state machine.
27
+ *
28
+ * (3) Handling the relevant stream events for errors and consolidating them to one error handler, plus
29
+ * notifications for cleanly closed input (to trigger suspension).
30
+ */
31
+ class RestateConnection {
32
+ attemptHeaders;
33
+ /**
34
+ * create a RestateBidiConnection stream from a duplex stream
35
+ */
36
+ static from(rlog, headers, rawStream) {
37
+ return new RestateConnection(rlog, headers, rawStream);
38
+ }
39
+ // --------------------------------------------------------------------------
40
+ sdkInputPipeline;
41
+ // consumer handling
42
+ currentConsumer = null;
43
+ inputBuffer = [];
44
+ consumerError;
45
+ consumerInputClosed = false;
46
+ sdkOutput;
47
+ constructor(rlog, attemptHeaders, rawStream) {
48
+ // --------------------------------------------------------------------------
49
+ // input stream handling
50
+ // --------------------------------------------------------------------------
51
+ this.attemptHeaders = attemptHeaders;
52
+ const sdkInputSink = new web_1.WritableStream({
53
+ write: (m) => {
54
+ // deliver message, if we have a consumer. otherwise buffer the message.
55
+ if (this.currentConsumer) {
56
+ if (this.currentConsumer.handleMessage(m)) {
57
+ this.removeCurrentConsumer();
58
+ }
59
+ }
60
+ else {
61
+ this.inputBuffer.push(m);
62
+ }
63
+ },
64
+ // this notifies of errors in the decoding pipeline as well as the incoming body stream
65
+ abort: (e) => {
66
+ rlog.error("Error in request stream from Restate: " + (e.stack ?? e.message));
67
+ errorHandler(e);
68
+ },
69
+ close: () => {
70
+ // remember and forward close events
71
+ this.consumerInputClosed = true;
72
+ if (this.currentConsumer) {
73
+ this.currentConsumer.handleInputClosed();
74
+ }
75
+ },
76
+ });
77
+ this.sdkInputPipeline = rawStream.readable
78
+ .pipeThrough((0, decoder_js_1.streamDecoder)())
79
+ .pipeTo(sdkInputSink);
80
+ this.sdkOutput = rawStream.writable.getWriter();
81
+ // --------- error handling --------
82
+ // the error handler for all sorts of errors coming from streams
83
+ const errorHandler = (e) => {
84
+ // make sure we don't overwrite the initial error
85
+ if (this.consumerError !== undefined) {
86
+ return;
87
+ }
88
+ this.consumerError = e;
89
+ if (this.currentConsumer) {
90
+ this.currentConsumer.handleStreamError(e);
91
+ }
92
+ };
93
+ // this notifies of errors in the outgoing response stream
94
+ this.sdkOutput.closed.catch((e) => {
95
+ rlog.error("Error in response stream to Restate: " + (e.stack ?? e.message));
96
+ errorHandler(e);
97
+ });
98
+ // this notifies of errors in the decoding pipeline as well as the incoming body stream
99
+ this.sdkInputPipeline.catch((e) => {
100
+ rlog.error("Error in request stream from Restate: " + (e.stack ?? e.message));
101
+ errorHandler(e);
102
+ });
103
+ }
104
+ headers() {
105
+ return new Map(Object.entries(this.attemptHeaders));
106
+ }
107
+ /**
108
+ * Pipes the messages from this connection to the given consumer. The consumer
109
+ * will also receive error and stream closing notifications.
110
+ *
111
+ * Once the 'handleMessage()' method returns 'true', the consumer is immediately removed.
112
+ * That way, consumers can consume a bounded amount of messages (like just the initial journal).
113
+ *
114
+ * There can only be one consumer at a time.
115
+ */
116
+ pipeToConsumer(consumer) {
117
+ if (this.currentConsumer !== null) {
118
+ throw new Error("Already piping to a consumer");
119
+ }
120
+ this.currentConsumer = consumer;
121
+ // propagate pre-existing information
122
+ if (this.consumerError) {
123
+ consumer.handleStreamError(this.consumerError);
124
+ }
125
+ if (this.consumerInputClosed) {
126
+ consumer.handleInputClosed();
127
+ }
128
+ // pipe the buffered input messages, if we buffered some before the consumer was registered
129
+ const input = this.inputBuffer;
130
+ if (input.length > 0) {
131
+ let i = 0;
132
+ while (i < input.length) {
133
+ const done = consumer.handleMessage(input[i]);
134
+ i++;
135
+ if (done) {
136
+ this.removeCurrentConsumer();
137
+ break;
138
+ }
139
+ }
140
+ this.inputBuffer = i === input.length ? [] : this.inputBuffer.slice(i);
141
+ }
142
+ }
143
+ /**
144
+ * Removes the current consumer, if there is one.
145
+ */
146
+ removeCurrentConsumer() {
147
+ this.currentConsumer = null;
148
+ }
149
+ // --------------------------------------------------------------------------
150
+ // output stream handling
151
+ // --------------------------------------------------------------------------
152
+ /**
153
+ * Adds a message to the output stream.
154
+ *
155
+ * This always puts the message into the node stream, but will return a promise that is resolved once
156
+ * further messages can be written.
157
+ *
158
+ * The reasoning is that some, but not all Restate operations return promises and are typically
159
+ * awaited. For example, rpc, sleep, side-effect have promises and are awaited, while one-way-sends and
160
+ * state updates don't return promises.
161
+ *
162
+ * As a pragmatic solution, we always accept messages, but return a promise for when the output has
163
+ * capacity again, so that at least the operations that await results will respect backpressure.
164
+ */
165
+ async send(msg) {
166
+ const bytes = (0, encoder_js_1.encodeMessage)(msg);
167
+ // don't await the write as it will not complete until data is completely flushed
168
+ this.sdkOutput.write(bytes).catch(() => { });
169
+ // however, do await until there is capacity for more, so there's backpressure
170
+ await this.sdkOutput.ready;
171
+ }
172
+ /**
173
+ * Ends the output stream, awaiting pending writes.
174
+ */
175
+ async end() {
176
+ // we don't care if the stream had any errors at this point
177
+ await this.sdkOutput.close().catch(() => { });
178
+ }
179
+ }
180
+ exports.RestateConnection = RestateConnection;
181
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../src/connection/connection.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import type { Client, SendClient } from "./types/rpc";
2
+ import type { Client, SendClient } from "./types/rpc.js";
3
3
  import type { RestateContext, RestateObjectContext, RestateObjectSharedContext, RestateWorkflowContext, RestateWorkflowSharedContext, Service, ServiceDefinitionFrom, VirtualObject, VirtualObjectDefinitionFrom, Workflow, WorkflowDefinitionFrom } from "@restatedev/restate-sdk-core";
4
4
  /**
5
5
  * Represents the original request as sent to this handler.
@@ -29,10 +29,14 @@ export interface Request {
29
29
  */
30
30
  readonly body: Uint8Array;
31
31
  }
32
+ export type TypedState = Record<string, any>;
33
+ export type UntypedState = {
34
+ _: never;
35
+ };
32
36
  /**
33
37
  * Key value store operations. Only keyed services have an attached key-value store.
34
38
  */
35
- export interface KeyValueStore {
39
+ export interface KeyValueStore<TState extends TypedState> {
36
40
  /**
37
41
  * Get/retrieve state from the Restate runtime.
38
42
  * Note that state objects are serialized with `Buffer.from(JSON.stringify(theObject))`
@@ -44,7 +48,7 @@ export interface KeyValueStore {
44
48
  * @example
45
49
  * const state = await ctx.get<string>("STATE");
46
50
  */
47
- get<T>(name: string): Promise<T | null>;
51
+ get<TValue, TKey extends keyof TState = string>(name: TState extends UntypedState ? string : TKey): Promise<(TState extends UntypedState ? TValue : TState[TKey]) | null>;
48
52
  stateKeys(): Promise<Array<string>>;
49
53
  /**
50
54
  * Set/store state in the Restate runtime.
@@ -57,7 +61,7 @@ export interface KeyValueStore {
57
61
  * @example
58
62
  * ctx.set("STATE", "Hello");
59
63
  */
60
- set<T>(name: string, value: T): void;
64
+ set<TValue, TKey extends keyof TState = string>(name: TState extends UntypedState ? string : TKey, value: TState extends UntypedState ? TValue : TState[TKey]): void;
61
65
  /**
62
66
  * Clear/delete state in the Restate runtime.
63
67
  * @param name key of the state to delete
@@ -65,7 +69,7 @@ export interface KeyValueStore {
65
69
  * @example
66
70
  * ctx.clear("STATE");
67
71
  */
68
- clear(name: string): void;
72
+ clear<TKey extends keyof TState>(name: TState extends UntypedState ? string : TKey): void;
69
73
  /**
70
74
  * Clear/delete all the state entries in the Restate runtime.
71
75
  *
@@ -383,7 +387,7 @@ export interface Context extends RestateContext {
383
387
  * This context can be used only within virtual objects.
384
388
  *
385
389
  */
386
- export interface ObjectContext extends Context, KeyValueStore, RestateObjectContext {
390
+ export interface ObjectContext<TState extends TypedState = UntypedState> extends Context, KeyValueStore<TState>, RestateObjectContext {
387
391
  key: string;
388
392
  }
389
393
  /**
@@ -397,7 +401,7 @@ export interface ObjectContext extends Context, KeyValueStore, RestateObjectCont
397
401
  * This context can be used only within a shared virtual objects.
398
402
  *
399
403
  */
400
- export interface ObjectSharedContext extends Context, RestateObjectSharedContext {
404
+ export interface ObjectSharedContext<TState extends TypedState = UntypedState> extends Context, RestateObjectSharedContext {
401
405
  key: string;
402
406
  /**
403
407
  * Get/retrieve state from the Restate runtime.
@@ -410,7 +414,7 @@ export interface ObjectSharedContext extends Context, RestateObjectSharedContext
410
414
  * @example
411
415
  * const state = await ctx.get<string>("STATE");
412
416
  */
413
- get<T>(name: string): Promise<T | null>;
417
+ get<TValue, TKey extends keyof TState = string>(name: TState extends UntypedState ? string : TKey): Promise<(TState extends UntypedState ? TValue : TState[TKey]) | null>;
414
418
  /**
415
419
  * Retrieve all the state keys for this object.
416
420
  */
@@ -509,7 +513,7 @@ export type DurablePromise<T> = Promise<T> & {
509
513
  */
510
514
  get(): CombineablePromise<T>;
511
515
  };
512
- export interface WorkflowSharedContext extends ObjectSharedContext, RestateWorkflowSharedContext {
516
+ export interface WorkflowSharedContext<TState extends TypedState = UntypedState> extends ObjectSharedContext<TState>, RestateWorkflowSharedContext {
513
517
  /**
514
518
  * Create a durable promise that can be resolved or rejected during the workflow execution.
515
519
  * The promise is bound to the workflow and will be persisted across suspensions and retries.
@@ -536,6 +540,6 @@ export interface WorkflowSharedContext extends ObjectSharedContext, RestateWorkf
536
540
  */
537
541
  promise<T = void>(name: string): DurablePromise<T>;
538
542
  }
539
- export interface WorkflowContext extends WorkflowSharedContext, ObjectContext, RestateWorkflowContext {
543
+ export interface WorkflowContext<TState extends TypedState = UntypedState> extends WorkflowSharedContext<TState>, ObjectContext<TState>, RestateWorkflowContext {
540
544
  }
541
545
  //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.CombineablePromise = void 0;
14
- const context_impl_1 = require("./context_impl");
14
+ const context_impl_js_1 = require("./context_impl.js");
15
15
  exports.CombineablePromise = {
16
16
  /**
17
17
  * Creates a Promise that is resolved with an array of results when all of the provided Promises
@@ -26,7 +26,7 @@ exports.CombineablePromise = {
26
26
  if (values.length == 0) {
27
27
  return Promise.all(values);
28
28
  }
29
- return context_impl_1.ContextImpl.createCombinator(Promise.all.bind(Promise), values);
29
+ return context_impl_js_1.ContextImpl.createCombinator(Promise.all.bind(Promise), values);
30
30
  },
31
31
  /**
32
32
  * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
@@ -41,7 +41,7 @@ exports.CombineablePromise = {
41
41
  if (values.length == 0) {
42
42
  return Promise.race(values);
43
43
  }
44
- return context_impl_1.ContextImpl.createCombinator(Promise.race.bind(Promise), values);
44
+ return context_impl_js_1.ContextImpl.createCombinator(Promise.race.bind(Promise), values);
45
45
  },
46
46
  /**
47
47
  * Creates a promise that fulfills when any of the input's promises fulfills, with this first fulfillment value.
@@ -57,7 +57,7 @@ exports.CombineablePromise = {
57
57
  if (values.length == 0) {
58
58
  return Promise.any(values);
59
59
  }
60
- return context_impl_1.ContextImpl.createCombinator(Promise.any.bind(Promise), values);
60
+ return context_impl_js_1.ContextImpl.createCombinator(Promise.any.bind(Promise), values);
61
61
  },
62
62
  /**
63
63
  * Creates a promise that fulfills when all the input's promises settle (including when an empty iterable is passed),
@@ -72,7 +72,7 @@ exports.CombineablePromise = {
72
72
  if (values.length == 0) {
73
73
  return Promise.allSettled(values);
74
74
  }
75
- return context_impl_1.ContextImpl.createCombinator(Promise.allSettled.bind(Promise), values);
75
+ return context_impl_js_1.ContextImpl.createCombinator(Promise.allSettled.bind(Promise), values);
76
76
  },
77
77
  };
78
78
  //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAgBH,uDAAgD;AA4fnC,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,21 +1,12 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- /// <reference types="node" />
4
- import { CombineablePromise, ContextDate, DurablePromise, ObjectContext, Rand, Request, RunAction, SendOptions, WorkflowContext } from "./context";
5
- import { StateMachine } from "./state_machine";
6
- import { AsyncLocalStorage } from "node:async_hooks";
7
- import { Client, HandlerKind, SendClient } from "./types/rpc";
3
+ import type { CombineablePromise, ContextDate, DurablePromise, ObjectContext, Rand, Request, RunAction, SendOptions, WorkflowContext } from "./context.js";
4
+ import type { StateMachine } from "./state_machine.js";
5
+ import type { Client, SendClient } from "./types/rpc.js";
6
+ import { HandlerKind } from "./types/rpc.js";
8
7
  import type { Service, ServiceDefinitionFrom, VirtualObjectDefinitionFrom, VirtualObject, WorkflowDefinitionFrom, Workflow } from "@restatedev/restate-sdk-core";
9
- import { WrappedPromise } from "./utils/promises";
8
+ import type { WrappedPromise } from "./utils/promises.js";
10
9
  import { Buffer } from "node:buffer";
11
- export declare enum CallContextType {
12
- None = 0,
13
- Run = 1
14
- }
15
- export interface CallContext {
16
- type: CallContextType;
17
- delay?: number;
18
- }
19
10
  export type InternalCombineablePromise<T> = CombineablePromise<T> & {
20
11
  journalIndex: number;
21
12
  };
@@ -24,12 +15,11 @@ export declare class ContextImpl implements ObjectContext, WorkflowContext {
24
15
  readonly handlerKind: HandlerKind;
25
16
  readonly keyedContextKey: string | undefined;
26
17
  readonly stateMachine: StateMachine;
27
- readonly rand: Rand;
28
- static callContext: AsyncLocalStorage<CallContext>;
29
18
  private executingRun;
30
19
  private readonly invocationRequest;
20
+ readonly rand: Rand;
31
21
  readonly date: ContextDate;
32
- constructor(id: Buffer, console: Console, handlerKind: HandlerKind, keyedContextKey: string | undefined, invocationValue: Uint8Array, invocationHeaders: ReadonlyMap<string, string>, attemptHeaders: ReadonlyMap<string, string | string[] | undefined>, stateMachine: StateMachine, rand?: Rand);
22
+ constructor(id: Buffer, console: Console, handlerKind: HandlerKind, keyedContextKey: string | undefined, invocationValue: Uint8Array, invocationHeaders: ReadonlyMap<string, string>, attemptHeaders: ReadonlyMap<string, string | string[] | undefined>, stateMachine: StateMachine);
33
23
  workflowClient<D>(opts: WorkflowDefinitionFrom<D>, key: string): Client<Workflow<D>>;
34
24
  promise<T = void>(name: string): DurablePromise<T>;
35
25
  get key(): string;
@@ -57,7 +47,6 @@ export declare class ContextImpl implements ObjectContext, WorkflowContext {
57
47
  rejectAwakeable(id: string, reason: string): void;
58
48
  private completeAwakeable;
59
49
  static createCombinator<T extends readonly CombineablePromise<unknown>[]>(combinatorConstructor: (promises: PromiseLike<unknown>[]) => Promise<unknown>, promises: T): WrappedPromise<unknown>;
60
- private isInRun;
61
50
  private checkNotExecutingRun;
62
51
  private checkState;
63
52
  markCombineablePromise<T>(p: WrappedPromise<T>): InternalCombineablePromise<T>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context_impl.d.ts","sourceRoot":"","sources":["../../../src/context_impl.ts"],"names":[],"mappings":"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"}