@restatedev/restate-sdk 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/src/common_api.d.ts +4 -2
  3. package/dist/cjs/src/common_api.d.ts.map +1 -1
  4. package/dist/cjs/src/common_api.js.map +1 -1
  5. package/dist/cjs/src/connection/connection.d.ts +64 -0
  6. package/dist/cjs/src/connection/connection.d.ts.map +1 -1
  7. package/dist/cjs/src/connection/connection.js +168 -0
  8. package/dist/cjs/src/connection/connection.js.map +1 -1
  9. package/dist/cjs/src/context.d.ts +13 -9
  10. package/dist/cjs/src/context.d.ts.map +1 -1
  11. package/dist/cjs/src/context.js.map +1 -1
  12. package/dist/cjs/src/context_impl.d.ts.map +1 -1
  13. package/dist/cjs/src/context_impl.js +15 -20
  14. package/dist/cjs/src/context_impl.js.map +1 -1
  15. package/dist/cjs/src/endpoint/endpoint_builder.d.ts +10 -0
  16. package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -1
  17. package/dist/cjs/src/endpoint/endpoint_builder.js +13 -0
  18. package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -1
  19. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +18 -1
  20. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -1
  21. package/dist/cjs/src/endpoint/fetch_endpoint.js +16 -1
  22. package/dist/cjs/src/endpoint/fetch_endpoint.js.map +1 -1
  23. package/dist/cjs/src/endpoint/handlers/fetch.d.ts.map +1 -1
  24. package/dist/cjs/src/endpoint/handlers/fetch.js +1 -2
  25. package/dist/cjs/src/endpoint/handlers/fetch.js.map +1 -1
  26. package/dist/cjs/src/endpoint/handlers/generic.d.ts +10 -7
  27. package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -1
  28. package/dist/cjs/src/endpoint/handlers/generic.js +76 -54
  29. package/dist/cjs/src/endpoint/handlers/generic.js.map +1 -1
  30. package/dist/cjs/src/endpoint/handlers/lambda.d.ts.map +1 -1
  31. package/dist/cjs/src/endpoint/handlers/lambda.js +33 -16
  32. package/dist/cjs/src/endpoint/handlers/lambda.js.map +1 -1
  33. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +2 -0
  34. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -1
  35. package/dist/cjs/src/endpoint/lambda_endpoint.js +6 -8
  36. package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -1
  37. package/dist/cjs/src/endpoint/node_endpoint.d.ts +2 -0
  38. package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -1
  39. package/dist/cjs/src/endpoint/node_endpoint.js +31 -20
  40. package/dist/cjs/src/endpoint/node_endpoint.js.map +1 -1
  41. package/dist/cjs/src/endpoint.d.ts +25 -2
  42. package/dist/cjs/src/endpoint.d.ts.map +1 -1
  43. package/dist/cjs/src/fetch.d.ts +2 -1
  44. package/dist/cjs/src/fetch.d.ts.map +1 -1
  45. package/dist/cjs/src/fetch.js +4 -2
  46. package/dist/cjs/src/fetch.js.map +1 -1
  47. package/dist/cjs/src/generated/version.d.ts +1 -1
  48. package/dist/cjs/src/generated/version.js +1 -1
  49. package/dist/cjs/src/invocation.d.ts +1 -1
  50. package/dist/cjs/src/invocation.d.ts.map +1 -1
  51. package/dist/cjs/src/invocation.js.map +1 -1
  52. package/dist/cjs/src/io/decoder.d.ts +2 -2
  53. package/dist/cjs/src/io/decoder.d.ts.map +1 -1
  54. package/dist/cjs/src/io/decoder.js +7 -8
  55. package/dist/cjs/src/io/decoder.js.map +1 -1
  56. package/dist/cjs/src/io/encoder.d.ts +0 -3
  57. package/dist/cjs/src/io/encoder.d.ts.map +1 -1
  58. package/dist/cjs/src/io/encoder.js +1 -18
  59. package/dist/cjs/src/io/encoder.js.map +1 -1
  60. package/dist/cjs/src/logger.d.ts +21 -13
  61. package/dist/cjs/src/logger.d.ts.map +1 -1
  62. package/dist/cjs/src/logger.js +56 -56
  63. package/dist/cjs/src/logger.js.map +1 -1
  64. package/dist/cjs/src/state_machine.d.ts +3 -5
  65. package/dist/cjs/src/state_machine.d.ts.map +1 -1
  66. package/dist/cjs/src/state_machine.js +7 -15
  67. package/dist/cjs/src/state_machine.js.map +1 -1
  68. package/dist/cjs/src/types/rpc.d.ts +11 -11
  69. package/dist/cjs/src/types/rpc.d.ts.map +1 -1
  70. package/dist/cjs/src/types/rpc.js.map +1 -1
  71. package/dist/cjs/src/user_agent.d.ts +1 -1
  72. package/dist/cjs/src/utils/message_logger.d.ts +2 -2
  73. package/dist/cjs/src/utils/message_logger.d.ts.map +1 -1
  74. package/dist/cjs/src/utils/message_logger.js +3 -3
  75. package/dist/cjs/src/utils/message_logger.js.map +1 -1
  76. package/dist/cjs/src/utils/streams.d.ts +4 -0
  77. package/dist/cjs/src/utils/streams.d.ts.map +1 -0
  78. package/dist/cjs/src/utils/streams.js +24 -0
  79. package/dist/cjs/src/utils/streams.js.map +1 -0
  80. package/dist/cjs/test/awakeable.test.d.ts +2 -0
  81. package/dist/cjs/test/awakeable.test.d.ts.map +1 -0
  82. package/dist/cjs/test/awakeable.test.js +141 -0
  83. package/dist/cjs/test/awakeable.test.js.map +1 -0
  84. package/dist/cjs/test/complete_awakeable.test.d.ts +2 -0
  85. package/dist/cjs/test/complete_awakeable.test.d.ts.map +1 -0
  86. package/dist/cjs/test/complete_awakeable.test.js +123 -0
  87. package/dist/cjs/test/complete_awakeable.test.js.map +1 -0
  88. package/dist/cjs/test/eager_state.test.d.ts +2 -0
  89. package/dist/cjs/test/eager_state.test.d.ts.map +1 -0
  90. package/dist/cjs/test/eager_state.test.js +280 -0
  91. package/dist/cjs/test/eager_state.test.js.map +1 -0
  92. package/dist/cjs/test/get_and_set_state.test.d.ts +2 -0
  93. package/dist/cjs/test/get_and_set_state.test.d.ts.map +1 -0
  94. package/dist/cjs/test/get_and_set_state.test.js +233 -0
  95. package/dist/cjs/test/get_and_set_state.test.js.map +1 -0
  96. package/dist/cjs/test/get_state.test.d.ts +2 -0
  97. package/dist/cjs/test/get_state.test.d.ts.map +1 -0
  98. package/dist/cjs/test/get_state.test.js +333 -0
  99. package/dist/cjs/test/get_state.test.js.map +1 -0
  100. package/dist/cjs/test/lambda.test.d.ts +2 -0
  101. package/dist/cjs/test/lambda.test.d.ts.map +1 -0
  102. package/dist/cjs/test/lambda.test.js +246 -0
  103. package/dist/cjs/test/lambda.test.js.map +1 -0
  104. package/dist/cjs/test/message_coders.test.d.ts +2 -0
  105. package/dist/cjs/test/message_coders.test.d.ts.map +1 -0
  106. package/dist/cjs/test/message_coders.test.js +37 -0
  107. package/dist/cjs/test/message_coders.test.js.map +1 -0
  108. package/dist/cjs/test/promise_combinator_tracker.test.d.ts +2 -0
  109. package/dist/cjs/test/promise_combinator_tracker.test.d.ts.map +1 -0
  110. package/dist/cjs/test/promise_combinator_tracker.test.js +156 -0
  111. package/dist/cjs/test/promise_combinator_tracker.test.js.map +1 -0
  112. package/dist/cjs/test/promise_combinators.test.d.ts +2 -0
  113. package/dist/cjs/test/promise_combinators.test.d.ts.map +1 -0
  114. package/dist/cjs/test/promise_combinators.test.js +433 -0
  115. package/dist/cjs/test/promise_combinators.test.js.map +1 -0
  116. package/dist/cjs/test/promises.test.d.ts +2 -0
  117. package/dist/cjs/test/promises.test.d.ts.map +1 -0
  118. package/dist/cjs/test/promises.test.js +32 -0
  119. package/dist/cjs/test/promises.test.js.map +1 -0
  120. package/dist/cjs/test/protocol_stream.test.d.ts +2 -0
  121. package/dist/cjs/test/protocol_stream.test.d.ts.map +1 -0
  122. package/dist/cjs/test/protocol_stream.test.js +243 -0
  123. package/dist/cjs/test/protocol_stream.test.js.map +1 -0
  124. package/dist/cjs/test/protoutils.d.ts +44 -0
  125. package/dist/cjs/test/protoutils.d.ts.map +1 -0
  126. package/dist/cjs/test/protoutils.js +359 -0
  127. package/dist/cjs/test/protoutils.js.map +1 -0
  128. package/dist/cjs/test/service_bind.test.d.ts +2 -0
  129. package/dist/cjs/test/service_bind.test.d.ts.map +1 -0
  130. package/dist/cjs/test/service_bind.test.js +50 -0
  131. package/dist/cjs/test/service_bind.test.js.map +1 -0
  132. package/dist/cjs/test/side_effect.test.d.ts +2 -0
  133. package/dist/cjs/test/side_effect.test.d.ts.map +1 -0
  134. package/dist/cjs/test/side_effect.test.js +133 -0
  135. package/dist/cjs/test/side_effect.test.js.map +1 -0
  136. package/dist/cjs/test/sleep.test.d.ts +2 -0
  137. package/dist/cjs/test/sleep.test.d.ts.map +1 -0
  138. package/dist/cjs/test/sleep.test.js +224 -0
  139. package/dist/cjs/test/sleep.test.js.map +1 -0
  140. package/dist/cjs/test/state_keys.test.d.ts +2 -0
  141. package/dist/cjs/test/state_keys.test.d.ts.map +1 -0
  142. package/dist/cjs/test/state_keys.test.js +92 -0
  143. package/dist/cjs/test/state_keys.test.js.map +1 -0
  144. package/dist/cjs/test/state_machine.test.d.ts +2 -0
  145. package/dist/cjs/test/state_machine.test.d.ts.map +1 -0
  146. package/dist/cjs/test/state_machine.test.js +42 -0
  147. package/dist/cjs/test/state_machine.test.js.map +1 -0
  148. package/dist/cjs/test/testdriver.d.ts +31 -0
  149. package/dist/cjs/test/testdriver.d.ts.map +1 -0
  150. package/dist/cjs/test/testdriver.js +137 -0
  151. package/dist/cjs/test/testdriver.js.map +1 -0
  152. package/dist/cjs/test/utils.test.d.ts +2 -0
  153. package/dist/cjs/test/utils.test.d.ts.map +1 -0
  154. package/dist/cjs/test/utils.test.js +104 -0
  155. package/dist/cjs/test/utils.test.js.map +1 -0
  156. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  157. package/dist/esm/src/common_api.d.ts +4 -2
  158. package/dist/esm/src/common_api.d.ts.map +1 -1
  159. package/dist/esm/src/common_api.js +1 -1
  160. package/dist/esm/src/common_api.js.map +1 -1
  161. package/dist/esm/src/connection/connection.d.ts +64 -0
  162. package/dist/esm/src/connection/connection.d.ts.map +1 -1
  163. package/dist/esm/src/connection/connection.js +166 -1
  164. package/dist/esm/src/connection/connection.js.map +1 -1
  165. package/dist/esm/src/context.d.ts +13 -9
  166. package/dist/esm/src/context.d.ts.map +1 -1
  167. package/dist/esm/src/context.js.map +1 -1
  168. package/dist/esm/src/context_impl.d.ts.map +1 -1
  169. package/dist/esm/src/context_impl.js +15 -20
  170. package/dist/esm/src/context_impl.js.map +1 -1
  171. package/dist/esm/src/endpoint/endpoint_builder.d.ts +10 -0
  172. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -1
  173. package/dist/esm/src/endpoint/endpoint_builder.js +13 -0
  174. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -1
  175. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +18 -1
  176. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -1
  177. package/dist/esm/src/endpoint/fetch_endpoint.js +16 -1
  178. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -1
  179. package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -1
  180. package/dist/esm/src/endpoint/handlers/fetch.js +1 -2
  181. package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -1
  182. package/dist/esm/src/endpoint/handlers/generic.d.ts +10 -7
  183. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -1
  184. package/dist/esm/src/endpoint/handlers/generic.js +77 -55
  185. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -1
  186. package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -1
  187. package/dist/esm/src/endpoint/handlers/lambda.js +33 -16
  188. package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -1
  189. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +2 -0
  190. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -1
  191. package/dist/esm/src/endpoint/lambda_endpoint.js +6 -8
  192. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -1
  193. package/dist/esm/src/endpoint/node_endpoint.d.ts +2 -0
  194. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -1
  195. package/dist/esm/src/endpoint/node_endpoint.js +31 -20
  196. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -1
  197. package/dist/esm/src/endpoint.d.ts +25 -2
  198. package/dist/esm/src/endpoint.d.ts.map +1 -1
  199. package/dist/esm/src/fetch.d.ts +2 -1
  200. package/dist/esm/src/fetch.d.ts.map +1 -1
  201. package/dist/esm/src/fetch.js +4 -2
  202. package/dist/esm/src/fetch.js.map +1 -1
  203. package/dist/esm/src/generated/version.d.ts +1 -1
  204. package/dist/esm/src/generated/version.js +1 -1
  205. package/dist/esm/src/invocation.d.ts +1 -1
  206. package/dist/esm/src/invocation.d.ts.map +1 -1
  207. package/dist/esm/src/invocation.js.map +1 -1
  208. package/dist/esm/src/io/decoder.d.ts +2 -2
  209. package/dist/esm/src/io/decoder.d.ts.map +1 -1
  210. package/dist/esm/src/io/decoder.js +7 -8
  211. package/dist/esm/src/io/decoder.js.map +1 -1
  212. package/dist/esm/src/io/encoder.d.ts +0 -3
  213. package/dist/esm/src/io/encoder.d.ts.map +1 -1
  214. package/dist/esm/src/io/encoder.js +0 -13
  215. package/dist/esm/src/io/encoder.js.map +1 -1
  216. package/dist/esm/src/logger.d.ts +21 -13
  217. package/dist/esm/src/logger.d.ts.map +1 -1
  218. package/dist/esm/src/logger.js +53 -55
  219. package/dist/esm/src/logger.js.map +1 -1
  220. package/dist/esm/src/state_machine.d.ts +3 -5
  221. package/dist/esm/src/state_machine.d.ts.map +1 -1
  222. package/dist/esm/src/state_machine.js +8 -16
  223. package/dist/esm/src/state_machine.js.map +1 -1
  224. package/dist/esm/src/types/rpc.d.ts +11 -11
  225. package/dist/esm/src/types/rpc.d.ts.map +1 -1
  226. package/dist/esm/src/types/rpc.js.map +1 -1
  227. package/dist/esm/src/user_agent.d.ts +1 -1
  228. package/dist/esm/src/utils/message_logger.d.ts +2 -2
  229. package/dist/esm/src/utils/message_logger.d.ts.map +1 -1
  230. package/dist/esm/src/utils/message_logger.js +4 -4
  231. package/dist/esm/src/utils/message_logger.js.map +1 -1
  232. package/dist/esm/src/utils/streams.d.ts +4 -0
  233. package/dist/esm/src/utils/streams.d.ts.map +1 -0
  234. package/dist/esm/src/utils/streams.js +20 -0
  235. package/dist/esm/src/utils/streams.js.map +1 -0
  236. package/dist/esm/test/awakeable.test.d.ts +2 -0
  237. package/dist/esm/test/awakeable.test.d.ts.map +1 -0
  238. package/dist/esm/test/awakeable.test.js +139 -0
  239. package/dist/esm/test/awakeable.test.js.map +1 -0
  240. package/dist/esm/test/complete_awakeable.test.d.ts +2 -0
  241. package/dist/esm/test/complete_awakeable.test.d.ts.map +1 -0
  242. package/dist/esm/test/complete_awakeable.test.js +121 -0
  243. package/dist/esm/test/complete_awakeable.test.js.map +1 -0
  244. package/dist/esm/test/eager_state.test.d.ts +2 -0
  245. package/dist/esm/test/eager_state.test.d.ts.map +1 -0
  246. package/dist/esm/test/eager_state.test.js +278 -0
  247. package/dist/esm/test/eager_state.test.js.map +1 -0
  248. package/dist/esm/test/get_and_set_state.test.d.ts +2 -0
  249. package/dist/esm/test/get_and_set_state.test.d.ts.map +1 -0
  250. package/dist/esm/test/get_and_set_state.test.js +231 -0
  251. package/dist/esm/test/get_and_set_state.test.js.map +1 -0
  252. package/dist/esm/test/get_state.test.d.ts +2 -0
  253. package/dist/esm/test/get_state.test.d.ts.map +1 -0
  254. package/dist/esm/test/get_state.test.js +331 -0
  255. package/dist/esm/test/get_state.test.js.map +1 -0
  256. package/dist/esm/test/lambda.test.d.ts +2 -0
  257. package/dist/esm/test/lambda.test.d.ts.map +1 -0
  258. package/dist/esm/test/lambda.test.js +221 -0
  259. package/dist/esm/test/lambda.test.js.map +1 -0
  260. package/dist/esm/test/message_coders.test.d.ts +2 -0
  261. package/dist/esm/test/message_coders.test.d.ts.map +1 -0
  262. package/dist/esm/test/message_coders.test.js +35 -0
  263. package/dist/esm/test/message_coders.test.js.map +1 -0
  264. package/dist/esm/test/promise_combinator_tracker.test.d.ts +2 -0
  265. package/dist/esm/test/promise_combinator_tracker.test.d.ts.map +1 -0
  266. package/dist/esm/test/promise_combinator_tracker.test.js +154 -0
  267. package/dist/esm/test/promise_combinator_tracker.test.js.map +1 -0
  268. package/dist/esm/test/promise_combinators.test.d.ts +2 -0
  269. package/dist/esm/test/promise_combinators.test.d.ts.map +1 -0
  270. package/dist/esm/test/promise_combinators.test.js +431 -0
  271. package/dist/esm/test/promise_combinators.test.js.map +1 -0
  272. package/dist/esm/test/promises.test.d.ts +2 -0
  273. package/dist/esm/test/promises.test.d.ts.map +1 -0
  274. package/dist/esm/test/promises.test.js +30 -0
  275. package/dist/esm/test/promises.test.js.map +1 -0
  276. package/dist/esm/test/protocol_stream.test.d.ts +2 -0
  277. package/dist/esm/test/protocol_stream.test.d.ts.map +1 -0
  278. package/dist/esm/test/protocol_stream.test.js +218 -0
  279. package/dist/esm/test/protocol_stream.test.js.map +1 -0
  280. package/dist/esm/test/protoutils.d.ts +44 -0
  281. package/dist/esm/test/protoutils.d.ts.map +1 -0
  282. package/dist/esm/test/protoutils.js +326 -0
  283. package/dist/esm/test/protoutils.js.map +1 -0
  284. package/dist/esm/test/service_bind.test.d.ts +2 -0
  285. package/dist/esm/test/service_bind.test.d.ts.map +1 -0
  286. package/dist/esm/test/service_bind.test.js +48 -0
  287. package/dist/esm/test/service_bind.test.js.map +1 -0
  288. package/dist/esm/test/side_effect.test.d.ts +2 -0
  289. package/dist/esm/test/side_effect.test.d.ts.map +1 -0
  290. package/dist/esm/test/side_effect.test.js +131 -0
  291. package/dist/esm/test/side_effect.test.js.map +1 -0
  292. package/dist/esm/test/sleep.test.d.ts +2 -0
  293. package/dist/esm/test/sleep.test.d.ts.map +1 -0
  294. package/dist/esm/test/sleep.test.js +222 -0
  295. package/dist/esm/test/sleep.test.js.map +1 -0
  296. package/dist/esm/test/state_keys.test.d.ts +2 -0
  297. package/dist/esm/test/state_keys.test.d.ts.map +1 -0
  298. package/dist/esm/test/state_keys.test.js +90 -0
  299. package/dist/esm/test/state_keys.test.js.map +1 -0
  300. package/dist/esm/test/state_machine.test.d.ts +2 -0
  301. package/dist/esm/test/state_machine.test.d.ts.map +1 -0
  302. package/dist/esm/test/state_machine.test.js +40 -0
  303. package/dist/esm/test/state_machine.test.js.map +1 -0
  304. package/dist/esm/test/testdriver.d.ts +31 -0
  305. package/dist/esm/test/testdriver.d.ts.map +1 -0
  306. package/dist/esm/test/testdriver.js +133 -0
  307. package/dist/esm/test/testdriver.js.map +1 -0
  308. package/dist/esm/test/utils.test.d.ts +2 -0
  309. package/dist/esm/test/utils.test.d.ts.map +1 -0
  310. package/dist/esm/test/utils.test.js +102 -0
  311. package/dist/esm/test/utils.test.js.map +1 -0
  312. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  313. package/package.json +2 -2
  314. package/dist/cjs/src/connection/buffered_connection.d.ts +0 -14
  315. package/dist/cjs/src/connection/buffered_connection.d.ts.map +0 -1
  316. package/dist/cjs/src/connection/buffered_connection.js +0 -44
  317. package/dist/cjs/src/connection/buffered_connection.js.map +0 -1
  318. package/dist/cjs/src/connection/http_connection.d.ts +0 -77
  319. package/dist/cjs/src/connection/http_connection.d.ts.map +0 -1
  320. package/dist/cjs/src/connection/http_connection.js +0 -208
  321. package/dist/cjs/src/connection/http_connection.js.map +0 -1
  322. package/dist/cjs/src/connection/lambda_connection.d.ts +0 -17
  323. package/dist/cjs/src/connection/lambda_connection.d.ts.map +0 -1
  324. package/dist/cjs/src/connection/lambda_connection.js +0 -64
  325. package/dist/cjs/src/connection/lambda_connection.js.map +0 -1
  326. package/dist/cjs/src/endpoint/handlers/node.d.ts +0 -11
  327. package/dist/cjs/src/endpoint/handlers/node.d.ts.map +0 -1
  328. package/dist/cjs/src/endpoint/handlers/node.js +0 -188
  329. package/dist/cjs/src/endpoint/handlers/node.js.map +0 -1
  330. package/dist/esm/src/connection/buffered_connection.d.ts +0 -14
  331. package/dist/esm/src/connection/buffered_connection.d.ts.map +0 -1
  332. package/dist/esm/src/connection/buffered_connection.js +0 -40
  333. package/dist/esm/src/connection/buffered_connection.js.map +0 -1
  334. package/dist/esm/src/connection/http_connection.d.ts +0 -77
  335. package/dist/esm/src/connection/http_connection.d.ts.map +0 -1
  336. package/dist/esm/src/connection/http_connection.js +0 -204
  337. package/dist/esm/src/connection/http_connection.js.map +0 -1
  338. package/dist/esm/src/connection/lambda_connection.d.ts +0 -17
  339. package/dist/esm/src/connection/lambda_connection.d.ts.map +0 -1
  340. package/dist/esm/src/connection/lambda_connection.js +0 -60
  341. package/dist/esm/src/connection/lambda_connection.js.map +0 -1
  342. package/dist/esm/src/endpoint/handlers/node.d.ts +0 -11
  343. package/dist/esm/src/endpoint/handlers/node.d.ts.map +0 -1
  344. package/dist/esm/src/endpoint/handlers/node.js +0 -181
  345. package/dist/esm/src/endpoint/handlers/node.js.map +0 -1
@@ -1,77 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import type stream from "node:stream";
4
- import type { Connection, RestateStreamConsumer } from "./connection.js";
5
- import type { Message } from "../types/types.js";
6
- import type { Http2ServerRequest, IncomingHttpHeaders } from "node:http2";
7
- /**
8
- * A duplex stream with Restate Messages over HTTP2.
9
- *
10
- * This stream handles the following concerns:
11
- *
12
- * (1) encoding and decoding of messages from and from raw bytes
13
- *
14
- * (2) buffering the outgoing messages, because the call sites that produce (potentially) large
15
- * messages might not await their transfer. Aside from the fact that we achieve better pipelining
16
- * that way, we also simply cannot guarantee that users of the Restate SDK actually await the
17
- * relevant async API methods.
18
- *
19
- * This stream essentially buffers messages and, upon flush, sends them asynchronously, as the
20
- * stream has availability. Flush requests queue up, if new data gets flushed while the previous
21
- * data is still being sent.
22
- *
23
- * (3) Input messages can be pipelined to a sequence of consumers. For example, first to a journal,
24
- * and afterwards to the state machine.
25
- *
26
- * (4) Handling the relevant stream events for errors and consolidating them to one error handler, plus
27
- * notifications for cleanly closed input (to trigger suspension).
28
- */
29
- export declare class RestateHttp2Connection implements Connection {
30
- private readonly attemptHeaders;
31
- private readonly rawStream;
32
- /**
33
- * create a RestateDuplex stream from an http2 (duplex) stream.
34
- */
35
- static from(request: Http2ServerRequest, http2stream: stream.Duplex): RestateHttp2Connection;
36
- private readonly sdkInput;
37
- private currentConsumer;
38
- private inputBuffer;
39
- private consumerError?;
40
- private consumerInputClosed;
41
- private outputBuffer;
42
- constructor(attemptHeaders: IncomingHttpHeaders, rawStream: stream.Duplex);
43
- headers(): ReadonlyMap<string, string | string[] | undefined>;
44
- /**
45
- * Pipes the messages from this connection to the given consumer. The consumer
46
- * will also receive error and stream closing notifications.
47
- *
48
- * Once the 'handleMessage()' method returns 'true', the consumer is immediately removed.
49
- * That way, consumers can consume a bounded amount of messages (like just the initial journal).
50
- *
51
- * There can only be one consumer at a time.
52
- */
53
- pipeToConsumer(consumer: RestateStreamConsumer): void;
54
- /**
55
- * Removes the current consumer, if there is one.
56
- */
57
- removeCurrentConsumer(): void;
58
- /**
59
- * Adds a message to the output stream.
60
- *
61
- * This always puts the message into the node stream, but will return a promise that is resolved once
62
- * further messages can be written.
63
- *
64
- * The reasoning is that some, but not all Restate operations return promises and are typically
65
- * awaited. For example, rpc, sleep, side-effect have promises and are awaited, while one-way-sends and
66
- * state updates don't return promises.
67
- *
68
- * As a pragmatic solution, we always accept messages, but return a promise for when the output has
69
- * capacity again, so that at least the operations that await results will respect backpressure.
70
- */
71
- send(msg: Message): Promise<void>;
72
- /**
73
- * Ends the stream, awaiting pending writes.
74
- */
75
- end(): Promise<void>;
76
- }
77
- //# sourceMappingURL=http_connection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http_connection.d.ts","sourceRoot":"","sources":["../../../../src/connection/http_connection.ts"],"names":[],"mappings":";;AAWA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAK1E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,sBAAuB,YAAW,UAAU;IAyBrD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAzB5B;;OAEG;WACW,IAAI,CAChB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,GACzB,sBAAsB;IAOzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAG3C,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,YAAY,CAAqB;gBAGtB,cAAc,EAAE,mBAAmB,EACnC,SAAS,EAAE,MAAM,CAAC,MAAM;IA4E3C,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAQ7D;;;;;;;;OAQG;IACI,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IA+B5D;;OAEG;IACI,qBAAqB,IAAI,IAAI;IAQpC;;;;;;;;;;;;OAYG;IACI,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC;;OAEG;IACU,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAYlC"}
@@ -1,208 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.RestateHttp2Connection = void 0;
14
- const decoder_js_1 = require("../io/decoder.js");
15
- const logger_js_1 = require("../logger.js");
16
- const promises_1 = require("node:stream/promises");
17
- const buffered_connection_js_1 = require("./buffered_connection.js");
18
- // utility promise, for cases where we want to save allocation of an extra promise
19
- const RESOLVED = Promise.resolve();
20
- /**
21
- * A duplex stream with Restate Messages over HTTP2.
22
- *
23
- * This stream handles the following concerns:
24
- *
25
- * (1) encoding and decoding of messages from and from raw bytes
26
- *
27
- * (2) buffering the outgoing messages, because the call sites that produce (potentially) large
28
- * messages might not await their transfer. Aside from the fact that we achieve better pipelining
29
- * that way, we also simply cannot guarantee that users of the Restate SDK actually await the
30
- * relevant async API methods.
31
- *
32
- * This stream essentially buffers messages and, upon flush, sends them asynchronously, as the
33
- * stream has availability. Flush requests queue up, if new data gets flushed while the previous
34
- * data is still being sent.
35
- *
36
- * (3) Input messages can be pipelined to a sequence of consumers. For example, first to a journal,
37
- * and afterwards to the state machine.
38
- *
39
- * (4) Handling the relevant stream events for errors and consolidating them to one error handler, plus
40
- * notifications for cleanly closed input (to trigger suspension).
41
- */
42
- class RestateHttp2Connection {
43
- attemptHeaders;
44
- rawStream;
45
- /**
46
- * create a RestateDuplex stream from an http2 (duplex) stream.
47
- */
48
- static from(request, http2stream) {
49
- return new RestateHttp2Connection(request.headers, http2stream);
50
- }
51
- // --------------------------------------------------------------------------
52
- // input as decoded messages
53
- sdkInput;
54
- // consumer handling
55
- currentConsumer = null;
56
- inputBuffer = [];
57
- consumerError;
58
- consumerInputClosed = false;
59
- outputBuffer;
60
- constructor(attemptHeaders, rawStream) {
61
- this.attemptHeaders = attemptHeaders;
62
- this.rawStream = rawStream;
63
- this.sdkInput = rawStream.pipe((0, decoder_js_1.streamDecoder)());
64
- this.outputBuffer = new buffered_connection_js_1.BufferedConnection((buffer) => {
65
- const hasMoreCapacity = rawStream.write(buffer);
66
- if (hasMoreCapacity) {
67
- return RESOLVED;
68
- }
69
- else {
70
- return new Promise((resolve) => rawStream.once("drain", resolve));
71
- }
72
- });
73
- // remember and forward messages
74
- this.sdkInput.on("data", (m) => {
75
- // deliver message, if we have a consumer. otherwise buffer the message.
76
- if (this.currentConsumer) {
77
- if (this.currentConsumer.handleMessage(m)) {
78
- this.removeCurrentConsumer();
79
- }
80
- }
81
- else {
82
- this.inputBuffer.push(m);
83
- }
84
- });
85
- // remember and forward close events
86
- this.sdkInput.on("end", () => {
87
- this.consumerInputClosed = true;
88
- if (this.currentConsumer) {
89
- this.currentConsumer.handleInputClosed();
90
- }
91
- });
92
- // --------- error handling --------
93
- // - a.k.a. node event wrangling...
94
- // the error handler for all sorts of errors coming from streams
95
- const errorHandler = (e) => {
96
- // make sure we don't overwrite the initial error
97
- if (this.consumerError !== undefined) {
98
- return;
99
- }
100
- this.consumerError = e;
101
- if (this.currentConsumer) {
102
- this.currentConsumer.handleStreamError(e);
103
- }
104
- };
105
- // those two event types should cover all types of connection losses
106
- rawStream.on("aborted", () => {
107
- logger_js_1.rlog.error("Connection to Restate was lost");
108
- errorHandler(new Error("Connection to Restate was lost"));
109
- });
110
- // this is both the raw http2 stream and the output SDK->Restate
111
- rawStream.on("error", (e) => {
112
- logger_js_1.rlog.error("Error in http2 stream to Restate: " + (e.stack ?? e.message));
113
- errorHandler(e);
114
- });
115
- // these events notify of errors in the decoding pipeline
116
- this.sdkInput.on("error", (e) => {
117
- logger_js_1.rlog.error("Error in input stream (Restate to Service): " + (e.stack ?? e.message));
118
- errorHandler(e);
119
- });
120
- // see if streams get torn down before they end cleanly
121
- this.sdkInput.on("close", () => {
122
- if (!this.consumerInputClosed) {
123
- errorHandler(new Error("stream was destroyed before end"));
124
- }
125
- });
126
- }
127
- headers() {
128
- return new Map(Object.entries(this.attemptHeaders));
129
- }
130
- // --------------------------------------------------------------------------
131
- // input stream handling
132
- // --------------------------------------------------------------------------
133
- /**
134
- * Pipes the messages from this connection to the given consumer. The consumer
135
- * will also receive error and stream closing notifications.
136
- *
137
- * Once the 'handleMessage()' method returns 'true', the consumer is immediately removed.
138
- * That way, consumers can consume a bounded amount of messages (like just the initial journal).
139
- *
140
- * There can only be one consumer at a time.
141
- */
142
- pipeToConsumer(consumer) {
143
- if (this.currentConsumer !== null) {
144
- throw new Error("Already piping to a consumer");
145
- }
146
- this.currentConsumer = consumer;
147
- // propagate pre-existing information
148
- if (this.consumerError) {
149
- consumer.handleStreamError(this.consumerError);
150
- }
151
- if (this.consumerInputClosed) {
152
- consumer.handleInputClosed();
153
- }
154
- // pipe the buffered input messages, if we buffered some before the consumer was registered
155
- const input = this.inputBuffer;
156
- if (input.length > 0) {
157
- let i = 0;
158
- while (i < input.length) {
159
- const done = consumer.handleMessage(input[i]);
160
- i++;
161
- if (done) {
162
- this.removeCurrentConsumer();
163
- break;
164
- }
165
- }
166
- this.inputBuffer = i === input.length ? [] : this.inputBuffer.slice(i);
167
- }
168
- }
169
- /**
170
- * Removes the current consumer, if there is one.
171
- */
172
- removeCurrentConsumer() {
173
- this.currentConsumer = null;
174
- }
175
- // --------------------------------------------------------------------------
176
- // output stream handling
177
- // --------------------------------------------------------------------------
178
- /**
179
- * Adds a message to the output stream.
180
- *
181
- * This always puts the message into the node stream, but will return a promise that is resolved once
182
- * further messages can be written.
183
- *
184
- * The reasoning is that some, but not all Restate operations return promises and are typically
185
- * awaited. For example, rpc, sleep, side-effect have promises and are awaited, while one-way-sends and
186
- * state updates don't return promises.
187
- *
188
- * As a pragmatic solution, we always accept messages, but return a promise for when the output has
189
- * capacity again, so that at least the operations that await results will respect backpressure.
190
- */
191
- send(msg) {
192
- return this.outputBuffer.send(msg);
193
- }
194
- /**
195
- * Ends the stream, awaiting pending writes.
196
- */
197
- async end() {
198
- await this.outputBuffer.end();
199
- this.rawStream.end();
200
- const options = {
201
- error: true,
202
- cleanup: true,
203
- };
204
- await (0, promises_1.finished)(this.rawStream, options);
205
- }
206
- }
207
- exports.RestateHttp2Connection = RestateHttp2Connection;
208
- //# sourceMappingURL=http_connection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http_connection.js","sourceRoot":"","sources":["../../../../src/connection/http_connection.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /// <reference types="node" />
2
- import type { Connection } from "./connection.js";
3
- import type { Message } from "../types/types.js";
4
- import { Buffer } from "node:buffer";
5
- export declare class LambdaConnection implements Connection {
6
- private readonly attemptHeaders;
7
- private suspendedOrCompleted;
8
- private outputBuffer;
9
- private readonly completionPromise;
10
- private resolveOnCompleted;
11
- constructor(attemptHeaders: Record<string, string | string[] | undefined>, suspendedOrCompleted?: boolean);
12
- headers(): ReadonlyMap<string, string | string[] | undefined>;
13
- send(msg: Message): Promise<void>;
14
- getResult(): Promise<Buffer>;
15
- end(): Promise<void>;
16
- }
17
- //# sourceMappingURL=lambda_connection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lambda_connection.d.ts","sourceRoot":"","sources":["../../../../src/connection/lambda_connection.ts"],"names":[],"mappings":";AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,qBAAa,gBAAiB,YAAW,UAAU;IAS/C,OAAO,CAAC,QAAQ,CAAC,cAAc;IAI/B,OAAO,CAAC,oBAAoB;IAX9B,OAAO,CAAC,YAAY,CAA2B;IAG/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,kBAAkB,CAAiD;gBAGxD,cAAc,EAAE,MAAM,CACrC,MAAM,EACN,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAC9B,EACO,oBAAoB,UAAQ;IAQtC,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAK7D,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAQrB"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.LambdaConnection = void 0;
14
- const encoder_js_1 = require("../io/encoder.js");
15
- const protocol_js_1 = require("../types/protocol.js");
16
- const logger_js_1 = require("../logger.js");
17
- const node_buffer_1 = require("node:buffer");
18
- const RESOLVED = Promise.resolve();
19
- class LambdaConnection {
20
- attemptHeaders;
21
- suspendedOrCompleted;
22
- // Empty buffer to store journal output messages
23
- outputBuffer = node_buffer_1.Buffer.alloc(0);
24
- // Callback to resolve the invocation promise of the Lambda handler when the response is ready
25
- completionPromise;
26
- resolveOnCompleted;
27
- constructor(attemptHeaders, suspendedOrCompleted = false) {
28
- this.attemptHeaders = attemptHeaders;
29
- this.suspendedOrCompleted = suspendedOrCompleted;
30
- // Promise that signals when the invocation is over, to then flush the messages
31
- this.completionPromise = new Promise((resolve) => {
32
- this.resolveOnCompleted = resolve;
33
- });
34
- }
35
- headers() {
36
- return new Map(Object.entries(this.attemptHeaders));
37
- }
38
- // Send a message back to the runtime
39
- send(msg) {
40
- // Add the header and the body to buffer and add to the output buffer
41
- const msgBuffer = (0, encoder_js_1.encodeMessage)(msg);
42
- this.outputBuffer = node_buffer_1.Buffer.concat([this.outputBuffer, msgBuffer]);
43
- // An output message, suspension message or error message is the end of a Lambda invocation
44
- if (msg.messageType === protocol_js_1.OUTPUT_ENTRY_MESSAGE_TYPE ||
45
- msg.messageType === protocol_js_1.SUSPENSION_MESSAGE_TYPE ||
46
- msg.messageType === protocol_js_1.ERROR_MESSAGE_TYPE) {
47
- this.suspendedOrCompleted = true;
48
- }
49
- return RESOLVED;
50
- }
51
- getResult() {
52
- return this.completionPromise;
53
- }
54
- end() {
55
- if (this.suspendedOrCompleted) {
56
- logger_js_1.rlog.debug("Flushing output buffer...");
57
- this.resolveOnCompleted(this.outputBuffer);
58
- }
59
- this.outputBuffer = node_buffer_1.Buffer.alloc(0);
60
- return RESOLVED;
61
- }
62
- }
63
- exports.LambdaConnection = LambdaConnection;
64
- //# sourceMappingURL=lambda_connection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lambda_connection.js","sourceRoot":"","sources":["../../../../src/connection/lambda_connection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAGH,iDAAiD;AACjD,sDAI8B;AAE9B,4CAAoC;AACpC,6CAAqC;AAErC,MAAM,QAAQ,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAElD,MAAa,gBAAgB;IASR;IAIT;IAZV,gDAAgD;IACxC,YAAY,GAAW,oBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/C,8FAA8F;IAC7E,iBAAiB,CAAkB;IAC5C,kBAAkB,CAAiD;IAE3E,YACmB,cAGhB,EACO,uBAAuB,KAAK;QAJnB,mBAAc,GAAd,cAAc,CAG9B;QACO,yBAAoB,GAApB,oBAAoB,CAAQ;QAEpC,+EAA+E;QAC/E,IAAI,CAAC,iBAAiB,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,GAAY;QACf,qEAAqE;QACrE,MAAM,SAAS,GAAG,IAAA,0BAAa,EAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,oBAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QAElE,2FAA2F;QAC3F,IACE,GAAG,CAAC,WAAW,KAAK,uCAAyB;YAC7C,GAAG,CAAC,WAAW,KAAK,qCAAuB;YAC3C,GAAG,CAAC,WAAW,KAAK,gCAAkB,EACtC,CAAC;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,GAAG;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,gBAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,oBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAvDD,4CAuDC"}
@@ -1,11 +0,0 @@
1
- /// <reference types="node" />
2
- import type { Http2ServerRequest, Http2ServerResponse } from "http2";
3
- import type { EndpointBuilder } from "../endpoint_builder.js";
4
- export declare class Http2Handler {
5
- private readonly endpoint;
6
- constructor(endpoint: EndpointBuilder);
7
- acceptConnection(request: Http2ServerRequest, _response: Http2ServerResponse): void;
8
- private validateConnectionSignature;
9
- private handleConnection;
10
- }
11
- //# sourceMappingURL=node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/node.ts"],"names":[],"mappings":";AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAsBrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,eAAe;IAEtD,gBAAgB,CACd,OAAO,EAAE,kBAAkB,EAE3B,SAAS,EAAE,mBAAmB;YAuBlB,2BAA2B;IAoCzC,OAAO,CAAC,gBAAgB;CAmEzB"}
@@ -1,188 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- var __importDefault = (this && this.__importDefault) || function (mod) {
13
- return (mod && mod.__esModule) ? mod : { "default": mod };
14
- };
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.Http2Handler = void 0;
17
- const node_stream_1 = __importDefault(require("node:stream"));
18
- const promises_1 = require("node:stream/promises");
19
- const http_connection_js_1 = require("../../connection/http_connection.js");
20
- const errors_js_1 = require("../../types/errors.js");
21
- const invocation_js_1 = require("../../invocation.js");
22
- const state_machine_js_1 = require("../../state_machine.js");
23
- const logger_js_1 = require("../../logger.js");
24
- const components_js_1 = require("../../types/components.js");
25
- const discovery_js_1 = require("../../types/discovery.js");
26
- const validate_js_1 = require("../request_signing/validate.js");
27
- const user_agent_js_1 = require("../../user_agent.js");
28
- const protocol_js_1 = require("../../types/protocol.js");
29
- const discovery_pb_js_1 = require("../../generated/proto/discovery_pb.js");
30
- class Http2Handler {
31
- endpoint;
32
- constructor(endpoint) {
33
- this.endpoint = endpoint;
34
- }
35
- acceptConnection(request,
36
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
37
- _response) {
38
- const stream = request.stream;
39
- const url = new URL(request.url ?? "/", "https://restate.dev"); // use a dummy base; we only care about path
40
- this.validateConnectionSignature(request, url, stream)
41
- .then((result) => {
42
- if (!result) {
43
- return;
44
- }
45
- else {
46
- return this.handleConnection(request, url, stream);
47
- }
48
- })
49
- .catch((e) => {
50
- const error = (0, errors_js_1.ensureError)(e);
51
- logger_js_1.rlog.error("Error while handling connection: " + (error.stack ?? error.message));
52
- stream.end();
53
- stream.destroy();
54
- });
55
- }
56
- async validateConnectionSignature(request, url, stream) {
57
- if (!this.endpoint.keySet) {
58
- // not validating
59
- return true;
60
- }
61
- const keySet = this.endpoint.keySet;
62
- const validateResponse = await (0, validate_js_1.validateRequestSignature)(keySet, url.pathname ?? "/", request.headers);
63
- if (!validateResponse.valid) {
64
- logger_js_1.rlog.error(
65
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
66
- `Rejecting request as its JWT did not validate: ${validateResponse.error}`);
67
- stream.respond({
68
- "content-type": "application/restate",
69
- "x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
70
- ":status": 401,
71
- });
72
- stream.end();
73
- stream.destroy();
74
- return false;
75
- }
76
- else {
77
- return true;
78
- }
79
- }
80
- handleConnection(request, url, stream) {
81
- const route = (0, components_js_1.parseUrlComponents)(url.pathname ?? undefined);
82
- if (!route) {
83
- return respondNotFound(stream);
84
- }
85
- if (route === "discovery") {
86
- const acceptVersionsString = request.headers["accept"];
87
- const serviceDiscoveryProtocolVersion = (0, protocol_js_1.selectSupportedServiceDiscoveryProtocolVersion)(acceptVersionsString);
88
- if (serviceDiscoveryProtocolVersion ==
89
- discovery_pb_js_1.ServiceDiscoveryProtocolVersion.SERVICE_DISCOVERY_PROTOCOL_VERSION_UNSPECIFIED) {
90
- const errorMessage = `Unsupported service discovery protocol version '${acceptVersionsString}'`;
91
- logger_js_1.rlog.warn(errorMessage);
92
- return respondUnsupportedProtocolVersion(stream, errorMessage);
93
- }
94
- const discovery = this.endpoint.computeDiscovery(discovery_js_1.ProtocolMode.BIDI_STREAM);
95
- return respondDiscovery(serviceDiscoveryProtocolVersion, discovery, stream);
96
- }
97
- const serviceProtocolVersionString = request.headers["content-type"];
98
- const serviceProtocolVersion = (0, protocol_js_1.parseServiceProtocolVersion)(serviceProtocolVersionString);
99
- if (!(0, protocol_js_1.isServiceProtocolVersionSupported)(serviceProtocolVersion)) {
100
- const errorMessage = `Unsupported service protocol version '${serviceProtocolVersionString}'`;
101
- logger_js_1.rlog.warn(errorMessage);
102
- return respondUnsupportedProtocolVersion(stream, errorMessage);
103
- }
104
- const urlComponents = route;
105
- const component = this.endpoint.componentByName(urlComponents.componentName);
106
- if (!component) {
107
- return respondNotFound(stream);
108
- }
109
- const handler = component.handlerMatching(urlComponents);
110
- if (!handler) {
111
- return respondNotFound(stream);
112
- }
113
- // valid connection, let's dispatch the invocation
114
- stream.respond({
115
- "content-type": (0, protocol_js_1.serviceProtocolVersionToHeaderValue)(serviceProtocolVersion),
116
- "x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
117
- ":status": 200,
118
- });
119
- const restateStream = http_connection_js_1.RestateHttp2Connection.from(request, stream);
120
- return handleInvocation(handler, restateStream);
121
- }
122
- }
123
- exports.Http2Handler = Http2Handler;
124
- function respondUnsupportedProtocolVersion(stream, errorMessage) {
125
- stream.respond({
126
- ":status": 415,
127
- "content-type": "text/plain",
128
- "x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
129
- });
130
- stream.end(errorMessage);
131
- return (0, promises_1.finished)(stream);
132
- }
133
- function respondDiscovery(serviceDiscoveryProtocolVersion, response, http2Stream) {
134
- let responseData;
135
- if (serviceDiscoveryProtocolVersion === discovery_pb_js_1.ServiceDiscoveryProtocolVersion.V1) {
136
- responseData = JSON.stringify(response);
137
- }
138
- else {
139
- // should not be reached since we check for compatibility before
140
- throw new Error(`Unsupported service discovery protocol version: ${serviceDiscoveryProtocolVersion}`);
141
- }
142
- http2Stream.respond({
143
- ":status": 200,
144
- "content-type": (0, protocol_js_1.serviceDiscoveryProtocolVersionToHeaderValue)(serviceDiscoveryProtocolVersion),
145
- "x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
146
- });
147
- return (0, promises_1.pipeline)(node_stream_1.default.Readable.from(responseData), http2Stream, {
148
- end: true,
149
- });
150
- }
151
- function respondNotFound(stream) {
152
- stream.respond({
153
- "content-type": "application/json",
154
- "x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
155
- ":status": 404,
156
- });
157
- stream.end();
158
- return (0, promises_1.finished)(stream);
159
- }
160
- async function handleInvocation(handler, connection) {
161
- // step 1: collect all journal events
162
- const journalBuilder = new invocation_js_1.InvocationBuilder(handler);
163
- connection.pipeToConsumer(journalBuilder);
164
- try {
165
- await journalBuilder.completion();
166
- }
167
- finally {
168
- // ensure GC friendliness, also in case of errors
169
- connection.removeCurrentConsumer();
170
- }
171
- // step 2: create the state machine
172
- const invocation = journalBuilder.build();
173
- const stateMachine = new state_machine_js_1.StateMachine(connection, invocation, discovery_js_1.ProtocolMode.BIDI_STREAM, handler.kind(), invocation.inferLoggerContext());
174
- connection.pipeToConsumer(stateMachine);
175
- // step 3: invoke the function
176
- // This call would propagate errors in the state machine logic, but not errors
177
- // in the application function code. Ending a function with an error as well
178
- // as failign an invocation and being retried are perfectly valid actions from the
179
- // SDK's perspective.
180
- try {
181
- await stateMachine.invoke();
182
- }
183
- finally {
184
- // ensure GC friendliness, also in case of errors
185
- connection.removeCurrentConsumer();
186
- }
187
- }
188
- //# sourceMappingURL=node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/node.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import type { Message } from "../types/types.js";
3
- import type { Buffer } from "node:buffer";
4
- export declare class BufferedConnection {
5
- private readonly flushFn;
6
- private queue;
7
- private flushing;
8
- constructor(flushFn: (buffer: Buffer) => Promise<void>);
9
- send(msg: Message): Promise<void>;
10
- end(): Promise<void>;
11
- private scheduleFlush;
12
- private flush;
13
- }
14
- //# sourceMappingURL=buffered_connection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buffered_connection.d.ts","sourceRoot":"","sources":["../../../../src/connection/buffered_connection.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,qBAAa,kBAAkB;IAIjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAoC;gBAEvB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;IAEvE,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAajC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpB,OAAO,CAAC,aAAa;YASP,KAAK;CASpB"}