@restatedev/restate-sdk 0.9.2 → 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 (499) hide show
  1. package/README.md +10 -0
  2. package/dist/cjs/package.json +1 -0
  3. package/dist/cjs/src/common_api.d.ts +7 -0
  4. package/dist/cjs/src/common_api.d.ts.map +1 -0
  5. package/dist/cjs/src/common_api.js +25 -0
  6. package/dist/cjs/src/common_api.js.map +1 -0
  7. package/dist/{src → cjs/src}/connection/buffered_connection.d.ts +3 -4
  8. package/dist/cjs/src/connection/buffered_connection.d.ts.map +1 -0
  9. package/dist/{src → cjs/src}/connection/buffered_connection.js +2 -2
  10. package/dist/cjs/src/connection/buffered_connection.js.map +1 -0
  11. package/dist/{src → cjs/src}/connection/connection.d.ts +2 -1
  12. package/dist/cjs/src/connection/connection.d.ts.map +1 -0
  13. package/dist/cjs/src/connection/connection.js.map +1 -0
  14. package/dist/{src → cjs/src}/connection/http_connection.d.ts +9 -5
  15. package/dist/cjs/src/connection/http_connection.d.ts.map +1 -0
  16. package/dist/{src → cjs/src}/connection/http_connection.js +16 -11
  17. package/dist/cjs/src/connection/http_connection.js.map +1 -0
  18. package/dist/{src → cjs/src}/connection/lambda_connection.d.ts +5 -3
  19. package/dist/cjs/src/connection/lambda_connection.d.ts.map +1 -0
  20. package/dist/{src → cjs/src}/connection/lambda_connection.js +14 -9
  21. package/dist/cjs/src/connection/lambda_connection.js.map +1 -0
  22. package/dist/{src → cjs/src}/context.d.ts +149 -44
  23. package/dist/cjs/src/context.d.ts.map +1 -0
  24. package/dist/{src → cjs/src}/context.js +5 -5
  25. package/dist/cjs/src/context.js.map +1 -0
  26. package/dist/cjs/src/context_impl.d.ts +54 -0
  27. package/dist/cjs/src/context_impl.d.ts.map +1 -0
  28. package/dist/{src → cjs/src}/context_impl.js +168 -106
  29. package/dist/cjs/src/context_impl.js.map +1 -0
  30. package/dist/cjs/src/endpoint/endpoint_builder.d.ts +18 -0
  31. package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -0
  32. package/dist/cjs/src/endpoint/endpoint_builder.js +130 -0
  33. package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -0
  34. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +37 -0
  35. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -0
  36. package/dist/cjs/src/endpoint/fetch_endpoint.js +46 -0
  37. package/dist/cjs/src/endpoint/fetch_endpoint.js.map +1 -0
  38. package/dist/cjs/src/endpoint/handlers/fetch.d.ts +6 -0
  39. package/dist/cjs/src/endpoint/handlers/fetch.d.ts.map +1 -0
  40. package/dist/cjs/src/endpoint/handlers/fetch.js +34 -0
  41. package/dist/cjs/src/endpoint/handlers/fetch.js.map +1 -0
  42. package/dist/cjs/src/endpoint/handlers/generic.d.ts +44 -0
  43. package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -0
  44. package/dist/cjs/src/endpoint/handlers/generic.js +193 -0
  45. package/dist/cjs/src/endpoint/handlers/generic.js.map +1 -0
  46. package/dist/cjs/src/endpoint/handlers/lambda.d.ts +8 -0
  47. package/dist/cjs/src/endpoint/handlers/lambda.d.ts.map +1 -0
  48. package/dist/cjs/src/endpoint/handlers/lambda.js +66 -0
  49. package/dist/cjs/src/endpoint/handlers/lambda.js.map +1 -0
  50. package/dist/{src/endpoint/http2_handler.d.ts → cjs/src/endpoint/handlers/node.d.ts} +4 -4
  51. package/dist/cjs/src/endpoint/handlers/node.d.ts.map +1 -0
  52. package/dist/cjs/src/endpoint/handlers/node.js +188 -0
  53. package/dist/cjs/src/endpoint/handlers/node.js.map +1 -0
  54. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +32 -0
  55. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -0
  56. package/dist/cjs/src/endpoint/lambda_endpoint.js +55 -0
  57. package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -0
  58. package/dist/cjs/src/endpoint/node_endpoint.d.ts +19 -0
  59. package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -0
  60. package/dist/cjs/src/endpoint/node_endpoint.js +116 -0
  61. package/dist/cjs/src/endpoint/node_endpoint.js.map +1 -0
  62. package/dist/cjs/src/endpoint/request_signing/basex.d.ts.map +1 -0
  63. package/dist/cjs/src/endpoint/request_signing/basex.js.map +1 -0
  64. package/dist/{src → cjs/src}/endpoint/request_signing/ed25519.d.ts +1 -1
  65. package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
  66. package/dist/{src → cjs/src}/endpoint/request_signing/ed25519.js +3 -1
  67. package/dist/cjs/src/endpoint/request_signing/ed25519.js.map +1 -0
  68. package/dist/{src → cjs/src}/endpoint/request_signing/v1.d.ts +2 -2
  69. package/dist/cjs/src/endpoint/request_signing/v1.d.ts.map +1 -0
  70. package/dist/{src → cjs/src}/endpoint/request_signing/v1.js +9 -16
  71. package/dist/cjs/src/endpoint/request_signing/v1.js.map +1 -0
  72. package/dist/{src → cjs/src}/endpoint/request_signing/validate.d.ts +1 -1
  73. package/dist/cjs/src/endpoint/request_signing/validate.d.ts.map +1 -0
  74. package/dist/{src → cjs/src}/endpoint/request_signing/validate.js +3 -3
  75. package/dist/cjs/src/endpoint/request_signing/validate.js.map +1 -0
  76. package/dist/{src → cjs/src}/endpoint.d.ts +27 -26
  77. package/dist/cjs/src/endpoint.d.ts.map +1 -0
  78. package/dist/{src → cjs/src}/endpoint.js +0 -9
  79. package/dist/cjs/src/endpoint.js.map +1 -0
  80. package/dist/cjs/src/fetch.d.ts +7 -0
  81. package/dist/cjs/src/fetch.d.ts.map +1 -0
  82. package/dist/cjs/src/fetch.js +37 -0
  83. package/dist/cjs/src/fetch.js.map +1 -0
  84. package/dist/cjs/src/generated/proto/discovery_pb.d.ts +18 -0
  85. package/dist/cjs/src/generated/proto/discovery_pb.d.ts.map +1 -0
  86. package/dist/cjs/src/generated/proto/discovery_pb.js +40 -0
  87. package/dist/cjs/src/generated/proto/discovery_pb.js.map +1 -0
  88. package/dist/cjs/src/generated/proto/javascript_pb.d.ts.map +1 -0
  89. package/dist/cjs/src/generated/proto/javascript_pb.js.map +1 -0
  90. package/dist/{src → cjs/src}/generated/proto/protocol_pb.d.ts +186 -0
  91. package/dist/cjs/src/generated/proto/protocol_pb.d.ts.map +1 -0
  92. package/dist/{src → cjs/src}/generated/proto/protocol_pb.js +177 -1
  93. package/dist/cjs/src/generated/proto/protocol_pb.js.map +1 -0
  94. package/dist/cjs/src/generated/version.d.ts +2 -0
  95. package/dist/cjs/src/generated/version.d.ts.map +1 -0
  96. package/dist/{src → cjs/src}/generated/version.js +1 -1
  97. package/dist/cjs/src/generated/version.js.map +1 -0
  98. package/dist/{src → cjs/src}/invocation.d.ts +5 -5
  99. package/dist/cjs/src/invocation.d.ts.map +1 -0
  100. package/dist/{src → cjs/src}/invocation.js +14 -14
  101. package/dist/cjs/src/invocation.js.map +1 -0
  102. package/dist/{src → cjs/src}/io/decoder.d.ts +1 -2
  103. package/dist/cjs/src/io/decoder.d.ts.map +1 -0
  104. package/dist/{src → cjs/src}/io/decoder.js +20 -24
  105. package/dist/cjs/src/io/decoder.js.map +1 -0
  106. package/dist/{src → cjs/src}/io/encoder.d.ts +1 -1
  107. package/dist/cjs/src/io/encoder.d.ts.map +1 -0
  108. package/dist/{src → cjs/src}/io/encoder.js +6 -6
  109. package/dist/cjs/src/io/encoder.js.map +1 -0
  110. package/dist/{src → cjs/src}/journal.d.ts +7 -7
  111. package/dist/cjs/src/journal.d.ts.map +1 -0
  112. package/dist/{src → cjs/src}/journal.js +54 -37
  113. package/dist/cjs/src/journal.js.map +1 -0
  114. package/dist/cjs/src/lambda.d.ts +7 -0
  115. package/dist/cjs/src/lambda.d.ts.map +1 -0
  116. package/dist/cjs/src/lambda.js +37 -0
  117. package/dist/cjs/src/lambda.js.map +1 -0
  118. package/dist/{src → cjs/src}/local_state_store.d.ts +2 -1
  119. package/dist/cjs/src/local_state_store.d.ts.map +1 -0
  120. package/dist/{src → cjs/src}/local_state_store.js +10 -10
  121. package/dist/cjs/src/local_state_store.js.map +1 -0
  122. package/dist/cjs/src/logger.d.ts.map +1 -0
  123. package/dist/{src → cjs/src}/logger.js +1 -8
  124. package/dist/cjs/src/logger.js.map +1 -0
  125. package/dist/{src → cjs/src}/promise_combinator_tracker.d.ts +1 -1
  126. package/dist/cjs/src/promise_combinator_tracker.d.ts.map +1 -0
  127. package/dist/{src → cjs/src}/promise_combinator_tracker.js +7 -5
  128. package/dist/cjs/src/promise_combinator_tracker.js.map +1 -0
  129. package/dist/cjs/src/public_api.d.ts +7 -0
  130. package/dist/cjs/src/public_api.d.ts.map +1 -0
  131. package/dist/cjs/src/public_api.js +37 -0
  132. package/dist/cjs/src/public_api.js.map +1 -0
  133. package/dist/{src → cjs/src}/state_machine.d.ts +14 -13
  134. package/dist/cjs/src/state_machine.d.ts.map +1 -0
  135. package/dist/{src → cjs/src}/state_machine.js +59 -59
  136. package/dist/cjs/src/state_machine.js.map +1 -0
  137. package/dist/cjs/src/types/components.d.ts +78 -0
  138. package/dist/cjs/src/types/components.d.ts.map +1 -0
  139. package/dist/cjs/src/types/components.js +260 -0
  140. package/dist/cjs/src/types/components.js.map +1 -0
  141. package/dist/{src → cjs/src}/types/discovery.d.ts +6 -3
  142. package/dist/cjs/src/types/discovery.d.ts.map +1 -0
  143. package/dist/{src → cjs/src}/types/discovery.js +5 -3
  144. package/dist/cjs/src/types/discovery.js.map +1 -0
  145. package/dist/{src → cjs/src}/types/errors.d.ts +2 -2
  146. package/dist/cjs/src/types/errors.d.ts.map +1 -0
  147. package/dist/{src → cjs/src}/types/errors.js +8 -8
  148. package/dist/cjs/src/types/errors.js.map +1 -0
  149. package/dist/{src → cjs/src}/types/protocol.d.ts +16 -9
  150. package/dist/cjs/src/types/protocol.d.ts.map +1 -0
  151. package/dist/cjs/src/types/protocol.js +237 -0
  152. package/dist/cjs/src/types/protocol.js.map +1 -0
  153. package/dist/cjs/src/types/rpc.d.ts +300 -0
  154. package/dist/cjs/src/types/rpc.d.ts.map +1 -0
  155. package/dist/cjs/src/types/rpc.js +419 -0
  156. package/dist/cjs/src/types/rpc.js.map +1 -0
  157. package/dist/{src → cjs/src}/types/types.d.ts +3 -5
  158. package/dist/cjs/src/types/types.d.ts.map +1 -0
  159. package/dist/{src → cjs/src}/types/types.js +17 -28
  160. package/dist/cjs/src/types/types.js.map +1 -0
  161. package/dist/cjs/src/user_agent.d.ts +2 -0
  162. package/dist/cjs/src/user_agent.d.ts.map +1 -0
  163. package/dist/{src → cjs/src}/user_agent.js +2 -2
  164. package/dist/cjs/src/user_agent.js.map +1 -0
  165. package/dist/cjs/src/utils/buffer.d.ts +5 -0
  166. package/dist/cjs/src/utils/buffer.d.ts.map +1 -0
  167. package/dist/cjs/src/utils/buffer.js +59 -0
  168. package/dist/cjs/src/utils/buffer.js.map +1 -0
  169. package/dist/{src → cjs/src}/utils/message_logger.d.ts +1 -1
  170. package/dist/cjs/src/utils/message_logger.d.ts.map +1 -0
  171. package/dist/{src → cjs/src}/utils/message_logger.js +7 -7
  172. package/dist/cjs/src/utils/message_logger.js.map +1 -0
  173. package/dist/cjs/src/utils/promises.d.ts.map +1 -0
  174. package/dist/{src → cjs/src}/utils/promises.js +2 -1
  175. package/dist/cjs/src/utils/promises.js.map +1 -0
  176. package/dist/{src → cjs/src}/utils/rand.d.ts +3 -3
  177. package/dist/cjs/src/utils/rand.d.ts.map +1 -0
  178. package/dist/{src → cjs/src}/utils/rand.js +10 -15
  179. package/dist/cjs/src/utils/rand.js.map +1 -0
  180. package/dist/cjs/src/utils/serde.d.ts +5 -0
  181. package/dist/cjs/src/utils/serde.d.ts.map +1 -0
  182. package/dist/cjs/src/utils/serde.js +50 -0
  183. package/dist/cjs/src/utils/serde.js.map +1 -0
  184. package/dist/cjs/src/utils/utils.d.ts.map +1 -0
  185. package/dist/{src → cjs/src}/utils/utils.js +11 -11
  186. package/dist/cjs/src/utils/utils.js.map +1 -0
  187. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  188. package/dist/esm/src/common_api.d.ts +7 -0
  189. package/dist/esm/src/common_api.d.ts.map +1 -0
  190. package/dist/esm/src/common_api.js +14 -0
  191. package/dist/esm/src/common_api.js.map +1 -0
  192. package/dist/esm/src/connection/buffered_connection.d.ts +14 -0
  193. package/dist/esm/src/connection/buffered_connection.d.ts.map +1 -0
  194. package/dist/esm/src/connection/buffered_connection.js +40 -0
  195. package/dist/esm/src/connection/buffered_connection.js.map +1 -0
  196. package/dist/esm/src/connection/connection.d.ts +20 -0
  197. package/dist/esm/src/connection/connection.d.ts.map +1 -0
  198. package/dist/esm/src/connection/connection.js +12 -0
  199. package/dist/esm/src/connection/connection.js.map +1 -0
  200. package/dist/esm/src/connection/http_connection.d.ts +77 -0
  201. package/dist/esm/src/connection/http_connection.d.ts.map +1 -0
  202. package/dist/esm/src/connection/http_connection.js +204 -0
  203. package/dist/esm/src/connection/http_connection.js.map +1 -0
  204. package/dist/esm/src/connection/lambda_connection.d.ts +17 -0
  205. package/dist/esm/src/connection/lambda_connection.d.ts.map +1 -0
  206. package/dist/esm/src/connection/lambda_connection.js +60 -0
  207. package/dist/esm/src/connection/lambda_connection.js.map +1 -0
  208. package/dist/esm/src/context.d.ts +541 -0
  209. package/dist/esm/src/context.d.ts.map +1 -0
  210. package/dist/esm/src/context.js +75 -0
  211. package/dist/esm/src/context.js.map +1 -0
  212. package/dist/esm/src/context_impl.d.ts +54 -0
  213. package/dist/esm/src/context_impl.d.ts.map +1 -0
  214. package/dist/esm/src/context_impl.js +515 -0
  215. package/dist/esm/src/context_impl.js.map +1 -0
  216. package/dist/esm/src/endpoint/endpoint_builder.d.ts +18 -0
  217. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -0
  218. package/dist/esm/src/endpoint/endpoint_builder.js +126 -0
  219. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -0
  220. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +37 -0
  221. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -0
  222. package/dist/esm/src/endpoint/fetch_endpoint.js +42 -0
  223. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -0
  224. package/dist/esm/src/endpoint/handlers/fetch.d.ts +6 -0
  225. package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -0
  226. package/dist/esm/src/endpoint/handlers/fetch.js +30 -0
  227. package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -0
  228. package/dist/esm/src/endpoint/handlers/generic.d.ts +44 -0
  229. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -0
  230. package/dist/esm/src/endpoint/handlers/generic.js +189 -0
  231. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -0
  232. package/dist/esm/src/endpoint/handlers/lambda.d.ts +8 -0
  233. package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -0
  234. package/dist/esm/src/endpoint/handlers/lambda.js +62 -0
  235. package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -0
  236. package/dist/esm/src/endpoint/handlers/node.d.ts +11 -0
  237. package/dist/esm/src/endpoint/handlers/node.d.ts.map +1 -0
  238. package/dist/esm/src/endpoint/handlers/node.js +181 -0
  239. package/dist/esm/src/endpoint/handlers/node.js.map +1 -0
  240. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +32 -0
  241. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -0
  242. package/dist/esm/src/endpoint/lambda_endpoint.js +51 -0
  243. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -0
  244. package/dist/esm/src/endpoint/node_endpoint.d.ts +19 -0
  245. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -0
  246. package/dist/esm/src/endpoint/node_endpoint.js +89 -0
  247. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -0
  248. package/dist/esm/src/endpoint/request_signing/basex.d.ts +10 -0
  249. package/dist/esm/src/endpoint/request_signing/basex.d.ts.map +1 -0
  250. package/dist/esm/src/endpoint/request_signing/basex.js +136 -0
  251. package/dist/esm/src/endpoint/request_signing/basex.js.map +1 -0
  252. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts +17 -0
  253. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
  254. package/dist/esm/src/endpoint/request_signing/ed25519.js +52 -0
  255. package/dist/esm/src/endpoint/request_signing/ed25519.js.map +1 -0
  256. package/dist/esm/src/endpoint/request_signing/v1.d.ts +9 -0
  257. package/dist/esm/src/endpoint/request_signing/v1.d.ts.map +1 -0
  258. package/dist/esm/src/endpoint/request_signing/v1.js +133 -0
  259. package/dist/esm/src/endpoint/request_signing/v1.js.map +1 -0
  260. package/dist/esm/src/endpoint/request_signing/validate.d.ts +18 -0
  261. package/dist/esm/src/endpoint/request_signing/validate.d.ts.map +1 -0
  262. package/dist/esm/src/endpoint/request_signing/validate.js +40 -0
  263. package/dist/esm/src/endpoint/request_signing/validate.js.map +1 -0
  264. package/dist/esm/src/endpoint.d.ts +103 -0
  265. package/dist/esm/src/endpoint.d.ts.map +1 -0
  266. package/dist/esm/src/endpoint.js +12 -0
  267. package/dist/esm/src/endpoint.js.map +1 -0
  268. package/dist/esm/src/fetch.d.ts +7 -0
  269. package/dist/esm/src/fetch.d.ts.map +1 -0
  270. package/dist/esm/src/fetch.js +19 -0
  271. package/dist/esm/src/fetch.js.map +1 -0
  272. package/dist/esm/src/generated/proto/discovery_pb.d.ts +18 -0
  273. package/dist/esm/src/generated/proto/discovery_pb.d.ts.map +1 -0
  274. package/dist/esm/src/generated/proto/discovery_pb.js +37 -0
  275. package/dist/esm/src/generated/proto/discovery_pb.js.map +1 -0
  276. package/dist/esm/src/generated/proto/javascript_pb.d.ts +26 -0
  277. package/dist/esm/src/generated/proto/javascript_pb.d.ts.map +1 -0
  278. package/dist/esm/src/generated/proto/javascript_pb.js +48 -0
  279. package/dist/esm/src/generated/proto/javascript_pb.js.map +1 -0
  280. package/dist/esm/src/generated/proto/protocol_pb.d.ts +1051 -0
  281. package/dist/esm/src/generated/proto/protocol_pb.d.ts.map +1 -0
  282. package/dist/esm/src/generated/proto/protocol_pb.js +1258 -0
  283. package/dist/esm/src/generated/proto/protocol_pb.js.map +1 -0
  284. package/dist/esm/src/generated/version.d.ts +2 -0
  285. package/dist/esm/src/generated/version.d.ts.map +1 -0
  286. package/dist/esm/src/generated/version.js +2 -0
  287. package/dist/esm/src/generated/version.js.map +1 -0
  288. package/dist/esm/src/invocation.d.ts +48 -0
  289. package/dist/esm/src/invocation.d.ts.map +1 -0
  290. package/dist/esm/src/invocation.js +153 -0
  291. package/dist/esm/src/invocation.js.map +1 -0
  292. package/dist/esm/src/io/decoder.d.ts +9 -0
  293. package/dist/esm/src/io/decoder.d.ts.map +1 -0
  294. package/dist/esm/src/io/decoder.js +129 -0
  295. package/dist/esm/src/io/decoder.js.map +1 -0
  296. package/dist/esm/src/io/encoder.d.ts +7 -0
  297. package/dist/esm/src/io/encoder.d.ts.map +1 -0
  298. package/dist/esm/src/io/encoder.js +49 -0
  299. package/dist/esm/src/io/encoder.js.map +1 -0
  300. package/dist/esm/src/journal.d.ts +52 -0
  301. package/dist/esm/src/journal.d.ts.map +1 -0
  302. package/dist/esm/src/journal.js +412 -0
  303. package/dist/esm/src/journal.js.map +1 -0
  304. package/dist/esm/src/lambda.d.ts +7 -0
  305. package/dist/esm/src/lambda.d.ts.map +1 -0
  306. package/dist/esm/src/lambda.js +19 -0
  307. package/dist/esm/src/lambda.js.map +1 -0
  308. package/dist/esm/src/local_state_store.d.ts +16 -0
  309. package/dist/esm/src/local_state_store.d.ts.map +1 -0
  310. package/dist/esm/src/local_state_store.js +80 -0
  311. package/dist/esm/src/local_state_store.js.map +1 -0
  312. package/dist/esm/src/logger.d.ts +27 -0
  313. package/dist/esm/src/logger.d.ts.map +1 -0
  314. package/dist/esm/src/logger.js +146 -0
  315. package/dist/esm/src/logger.js.map +1 -0
  316. package/dist/esm/src/promise_combinator_tracker.d.ts +29 -0
  317. package/dist/esm/src/promise_combinator_tracker.d.ts.map +1 -0
  318. package/dist/esm/src/promise_combinator_tracker.js +125 -0
  319. package/dist/esm/src/promise_combinator_tracker.js.map +1 -0
  320. package/dist/esm/src/public_api.d.ts +7 -0
  321. package/dist/esm/src/public_api.d.ts.map +1 -0
  322. package/dist/esm/src/public_api.js +19 -0
  323. package/dist/esm/src/public_api.js.map +1 -0
  324. package/dist/esm/src/state_machine.d.ts +86 -0
  325. package/dist/esm/src/state_machine.d.ts.map +1 -0
  326. package/dist/esm/src/state_machine.js +407 -0
  327. package/dist/esm/src/state_machine.js.map +1 -0
  328. package/dist/esm/src/types/components.d.ts +78 -0
  329. package/dist/esm/src/types/components.d.ts.map +1 -0
  330. package/dist/esm/src/types/components.js +227 -0
  331. package/dist/esm/src/types/components.js.map +1 -0
  332. package/dist/esm/src/types/discovery.d.ts +43 -0
  333. package/dist/esm/src/types/discovery.d.ts.map +1 -0
  334. package/dist/esm/src/types/discovery.js +28 -0
  335. package/dist/esm/src/types/discovery.js.map +1 -0
  336. package/dist/esm/src/types/errors.d.ts +53 -0
  337. package/dist/esm/src/types/errors.d.ts.map +1 -0
  338. package/dist/esm/src/types/errors.js +117 -0
  339. package/dist/esm/src/types/errors.js.map +1 -0
  340. package/dist/esm/src/types/protocol.d.ts +40 -0
  341. package/dist/esm/src/types/protocol.d.ts.map +1 -0
  342. package/dist/esm/src/types/protocol.js +206 -0
  343. package/dist/esm/src/types/protocol.js.map +1 -0
  344. package/dist/esm/src/types/rpc.d.ts +300 -0
  345. package/dist/esm/src/types/rpc.d.ts.map +1 -0
  346. package/dist/esm/src/types/rpc.js +412 -0
  347. package/dist/esm/src/types/rpc.js.map +1 -0
  348. package/dist/esm/src/types/types.d.ts +20 -0
  349. package/dist/esm/src/types/types.d.ts.map +1 -0
  350. package/dist/esm/src/types/types.js +105 -0
  351. package/dist/esm/src/types/types.js.map +1 -0
  352. package/dist/esm/src/user_agent.d.ts +2 -0
  353. package/dist/esm/src/user_agent.d.ts.map +1 -0
  354. package/dist/esm/src/user_agent.js +13 -0
  355. package/dist/esm/src/user_agent.js.map +1 -0
  356. package/dist/esm/src/utils/buffer.d.ts +5 -0
  357. package/dist/esm/src/utils/buffer.d.ts.map +1 -0
  358. package/dist/esm/src/utils/buffer.js +53 -0
  359. package/dist/esm/src/utils/buffer.js.map +1 -0
  360. package/dist/esm/src/utils/message_logger.d.ts +7 -0
  361. package/dist/esm/src/utils/message_logger.d.ts.map +1 -0
  362. package/dist/esm/src/utils/message_logger.js +75 -0
  363. package/dist/esm/src/utils/message_logger.js.map +1 -0
  364. package/dist/esm/src/utils/promises.d.ts +15 -0
  365. package/dist/esm/src/utils/promises.d.ts.map +1 -0
  366. package/dist/esm/src/utils/promises.js +63 -0
  367. package/dist/esm/src/utils/promises.js.map +1 -0
  368. package/dist/esm/src/utils/rand.d.ts +15 -0
  369. package/dist/esm/src/utils/rand.d.ts.map +1 -0
  370. package/dist/esm/src/utils/rand.js +106 -0
  371. package/dist/esm/src/utils/rand.js.map +1 -0
  372. package/dist/esm/src/utils/serde.d.ts +5 -0
  373. package/dist/esm/src/utils/serde.d.ts.map +1 -0
  374. package/dist/esm/src/utils/serde.js +43 -0
  375. package/dist/esm/src/utils/serde.js.map +1 -0
  376. package/dist/esm/src/utils/utils.d.ts +5 -0
  377. package/dist/esm/src/utils/utils.d.ts.map +1 -0
  378. package/dist/esm/src/utils/utils.js +109 -0
  379. package/dist/esm/src/utils/utils.js.map +1 -0
  380. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  381. package/package.json +58 -20
  382. package/dist/src/clients/workflow_client.d.ts +0 -77
  383. package/dist/src/clients/workflow_client.d.ts.map +0 -1
  384. package/dist/src/clients/workflow_client.js +0 -172
  385. package/dist/src/clients/workflow_client.js.map +0 -1
  386. package/dist/src/connection/buffered_connection.d.ts.map +0 -1
  387. package/dist/src/connection/buffered_connection.js.map +0 -1
  388. package/dist/src/connection/connection.d.ts.map +0 -1
  389. package/dist/src/connection/connection.js.map +0 -1
  390. package/dist/src/connection/http_connection.d.ts.map +0 -1
  391. package/dist/src/connection/http_connection.js.map +0 -1
  392. package/dist/src/connection/lambda_connection.d.ts.map +0 -1
  393. package/dist/src/connection/lambda_connection.js.map +0 -1
  394. package/dist/src/context.d.ts.map +0 -1
  395. package/dist/src/context.js.map +0 -1
  396. package/dist/src/context_impl.d.ts +0 -62
  397. package/dist/src/context_impl.d.ts.map +0 -1
  398. package/dist/src/context_impl.js.map +0 -1
  399. package/dist/src/endpoint/endpoint_impl.d.ts +0 -28
  400. package/dist/src/endpoint/endpoint_impl.d.ts.map +0 -1
  401. package/dist/src/endpoint/endpoint_impl.js +0 -164
  402. package/dist/src/endpoint/endpoint_impl.js.map +0 -1
  403. package/dist/src/endpoint/http2_handler.d.ts.map +0 -1
  404. package/dist/src/endpoint/http2_handler.js +0 -153
  405. package/dist/src/endpoint/http2_handler.js.map +0 -1
  406. package/dist/src/endpoint/lambda_handler.d.ts +0 -15
  407. package/dist/src/endpoint/lambda_handler.d.ts.map +0 -1
  408. package/dist/src/endpoint/lambda_handler.js +0 -154
  409. package/dist/src/endpoint/lambda_handler.js.map +0 -1
  410. package/dist/src/endpoint/request_signing/basex.d.ts.map +0 -1
  411. package/dist/src/endpoint/request_signing/basex.js.map +0 -1
  412. package/dist/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
  413. package/dist/src/endpoint/request_signing/ed25519.js.map +0 -1
  414. package/dist/src/endpoint/request_signing/v1.d.ts.map +0 -1
  415. package/dist/src/endpoint/request_signing/v1.js.map +0 -1
  416. package/dist/src/endpoint/request_signing/validate.d.ts.map +0 -1
  417. package/dist/src/endpoint/request_signing/validate.js.map +0 -1
  418. package/dist/src/endpoint.d.ts.map +0 -1
  419. package/dist/src/endpoint.js.map +0 -1
  420. package/dist/src/generated/proto/javascript_pb.d.ts.map +0 -1
  421. package/dist/src/generated/proto/javascript_pb.js.map +0 -1
  422. package/dist/src/generated/proto/protocol_pb.d.ts.map +0 -1
  423. package/dist/src/generated/proto/protocol_pb.js.map +0 -1
  424. package/dist/src/generated/version.d.ts +0 -2
  425. package/dist/src/generated/version.d.ts.map +0 -1
  426. package/dist/src/generated/version.js.map +0 -1
  427. package/dist/src/invocation.d.ts.map +0 -1
  428. package/dist/src/invocation.js.map +0 -1
  429. package/dist/src/io/decoder.d.ts.map +0 -1
  430. package/dist/src/io/decoder.js.map +0 -1
  431. package/dist/src/io/encoder.d.ts.map +0 -1
  432. package/dist/src/io/encoder.js.map +0 -1
  433. package/dist/src/journal.d.ts.map +0 -1
  434. package/dist/src/journal.js.map +0 -1
  435. package/dist/src/local_state_store.d.ts.map +0 -1
  436. package/dist/src/local_state_store.js.map +0 -1
  437. package/dist/src/logger.d.ts.map +0 -1
  438. package/dist/src/logger.js.map +0 -1
  439. package/dist/src/promise_combinator_tracker.d.ts.map +0 -1
  440. package/dist/src/promise_combinator_tracker.js.map +0 -1
  441. package/dist/src/public_api.d.ts +0 -7
  442. package/dist/src/public_api.d.ts.map +0 -1
  443. package/dist/src/public_api.js +0 -50
  444. package/dist/src/public_api.js.map +0 -1
  445. package/dist/src/state_machine.d.ts.map +0 -1
  446. package/dist/src/state_machine.js.map +0 -1
  447. package/dist/src/types/components.d.ts +0 -65
  448. package/dist/src/types/components.d.ts.map +0 -1
  449. package/dist/src/types/components.js +0 -163
  450. package/dist/src/types/components.js.map +0 -1
  451. package/dist/src/types/discovery.d.ts.map +0 -1
  452. package/dist/src/types/discovery.js.map +0 -1
  453. package/dist/src/types/errors.d.ts.map +0 -1
  454. package/dist/src/types/errors.js.map +0 -1
  455. package/dist/src/types/protocol.d.ts.map +0 -1
  456. package/dist/src/types/protocol.js +0 -147
  457. package/dist/src/types/protocol.js.map +0 -1
  458. package/dist/src/types/rpc.d.ts +0 -50
  459. package/dist/src/types/rpc.d.ts.map +0 -1
  460. package/dist/src/types/rpc.js +0 -38
  461. package/dist/src/types/rpc.js.map +0 -1
  462. package/dist/src/types/types.d.ts.map +0 -1
  463. package/dist/src/types/types.js.map +0 -1
  464. package/dist/src/user_agent.d.ts +0 -2
  465. package/dist/src/user_agent.d.ts.map +0 -1
  466. package/dist/src/user_agent.js.map +0 -1
  467. package/dist/src/utils/message_logger.d.ts.map +0 -1
  468. package/dist/src/utils/message_logger.js.map +0 -1
  469. package/dist/src/utils/promises.d.ts.map +0 -1
  470. package/dist/src/utils/promises.js.map +0 -1
  471. package/dist/src/utils/rand.d.ts.map +0 -1
  472. package/dist/src/utils/rand.js.map +0 -1
  473. package/dist/src/utils/serde.d.ts +0 -3
  474. package/dist/src/utils/serde.d.ts.map +0 -1
  475. package/dist/src/utils/serde.js +0 -24
  476. package/dist/src/utils/serde.js.map +0 -1
  477. package/dist/src/utils/utils.d.ts.map +0 -1
  478. package/dist/src/utils/utils.js.map +0 -1
  479. package/dist/src/workflows/workflow.d.ts +0 -101
  480. package/dist/src/workflows/workflow.d.ts.map +0 -1
  481. package/dist/src/workflows/workflow.js +0 -84
  482. package/dist/src/workflows/workflow.js.map +0 -1
  483. package/dist/src/workflows/workflow_state_service.d.ts +0 -35
  484. package/dist/src/workflows/workflow_state_service.d.ts.map +0 -1
  485. package/dist/src/workflows/workflow_state_service.js +0 -201
  486. package/dist/src/workflows/workflow_state_service.js.map +0 -1
  487. package/dist/src/workflows/workflow_wrapper_service.d.ts +0 -10
  488. package/dist/src/workflows/workflow_wrapper_service.d.ts.map +0 -1
  489. package/dist/src/workflows/workflow_wrapper_service.js +0 -285
  490. package/dist/src/workflows/workflow_wrapper_service.js.map +0 -1
  491. package/dist/tsconfig.tsbuildinfo +0 -1
  492. /package/dist/{src → cjs/src}/connection/connection.js +0 -0
  493. /package/dist/{src → cjs/src}/endpoint/request_signing/basex.d.ts +0 -0
  494. /package/dist/{src → cjs/src}/endpoint/request_signing/basex.js +0 -0
  495. /package/dist/{src → cjs/src}/generated/proto/javascript_pb.d.ts +0 -0
  496. /package/dist/{src → cjs/src}/generated/proto/javascript_pb.js +0 -0
  497. /package/dist/{src → cjs/src}/logger.d.ts +0 -0
  498. /package/dist/{src → cjs/src}/utils/promises.d.ts +0 -0
  499. /package/dist/{src → cjs/src}/utils/utils.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context_impl.d.ts","sourceRoot":"","sources":["../../../src/context_impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,515 @@
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
+ import { AwakeableEntryMessage, OneWayCallEntryMessage, CompleteAwakeableEntryMessage, Empty, GetStateEntryMessage, GetStateKeysEntryMessage, CallEntryMessage, RunEntryMessage, SleepEntryMessage, GetPromiseEntryMessage, PeekPromiseEntryMessage, CompletePromiseEntryMessage, } from "./generated/proto/protocol_pb.js";
12
+ import { AWAKEABLE_ENTRY_MESSAGE_TYPE, AWAKEABLE_IDENTIFIER_PREFIX, BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE, CLEAR_ALL_STATE_ENTRY_MESSAGE_TYPE, CLEAR_STATE_ENTRY_MESSAGE_TYPE, COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, GET_STATE_ENTRY_MESSAGE_TYPE, GET_STATE_KEYS_ENTRY_MESSAGE_TYPE, INVOKE_ENTRY_MESSAGE_TYPE, SET_STATE_ENTRY_MESSAGE_TYPE, SIDE_EFFECT_ENTRY_MESSAGE_TYPE, SLEEP_ENTRY_MESSAGE_TYPE, GET_PROMISE_MESSAGE_TYPE, PEEK_PROMISE_MESSAGE_TYPE, COMPLETE_PROMISE_MESSAGE_TYPE, } from "./types/protocol.js";
13
+ import { RetryableError, TerminalError, ensureError, TimeoutError, INTERNAL_ERROR_CODE, UNKNOWN_ERROR_CODE, errorToFailure, } from "./types/errors.js";
14
+ import { jsonSerialize, jsonDeserialize } from "./utils/utils.js";
15
+ import { protoInt64 } from "@bufbuild/protobuf";
16
+ import { HandlerKind } from "./types/rpc.js";
17
+ import { RandImpl } from "./utils/rand.js";
18
+ import { newJournalEntryPromiseId } from "./promise_combinator_tracker.js";
19
+ import { Buffer } from "node:buffer";
20
+ import { deserializeJson, serializeJson } from "./utils/serde.js";
21
+ export class ContextImpl {
22
+ console;
23
+ handlerKind;
24
+ keyedContextKey;
25
+ stateMachine;
26
+ // This is used to guard users against calling ctx.sideEffect without awaiting it.
27
+ // See https://github.com/restatedev/sdk-typescript/issues/197 for more details.
28
+ executingRun = false;
29
+ invocationRequest;
30
+ rand;
31
+ date = {
32
+ now: () => {
33
+ return this.run(() => Date.now());
34
+ },
35
+ toJSON: () => {
36
+ return this.run(() => new Date().toJSON());
37
+ },
38
+ };
39
+ constructor(id, console, handlerKind, keyedContextKey, invocationValue, invocationHeaders, attemptHeaders,
40
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
+ stateMachine) {
42
+ this.console = console;
43
+ this.handlerKind = handlerKind;
44
+ this.keyedContextKey = keyedContextKey;
45
+ this.stateMachine = stateMachine;
46
+ this.invocationRequest = {
47
+ id,
48
+ headers: invocationHeaders,
49
+ attemptHeaders,
50
+ body: invocationValue,
51
+ };
52
+ this.rand = new RandImpl(id, this.checkState.bind(this));
53
+ }
54
+ workflowClient(opts, key) {
55
+ const { name } = opts;
56
+ const clientProxy = new Proxy({}, {
57
+ get: (_target, prop) => {
58
+ const route = prop;
59
+ return (...args) => {
60
+ const requestBytes = serializeJson(args.shift());
61
+ return this.invoke(name, route, requestBytes, key);
62
+ };
63
+ },
64
+ });
65
+ return clientProxy;
66
+ }
67
+ promise(name) {
68
+ return new DurablePromiseImpl(this, name);
69
+ }
70
+ get key() {
71
+ switch (this.handlerKind) {
72
+ case HandlerKind.EXCLUSIVE:
73
+ case HandlerKind.SHARED:
74
+ case HandlerKind.WORKFLOW: {
75
+ if (this.keyedContextKey === undefined) {
76
+ throw new TerminalError("unexpected missing key");
77
+ }
78
+ return this.keyedContextKey;
79
+ }
80
+ case HandlerKind.SERVICE:
81
+ throw new TerminalError("unexpected missing key");
82
+ default:
83
+ throw new TerminalError("unknown handler type");
84
+ }
85
+ }
86
+ request() {
87
+ return this.invocationRequest;
88
+ }
89
+ // DON'T make this function async!!! see sideEffect comment for details.
90
+ get(name) {
91
+ // Check if this is a valid action
92
+ this.checkState("get state");
93
+ // Create the message and let the state machine process it
94
+ const msg = new GetStateEntryMessage({ key: Buffer.from(name) });
95
+ const completed = this.stateMachine.localStateStore.tryCompleteGet(name, msg);
96
+ const getState = async () => {
97
+ const result = await this.stateMachine.handleUserCodeMessage(GET_STATE_ENTRY_MESSAGE_TYPE, msg, completed);
98
+ // If the GetState message did not have a value or empty,
99
+ // then we went to the runtime to get the value.
100
+ // When we get the response, we set it in the localStateStore,
101
+ // to answer subsequent requests
102
+ if (!completed) {
103
+ this.stateMachine.localStateStore.add(name, result);
104
+ }
105
+ if (!(result instanceof Buffer)) {
106
+ return null;
107
+ }
108
+ return jsonDeserialize(result.toString());
109
+ };
110
+ return getState();
111
+ }
112
+ // DON'T make this function async!!! see sideEffect comment for details.
113
+ stateKeys() {
114
+ // Check if this is a valid action
115
+ this.checkState("state keys");
116
+ // Create the message and let the state machine process it
117
+ const msg = new GetStateKeysEntryMessage({});
118
+ const completed = this.stateMachine.localStateStore.tryCompletedGetStateKeys(msg);
119
+ const getStateKeys = async () => {
120
+ const result = await this.stateMachine.handleUserCodeMessage(GET_STATE_KEYS_ENTRY_MESSAGE_TYPE, msg, completed);
121
+ return result.keys.map((b) => b.toString());
122
+ };
123
+ return getStateKeys();
124
+ }
125
+ set(name, value) {
126
+ this.checkState("set state");
127
+ const msg = this.stateMachine.localStateStore.set(name, value);
128
+ this.stateMachine
129
+ .handleUserCodeMessage(SET_STATE_ENTRY_MESSAGE_TYPE, msg)
130
+ .catch((e) => this.stateMachine.handleDanglingPromiseError(e));
131
+ }
132
+ clear(name) {
133
+ this.checkState("clear state");
134
+ const msg = this.stateMachine.localStateStore.clear(name);
135
+ this.stateMachine
136
+ .handleUserCodeMessage(CLEAR_STATE_ENTRY_MESSAGE_TYPE, msg)
137
+ .catch((e) => this.stateMachine.handleDanglingPromiseError(e));
138
+ }
139
+ clearAll() {
140
+ this.checkState("clear all state");
141
+ const msg = this.stateMachine.localStateStore.clearAll();
142
+ this.stateMachine
143
+ .handleUserCodeMessage(CLEAR_ALL_STATE_ENTRY_MESSAGE_TYPE, msg)
144
+ .catch((e) => this.stateMachine.handleDanglingPromiseError(e));
145
+ }
146
+ // --- Calls, background calls, etc
147
+ // DON'T make this function async!!! see sideEffect comment for details.
148
+ invoke(service, method, data, key
149
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
150
+ ) {
151
+ this.checkState("invoke");
152
+ const msg = new CallEntryMessage({
153
+ serviceName: service,
154
+ handlerName: method,
155
+ parameter: data,
156
+ key,
157
+ });
158
+ return this.markCombineablePromise(this.stateMachine
159
+ .handleUserCodeMessage(INVOKE_ENTRY_MESSAGE_TYPE, msg)
160
+ .transform((v) => deserializeJson(v)));
161
+ }
162
+ async invokeOneWay(service, method, data, delay, key) {
163
+ const actualDelay = delay || 0;
164
+ const invokeTime = actualDelay > 0 ? Date.now() + actualDelay : protoInt64.zero;
165
+ const msg = new OneWayCallEntryMessage({
166
+ serviceName: service,
167
+ handlerName: method,
168
+ parameter: data,
169
+ invokeTime: protoInt64.parse(invokeTime),
170
+ key,
171
+ });
172
+ await this.stateMachine.handleUserCodeMessage(BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE, msg);
173
+ return new Uint8Array();
174
+ }
175
+ serviceClient({ name }) {
176
+ const clientProxy = new Proxy({}, {
177
+ get: (_target, prop) => {
178
+ const route = prop;
179
+ return (...args) => {
180
+ const requestBytes = serializeJson(args.shift());
181
+ return this.invoke(name, route, requestBytes);
182
+ };
183
+ },
184
+ });
185
+ return clientProxy;
186
+ }
187
+ objectClient({ name }, key) {
188
+ const clientProxy = new Proxy({}, {
189
+ get: (_target, prop) => {
190
+ const route = prop;
191
+ return (...args) => {
192
+ const requestBytes = serializeJson(args.shift());
193
+ return this.invoke(name, route, requestBytes, key);
194
+ };
195
+ },
196
+ });
197
+ return clientProxy;
198
+ }
199
+ serviceSendClient(service, opts) {
200
+ const clientProxy = new Proxy({}, {
201
+ get: (_target, prop) => {
202
+ const route = prop;
203
+ return (...args) => {
204
+ const requestBytes = serializeJson(args.shift());
205
+ this.invokeOneWay(service.name, route, requestBytes, opts?.delay).catch((e) => {
206
+ this.stateMachine.handleDanglingPromiseError(e);
207
+ });
208
+ };
209
+ },
210
+ });
211
+ return clientProxy;
212
+ }
213
+ objectSendClient(obj, key, opts) {
214
+ const clientProxy = new Proxy({}, {
215
+ get: (_target, prop) => {
216
+ const route = prop;
217
+ return (...args) => {
218
+ const requestBytes = serializeJson(args.shift());
219
+ this.invokeOneWay(obj.name, route, requestBytes, opts?.delay, key).catch((e) => {
220
+ this.stateMachine.handleDanglingPromiseError(e);
221
+ });
222
+ };
223
+ },
224
+ });
225
+ return clientProxy;
226
+ }
227
+ workflowSendClient(def, key, opts) {
228
+ const clientProxy = new Proxy({}, {
229
+ get: (_target, prop) => {
230
+ const route = prop;
231
+ return (...args) => {
232
+ const requestBytes = serializeJson(args.shift());
233
+ this.invokeOneWay(def.name, route, requestBytes, opts?.delay, key).catch((e) => {
234
+ this.stateMachine.handleDanglingPromiseError(e);
235
+ });
236
+ };
237
+ },
238
+ });
239
+ return clientProxy;
240
+ }
241
+ // DON'T make this function async!!!
242
+ // The reason is that we want the errors thrown by the initial checks to be propagated in the caller context,
243
+ // and not in the promise context. To understand the semantic difference, make this function async and run the
244
+ // UnawaitedSideEffectShouldFailSubsequentContextCall test.
245
+ run(nameOrAction, actionSecondParameter) {
246
+ this.checkState("run");
247
+ const { name, action } = unpack(nameOrAction, actionSecondParameter);
248
+ this.executingRun = true;
249
+ const executeRun = async () => {
250
+ // in replay mode, we directly return the value from the log
251
+ if (this.stateMachine.nextEntryWillBeReplayed()) {
252
+ const emptyMsg = new RunEntryMessage({});
253
+ return this.stateMachine.handleUserCodeMessage(SIDE_EFFECT_ENTRY_MESSAGE_TYPE, emptyMsg);
254
+ }
255
+ let sideEffectResult;
256
+ try {
257
+ sideEffectResult = await action();
258
+ }
259
+ catch (e) {
260
+ if (!(e instanceof TerminalError)) {
261
+ ///non terminal errors are retirable.
262
+ // we do not commit the error itself into the journal, but rather let restate know about this
263
+ // so that restate can retry this invocation later.
264
+ // Before we can propagate this error to the user, we must let the state machine know that this attempt
265
+ // is finished with an error, and it should not append anything else to the journal from now on.
266
+ const error = ensureError(e);
267
+ const additionalContext = {
268
+ relatedEntryName: name,
269
+ relatedEntryType: SIDE_EFFECT_ENTRY_MESSAGE_TYPE,
270
+ };
271
+ await this.stateMachine.sendErrorAndFinish(error, additionalContext);
272
+ throw e;
273
+ }
274
+ // we commit a terminal error from the side effect to the journal, and re-throw it into
275
+ // the function. that way, any catching by the user and reacting to it will be
276
+ // deterministic on replay
277
+ const error = ensureError(e);
278
+ const failure = errorToFailure(error);
279
+ const sideEffectMsg = new RunEntryMessage({
280
+ name,
281
+ result: { case: "failure", value: failure },
282
+ });
283
+ // this may throw an error from the SDK/runtime/connection side, in case the
284
+ // failure message cannot be committed to the journal. That error would then
285
+ // be returned from this function (replace the original error)
286
+ // that is acceptable, because in such a situation (failure to append to journal),
287
+ // the state machine closes anyways and no further operations will succeed and the
288
+ // the execution aborts
289
+ await this.stateMachine.handleUserCodeMessage(SIDE_EFFECT_ENTRY_MESSAGE_TYPE, sideEffectMsg, false, true);
290
+ throw e;
291
+ }
292
+ // we have this code outside the above try/catch block, to ensure that any error arising
293
+ // from here is not incorrectly attributed to the side-effect
294
+ const sideEffectMsg = sideEffectResult !== undefined
295
+ ? new RunEntryMessage({
296
+ name,
297
+ result: {
298
+ case: "value",
299
+ value: Buffer.from(jsonSerialize(sideEffectResult)),
300
+ },
301
+ })
302
+ : new RunEntryMessage({
303
+ name,
304
+ });
305
+ // if an error arises from committing the side effect result, then this error will
306
+ // be thrown here (reject the returned promise) and the function will see that error,
307
+ // even if the side-effect function completed correctly
308
+ // that is acceptable, because in such a situation (failure to append to journal),
309
+ // the state machine closes anyways and reports an execution failure, meaning no further
310
+ // operations will succeed and the the execution will be retried.
311
+ // If the side-effect result did in fact not make it to the journal, then the side-effect
312
+ // re-executes, and if it made it to the journal after all (error happend inly during
313
+ // ack-back), then retries will use the journaled result.
314
+ // So all good in any case, due to the beauty of "the runtime log is the ground thruth" approach.
315
+ await this.stateMachine.handleUserCodeMessage(SIDE_EFFECT_ENTRY_MESSAGE_TYPE, sideEffectMsg, false, true);
316
+ return sideEffectResult;
317
+ };
318
+ return executeRun().finally(() => {
319
+ this.executingRun = false;
320
+ });
321
+ }
322
+ sleep(millis) {
323
+ this.checkState("sleep");
324
+ return this.markCombineablePromise(this.sleepInternal(millis));
325
+ }
326
+ sleepInternal(millis) {
327
+ return this.stateMachine.handleUserCodeMessage(SLEEP_ENTRY_MESSAGE_TYPE, new SleepEntryMessage({
328
+ wakeUpTime: protoInt64.parse(Date.now() + millis),
329
+ }));
330
+ }
331
+ // -- Awakeables
332
+ awakeable() {
333
+ this.checkState("awakeable");
334
+ const msg = new AwakeableEntryMessage();
335
+ const promise = this.stateMachine
336
+ .handleUserCodeMessage(AWAKEABLE_ENTRY_MESSAGE_TYPE, msg)
337
+ .transform((result) => {
338
+ if (!(result instanceof Buffer)) {
339
+ // This should either be a filled buffer or an empty buffer but never anything else.
340
+ throw RetryableError.internal("Awakeable was not resolved with a buffer payload");
341
+ }
342
+ return JSON.parse(result.toString());
343
+ });
344
+ // This needs to be done after handling the message in the state machine
345
+ // otherwise the index is not yet incremented.
346
+ const encodedEntryIndex = Buffer.alloc(4 /* Size of u32 */);
347
+ encodedEntryIndex.writeUInt32BE(this.stateMachine.getUserCodeJournalIndex());
348
+ return {
349
+ id: AWAKEABLE_IDENTIFIER_PREFIX +
350
+ Buffer.concat([this.request().id, encodedEntryIndex]).toString("base64url"),
351
+ promise: this.markCombineablePromise(promise),
352
+ };
353
+ }
354
+ resolveAwakeable(id, payload) {
355
+ // We coerce undefined to null as null can be stringified by JSON.stringify
356
+ const payloadToWrite = payload === undefined ? null : payload;
357
+ this.checkState("resolveAwakeable");
358
+ this.completeAwakeable(id, {
359
+ result: {
360
+ case: "value",
361
+ value: Buffer.from(JSON.stringify(payloadToWrite)),
362
+ },
363
+ });
364
+ }
365
+ rejectAwakeable(id, reason) {
366
+ this.checkState("rejectAwakeable");
367
+ this.completeAwakeable(id, {
368
+ result: {
369
+ case: "failure",
370
+ value: { code: UNKNOWN_ERROR_CODE, message: reason },
371
+ },
372
+ });
373
+ }
374
+ completeAwakeable(id, base) {
375
+ base.id = id;
376
+ this.stateMachine
377
+ .handleUserCodeMessage(COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, new CompleteAwakeableEntryMessage(base))
378
+ .catch((e) => this.stateMachine.handleDanglingPromiseError(e));
379
+ }
380
+ // Used by static methods of CombineablePromise
381
+ static createCombinator(combinatorConstructor, promises) {
382
+ const self = extractContext(promises[0]);
383
+ if (!self) {
384
+ throw RetryableError.internal("Not a combinable promise");
385
+ }
386
+ const outPromises = [];
387
+ for (const promise of promises) {
388
+ if (extractContext(promise) !== self) {
389
+ throw RetryableError.internal("You're mixing up CombineablePromises from different RestateContext. This is not supported.");
390
+ }
391
+ const index = promise
392
+ .journalIndex;
393
+ outPromises.push({
394
+ id: newJournalEntryPromiseId(index),
395
+ promise: promise,
396
+ });
397
+ }
398
+ return self.stateMachine.createCombinator(combinatorConstructor, outPromises);
399
+ }
400
+ // -- Various private methods
401
+ checkNotExecutingRun(callType) {
402
+ if (this.executingRun) {
403
+ throw new TerminalError(`Invoked a RestateContext method (${callType}) while a run() is still executing.
404
+ Make sure you await the ctx.run() call before using any other RestateContext method.`, { errorCode: INTERNAL_ERROR_CODE });
405
+ }
406
+ }
407
+ checkState(callType) {
408
+ this.checkNotExecutingRun(callType);
409
+ }
410
+ markCombineablePromise(p) {
411
+ const journalIndex = this.stateMachine.getUserCodeJournalIndex();
412
+ const orTimeout = (millis) => {
413
+ const sleepPromise = this.sleepInternal(millis).transform(() => {
414
+ throw new TimeoutError();
415
+ });
416
+ const sleepPromiseIndex = this.stateMachine.getUserCodeJournalIndex();
417
+ return this.stateMachine.createCombinator(Promise.race.bind(Promise), [
418
+ {
419
+ id: newJournalEntryPromiseId(journalIndex),
420
+ promise: p,
421
+ },
422
+ {
423
+ id: newJournalEntryPromiseId(sleepPromiseIndex),
424
+ promise: sleepPromise,
425
+ },
426
+ ]);
427
+ };
428
+ defineProperty(p, RESTATE_CTX_SYMBOL, this);
429
+ defineProperty(p, "journalIndex", journalIndex);
430
+ defineProperty(p, "orTimeout", orTimeout.bind(this));
431
+ return p;
432
+ }
433
+ }
434
+ // wraps defineProperty such that it informs tsc of the correct type of its output
435
+ function defineProperty(obj, prop, value) {
436
+ Object.defineProperty(obj, prop, { value });
437
+ }
438
+ function unpack(a, b) {
439
+ if (typeof a == "string") {
440
+ if (typeof b !== "function") {
441
+ throw new TypeError("");
442
+ }
443
+ return { name: a, action: b };
444
+ }
445
+ if (typeof a !== "function") {
446
+ throw new TypeError("unexpected type at the first parameter");
447
+ }
448
+ if (b) {
449
+ throw new TypeError("unexpected a function as a second parameter.");
450
+ }
451
+ return { action: a };
452
+ }
453
+ const RESTATE_CTX_SYMBOL = Symbol("restateContext");
454
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
455
+ function extractContext(n) {
456
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
457
+ return n[RESTATE_CTX_SYMBOL];
458
+ }
459
+ class DurablePromiseImpl {
460
+ ctx;
461
+ name;
462
+ constructor(ctx, name) {
463
+ this.ctx = ctx;
464
+ this.name = name;
465
+ }
466
+ then(onfulfilled, onrejected) {
467
+ return this.get().then(onfulfilled, onrejected);
468
+ }
469
+ catch(onrejected) {
470
+ return this.get().catch(onrejected);
471
+ }
472
+ finally(onfinally) {
473
+ return this.get().finally(onfinally);
474
+ }
475
+ [Symbol.toStringTag] = "DurablePromise";
476
+ get() {
477
+ const msg = new GetPromiseEntryMessage({
478
+ key: this.name,
479
+ });
480
+ return this.ctx.markCombineablePromise(this.ctx.stateMachine
481
+ .handleUserCodeMessage(GET_PROMISE_MESSAGE_TYPE, msg)
482
+ .transform((v) => deserializeJson(v)));
483
+ }
484
+ peek() {
485
+ const msg = new PeekPromiseEntryMessage({
486
+ key: this.name,
487
+ });
488
+ return this.ctx.stateMachine
489
+ .handleUserCodeMessage(PEEK_PROMISE_MESSAGE_TYPE, msg)
490
+ .transform((v) => v instanceof Empty ? undefined : deserializeJson(v));
491
+ }
492
+ resolve(value) {
493
+ const msg = new CompletePromiseEntryMessage({
494
+ key: this.name,
495
+ completion: {
496
+ case: "completionValue",
497
+ value: serializeJson(value),
498
+ },
499
+ });
500
+ return this.ctx.stateMachine.handleUserCodeMessage(COMPLETE_PROMISE_MESSAGE_TYPE, msg);
501
+ }
502
+ reject(errorMsg) {
503
+ const msg = new CompletePromiseEntryMessage({
504
+ key: this.name,
505
+ completion: {
506
+ case: "completionFailure",
507
+ value: {
508
+ message: errorMsg,
509
+ },
510
+ },
511
+ });
512
+ return this.ctx.stateMachine.handleUserCodeMessage(COMPLETE_PROMISE_MESSAGE_TYPE, msg);
513
+ }
514
+ }
515
+ //# sourceMappingURL=context_impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context_impl.js","sourceRoot":"","sources":["../../../src/context_impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ServiceDefinition, VirtualObjectDefinition, WorkflowDefinition } from "@restatedev/restate-sdk-core";
2
+ import type { Component } from "../types/components.js";
3
+ import type * as discovery from "../types/discovery.js";
4
+ import type { KeySetV1 } from "./request_signing/v1.js";
5
+ export declare class EndpointBuilder {
6
+ private readonly services;
7
+ private _keySet?;
8
+ get keySet(): KeySetV1 | undefined;
9
+ componentByName(componentName: string): Component | undefined;
10
+ addComponent(component: Component): void;
11
+ bind<P extends string, M>(definition: ServiceDefinition<P, M> | VirtualObjectDefinition<P, M> | WorkflowDefinition<P, M>): this;
12
+ withIdentityV1(...keys: string[]): this;
13
+ computeDiscovery(protocolMode: discovery.ProtocolMode): discovery.Endpoint;
14
+ private bindServiceComponent;
15
+ private bindVirtualObjectComponent;
16
+ private bindWorkflowObjectComponent;
17
+ }
18
+ //# sourceMappingURL=endpoint_builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint_builder.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/endpoint_builder.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOxD,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAqBxD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,OAAO,CAAC,CAAW;IAE3B,IAAW,MAAM,IAAI,QAAQ,GAAG,SAAS,CAExC;IAEM,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI7D,YAAY,CAAC,SAAS,EAAE,SAAS;IAIjC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC7B,UAAU,EACN,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;IA4BvB,cAAc,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAWvC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,QAAQ;IAa1E,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,2BAA2B;CAkBpC"}