@restatedev/restate-sdk 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/dist/cjs/package.json +1 -0
  2. package/dist/{src/public_api.d.ts → cjs/src/common_api.d.ts} +6 -6
  3. package/dist/cjs/src/common_api.d.ts.map +1 -0
  4. package/dist/{src/public_api.js → cjs/src/common_api.js} +13 -15
  5. package/dist/cjs/src/common_api.js.map +1 -0
  6. package/dist/{src → cjs/src}/connection/buffered_connection.d.ts +2 -2
  7. package/dist/cjs/src/connection/buffered_connection.d.ts.map +1 -0
  8. package/dist/{src → cjs/src}/connection/buffered_connection.js +2 -2
  9. package/dist/cjs/src/connection/buffered_connection.js.map +1 -0
  10. package/dist/{src → cjs/src}/connection/connection.d.ts +1 -1
  11. package/dist/cjs/src/connection/connection.d.ts.map +1 -0
  12. package/dist/cjs/src/connection/connection.js.map +1 -0
  13. package/dist/{src → cjs/src}/connection/http_connection.d.ts +4 -4
  14. package/dist/cjs/src/connection/http_connection.d.ts.map +1 -0
  15. package/dist/{src → cjs/src}/connection/http_connection.js +8 -8
  16. package/dist/cjs/src/connection/http_connection.js.map +1 -0
  17. package/dist/{src → cjs/src}/connection/lambda_connection.d.ts +2 -2
  18. package/dist/cjs/src/connection/lambda_connection.d.ts.map +1 -0
  19. package/dist/{src → cjs/src}/connection/lambda_connection.js +8 -8
  20. package/dist/cjs/src/connection/lambda_connection.js.map +1 -0
  21. package/dist/{src → cjs/src}/context.d.ts +1 -1
  22. package/dist/cjs/src/context.d.ts.map +1 -0
  23. package/dist/{src → cjs/src}/context.js +5 -5
  24. package/dist/cjs/src/context.js.map +1 -0
  25. package/dist/{src → cjs/src}/context_impl.d.ts +7 -18
  26. package/dist/cjs/src/context_impl.d.ts.map +1 -0
  27. package/dist/{src → cjs/src}/context_impl.js +82 -110
  28. package/dist/cjs/src/context_impl.js.map +1 -0
  29. package/dist/cjs/src/endpoint/endpoint_builder.d.ts +18 -0
  30. package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -0
  31. package/dist/{src/endpoint/endpoint_impl.js → cjs/src/endpoint/endpoint_builder.js} +18 -78
  32. package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -0
  33. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +37 -0
  34. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -0
  35. package/dist/cjs/src/endpoint/fetch_endpoint.js +46 -0
  36. package/dist/cjs/src/endpoint/fetch_endpoint.js.map +1 -0
  37. package/dist/cjs/src/endpoint/handlers/fetch.d.ts +6 -0
  38. package/dist/cjs/src/endpoint/handlers/fetch.d.ts.map +1 -0
  39. package/dist/cjs/src/endpoint/handlers/fetch.js +34 -0
  40. package/dist/cjs/src/endpoint/handlers/fetch.js.map +1 -0
  41. package/dist/cjs/src/endpoint/handlers/generic.d.ts +44 -0
  42. package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -0
  43. package/dist/cjs/src/endpoint/handlers/generic.js +193 -0
  44. package/dist/cjs/src/endpoint/handlers/generic.js.map +1 -0
  45. package/dist/cjs/src/endpoint/handlers/lambda.d.ts +8 -0
  46. package/dist/cjs/src/endpoint/handlers/lambda.d.ts.map +1 -0
  47. package/dist/cjs/src/endpoint/handlers/lambda.js +66 -0
  48. package/dist/cjs/src/endpoint/handlers/lambda.js.map +1 -0
  49. package/dist/{src/endpoint/http2_handler.d.ts → cjs/src/endpoint/handlers/node.d.ts} +4 -4
  50. package/dist/cjs/src/endpoint/handlers/node.d.ts.map +1 -0
  51. package/dist/{src/endpoint/http2_handler.js → cjs/src/endpoint/handlers/node.js} +37 -35
  52. package/dist/cjs/src/endpoint/handlers/node.js.map +1 -0
  53. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +32 -0
  54. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -0
  55. package/dist/cjs/src/endpoint/lambda_endpoint.js +55 -0
  56. package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -0
  57. package/dist/cjs/src/endpoint/node_endpoint.d.ts +19 -0
  58. package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -0
  59. package/dist/cjs/src/endpoint/node_endpoint.js +116 -0
  60. package/dist/cjs/src/endpoint/node_endpoint.js.map +1 -0
  61. package/dist/cjs/src/endpoint/request_signing/basex.d.ts.map +1 -0
  62. package/dist/cjs/src/endpoint/request_signing/basex.js.map +1 -0
  63. package/dist/{src → cjs/src}/endpoint/request_signing/ed25519.d.ts +1 -1
  64. package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
  65. package/dist/{src → cjs/src}/endpoint/request_signing/ed25519.js +3 -1
  66. package/dist/cjs/src/endpoint/request_signing/ed25519.js.map +1 -0
  67. package/dist/{src → cjs/src}/endpoint/request_signing/v1.d.ts +2 -2
  68. package/dist/cjs/src/endpoint/request_signing/v1.d.ts.map +1 -0
  69. package/dist/{src → cjs/src}/endpoint/request_signing/v1.js +9 -16
  70. package/dist/cjs/src/endpoint/request_signing/v1.js.map +1 -0
  71. package/dist/{src → cjs/src}/endpoint/request_signing/validate.d.ts +1 -1
  72. package/dist/cjs/src/endpoint/request_signing/validate.d.ts.map +1 -0
  73. package/dist/{src → cjs/src}/endpoint/request_signing/validate.js +3 -3
  74. package/dist/cjs/src/endpoint/request_signing/validate.js.map +1 -0
  75. package/dist/{src → cjs/src}/endpoint.d.ts +26 -27
  76. package/dist/cjs/src/endpoint.d.ts.map +1 -0
  77. package/dist/{src → cjs/src}/endpoint.js +0 -9
  78. package/dist/cjs/src/endpoint.js.map +1 -0
  79. package/dist/cjs/src/fetch.d.ts +7 -0
  80. package/dist/cjs/src/fetch.d.ts.map +1 -0
  81. package/dist/cjs/src/fetch.js +37 -0
  82. package/dist/cjs/src/fetch.js.map +1 -0
  83. package/dist/cjs/src/generated/proto/discovery_pb.d.ts.map +1 -0
  84. package/dist/{src → cjs/src}/generated/proto/discovery_pb.js +1 -1
  85. package/dist/cjs/src/generated/proto/discovery_pb.js.map +1 -0
  86. package/dist/cjs/src/generated/proto/javascript_pb.d.ts.map +1 -0
  87. package/dist/cjs/src/generated/proto/javascript_pb.js.map +1 -0
  88. package/dist/cjs/src/generated/proto/protocol_pb.d.ts.map +1 -0
  89. package/dist/{src → cjs/src}/generated/proto/protocol_pb.js +1 -1
  90. package/dist/cjs/src/generated/proto/protocol_pb.js.map +1 -0
  91. package/dist/cjs/src/generated/version.d.ts +2 -0
  92. package/dist/cjs/src/generated/version.d.ts.map +1 -0
  93. package/dist/{src → cjs/src}/generated/version.js +1 -1
  94. package/dist/cjs/src/generated/version.js.map +1 -0
  95. package/dist/{src → cjs/src}/invocation.d.ts +5 -5
  96. package/dist/cjs/src/invocation.d.ts.map +1 -0
  97. package/dist/{src → cjs/src}/invocation.js +14 -14
  98. package/dist/cjs/src/invocation.js.map +1 -0
  99. package/dist/{src → cjs/src}/io/decoder.d.ts +1 -1
  100. package/dist/cjs/src/io/decoder.d.ts.map +1 -0
  101. package/dist/{src → cjs/src}/io/decoder.js +19 -17
  102. package/dist/cjs/src/io/decoder.js.map +1 -0
  103. package/dist/{src → cjs/src}/io/encoder.d.ts +1 -1
  104. package/dist/cjs/src/io/encoder.d.ts.map +1 -0
  105. package/dist/{src → cjs/src}/io/encoder.js +6 -5
  106. package/dist/cjs/src/io/encoder.js.map +1 -0
  107. package/dist/{src → cjs/src}/journal.d.ts +7 -7
  108. package/dist/cjs/src/journal.d.ts.map +1 -0
  109. package/dist/{src → cjs/src}/journal.js +38 -38
  110. package/dist/cjs/src/journal.js.map +1 -0
  111. package/dist/cjs/src/lambda.d.ts +7 -0
  112. package/dist/cjs/src/lambda.d.ts.map +1 -0
  113. package/dist/cjs/src/lambda.js +37 -0
  114. package/dist/cjs/src/lambda.js.map +1 -0
  115. package/dist/{src → cjs/src}/local_state_store.d.ts +2 -1
  116. package/dist/cjs/src/local_state_store.d.ts.map +1 -0
  117. package/dist/{src → cjs/src}/local_state_store.js +10 -10
  118. package/dist/cjs/src/local_state_store.js.map +1 -0
  119. package/dist/cjs/src/logger.d.ts.map +1 -0
  120. package/dist/{src → cjs/src}/logger.js +1 -1
  121. package/dist/cjs/src/logger.js.map +1 -0
  122. package/dist/{src → cjs/src}/promise_combinator_tracker.d.ts +1 -1
  123. package/dist/cjs/src/promise_combinator_tracker.d.ts.map +1 -0
  124. package/dist/{src → cjs/src}/promise_combinator_tracker.js +7 -5
  125. package/dist/cjs/src/promise_combinator_tracker.js.map +1 -0
  126. package/dist/cjs/src/public_api.d.ts +7 -0
  127. package/dist/cjs/src/public_api.d.ts.map +1 -0
  128. package/dist/cjs/src/public_api.js +37 -0
  129. package/dist/cjs/src/public_api.js.map +1 -0
  130. package/dist/{src → cjs/src}/state_machine.d.ts +12 -12
  131. package/dist/cjs/src/state_machine.d.ts.map +1 -0
  132. package/dist/{src → cjs/src}/state_machine.js +53 -53
  133. package/dist/cjs/src/state_machine.js.map +1 -0
  134. package/dist/{src → cjs/src}/types/components.d.ts +4 -3
  135. package/dist/cjs/src/types/components.d.ts.map +1 -0
  136. package/dist/{src → cjs/src}/types/components.js +4 -4
  137. package/dist/cjs/src/types/components.js.map +1 -0
  138. package/dist/cjs/src/types/discovery.d.ts.map +1 -0
  139. package/dist/{src → cjs/src}/types/discovery.js +3 -3
  140. package/dist/cjs/src/types/discovery.js.map +1 -0
  141. package/dist/{src → cjs/src}/types/errors.d.ts +2 -2
  142. package/dist/cjs/src/types/errors.d.ts.map +1 -0
  143. package/dist/{src → cjs/src}/types/errors.js +8 -8
  144. package/dist/cjs/src/types/errors.js.map +1 -0
  145. package/dist/{src → cjs/src}/types/protocol.d.ts +6 -8
  146. package/dist/cjs/src/types/protocol.d.ts.map +1 -0
  147. package/dist/{src → cjs/src}/types/protocol.js +61 -61
  148. package/dist/cjs/src/types/protocol.js.map +1 -0
  149. package/dist/{src → cjs/src}/types/rpc.d.ts +2 -2
  150. package/dist/cjs/src/types/rpc.d.ts.map +1 -0
  151. package/dist/{src → cjs/src}/types/rpc.js +8 -7
  152. package/dist/cjs/src/types/rpc.js.map +1 -0
  153. package/dist/{src → cjs/src}/types/types.d.ts +1 -1
  154. package/dist/cjs/src/types/types.d.ts.map +1 -0
  155. package/dist/{src → cjs/src}/types/types.js +14 -14
  156. package/dist/cjs/src/types/types.js.map +1 -0
  157. package/dist/cjs/src/user_agent.d.ts +2 -0
  158. package/dist/cjs/src/user_agent.d.ts.map +1 -0
  159. package/dist/{src → cjs/src}/user_agent.js +2 -2
  160. package/dist/cjs/src/user_agent.js.map +1 -0
  161. package/dist/cjs/src/utils/buffer.d.ts +5 -0
  162. package/dist/cjs/src/utils/buffer.d.ts.map +1 -0
  163. package/dist/cjs/src/utils/buffer.js +59 -0
  164. package/dist/cjs/src/utils/buffer.js.map +1 -0
  165. package/dist/{src → cjs/src}/utils/message_logger.d.ts +1 -1
  166. package/dist/cjs/src/utils/message_logger.d.ts.map +1 -0
  167. package/dist/{src → cjs/src}/utils/message_logger.js +7 -7
  168. package/dist/cjs/src/utils/message_logger.js.map +1 -0
  169. package/dist/cjs/src/utils/promises.d.ts.map +1 -0
  170. package/dist/{src → cjs/src}/utils/promises.js +2 -1
  171. package/dist/cjs/src/utils/promises.js.map +1 -0
  172. package/dist/{src → cjs/src}/utils/rand.d.ts +3 -3
  173. package/dist/cjs/src/utils/rand.d.ts.map +1 -0
  174. package/dist/{src → cjs/src}/utils/rand.js +10 -15
  175. package/dist/cjs/src/utils/rand.js.map +1 -0
  176. package/dist/cjs/src/utils/serde.d.ts +5 -0
  177. package/dist/cjs/src/utils/serde.d.ts.map +1 -0
  178. package/dist/{src → cjs/src}/utils/serde.js +6 -4
  179. package/dist/cjs/src/utils/serde.js.map +1 -0
  180. package/dist/cjs/src/utils/utils.d.ts.map +1 -0
  181. package/dist/{src → cjs/src}/utils/utils.js +11 -11
  182. package/dist/cjs/src/utils/utils.js.map +1 -0
  183. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  184. package/dist/esm/src/common_api.d.ts +7 -0
  185. package/dist/esm/src/common_api.d.ts.map +1 -0
  186. package/dist/esm/src/common_api.js +14 -0
  187. package/dist/esm/src/common_api.js.map +1 -0
  188. package/dist/esm/src/connection/buffered_connection.d.ts +14 -0
  189. package/dist/esm/src/connection/buffered_connection.d.ts.map +1 -0
  190. package/dist/esm/src/connection/buffered_connection.js +40 -0
  191. package/dist/esm/src/connection/buffered_connection.js.map +1 -0
  192. package/dist/esm/src/connection/connection.d.ts +20 -0
  193. package/dist/esm/src/connection/connection.d.ts.map +1 -0
  194. package/dist/esm/src/connection/connection.js +12 -0
  195. package/dist/esm/src/connection/connection.js.map +1 -0
  196. package/dist/esm/src/connection/http_connection.d.ts +77 -0
  197. package/dist/esm/src/connection/http_connection.d.ts.map +1 -0
  198. package/dist/esm/src/connection/http_connection.js +204 -0
  199. package/dist/esm/src/connection/http_connection.js.map +1 -0
  200. package/dist/esm/src/connection/lambda_connection.d.ts +17 -0
  201. package/dist/esm/src/connection/lambda_connection.d.ts.map +1 -0
  202. package/dist/esm/src/connection/lambda_connection.js +60 -0
  203. package/dist/esm/src/connection/lambda_connection.js.map +1 -0
  204. package/dist/esm/src/context.d.ts +541 -0
  205. package/dist/esm/src/context.d.ts.map +1 -0
  206. package/dist/esm/src/context.js +75 -0
  207. package/dist/esm/src/context.js.map +1 -0
  208. package/dist/esm/src/context_impl.d.ts +54 -0
  209. package/dist/esm/src/context_impl.d.ts.map +1 -0
  210. package/dist/esm/src/context_impl.js +515 -0
  211. package/dist/esm/src/context_impl.js.map +1 -0
  212. package/dist/esm/src/endpoint/endpoint_builder.d.ts +18 -0
  213. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -0
  214. package/dist/esm/src/endpoint/endpoint_builder.js +126 -0
  215. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -0
  216. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +37 -0
  217. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -0
  218. package/dist/esm/src/endpoint/fetch_endpoint.js +42 -0
  219. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -0
  220. package/dist/esm/src/endpoint/handlers/fetch.d.ts +6 -0
  221. package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -0
  222. package/dist/esm/src/endpoint/handlers/fetch.js +30 -0
  223. package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -0
  224. package/dist/esm/src/endpoint/handlers/generic.d.ts +44 -0
  225. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -0
  226. package/dist/esm/src/endpoint/handlers/generic.js +189 -0
  227. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -0
  228. package/dist/esm/src/endpoint/handlers/lambda.d.ts +8 -0
  229. package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -0
  230. package/dist/esm/src/endpoint/handlers/lambda.js +62 -0
  231. package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -0
  232. package/dist/esm/src/endpoint/handlers/node.d.ts +11 -0
  233. package/dist/esm/src/endpoint/handlers/node.d.ts.map +1 -0
  234. package/dist/esm/src/endpoint/handlers/node.js +181 -0
  235. package/dist/esm/src/endpoint/handlers/node.js.map +1 -0
  236. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +32 -0
  237. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -0
  238. package/dist/esm/src/endpoint/lambda_endpoint.js +51 -0
  239. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -0
  240. package/dist/esm/src/endpoint/node_endpoint.d.ts +19 -0
  241. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -0
  242. package/dist/esm/src/endpoint/node_endpoint.js +89 -0
  243. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -0
  244. package/dist/esm/src/endpoint/request_signing/basex.d.ts +10 -0
  245. package/dist/esm/src/endpoint/request_signing/basex.d.ts.map +1 -0
  246. package/dist/esm/src/endpoint/request_signing/basex.js +136 -0
  247. package/dist/esm/src/endpoint/request_signing/basex.js.map +1 -0
  248. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts +17 -0
  249. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
  250. package/dist/esm/src/endpoint/request_signing/ed25519.js +52 -0
  251. package/dist/esm/src/endpoint/request_signing/ed25519.js.map +1 -0
  252. package/dist/esm/src/endpoint/request_signing/v1.d.ts +9 -0
  253. package/dist/esm/src/endpoint/request_signing/v1.d.ts.map +1 -0
  254. package/dist/esm/src/endpoint/request_signing/v1.js +133 -0
  255. package/dist/esm/src/endpoint/request_signing/v1.js.map +1 -0
  256. package/dist/esm/src/endpoint/request_signing/validate.d.ts +18 -0
  257. package/dist/esm/src/endpoint/request_signing/validate.d.ts.map +1 -0
  258. package/dist/esm/src/endpoint/request_signing/validate.js +40 -0
  259. package/dist/esm/src/endpoint/request_signing/validate.js.map +1 -0
  260. package/dist/esm/src/endpoint.d.ts +103 -0
  261. package/dist/esm/src/endpoint.d.ts.map +1 -0
  262. package/dist/esm/src/endpoint.js +12 -0
  263. package/dist/esm/src/endpoint.js.map +1 -0
  264. package/dist/esm/src/fetch.d.ts +7 -0
  265. package/dist/esm/src/fetch.d.ts.map +1 -0
  266. package/dist/esm/src/fetch.js +19 -0
  267. package/dist/esm/src/fetch.js.map +1 -0
  268. package/dist/esm/src/generated/proto/discovery_pb.d.ts +18 -0
  269. package/dist/esm/src/generated/proto/discovery_pb.d.ts.map +1 -0
  270. package/dist/esm/src/generated/proto/discovery_pb.js +37 -0
  271. package/dist/esm/src/generated/proto/discovery_pb.js.map +1 -0
  272. package/dist/esm/src/generated/proto/javascript_pb.d.ts +26 -0
  273. package/dist/esm/src/generated/proto/javascript_pb.d.ts.map +1 -0
  274. package/dist/esm/src/generated/proto/javascript_pb.js +48 -0
  275. package/dist/esm/src/generated/proto/javascript_pb.js.map +1 -0
  276. package/dist/esm/src/generated/proto/protocol_pb.d.ts +1051 -0
  277. package/dist/esm/src/generated/proto/protocol_pb.d.ts.map +1 -0
  278. package/dist/esm/src/generated/proto/protocol_pb.js +1258 -0
  279. package/dist/esm/src/generated/proto/protocol_pb.js.map +1 -0
  280. package/dist/esm/src/generated/version.d.ts +2 -0
  281. package/dist/esm/src/generated/version.d.ts.map +1 -0
  282. package/dist/esm/src/generated/version.js +2 -0
  283. package/dist/esm/src/generated/version.js.map +1 -0
  284. package/dist/esm/src/invocation.d.ts +48 -0
  285. package/dist/esm/src/invocation.d.ts.map +1 -0
  286. package/dist/esm/src/invocation.js +153 -0
  287. package/dist/esm/src/invocation.js.map +1 -0
  288. package/dist/esm/src/io/decoder.d.ts +9 -0
  289. package/dist/esm/src/io/decoder.d.ts.map +1 -0
  290. package/dist/esm/src/io/decoder.js +129 -0
  291. package/dist/esm/src/io/decoder.js.map +1 -0
  292. package/dist/esm/src/io/encoder.d.ts +7 -0
  293. package/dist/esm/src/io/encoder.d.ts.map +1 -0
  294. package/dist/esm/src/io/encoder.js +49 -0
  295. package/dist/esm/src/io/encoder.js.map +1 -0
  296. package/dist/esm/src/journal.d.ts +52 -0
  297. package/dist/esm/src/journal.d.ts.map +1 -0
  298. package/dist/esm/src/journal.js +412 -0
  299. package/dist/esm/src/journal.js.map +1 -0
  300. package/dist/esm/src/lambda.d.ts +7 -0
  301. package/dist/esm/src/lambda.d.ts.map +1 -0
  302. package/dist/esm/src/lambda.js +19 -0
  303. package/dist/esm/src/lambda.js.map +1 -0
  304. package/dist/esm/src/local_state_store.d.ts +16 -0
  305. package/dist/esm/src/local_state_store.d.ts.map +1 -0
  306. package/dist/esm/src/local_state_store.js +80 -0
  307. package/dist/esm/src/local_state_store.js.map +1 -0
  308. package/dist/esm/src/logger.d.ts +27 -0
  309. package/dist/esm/src/logger.d.ts.map +1 -0
  310. package/dist/esm/src/logger.js +146 -0
  311. package/dist/esm/src/logger.js.map +1 -0
  312. package/dist/esm/src/promise_combinator_tracker.d.ts +29 -0
  313. package/dist/esm/src/promise_combinator_tracker.d.ts.map +1 -0
  314. package/dist/esm/src/promise_combinator_tracker.js +125 -0
  315. package/dist/esm/src/promise_combinator_tracker.js.map +1 -0
  316. package/dist/esm/src/public_api.d.ts +7 -0
  317. package/dist/esm/src/public_api.d.ts.map +1 -0
  318. package/dist/esm/src/public_api.js +19 -0
  319. package/dist/esm/src/public_api.js.map +1 -0
  320. package/dist/esm/src/state_machine.d.ts +86 -0
  321. package/dist/esm/src/state_machine.d.ts.map +1 -0
  322. package/dist/esm/src/state_machine.js +407 -0
  323. package/dist/esm/src/state_machine.js.map +1 -0
  324. package/dist/esm/src/types/components.d.ts +78 -0
  325. package/dist/esm/src/types/components.d.ts.map +1 -0
  326. package/dist/esm/src/types/components.js +227 -0
  327. package/dist/esm/src/types/components.js.map +1 -0
  328. package/dist/esm/src/types/discovery.d.ts +43 -0
  329. package/dist/esm/src/types/discovery.d.ts.map +1 -0
  330. package/dist/esm/src/types/discovery.js +28 -0
  331. package/dist/esm/src/types/discovery.js.map +1 -0
  332. package/dist/esm/src/types/errors.d.ts +53 -0
  333. package/dist/esm/src/types/errors.d.ts.map +1 -0
  334. package/dist/esm/src/types/errors.js +117 -0
  335. package/dist/esm/src/types/errors.js.map +1 -0
  336. package/dist/esm/src/types/protocol.d.ts +40 -0
  337. package/dist/esm/src/types/protocol.d.ts.map +1 -0
  338. package/dist/esm/src/types/protocol.js +206 -0
  339. package/dist/esm/src/types/protocol.js.map +1 -0
  340. package/dist/esm/src/types/rpc.d.ts +300 -0
  341. package/dist/esm/src/types/rpc.d.ts.map +1 -0
  342. package/dist/esm/src/types/rpc.js +412 -0
  343. package/dist/esm/src/types/rpc.js.map +1 -0
  344. package/dist/esm/src/types/types.d.ts +20 -0
  345. package/dist/esm/src/types/types.d.ts.map +1 -0
  346. package/dist/esm/src/types/types.js +105 -0
  347. package/dist/esm/src/types/types.js.map +1 -0
  348. package/dist/esm/src/user_agent.d.ts +2 -0
  349. package/dist/esm/src/user_agent.d.ts.map +1 -0
  350. package/dist/esm/src/user_agent.js +13 -0
  351. package/dist/esm/src/user_agent.js.map +1 -0
  352. package/dist/esm/src/utils/buffer.d.ts +5 -0
  353. package/dist/esm/src/utils/buffer.d.ts.map +1 -0
  354. package/dist/esm/src/utils/buffer.js +53 -0
  355. package/dist/esm/src/utils/buffer.js.map +1 -0
  356. package/dist/esm/src/utils/message_logger.d.ts +7 -0
  357. package/dist/esm/src/utils/message_logger.d.ts.map +1 -0
  358. package/dist/esm/src/utils/message_logger.js +75 -0
  359. package/dist/esm/src/utils/message_logger.js.map +1 -0
  360. package/dist/esm/src/utils/promises.d.ts +15 -0
  361. package/dist/esm/src/utils/promises.d.ts.map +1 -0
  362. package/dist/esm/src/utils/promises.js +63 -0
  363. package/dist/esm/src/utils/promises.js.map +1 -0
  364. package/dist/esm/src/utils/rand.d.ts +15 -0
  365. package/dist/esm/src/utils/rand.d.ts.map +1 -0
  366. package/dist/esm/src/utils/rand.js +106 -0
  367. package/dist/esm/src/utils/rand.js.map +1 -0
  368. package/dist/esm/src/utils/serde.d.ts +5 -0
  369. package/dist/esm/src/utils/serde.d.ts.map +1 -0
  370. package/dist/esm/src/utils/serde.js +43 -0
  371. package/dist/esm/src/utils/serde.js.map +1 -0
  372. package/dist/esm/src/utils/utils.d.ts +5 -0
  373. package/dist/esm/src/utils/utils.d.ts.map +1 -0
  374. package/dist/esm/src/utils/utils.js +109 -0
  375. package/dist/esm/src/utils/utils.js.map +1 -0
  376. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  377. package/package.json +57 -19
  378. package/dist/src/connection/buffered_connection.d.ts.map +0 -1
  379. package/dist/src/connection/buffered_connection.js.map +0 -1
  380. package/dist/src/connection/connection.d.ts.map +0 -1
  381. package/dist/src/connection/connection.js.map +0 -1
  382. package/dist/src/connection/http_connection.d.ts.map +0 -1
  383. package/dist/src/connection/http_connection.js.map +0 -1
  384. package/dist/src/connection/lambda_connection.d.ts.map +0 -1
  385. package/dist/src/connection/lambda_connection.js.map +0 -1
  386. package/dist/src/context.d.ts.map +0 -1
  387. package/dist/src/context.js.map +0 -1
  388. package/dist/src/context_impl.d.ts.map +0 -1
  389. package/dist/src/context_impl.js.map +0 -1
  390. package/dist/src/endpoint/endpoint_impl.d.ts +0 -27
  391. package/dist/src/endpoint/endpoint_impl.d.ts.map +0 -1
  392. package/dist/src/endpoint/endpoint_impl.js.map +0 -1
  393. package/dist/src/endpoint/http2_handler.d.ts.map +0 -1
  394. package/dist/src/endpoint/http2_handler.js.map +0 -1
  395. package/dist/src/endpoint/lambda_handler.d.ts +0 -15
  396. package/dist/src/endpoint/lambda_handler.d.ts.map +0 -1
  397. package/dist/src/endpoint/lambda_handler.js +0 -176
  398. package/dist/src/endpoint/lambda_handler.js.map +0 -1
  399. package/dist/src/endpoint/request_signing/basex.d.ts.map +0 -1
  400. package/dist/src/endpoint/request_signing/basex.js.map +0 -1
  401. package/dist/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
  402. package/dist/src/endpoint/request_signing/ed25519.js.map +0 -1
  403. package/dist/src/endpoint/request_signing/v1.d.ts.map +0 -1
  404. package/dist/src/endpoint/request_signing/v1.js.map +0 -1
  405. package/dist/src/endpoint/request_signing/validate.d.ts.map +0 -1
  406. package/dist/src/endpoint/request_signing/validate.js.map +0 -1
  407. package/dist/src/endpoint.d.ts.map +0 -1
  408. package/dist/src/endpoint.js.map +0 -1
  409. package/dist/src/generated/proto/discovery_pb.d.ts.map +0 -1
  410. package/dist/src/generated/proto/discovery_pb.js.map +0 -1
  411. package/dist/src/generated/proto/javascript_pb.d.ts.map +0 -1
  412. package/dist/src/generated/proto/javascript_pb.js.map +0 -1
  413. package/dist/src/generated/proto/protocol_pb.d.ts.map +0 -1
  414. package/dist/src/generated/proto/protocol_pb.js.map +0 -1
  415. package/dist/src/generated/version.d.ts +0 -2
  416. package/dist/src/generated/version.d.ts.map +0 -1
  417. package/dist/src/generated/version.js.map +0 -1
  418. package/dist/src/invocation.d.ts.map +0 -1
  419. package/dist/src/invocation.js.map +0 -1
  420. package/dist/src/io/decoder.d.ts.map +0 -1
  421. package/dist/src/io/decoder.js.map +0 -1
  422. package/dist/src/io/encoder.d.ts.map +0 -1
  423. package/dist/src/io/encoder.js.map +0 -1
  424. package/dist/src/journal.d.ts.map +0 -1
  425. package/dist/src/journal.js.map +0 -1
  426. package/dist/src/local_state_store.d.ts.map +0 -1
  427. package/dist/src/local_state_store.js.map +0 -1
  428. package/dist/src/logger.d.ts.map +0 -1
  429. package/dist/src/logger.js.map +0 -1
  430. package/dist/src/promise_combinator_tracker.d.ts.map +0 -1
  431. package/dist/src/promise_combinator_tracker.js.map +0 -1
  432. package/dist/src/public_api.d.ts.map +0 -1
  433. package/dist/src/public_api.js.map +0 -1
  434. package/dist/src/state_machine.d.ts.map +0 -1
  435. package/dist/src/state_machine.js.map +0 -1
  436. package/dist/src/types/components.d.ts.map +0 -1
  437. package/dist/src/types/components.js.map +0 -1
  438. package/dist/src/types/discovery.d.ts.map +0 -1
  439. package/dist/src/types/discovery.js.map +0 -1
  440. package/dist/src/types/errors.d.ts.map +0 -1
  441. package/dist/src/types/errors.js.map +0 -1
  442. package/dist/src/types/protocol.d.ts.map +0 -1
  443. package/dist/src/types/protocol.js.map +0 -1
  444. package/dist/src/types/rpc.d.ts.map +0 -1
  445. package/dist/src/types/rpc.js.map +0 -1
  446. package/dist/src/types/types.d.ts.map +0 -1
  447. package/dist/src/types/types.js.map +0 -1
  448. package/dist/src/user_agent.d.ts +0 -2
  449. package/dist/src/user_agent.d.ts.map +0 -1
  450. package/dist/src/user_agent.js.map +0 -1
  451. package/dist/src/utils/message_logger.d.ts.map +0 -1
  452. package/dist/src/utils/message_logger.js.map +0 -1
  453. package/dist/src/utils/promises.d.ts.map +0 -1
  454. package/dist/src/utils/promises.js.map +0 -1
  455. package/dist/src/utils/rand.d.ts.map +0 -1
  456. package/dist/src/utils/rand.js.map +0 -1
  457. package/dist/src/utils/serde.d.ts +0 -5
  458. package/dist/src/utils/serde.d.ts.map +0 -1
  459. package/dist/src/utils/serde.js.map +0 -1
  460. package/dist/src/utils/utils.d.ts.map +0 -1
  461. package/dist/src/utils/utils.js.map +0 -1
  462. package/dist/tsconfig.tsbuildinfo +0 -1
  463. /package/dist/{src → cjs/src}/connection/connection.js +0 -0
  464. /package/dist/{src → cjs/src}/endpoint/request_signing/basex.d.ts +0 -0
  465. /package/dist/{src → cjs/src}/endpoint/request_signing/basex.js +0 -0
  466. /package/dist/{src → cjs/src}/generated/proto/discovery_pb.d.ts +0 -0
  467. /package/dist/{src → cjs/src}/generated/proto/javascript_pb.d.ts +0 -0
  468. /package/dist/{src → cjs/src}/generated/proto/javascript_pb.js +0 -0
  469. /package/dist/{src → cjs/src}/generated/proto/protocol_pb.d.ts +0 -0
  470. /package/dist/{src → cjs/src}/logger.d.ts +0 -0
  471. /package/dist/{src → cjs/src}/types/discovery.d.ts +0 -0
  472. /package/dist/{src → cjs/src}/utils/promises.d.ts +0 -0
  473. /package/dist/{src → cjs/src}/utils/utils.d.ts +0 -0
@@ -0,0 +1,146 @@
1
+ /*
2
+ * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
3
+ *
4
+ * This file is part of the Restate SDK for Node.js/TypeScript,
5
+ * which is released under the MIT license.
6
+ *
7
+ * You can find a copy of the license in file LICENSE in the root
8
+ * directory of this repository or package, or at
9
+ * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
10
+ */
11
+ /* eslint-disable @typescript-eslint/no-explicit-any */
12
+ /* eslint-disable no-console */
13
+ export var RestateLogLevel;
14
+ (function (RestateLogLevel) {
15
+ RestateLogLevel[RestateLogLevel["TRACE"] = 1] = "TRACE";
16
+ RestateLogLevel[RestateLogLevel["DEBUG"] = 2] = "DEBUG";
17
+ RestateLogLevel[RestateLogLevel["INFO"] = 3] = "INFO";
18
+ RestateLogLevel[RestateLogLevel["WARN"] = 4] = "WARN";
19
+ RestateLogLevel[RestateLogLevel["ERROR"] = 5] = "ERROR";
20
+ })(RestateLogLevel || (RestateLogLevel = {}));
21
+ function logLevelName(level) {
22
+ switch (level) {
23
+ case RestateLogLevel.TRACE:
24
+ return "TRACE";
25
+ case RestateLogLevel.DEBUG:
26
+ return "DEBUG";
27
+ case RestateLogLevel.INFO:
28
+ return "INFO";
29
+ case RestateLogLevel.WARN:
30
+ return "WARN";
31
+ case RestateLogLevel.ERROR:
32
+ return "ERROR";
33
+ }
34
+ }
35
+ function logLevelFromName(name) {
36
+ if (!name) {
37
+ return null;
38
+ }
39
+ const n = name.toUpperCase();
40
+ switch (n) {
41
+ case "TRACE":
42
+ return RestateLogLevel.TRACE;
43
+ case "DEBUG":
44
+ return RestateLogLevel.DEBUG;
45
+ case "INFO":
46
+ return RestateLogLevel.INFO;
47
+ case "WARN":
48
+ return RestateLogLevel.WARN;
49
+ case "ERROR":
50
+ return RestateLogLevel.ERROR;
51
+ default:
52
+ throw new TypeError(`unknown name ${name}`);
53
+ }
54
+ }
55
+ function logFunction(level) {
56
+ switch (level) {
57
+ case RestateLogLevel.TRACE:
58
+ return console.trace;
59
+ case RestateLogLevel.DEBUG:
60
+ return console.debug;
61
+ case RestateLogLevel.INFO:
62
+ return console.info;
63
+ case RestateLogLevel.WARN:
64
+ return console.warn;
65
+ case RestateLogLevel.ERROR:
66
+ return console.error;
67
+ default:
68
+ throw new TypeError(`unset or unknown log level ${level}`);
69
+ }
70
+ }
71
+ function readRestateLogLevel() {
72
+ const env = globalThis.process?.env?.RESTATE_LOGGING;
73
+ const level = logLevelFromName(env);
74
+ if (level != null) {
75
+ return level;
76
+ }
77
+ return RestateLogLevel.INFO;
78
+ }
79
+ export const RESTATE_LOG_LEVEL = readRestateLogLevel();
80
+ export class LoggerContext {
81
+ invocationId;
82
+ additionalContext;
83
+ fqMethodName;
84
+ constructor(invocationId, packageName, serviceName, handlerName, additionalContext) {
85
+ this.invocationId = invocationId;
86
+ this.additionalContext = additionalContext;
87
+ this.fqMethodName = packageName
88
+ ? `${packageName}.${serviceName}/${handlerName}`
89
+ : `${serviceName}/${handlerName}`;
90
+ }
91
+ }
92
+ function formatLogPrefix(context) {
93
+ if (context === undefined) {
94
+ return "[restate] ";
95
+ }
96
+ let prefix = `[restate] [${context.fqMethodName}][${context.invocationId}]`;
97
+ if (context.additionalContext !== undefined) {
98
+ for (const [k, v] of Object.entries(context.additionalContext)) {
99
+ prefix = prefix + `[${k}: ${v}]`;
100
+ }
101
+ }
102
+ return prefix;
103
+ }
104
+ const NOOP_DESCRIPTOR = {
105
+ get() {
106
+ return () => {
107
+ // a no-op function
108
+ };
109
+ },
110
+ };
111
+ function loggerForLevel(level, shouldLog, prefix) {
112
+ if (level < RESTATE_LOG_LEVEL) {
113
+ return NOOP_DESCRIPTOR;
114
+ }
115
+ const name = logLevelName(level);
116
+ const fn = logFunction(level);
117
+ return {
118
+ get: () => {
119
+ if (!shouldLog()) {
120
+ return () => {
121
+ // empty logger
122
+ };
123
+ }
124
+ const p = `${prefix}[${new Date().toISOString()}] ${name}: `;
125
+ return fn.bind(console, p);
126
+ },
127
+ };
128
+ }
129
+ export function createRestateConsole(context, filter) {
130
+ const prefix = formatLogPrefix(context);
131
+ const shouldLog = filter ?? (() => true);
132
+ return Object.create(console, {
133
+ trace: loggerForLevel(RestateLogLevel.TRACE, shouldLog, prefix),
134
+ debug: loggerForLevel(RestateLogLevel.DEBUG, shouldLog, prefix),
135
+ info: loggerForLevel(RestateLogLevel.INFO, shouldLog, prefix),
136
+ warn: loggerForLevel(RestateLogLevel.WARN, shouldLog, prefix),
137
+ error: loggerForLevel(RestateLogLevel.ERROR, shouldLog, prefix),
138
+ });
139
+ }
140
+ /**
141
+ * This is a simple console without contextual info.
142
+ *
143
+ * This should be used only in cases where no contextual info is available.
144
+ */
145
+ export const rlog = createRestateConsole();
146
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { WrappedPromise } from "./utils/promises.js";
2
+ export declare enum PromiseType {
3
+ JournalEntry = 0
4
+ }
5
+ export interface PromiseId {
6
+ type: PromiseType;
7
+ id: number;
8
+ }
9
+ export declare function newJournalEntryPromiseId(entryIndex: number): PromiseId;
10
+ /**
11
+ * This class takes care of creating and managing deterministic promise combinators.
12
+ *
13
+ * It should be wired up to the journal/state machine methods to read and write entries.
14
+ */
15
+ export declare class PromiseCombinatorTracker {
16
+ private readonly readReplayOrder;
17
+ private readonly onWriteCombinatorOrder;
18
+ private nextCombinatorIndex;
19
+ private pendingCombinators;
20
+ constructor(readReplayOrder: (combinatorIndex: number) => PromiseId[] | undefined, onWriteCombinatorOrder: (combinatorIndex: number, order: PromiseId[]) => Promise<void>);
21
+ createCombinator(combinatorConstructor: (promises: PromiseLike<unknown>[]) => Promise<unknown>, promises: Array<{
22
+ id: PromiseId;
23
+ promise: Promise<unknown>;
24
+ }>): WrappedPromise<unknown>;
25
+ private appendOrder;
26
+ private onCombinatorReplayed;
27
+ private onCombinatorResolved;
28
+ }
29
+ //# sourceMappingURL=promise_combinator_tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise_combinator_tracker.d.ts","sourceRoot":"","sources":["../../../src/promise_combinator_tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,oBAAY,WAAW;IACrB,YAAY,IAAA;CAGb;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAKtE;AAmGD;;;;GAIG;AACH,qBAAa,wBAAwB;IAKjC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAGhC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAPzC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,kBAAkB,CAAuC;gBAG9C,eAAe,EAAE,CAChC,eAAe,EAAE,MAAM,KACpB,SAAS,EAAE,GAAG,SAAS,EACX,sBAAsB,EAAE,CACvC,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,SAAS,EAAE,KACf,OAAO,CAAC,IAAI,CAAC;IAGb,gBAAgB,CACrB,qBAAqB,EAAE,CACrB,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,KAC7B,OAAO,CAAC,OAAO,CAAC,EACrB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,GAC5D,cAAc,CAAC,OAAO,CAAC;IAkB1B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,oBAAoB;YAKd,oBAAoB;CAanC"}
@@ -0,0 +1,125 @@
1
+ import { CompletablePromise, wrapDeeply } from "./utils/promises.js";
2
+ export var PromiseType;
3
+ (function (PromiseType) {
4
+ PromiseType[PromiseType["JournalEntry"] = 0] = "JournalEntry";
5
+ // Combinator?,
6
+ // SideEffect?
7
+ })(PromiseType || (PromiseType = {}));
8
+ export function newJournalEntryPromiseId(entryIndex) {
9
+ return {
10
+ type: PromiseType.JournalEntry,
11
+ id: entryIndex,
12
+ };
13
+ }
14
+ /**
15
+ * Prepare a Promise combinator
16
+ *
17
+ * @param combinatorIndex the index of this combinator
18
+ * @param combinatorConstructor the function that creates the combinator promise, e.g. Promise.all/any/race/allSettled
19
+ * @param promises the promises given by the user, and the respective ids
20
+ * @param readReplayOrder the function to read the replay order
21
+ * @param onNewCompleted callback when a child entry is resolved
22
+ * @param onCombinatorResolved callback when the combinator is resolved
23
+ * @param onCombinatorReplayed callback when the combinator is replayed
24
+ */
25
+ function preparePromiseCombinator(combinatorIndex, combinatorConstructor, promises, readReplayOrder, onNewCompleted, onCombinatorResolved, onCombinatorReplayed) {
26
+ // Create the proxy promises and index them
27
+ const promisesWithProxyPromise = promises.map((v) => ({
28
+ id: v.id,
29
+ originalPromise: v.promise,
30
+ proxyPromise: new CompletablePromise(),
31
+ }));
32
+ const promisesMap = new Map(promisesWithProxyPromise.map((v) => [
33
+ // We need to define a key format for this map...
34
+ v.id.type.toString() + "-" + v.id.id.toString(),
35
+ { originalPromise: v.originalPromise, proxyPromise: v.proxyPromise },
36
+ ]));
37
+ // Create the combinator using the proxy promises
38
+ const combinator = combinatorConstructor(promisesWithProxyPromise.map((v) => v.proxyPromise.promise)).finally(
39
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
40
+ async () =>
41
+ // Once the combinator is resolved, notify back.
42
+ await onCombinatorResolved(combinatorIndex));
43
+ return wrapDeeply(combinator, () => {
44
+ const replayOrder = readReplayOrder(combinatorIndex);
45
+ if (replayOrder === undefined) {
46
+ // We're in processing mode! We need to wire up original promises with proxy promises
47
+ for (const { originalPromise, proxyPromise, id, } of promisesWithProxyPromise) {
48
+ originalPromise
49
+ // This code works deterministically because the javascript runtime will enqueue
50
+ // the listeners of the proxy promise (which are mounted in Promise.all/any) in a single FIFO queue,
51
+ // so a subsequent resolve on another proxy promise can't overtake this one.
52
+ //
53
+ // Some resources:
54
+ // * https://stackoverflow.com/questions/38059284/why-does-javascript-promise-then-handler-run-after-other-code
55
+ // * https://262.ecma-international.org/6.0/#sec-jobs-and-job-queues
56
+ // * https://tr.javascript.info/microtask-queue
57
+ .then((v) => {
58
+ onNewCompleted(combinatorIndex, id);
59
+ proxyPromise.resolve(v);
60
+ }, (e) => {
61
+ onNewCompleted(combinatorIndex, id);
62
+ proxyPromise.reject(e);
63
+ });
64
+ }
65
+ return;
66
+ }
67
+ // We're in replay mode, Now follow the replayIndexes order.
68
+ onCombinatorReplayed(combinatorIndex);
69
+ for (const promiseId of replayOrder) {
70
+ // These are already completed, so once we set the then callback they will be immediately resolved.
71
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
72
+ const { originalPromise, proxyPromise } = promisesMap.get(promiseId.type.toString() + "-" + promiseId.id.toString());
73
+ // Because this promise is already completed, promise.then will immediately enqueue in the promise microtask queue
74
+ // the handlers to execute.
75
+ // See the comment below for more details.
76
+ originalPromise.then((v) => proxyPromise.resolve(v), (e) => proxyPromise.reject(e));
77
+ }
78
+ });
79
+ }
80
+ /**
81
+ * This class takes care of creating and managing deterministic promise combinators.
82
+ *
83
+ * It should be wired up to the journal/state machine methods to read and write entries.
84
+ */
85
+ export class PromiseCombinatorTracker {
86
+ readReplayOrder;
87
+ onWriteCombinatorOrder;
88
+ nextCombinatorIndex = 0;
89
+ pendingCombinators = new Map();
90
+ constructor(readReplayOrder, onWriteCombinatorOrder) {
91
+ this.readReplayOrder = readReplayOrder;
92
+ this.onWriteCombinatorOrder = onWriteCombinatorOrder;
93
+ }
94
+ createCombinator(combinatorConstructor, promises) {
95
+ const combinatorIndex = this.nextCombinatorIndex;
96
+ this.nextCombinatorIndex++;
97
+ // Prepare combinator order
98
+ this.pendingCombinators.set(combinatorIndex, []);
99
+ return preparePromiseCombinator(combinatorIndex, combinatorConstructor, promises, this.readReplayOrder, this.appendOrder.bind(this), this.onCombinatorResolved.bind(this), this.onCombinatorReplayed.bind(this));
100
+ }
101
+ appendOrder(idx, promiseId) {
102
+ const order = this.pendingCombinators.get(idx);
103
+ if (order === undefined) {
104
+ // The order was already published, nothing to do here.
105
+ return;
106
+ }
107
+ order.push(promiseId);
108
+ }
109
+ onCombinatorReplayed(idx) {
110
+ // This avoids republishing the order
111
+ this.pendingCombinators.delete(idx);
112
+ }
113
+ async onCombinatorResolved(idx) {
114
+ const order = this.pendingCombinators.get(idx);
115
+ if (order === undefined) {
116
+ // It was already published
117
+ return;
118
+ }
119
+ // We don't need this list anymore.
120
+ this.pendingCombinators.delete(idx);
121
+ // Publish the combinator order
122
+ await this.onWriteCombinatorOrder(idx, order);
123
+ }
124
+ }
125
+ //# sourceMappingURL=promise_combinator_tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise_combinator_tracker.js","sourceRoot":"","sources":["../../../src/promise_combinator_tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from "./common_api.js";
2
+ import type { RestateEndpoint } from "./endpoint.js";
3
+ /**
4
+ * Create a new {@link RestateEndpoint}.
5
+ */
6
+ export declare function endpoint(): RestateEndpoint;
7
+ //# sourceMappingURL=public_api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../../src/public_api.ts"],"names":[],"mappings":"AAWA,cAAc,iBAAiB,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD;;GAEG;AACH,wBAAgB,QAAQ,IAAI,eAAe,CAE1C"}
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
3
+ *
4
+ * This file is part of the Restate SDK for Node.js/TypeScript,
5
+ * which is released under the MIT license.
6
+ *
7
+ * You can find a copy of the license in file LICENSE in the root
8
+ * directory of this repository or package, or at
9
+ * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
10
+ */
11
+ export * from "./common_api.js";
12
+ import { NodeEndpoint } from "./endpoint/node_endpoint.js";
13
+ /**
14
+ * Create a new {@link RestateEndpoint}.
15
+ */
16
+ export function endpoint() {
17
+ return new NodeEndpoint();
18
+ }
19
+ //# sourceMappingURL=public_api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public_api.js","sourceRoot":"","sources":["../../../src/public_api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,YAAY,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,86 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import * as p from "./types/protocol.js";
3
+ import type { Connection, RestateStreamConsumer } from "./connection/connection.js";
4
+ import { Message } from "./types/types.js";
5
+ import type { StateMachineConsole } from "./utils/message_logger.js";
6
+ import type { Invocation } from "./invocation.js";
7
+ import type { JournalErrorContext } from "./types/errors.js";
8
+ import type { LocalStateStore } from "./local_state_store.js";
9
+ import type { LoggerContext } from "./logger.js";
10
+ import type { WrappedPromise } from "./utils/promises.js";
11
+ import type { PromiseId } from "./promise_combinator_tracker.js";
12
+ import { ProtocolMode } from "./types/discovery.js";
13
+ import { Buffer } from "node:buffer";
14
+ import type { HandlerKind } from "./types/rpc.js";
15
+ export declare class StateMachine implements RestateStreamConsumer {
16
+ private readonly connection;
17
+ private readonly invocation;
18
+ private readonly protocolMode;
19
+ private readonly suspensionMillis;
20
+ private journal;
21
+ private restateContext;
22
+ private readonly invocationComplete;
23
+ private stateMachineClosed;
24
+ readonly localStateStore: LocalStateStore;
25
+ private inputChannelClosed;
26
+ private suspensionTimeout?;
27
+ private promiseCombinatorTracker;
28
+ console: StateMachineConsole;
29
+ constructor(connection: Connection, invocation: Invocation, protocolMode: ProtocolMode, handlerKind: HandlerKind, loggerContext: LoggerContext, suspensionMillis?: number);
30
+ handleMessage(m: Message): boolean;
31
+ handleUserCodeMessage<T>(messageType: bigint, message: p.ProtocolMessage, completedFlag?: boolean, requiresAckFlag?: boolean): WrappedPromise<T | void>;
32
+ createCombinator(combinatorConstructor: (promises: PromiseLike<unknown>[]) => Promise<unknown>, promises: Array<{
33
+ id: PromiseId;
34
+ promise: Promise<unknown>;
35
+ }>): WrappedPromise<unknown>;
36
+ readCombinatorOrderEntry(combinatorId: number): PromiseId[] | undefined;
37
+ writeCombinatorOrderEntry(combinatorId: number, order: PromiseId[]): Promise<void>;
38
+ /**
39
+ * Invokes the RPC function and returns a promise that completes when the state machine
40
+ * stops processing the invocation, meaning when:
41
+ * - The function completes with a result or an exception
42
+ * - The execution suspends
43
+ * - An error is raised in the state machine (network, API violation, ...)
44
+ *
45
+ * The returned promise resolves successfully for all the cases above, because the are (from
46
+ * the perspective of the state machine) expected outcomes in which it send out corresponding
47
+ * result messages and cleanly closed the connection.
48
+ *
49
+ * The returned promise is rejected when an unhandled error arises and the caller would be
50
+ * expected to ensure that resources are properly cleaned up.
51
+ */
52
+ invoke(): Promise<Buffer | void>;
53
+ sendErrorAndFinish(e: Error, ctx?: JournalErrorContext): Promise<void>;
54
+ private sendRetryableError;
55
+ private sendTerminalError;
56
+ private send;
57
+ /**
58
+ * Closes the state machine, flushes all output, and resolves the invocation promise.
59
+ */
60
+ private finish;
61
+ /**
62
+ * This function propagates errors up to the completion promise, to be handled
63
+ * on the connection layer.
64
+ */
65
+ private unhandledError;
66
+ /**
67
+ * This method is invoked when we hit a suspension point. A suspension point is everytime the user "await"s a Promise returned by RestateContext that might be completed at a later point in time by a CompletionMessage/AckMessage.
68
+ *
69
+ * Depending on the state of the read channel, and on the protocol mode, it might either immediately suspend, or schedule a suspension to happen at a later point in time.
70
+ */
71
+ private hitSuspensionPoint;
72
+ private getSuspensionMillis;
73
+ private suspend;
74
+ /**
75
+ * WARNING: make sure you use this at the right point in the code
76
+ * After the index has been incremented...
77
+ * This is error-prone... Would be good to have a better solution for this.
78
+ */
79
+ getUserCodeJournalIndex(): number;
80
+ handleInputClosed(): void;
81
+ handleStreamError(e: Error): void;
82
+ handleDanglingPromiseError(e: Error): void;
83
+ nextEntryWillBeReplayed(): boolean;
84
+ private clearSuspensionTimeout;
85
+ }
86
+ //# sourceMappingURL=state_machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state_machine.d.ts","sourceRoot":"","sources":["../../../src/state_machine.ts"],"names":[],"mappings":"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"}