@restatedev/restate-sdk 1.3.2 → 1.4.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 (416) hide show
  1. package/README.md +4 -4
  2. package/dist/cjs/src/context.d.ts +35 -2
  3. package/dist/cjs/src/context.d.ts.map +1 -1
  4. package/dist/cjs/src/context.js +8 -8
  5. package/dist/cjs/src/context.js.map +1 -1
  6. package/dist/cjs/src/context_impl.d.ts +61 -17
  7. package/dist/cjs/src/context_impl.d.ts.map +1 -1
  8. package/dist/cjs/src/context_impl.js +529 -316
  9. package/dist/cjs/src/context_impl.js.map +1 -1
  10. package/dist/cjs/src/endpoint/endpoint_builder.d.ts +2 -3
  11. package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -1
  12. package/dist/cjs/src/endpoint/endpoint_builder.js +4 -9
  13. package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -1
  14. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +1 -2
  15. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -1
  16. package/dist/cjs/src/endpoint/fetch_endpoint.js.map +1 -1
  17. package/dist/cjs/src/endpoint/handlers/generic.d.ts +15 -0
  18. package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -1
  19. package/dist/cjs/src/endpoint/handlers/generic.js +185 -83
  20. package/dist/cjs/src/endpoint/handlers/generic.js.map +1 -1
  21. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +300 -0
  22. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -0
  23. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +1646 -0
  24. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -0
  25. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +1 -2
  26. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -1
  27. package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -1
  28. package/dist/cjs/src/endpoint/node_endpoint.d.ts +1 -2
  29. package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -1
  30. package/dist/cjs/src/endpoint/node_endpoint.js.map +1 -1
  31. package/dist/cjs/src/generated/version.d.ts +1 -1
  32. package/dist/cjs/src/generated/version.js +1 -1
  33. package/dist/cjs/src/logger.js +1 -1
  34. package/dist/cjs/src/logger.js.map +1 -1
  35. package/dist/cjs/src/types/components.js +2 -2
  36. package/dist/cjs/src/types/components.js.map +1 -1
  37. package/dist/cjs/src/types/errors.d.ts +1 -32
  38. package/dist/cjs/src/types/errors.d.ts.map +1 -1
  39. package/dist/cjs/src/types/errors.js +9 -76
  40. package/dist/cjs/src/types/errors.js.map +1 -1
  41. package/dist/cjs/src/types/rpc.js +9 -9
  42. package/dist/cjs/src/types/rpc.js.map +1 -1
  43. package/dist/cjs/src/user_agent.d.ts +1 -1
  44. package/dist/cjs/src/utils/completable_promise.d.ts +9 -0
  45. package/dist/cjs/src/utils/completable_promise.d.ts.map +1 -0
  46. package/dist/cjs/src/utils/completable_promise.js +34 -0
  47. package/dist/cjs/src/utils/completable_promise.js.map +1 -0
  48. package/dist/cjs/src/utils/rand.d.ts +1 -1
  49. package/dist/cjs/src/utils/rand.d.ts.map +1 -1
  50. package/dist/cjs/src/utils/rand.js +1 -1
  51. package/dist/cjs/src/utils/rand.js.map +1 -1
  52. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  53. package/dist/esm/src/context.d.ts +35 -2
  54. package/dist/esm/src/context.d.ts.map +1 -1
  55. package/dist/esm/src/context.js +8 -8
  56. package/dist/esm/src/context.js.map +1 -1
  57. package/dist/esm/src/context_impl.d.ts +61 -17
  58. package/dist/esm/src/context_impl.d.ts.map +1 -1
  59. package/dist/esm/src/context_impl.js +531 -318
  60. package/dist/esm/src/context_impl.js.map +1 -1
  61. package/dist/esm/src/endpoint/endpoint_builder.d.ts +2 -3
  62. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -1
  63. package/dist/esm/src/endpoint/endpoint_builder.js +4 -9
  64. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -1
  65. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +1 -2
  66. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -1
  67. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -1
  68. package/dist/esm/src/endpoint/handlers/generic.d.ts +15 -0
  69. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -1
  70. package/dist/esm/src/endpoint/handlers/generic.js +162 -84
  71. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -1
  72. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +300 -0
  73. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -0
  74. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js +1636 -0
  75. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -0
  76. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +1 -2
  77. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -1
  78. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -1
  79. package/dist/esm/src/endpoint/node_endpoint.d.ts +1 -2
  80. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -1
  81. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -1
  82. package/dist/esm/src/generated/version.d.ts +1 -1
  83. package/dist/esm/src/generated/version.js +1 -1
  84. package/dist/esm/src/logger.js +1 -1
  85. package/dist/esm/src/logger.js.map +1 -1
  86. package/dist/esm/src/types/components.js +2 -2
  87. package/dist/esm/src/types/components.js.map +1 -1
  88. package/dist/esm/src/types/errors.d.ts +1 -32
  89. package/dist/esm/src/types/errors.d.ts.map +1 -1
  90. package/dist/esm/src/types/errors.js +8 -70
  91. package/dist/esm/src/types/errors.js.map +1 -1
  92. package/dist/esm/src/types/rpc.js +9 -9
  93. package/dist/esm/src/types/rpc.js.map +1 -1
  94. package/dist/esm/src/user_agent.d.ts +1 -1
  95. package/dist/esm/src/utils/completable_promise.d.ts +9 -0
  96. package/dist/esm/src/utils/completable_promise.d.ts.map +1 -0
  97. package/dist/esm/src/utils/completable_promise.js +30 -0
  98. package/dist/esm/src/utils/completable_promise.js.map +1 -0
  99. package/dist/esm/src/utils/rand.d.ts +1 -1
  100. package/dist/esm/src/utils/rand.d.ts.map +1 -1
  101. package/dist/esm/src/utils/rand.js +1 -1
  102. package/dist/esm/src/utils/rand.js.map +1 -1
  103. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  104. package/package.json +2 -6
  105. package/dist/cjs/src/connection/connection.d.ts +0 -84
  106. package/dist/cjs/src/connection/connection.d.ts.map +0 -1
  107. package/dist/cjs/src/connection/connection.js +0 -181
  108. package/dist/cjs/src/connection/connection.js.map +0 -1
  109. package/dist/cjs/src/endpoint/request_signing/basex.d.ts +0 -10
  110. package/dist/cjs/src/endpoint/request_signing/basex.d.ts.map +0 -1
  111. package/dist/cjs/src/endpoint/request_signing/basex.js +0 -138
  112. package/dist/cjs/src/endpoint/request_signing/basex.js.map +0 -1
  113. package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts +0 -17
  114. package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
  115. package/dist/cjs/src/endpoint/request_signing/ed25519.js +0 -80
  116. package/dist/cjs/src/endpoint/request_signing/ed25519.js.map +0 -1
  117. package/dist/cjs/src/endpoint/request_signing/v1.d.ts +0 -10
  118. package/dist/cjs/src/endpoint/request_signing/v1.d.ts.map +0 -1
  119. package/dist/cjs/src/endpoint/request_signing/v1.js +0 -151
  120. package/dist/cjs/src/endpoint/request_signing/v1.js.map +0 -1
  121. package/dist/cjs/src/endpoint/request_signing/validate.d.ts +0 -19
  122. package/dist/cjs/src/endpoint/request_signing/validate.d.ts.map +0 -1
  123. package/dist/cjs/src/endpoint/request_signing/validate.js +0 -45
  124. package/dist/cjs/src/endpoint/request_signing/validate.js.map +0 -1
  125. package/dist/cjs/src/generated/proto/discovery_pb.d.ts +0 -18
  126. package/dist/cjs/src/generated/proto/discovery_pb.d.ts.map +0 -1
  127. package/dist/cjs/src/generated/proto/discovery_pb.js +0 -40
  128. package/dist/cjs/src/generated/proto/discovery_pb.js.map +0 -1
  129. package/dist/cjs/src/generated/proto/javascript_pb.d.ts +0 -26
  130. package/dist/cjs/src/generated/proto/javascript_pb.d.ts.map +0 -1
  131. package/dist/cjs/src/generated/proto/javascript_pb.js +0 -52
  132. package/dist/cjs/src/generated/proto/javascript_pb.js.map +0 -1
  133. package/dist/cjs/src/generated/proto/protocol_pb.d.ts +0 -1051
  134. package/dist/cjs/src/generated/proto/protocol_pb.d.ts.map +0 -1
  135. package/dist/cjs/src/generated/proto/protocol_pb.js +0 -1288
  136. package/dist/cjs/src/generated/proto/protocol_pb.js.map +0 -1
  137. package/dist/cjs/src/invocation.d.ts +0 -48
  138. package/dist/cjs/src/invocation.d.ts.map +0 -1
  139. package/dist/cjs/src/invocation.js +0 -158
  140. package/dist/cjs/src/invocation.js.map +0 -1
  141. package/dist/cjs/src/io/decoder.d.ts +0 -9
  142. package/dist/cjs/src/io/decoder.d.ts.map +0 -1
  143. package/dist/cjs/src/io/decoder.js +0 -137
  144. package/dist/cjs/src/io/decoder.js.map +0 -1
  145. package/dist/cjs/src/io/encoder.d.ts +0 -4
  146. package/dist/cjs/src/io/encoder.d.ts.map +0 -1
  147. package/dist/cjs/src/io/encoder.js +0 -41
  148. package/dist/cjs/src/io/encoder.js.map +0 -1
  149. package/dist/cjs/src/journal.d.ts +0 -52
  150. package/dist/cjs/src/journal.d.ts.map +0 -1
  151. package/dist/cjs/src/journal.js +0 -438
  152. package/dist/cjs/src/journal.js.map +0 -1
  153. package/dist/cjs/src/local_state_store.d.ts +0 -14
  154. package/dist/cjs/src/local_state_store.d.ts.map +0 -1
  155. package/dist/cjs/src/local_state_store.js +0 -83
  156. package/dist/cjs/src/local_state_store.js.map +0 -1
  157. package/dist/cjs/src/promise_combinator_tracker.d.ts +0 -29
  158. package/dist/cjs/src/promise_combinator_tracker.d.ts.map +0 -1
  159. package/dist/cjs/src/promise_combinator_tracker.js +0 -130
  160. package/dist/cjs/src/promise_combinator_tracker.js.map +0 -1
  161. package/dist/cjs/src/state_machine.d.ts +0 -85
  162. package/dist/cjs/src/state_machine.d.ts.map +0 -1
  163. package/dist/cjs/src/state_machine.js +0 -426
  164. package/dist/cjs/src/state_machine.js.map +0 -1
  165. package/dist/cjs/src/types/protocol.d.ts +0 -40
  166. package/dist/cjs/src/types/protocol.d.ts.map +0 -1
  167. package/dist/cjs/src/types/protocol.js +0 -237
  168. package/dist/cjs/src/types/protocol.js.map +0 -1
  169. package/dist/cjs/src/types/types.d.ts +0 -20
  170. package/dist/cjs/src/types/types.d.ts.map +0 -1
  171. package/dist/cjs/src/types/types.js +0 -110
  172. package/dist/cjs/src/types/types.js.map +0 -1
  173. package/dist/cjs/src/utils/message_logger.d.ts +0 -7
  174. package/dist/cjs/src/utils/message_logger.d.ts.map +0 -1
  175. package/dist/cjs/src/utils/message_logger.js +0 -79
  176. package/dist/cjs/src/utils/message_logger.js.map +0 -1
  177. package/dist/cjs/src/utils/promises.d.ts +0 -15
  178. package/dist/cjs/src/utils/promises.d.ts.map +0 -1
  179. package/dist/cjs/src/utils/promises.js +0 -68
  180. package/dist/cjs/src/utils/promises.js.map +0 -1
  181. package/dist/cjs/src/utils/utils.d.ts +0 -3
  182. package/dist/cjs/src/utils/utils.d.ts.map +0 -1
  183. package/dist/cjs/src/utils/utils.js +0 -105
  184. package/dist/cjs/src/utils/utils.js.map +0 -1
  185. package/dist/cjs/test/awakeable.test.d.ts +0 -2
  186. package/dist/cjs/test/awakeable.test.d.ts.map +0 -1
  187. package/dist/cjs/test/awakeable.test.js +0 -141
  188. package/dist/cjs/test/awakeable.test.js.map +0 -1
  189. package/dist/cjs/test/complete_awakeable.test.d.ts +0 -2
  190. package/dist/cjs/test/complete_awakeable.test.d.ts.map +0 -1
  191. package/dist/cjs/test/complete_awakeable.test.js +0 -123
  192. package/dist/cjs/test/complete_awakeable.test.js.map +0 -1
  193. package/dist/cjs/test/eager_state.test.d.ts +0 -2
  194. package/dist/cjs/test/eager_state.test.d.ts.map +0 -1
  195. package/dist/cjs/test/eager_state.test.js +0 -280
  196. package/dist/cjs/test/eager_state.test.js.map +0 -1
  197. package/dist/cjs/test/get_and_set_state.test.d.ts +0 -2
  198. package/dist/cjs/test/get_and_set_state.test.d.ts.map +0 -1
  199. package/dist/cjs/test/get_and_set_state.test.js +0 -233
  200. package/dist/cjs/test/get_and_set_state.test.js.map +0 -1
  201. package/dist/cjs/test/get_state.test.d.ts +0 -2
  202. package/dist/cjs/test/get_state.test.d.ts.map +0 -1
  203. package/dist/cjs/test/get_state.test.js +0 -328
  204. package/dist/cjs/test/get_state.test.js.map +0 -1
  205. package/dist/cjs/test/lambda.test.d.ts +0 -2
  206. package/dist/cjs/test/lambda.test.d.ts.map +0 -1
  207. package/dist/cjs/test/lambda.test.js +0 -258
  208. package/dist/cjs/test/lambda.test.js.map +0 -1
  209. package/dist/cjs/test/message_coders.test.d.ts +0 -2
  210. package/dist/cjs/test/message_coders.test.d.ts.map +0 -1
  211. package/dist/cjs/test/message_coders.test.js +0 -37
  212. package/dist/cjs/test/message_coders.test.js.map +0 -1
  213. package/dist/cjs/test/promise_combinator_tracker.test.d.ts +0 -2
  214. package/dist/cjs/test/promise_combinator_tracker.test.d.ts.map +0 -1
  215. package/dist/cjs/test/promise_combinator_tracker.test.js +0 -156
  216. package/dist/cjs/test/promise_combinator_tracker.test.js.map +0 -1
  217. package/dist/cjs/test/promise_combinators.test.d.ts +0 -2
  218. package/dist/cjs/test/promise_combinators.test.d.ts.map +0 -1
  219. package/dist/cjs/test/promise_combinators.test.js +0 -433
  220. package/dist/cjs/test/promise_combinators.test.js.map +0 -1
  221. package/dist/cjs/test/promises.test.d.ts +0 -2
  222. package/dist/cjs/test/promises.test.d.ts.map +0 -1
  223. package/dist/cjs/test/promises.test.js +0 -32
  224. package/dist/cjs/test/promises.test.js.map +0 -1
  225. package/dist/cjs/test/protocol_stream.test.d.ts +0 -2
  226. package/dist/cjs/test/protocol_stream.test.d.ts.map +0 -1
  227. package/dist/cjs/test/protocol_stream.test.js +0 -243
  228. package/dist/cjs/test/protocol_stream.test.js.map +0 -1
  229. package/dist/cjs/test/protoutils.d.ts +0 -44
  230. package/dist/cjs/test/protoutils.d.ts.map +0 -1
  231. package/dist/cjs/test/protoutils.js +0 -368
  232. package/dist/cjs/test/protoutils.js.map +0 -1
  233. package/dist/cjs/test/service_bind.test.d.ts +0 -2
  234. package/dist/cjs/test/service_bind.test.d.ts.map +0 -1
  235. package/dist/cjs/test/service_bind.test.js +0 -118
  236. package/dist/cjs/test/service_bind.test.js.map +0 -1
  237. package/dist/cjs/test/side_effect.test.d.ts +0 -2
  238. package/dist/cjs/test/side_effect.test.d.ts.map +0 -1
  239. package/dist/cjs/test/side_effect.test.js +0 -133
  240. package/dist/cjs/test/side_effect.test.js.map +0 -1
  241. package/dist/cjs/test/sleep.test.d.ts +0 -2
  242. package/dist/cjs/test/sleep.test.d.ts.map +0 -1
  243. package/dist/cjs/test/sleep.test.js +0 -224
  244. package/dist/cjs/test/sleep.test.js.map +0 -1
  245. package/dist/cjs/test/state_keys.test.d.ts +0 -2
  246. package/dist/cjs/test/state_keys.test.d.ts.map +0 -1
  247. package/dist/cjs/test/state_keys.test.js +0 -92
  248. package/dist/cjs/test/state_keys.test.js.map +0 -1
  249. package/dist/cjs/test/state_machine.test.d.ts +0 -2
  250. package/dist/cjs/test/state_machine.test.d.ts.map +0 -1
  251. package/dist/cjs/test/state_machine.test.js +0 -42
  252. package/dist/cjs/test/state_machine.test.js.map +0 -1
  253. package/dist/cjs/test/testdriver.d.ts +0 -39
  254. package/dist/cjs/test/testdriver.d.ts.map +0 -1
  255. package/dist/cjs/test/testdriver.js +0 -188
  256. package/dist/cjs/test/testdriver.js.map +0 -1
  257. package/dist/cjs/test/utils.test.d.ts +0 -2
  258. package/dist/cjs/test/utils.test.d.ts.map +0 -1
  259. package/dist/cjs/test/utils.test.js +0 -93
  260. package/dist/cjs/test/utils.test.js.map +0 -1
  261. package/dist/esm/src/connection/connection.d.ts +0 -84
  262. package/dist/esm/src/connection/connection.d.ts.map +0 -1
  263. package/dist/esm/src/connection/connection.js +0 -177
  264. package/dist/esm/src/connection/connection.js.map +0 -1
  265. package/dist/esm/src/endpoint/request_signing/basex.d.ts +0 -10
  266. package/dist/esm/src/endpoint/request_signing/basex.d.ts.map +0 -1
  267. package/dist/esm/src/endpoint/request_signing/basex.js +0 -136
  268. package/dist/esm/src/endpoint/request_signing/basex.js.map +0 -1
  269. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts +0 -17
  270. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
  271. package/dist/esm/src/endpoint/request_signing/ed25519.js +0 -52
  272. package/dist/esm/src/endpoint/request_signing/ed25519.js.map +0 -1
  273. package/dist/esm/src/endpoint/request_signing/v1.d.ts +0 -10
  274. package/dist/esm/src/endpoint/request_signing/v1.d.ts.map +0 -1
  275. package/dist/esm/src/endpoint/request_signing/v1.js +0 -143
  276. package/dist/esm/src/endpoint/request_signing/v1.js.map +0 -1
  277. package/dist/esm/src/endpoint/request_signing/validate.d.ts +0 -19
  278. package/dist/esm/src/endpoint/request_signing/validate.d.ts.map +0 -1
  279. package/dist/esm/src/endpoint/request_signing/validate.js +0 -40
  280. package/dist/esm/src/endpoint/request_signing/validate.js.map +0 -1
  281. package/dist/esm/src/generated/proto/discovery_pb.d.ts +0 -18
  282. package/dist/esm/src/generated/proto/discovery_pb.d.ts.map +0 -1
  283. package/dist/esm/src/generated/proto/discovery_pb.js +0 -37
  284. package/dist/esm/src/generated/proto/discovery_pb.js.map +0 -1
  285. package/dist/esm/src/generated/proto/javascript_pb.d.ts +0 -26
  286. package/dist/esm/src/generated/proto/javascript_pb.d.ts.map +0 -1
  287. package/dist/esm/src/generated/proto/javascript_pb.js +0 -48
  288. package/dist/esm/src/generated/proto/javascript_pb.js.map +0 -1
  289. package/dist/esm/src/generated/proto/protocol_pb.d.ts +0 -1051
  290. package/dist/esm/src/generated/proto/protocol_pb.d.ts.map +0 -1
  291. package/dist/esm/src/generated/proto/protocol_pb.js +0 -1258
  292. package/dist/esm/src/generated/proto/protocol_pb.js.map +0 -1
  293. package/dist/esm/src/invocation.d.ts +0 -48
  294. package/dist/esm/src/invocation.d.ts.map +0 -1
  295. package/dist/esm/src/invocation.js +0 -153
  296. package/dist/esm/src/invocation.js.map +0 -1
  297. package/dist/esm/src/io/decoder.d.ts +0 -9
  298. package/dist/esm/src/io/decoder.d.ts.map +0 -1
  299. package/dist/esm/src/io/decoder.js +0 -128
  300. package/dist/esm/src/io/decoder.js.map +0 -1
  301. package/dist/esm/src/io/encoder.d.ts +0 -4
  302. package/dist/esm/src/io/encoder.d.ts.map +0 -1
  303. package/dist/esm/src/io/encoder.js +0 -36
  304. package/dist/esm/src/io/encoder.js.map +0 -1
  305. package/dist/esm/src/journal.d.ts +0 -52
  306. package/dist/esm/src/journal.d.ts.map +0 -1
  307. package/dist/esm/src/journal.js +0 -410
  308. package/dist/esm/src/journal.js.map +0 -1
  309. package/dist/esm/src/local_state_store.d.ts +0 -14
  310. package/dist/esm/src/local_state_store.d.ts.map +0 -1
  311. package/dist/esm/src/local_state_store.js +0 -79
  312. package/dist/esm/src/local_state_store.js.map +0 -1
  313. package/dist/esm/src/promise_combinator_tracker.d.ts +0 -29
  314. package/dist/esm/src/promise_combinator_tracker.d.ts.map +0 -1
  315. package/dist/esm/src/promise_combinator_tracker.js +0 -125
  316. package/dist/esm/src/promise_combinator_tracker.js.map +0 -1
  317. package/dist/esm/src/state_machine.d.ts +0 -85
  318. package/dist/esm/src/state_machine.d.ts.map +0 -1
  319. package/dist/esm/src/state_machine.js +0 -399
  320. package/dist/esm/src/state_machine.js.map +0 -1
  321. package/dist/esm/src/types/protocol.d.ts +0 -40
  322. package/dist/esm/src/types/protocol.d.ts.map +0 -1
  323. package/dist/esm/src/types/protocol.js +0 -206
  324. package/dist/esm/src/types/protocol.js.map +0 -1
  325. package/dist/esm/src/types/types.d.ts +0 -20
  326. package/dist/esm/src/types/types.d.ts.map +0 -1
  327. package/dist/esm/src/types/types.js +0 -105
  328. package/dist/esm/src/types/types.js.map +0 -1
  329. package/dist/esm/src/utils/message_logger.d.ts +0 -7
  330. package/dist/esm/src/utils/message_logger.d.ts.map +0 -1
  331. package/dist/esm/src/utils/message_logger.js +0 -75
  332. package/dist/esm/src/utils/message_logger.js.map +0 -1
  333. package/dist/esm/src/utils/promises.d.ts +0 -15
  334. package/dist/esm/src/utils/promises.d.ts.map +0 -1
  335. package/dist/esm/src/utils/promises.js +0 -63
  336. package/dist/esm/src/utils/promises.js.map +0 -1
  337. package/dist/esm/src/utils/utils.d.ts +0 -3
  338. package/dist/esm/src/utils/utils.d.ts.map +0 -1
  339. package/dist/esm/src/utils/utils.js +0 -101
  340. package/dist/esm/src/utils/utils.js.map +0 -1
  341. package/dist/esm/test/awakeable.test.d.ts +0 -2
  342. package/dist/esm/test/awakeable.test.d.ts.map +0 -1
  343. package/dist/esm/test/awakeable.test.js +0 -139
  344. package/dist/esm/test/awakeable.test.js.map +0 -1
  345. package/dist/esm/test/complete_awakeable.test.d.ts +0 -2
  346. package/dist/esm/test/complete_awakeable.test.d.ts.map +0 -1
  347. package/dist/esm/test/complete_awakeable.test.js +0 -121
  348. package/dist/esm/test/complete_awakeable.test.js.map +0 -1
  349. package/dist/esm/test/eager_state.test.d.ts +0 -2
  350. package/dist/esm/test/eager_state.test.d.ts.map +0 -1
  351. package/dist/esm/test/eager_state.test.js +0 -278
  352. package/dist/esm/test/eager_state.test.js.map +0 -1
  353. package/dist/esm/test/get_and_set_state.test.d.ts +0 -2
  354. package/dist/esm/test/get_and_set_state.test.d.ts.map +0 -1
  355. package/dist/esm/test/get_and_set_state.test.js +0 -231
  356. package/dist/esm/test/get_and_set_state.test.js.map +0 -1
  357. package/dist/esm/test/get_state.test.d.ts +0 -2
  358. package/dist/esm/test/get_state.test.d.ts.map +0 -1
  359. package/dist/esm/test/get_state.test.js +0 -326
  360. package/dist/esm/test/get_state.test.js.map +0 -1
  361. package/dist/esm/test/lambda.test.d.ts +0 -2
  362. package/dist/esm/test/lambda.test.d.ts.map +0 -1
  363. package/dist/esm/test/lambda.test.js +0 -233
  364. package/dist/esm/test/lambda.test.js.map +0 -1
  365. package/dist/esm/test/message_coders.test.d.ts +0 -2
  366. package/dist/esm/test/message_coders.test.d.ts.map +0 -1
  367. package/dist/esm/test/message_coders.test.js +0 -35
  368. package/dist/esm/test/message_coders.test.js.map +0 -1
  369. package/dist/esm/test/promise_combinator_tracker.test.d.ts +0 -2
  370. package/dist/esm/test/promise_combinator_tracker.test.d.ts.map +0 -1
  371. package/dist/esm/test/promise_combinator_tracker.test.js +0 -154
  372. package/dist/esm/test/promise_combinator_tracker.test.js.map +0 -1
  373. package/dist/esm/test/promise_combinators.test.d.ts +0 -2
  374. package/dist/esm/test/promise_combinators.test.d.ts.map +0 -1
  375. package/dist/esm/test/promise_combinators.test.js +0 -431
  376. package/dist/esm/test/promise_combinators.test.js.map +0 -1
  377. package/dist/esm/test/promises.test.d.ts +0 -2
  378. package/dist/esm/test/promises.test.d.ts.map +0 -1
  379. package/dist/esm/test/promises.test.js +0 -30
  380. package/dist/esm/test/promises.test.js.map +0 -1
  381. package/dist/esm/test/protocol_stream.test.d.ts +0 -2
  382. package/dist/esm/test/protocol_stream.test.d.ts.map +0 -1
  383. package/dist/esm/test/protocol_stream.test.js +0 -218
  384. package/dist/esm/test/protocol_stream.test.js.map +0 -1
  385. package/dist/esm/test/protoutils.d.ts +0 -44
  386. package/dist/esm/test/protoutils.d.ts.map +0 -1
  387. package/dist/esm/test/protoutils.js +0 -335
  388. package/dist/esm/test/protoutils.js.map +0 -1
  389. package/dist/esm/test/service_bind.test.d.ts +0 -2
  390. package/dist/esm/test/service_bind.test.d.ts.map +0 -1
  391. package/dist/esm/test/service_bind.test.js +0 -93
  392. package/dist/esm/test/service_bind.test.js.map +0 -1
  393. package/dist/esm/test/side_effect.test.d.ts +0 -2
  394. package/dist/esm/test/side_effect.test.d.ts.map +0 -1
  395. package/dist/esm/test/side_effect.test.js +0 -131
  396. package/dist/esm/test/side_effect.test.js.map +0 -1
  397. package/dist/esm/test/sleep.test.d.ts +0 -2
  398. package/dist/esm/test/sleep.test.d.ts.map +0 -1
  399. package/dist/esm/test/sleep.test.js +0 -222
  400. package/dist/esm/test/sleep.test.js.map +0 -1
  401. package/dist/esm/test/state_keys.test.d.ts +0 -2
  402. package/dist/esm/test/state_keys.test.d.ts.map +0 -1
  403. package/dist/esm/test/state_keys.test.js +0 -90
  404. package/dist/esm/test/state_keys.test.js.map +0 -1
  405. package/dist/esm/test/state_machine.test.d.ts +0 -2
  406. package/dist/esm/test/state_machine.test.d.ts.map +0 -1
  407. package/dist/esm/test/state_machine.test.js +0 -40
  408. package/dist/esm/test/state_machine.test.js.map +0 -1
  409. package/dist/esm/test/testdriver.d.ts +0 -39
  410. package/dist/esm/test/testdriver.d.ts.map +0 -1
  411. package/dist/esm/test/testdriver.js +0 -182
  412. package/dist/esm/test/testdriver.js.map +0 -1
  413. package/dist/esm/test/utils.test.d.ts +0 -2
  414. package/dist/esm/test/utils.test.d.ts.map +0 -1
  415. package/dist/esm/test/utils.test.js +0 -91
  416. package/dist/esm/test/utils.test.js.map +0 -1
@@ -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
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.testService = exports.UUT = exports.TestDriver = exports.GreeterApi = exports.TestResponse = void 0;
14
- const protocol_js_1 = require("../src/types/protocol.js");
15
- const types_js_1 = require("../src/types/types.js");
16
- const state_machine_js_1 = require("../src/state_machine.js");
17
- const invocation_js_1 = require("../src/invocation.js");
18
- const public_api_js_1 = require("../src/public_api.js");
19
- const node_endpoint_js_1 = require("../src/endpoint/node_endpoint.js");
20
- exports.TestResponse = {
21
- create: (test) => test,
22
- };
23
- exports.GreeterApi = {
24
- name: "greeter",
25
- };
26
- class TestDriver {
27
- uut;
28
- input;
29
- // Deprecated, please use testService below
30
- constructor(instance, entries) {
31
- this.uut = testService((0, public_api_js_1.object)({
32
- name: "greeter",
33
- handlers: {
34
- greet: async (ctx, arg) => {
35
- return instance.greet(ctx, arg);
36
- },
37
- },
38
- }));
39
- this.input = entries;
40
- }
41
- async run() {
42
- return await this.uut.run({
43
- input: this.input,
44
- });
45
- }
46
- }
47
- exports.TestDriver = TestDriver;
48
- /**
49
- * This class' only purpose is to make certain methods accessible in tests.
50
- * Those methods are otherwise protected, to reduce the public interface and
51
- * make it simpler for users to understand what methods are relevant for them,
52
- * and which ones are not.
53
- */
54
- class TestRestateServer extends node_endpoint_js_1.NodeEndpoint {
55
- }
56
- class UUT {
57
- definition;
58
- defaultService;
59
- defaultHandler;
60
- // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
61
- constructor(definition) {
62
- this.definition = definition;
63
- // Infer service name and handler
64
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment
65
- this.defaultService = definition.name;
66
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
67
- const definitionRecord = definition;
68
- if (definitionRecord && definitionRecord.service != undefined) {
69
- this.defaultHandler = Object.keys(definitionRecord.service)[0];
70
- }
71
- else if (definitionRecord && definitionRecord.object != undefined) {
72
- this.defaultHandler = Object.keys(definitionRecord.object)[0];
73
- }
74
- else if (definitionRecord && definitionRecord.workflow != undefined) {
75
- this.defaultHandler = Object.keys(definitionRecord.workflow)[0];
76
- }
77
- else {
78
- throw new TypeError("supports only a service or a virtual object or a workflow definition");
79
- }
80
- }
81
- async run(options) {
82
- const restateServer = new TestRestateServer();
83
- restateServer.bind(this.definition);
84
- // Sanity check on input messages
85
- if (options.input.length < 2) {
86
- throw new Error("Less than two runtime messages supplied for test. Need to have at least start message and input message.");
87
- }
88
- if (options.input[0].messageType !== protocol_js_1.START_MESSAGE_TYPE) {
89
- throw new Error("First message has to be start message.");
90
- }
91
- // Get the index of where the completion messages start in the entries list
92
- const firstCompletionIndex = options.input.findIndex((value) => value.messageType === protocol_js_1.COMPLETION_MESSAGE_TYPE ||
93
- value.messageType === protocol_js_1.ENTRY_ACK_MESSAGE_TYPE);
94
- // The last message of the replay is the one right before the first completion
95
- const endOfReplay = firstCompletionIndex !== -1 ? firstCompletionIndex : options.input.length;
96
- // --- Patch StartMessage with the right number of entries
97
- const startMsg = options.input[0];
98
- const startEntry = startMsg.message;
99
- options.input[0] = new types_js_1.Message(startMsg.messageType, new protocol_js_1.StartMessage({
100
- id: startEntry.id,
101
- debugId: startEntry.debugId,
102
- knownEntries: endOfReplay - 1,
103
- stateMap: startEntry.stateMap,
104
- partialState: startEntry.partialState,
105
- key: startEntry.key,
106
- }), startMsg.completed, startMsg.requiresAck);
107
- // TODO the production code here is doing some bad assumption,
108
- // by assuming that during the initial replay phase no CompletionMessages are sent.
109
- // Although this is currently correct, it is correct only due to how the runtime is implemented,
110
- // and might not be generally true if we change the runtime.
111
- // This should probably be fixed in the production code, and subsequently the test should
112
- // stop splitting the input messages here.
113
- const replayMessages = options.input.slice(0, endOfReplay);
114
- const completionMessages = options.input.slice(endOfReplay);
115
- if (replayMessages.filter((value) => value.messageType === protocol_js_1.COMPLETION_MESSAGE_TYPE ||
116
- value.messageType === protocol_js_1.ENTRY_ACK_MESSAGE_TYPE).length > 0) {
117
- throw new Error("You cannot interleave replay messages with completion or ack messages. First define the replay messages, then the completion messages.");
118
- }
119
- if (completionMessages.filter((value) => value.messageType !== protocol_js_1.COMPLETION_MESSAGE_TYPE &&
120
- value.messageType !== protocol_js_1.ENTRY_ACK_MESSAGE_TYPE).length > 0) {
121
- throw new Error("You cannot interleave replay messages with completion or ack messages. First define the replay messages, then the completion messages.");
122
- }
123
- const method = restateServer
124
- .componentByName(options.service ? options.service : this.defaultService)
125
- ?.handlerMatching({
126
- type: "invoke",
127
- componentName: options.service ? options.service : this.defaultService,
128
- handlerName: options.handler ? options.handler : this.defaultHandler,
129
- });
130
- if (!method) {
131
- throw new Error("Can't find the handler to execute");
132
- }
133
- const invocationBuilder = new invocation_js_1.InvocationBuilder(method);
134
- replayMessages.forEach((el) => invocationBuilder.handleMessage(el));
135
- const invocation = invocationBuilder.build();
136
- const testConnection = new TestConnection();
137
- const stateMachine = new state_machine_js_1.StateMachine(testConnection, invocation, method.kind(),
138
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
139
- restateServer.builder.logger, invocation.inferLoggerContext(), []);
140
- const completed = stateMachine.invoke();
141
- // we send the completions here. Because we don't await the messages that we send the completions for,
142
- // we enqueue those completions in the event loop, so they get processed when everything else is done.
143
- // This is highly fragile!!!
144
- completionMessages.forEach((el) => {
145
- setTimeout(() => stateMachine.handleMessage(el));
146
- });
147
- // Set the input channel to closed a bit after sending the messages
148
- // to make the service finish up the work it can do and suspend or send back a response.
149
- setTimeout(() => stateMachine.handleInputClosed());
150
- await completed;
151
- return Promise.resolve(testConnection.sentMessages());
152
- }
153
- serviceDiscovery() {
154
- const restateServer = new TestRestateServer();
155
- restateServer.bind(this.definition);
156
- const discovery = restateServer
157
- .componentByName(this.defaultService)
158
- ?.discovery();
159
- if (discovery) {
160
- return discovery;
161
- }
162
- throw new Error("Discovery should not be null for " + this.defaultService);
163
- }
164
- }
165
- exports.UUT = UUT;
166
- // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
167
- function testService(definition) {
168
- return new UUT(definition);
169
- }
170
- exports.testService = testService;
171
- class TestConnection {
172
- result = [];
173
- headers() {
174
- return new Map();
175
- }
176
- send(msg) {
177
- this.result.push(msg);
178
- return Promise.resolve();
179
- }
180
- async end() {
181
- // nothing to do
182
- return Promise.resolve();
183
- }
184
- sentMessages() {
185
- return this.result;
186
- }
187
- }
188
- //# sourceMappingURL=testdriver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testdriver.js","sourceRoot":"","sources":["../../../test/testdriver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,0DAKkC;AAElC,oDAAgD;AAChD,8DAAuD;AACvD,wDAAyD;AAOzD,wDAA8C;AAC9C,uEAAgE;AAYnD,QAAA,YAAY,GAAG;IAC1B,MAAM,EAAE,CAAC,IAAkB,EAAgB,EAAE,CAAC,IAAI;CACnD,CAAC;AAEW,QAAA,UAAU,GAAoD;IACzE,IAAI,EAAE,SAAS;CAChB,CAAC;AAMF,MAAa,UAAU;IACJ,GAAG,CAAuB;IAC1B,KAAK,CAAY;IAElC,2CAA2C;IAC3C,YAAY,QAAqB,EAAE,OAAkB;QACnD,IAAI,CAAC,GAAG,GAAG,WAAW,CACpB,IAAA,sBAAM,EAAC;YACL,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACR,KAAK,EAAE,KAAK,EAAE,GAAkB,EAAE,GAAgB,EAAE,EAAE;oBACpD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAClC,CAAC;aACF;SACF,CAAC,CACH,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AAxBD,gCAwBC;AAED;;;;;GAKG;AACH,MAAM,iBAAkB,SAAQ,+BAAY;CAAG;AAU/C,MAAa,GAAG;IAMK;IALF,cAAc,CAAS;IACvB,cAAc,CAAS;IAExC,6EAA6E;IAC7E,YACmB,UAGW;QAHX,eAAU,GAAV,UAAU,CAGC;QAE5B,iCAAiC;QACjC,8GAA8G;QAC9G,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;QAEtC,mEAAmE;QACnE,MAAM,gBAAgB,GACpB,UAA8C,CAAC;QACjD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;YAC9D,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAC/B,gBAAgB,CAAC,OAAmC,CACrD,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YACpE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAC/B,gBAAgB,CAAC,MAAkC,CACpD,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;YACtE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAC/B,gBAAgB,CAAC,QAAoC,CACtD,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,SAAS,CACjB,sEAAsE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,OAAmB;QAClC,MAAM,aAAa,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC9C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpC,iCAAiC;QACjC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,gCAAkB,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,2EAA2E;QAC3E,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAClD,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,WAAW,KAAK,qCAAuB;YAC7C,KAAK,CAAC,WAAW,KAAK,oCAAsB,CAC/C,CAAC;QAEF,8EAA8E;QAC9E,MAAM,WAAW,GACf,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAE5E,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAuB,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,kBAAO,CAC5B,QAAQ,CAAC,WAAW,EACpB,IAAI,0BAAY,CAAC;YACf,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,YAAY,EAAE,WAAW,GAAG,CAAC;YAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,GAAG,EAAE,UAAU,CAAC,GAAG;SACpB,CAAC,EACF,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,8DAA8D;QAC9D,oFAAoF;QACpF,iGAAiG;QACjG,6DAA6D;QAC7D,0FAA0F;QAC1F,2CAA2C;QAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5D,IACE,cAAc,CAAC,MAAM,CACnB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,WAAW,KAAK,qCAAuB;YAC7C,KAAK,CAAC,WAAW,KAAK,oCAAsB,CAC/C,CAAC,MAAM,GAAG,CAAC,EACZ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,wIAAwI,CACzI,CAAC;QACJ,CAAC;QACD,IACE,kBAAkB,CAAC,MAAM,CACvB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,WAAW,KAAK,qCAAuB;YAC7C,KAAK,CAAC,WAAW,KAAK,oCAAsB,CAC/C,CAAC,MAAM,GAAG,CAAC,EACZ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,wIAAwI,CACzI,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,aAAa;aACzB,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACzE,EAAE,eAAe,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc;YACtE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc;SACrE,CAAC,CAAC;QACL,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,iCAAiB,CAAC,MAAM,CAAC,CAAC;QACxD,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE7C,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,+BAAY,CACnC,cAAc,EACd,UAAU,EACV,MAAM,CAAC,IAAI,EAAE;QACb,iEAAiE;QAChE,aAAyD,CAAC,OAAO,CAAC,MAAM,EACzE,UAAU,CAAC,kBAAkB,EAAE,EAC/B,EAAE,CACH,CAAC;QAEF,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QAExC,sGAAsG;QACtG,sGAAsG;QACtG,4BAA4B;QAC5B,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAChC,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,wFAAwF;QACxF,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEnD,MAAM,SAAS,CAAC;QAEhB,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IACxD,CAAC;IAEM,gBAAgB;QACrB,MAAM,aAAa,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC9C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpC,MAAM,SAAS,GAAG,aAAa;aAC5B,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC;YACrC,EAAE,SAAS,EAAE,CAAC;QAChB,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7E,CAAC;CACF;AArKD,kBAqKC;AAED,6EAA6E;AAC7E,SAAgB,WAAW,CACzB,UAG4B;IAE5B,OAAO,IAAI,GAAG,CAAO,UAAU,CAAC,CAAC;AACnC,CAAC;AAPD,kCAOC;AAED,MAAM,cAAc;IACV,MAAM,GAAc,EAAE,CAAC;IAE/B,OAAO;QACL,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,GAAY;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,GAAG;QACP,gBAAgB;QAChB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../test/utils.test.ts"],"names":[],"mappings":""}
@@ -1,93 +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
- const utils_js_1 = require("../src/utils/utils.js");
14
- const rand_js_1 = require("../src/utils/rand.js");
15
- const vitest_1 = require("vitest");
16
- (0, vitest_1.describe)("JSON printing", () => {
17
- (0, vitest_1.it)("should be able to handle bigInt", () => {
18
- const myType = {
19
- a: "Hello!",
20
- b: 42n,
21
- };
22
- (0, utils_js_1.formatMessageAsJson)(myType);
23
- });
24
- });
25
- (0, vitest_1.describe)("rand", () => {
26
- (0, vitest_1.it)("correctly hashes invocation ids", () => {
27
- const rand = new rand_js_1.RandImpl(Buffer.from("f311f1fdcb9863f0018bd3400ecd7d69b547204e776218b2", "hex"));
28
- const actual = Array.from(Array(10)).map(() => rand.u64());
29
- // These values were produced with the reference implementation:
30
- // http://xoshiro.di.unimi.it/xoshiro256plusplus.c
31
- const expected = [
32
- 6541268553928124324n,
33
- 1632128201851599825n,
34
- 3999496359968271420n,
35
- 9099219592091638755n,
36
- 2609122094717920550n,
37
- 16569362788292807660n,
38
- 14955958648458255954n,
39
- 15581072429430901841n,
40
- 4951852598761288088n,
41
- 2380816196140950843n,
42
- ];
43
- (0, vitest_1.expect)(actual).toStrictEqual(expected);
44
- });
45
- (0, vitest_1.it)("produces expected u64 output", () => {
46
- const rand = new rand_js_1.RandImpl([1n, 2n, 3n, 4n]);
47
- const actual = Array.from(Array(10)).map(() => rand.u64());
48
- // These values were produced with the reference implementation:
49
- // http://xoshiro.di.unimi.it/xoshiro256plusplus.c
50
- const expected = [
51
- 41943041n,
52
- 58720359n,
53
- 3588806011781223n,
54
- 3591011842654386n,
55
- 9228616714210784205n,
56
- 9973669472204895162n,
57
- 14011001112246962877n,
58
- 12406186145184390807n,
59
- 15849039046786891736n,
60
- 10450023813501588000n,
61
- ];
62
- (0, vitest_1.expect)(actual).toStrictEqual(expected);
63
- });
64
- (0, vitest_1.it)("produces expected random output", () => {
65
- const rand = new rand_js_1.RandImpl([1n, 2n, 3n, 4n]);
66
- const actual = Array.from(Array(10)).map(() => rand.random());
67
- const expected = [
68
- 4.656612984099695e-9, 6.519269457605503e-9, 0.39843750651926946,
69
- 0.3986824029416509, 0.5822761557370711, 0.2997488042907357,
70
- 0.5336032865255543, 0.36335061693258097, 0.5968067925950846,
71
- 0.18570456306457928,
72
- ];
73
- (0, vitest_1.expect)(actual).toStrictEqual(expected);
74
- });
75
- (0, vitest_1.it)("produces expected uuidv4 output", () => {
76
- const rand = new rand_js_1.RandImpl([1n, 2n, 3n, 4n]);
77
- const actual = Array.from(Array(10)).map(() => rand.uuidv4());
78
- const expected = [
79
- "01008002-0000-4000-a700-800300000000",
80
- "67008003-00c0-4c00-b200-449901c20c00",
81
- "cd33c49a-01a2-4280-ba33-eecd8a97698a",
82
- "bd4a1533-4713-41c2-979e-167991a02bac",
83
- "d83f078f-0a19-43db-a092-22b24af10591",
84
- "677c91f7-146e-4769-a4fd-df3793e717e8",
85
- "f15179b2-f220-4427-8d90-7b5437d9828d",
86
- "9e97720f-42b8-4d09-a449-914cf221df26",
87
- "09d0a109-6f11-4ef9-93fa-f013d0ad3808",
88
- "41eb0e0c-41c9-4828-85d0-59fb901b4df4",
89
- ];
90
- (0, vitest_1.expect)(actual).toStrictEqual(expected);
91
- });
92
- });
93
- //# sourceMappingURL=utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../test/utils.test.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAEH,oDAA4D;AAC5D,kDAAgD;AAChD,mCAA8C;AAE9C,IAAA,iBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG;YACb,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,GAAG;SACP,CAAC;QAEF,IAAA,8BAAmB,EAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,MAAM,EAAE,GAAG,EAAE;IACpB,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,IAAI,kBAAQ,CACvB,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE,KAAK,CAAC,CACvE,CAAC;QAEF,MAAM,MAAM,GAAa,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAErE,gEAAgE;QAChE,kDAAkD;QAClD,MAAM,QAAQ,GAAG;YACf,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;YACrB,oBAAoB;YACpB,oBAAoB;SACrB,CAAC;QAEF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,IAAI,kBAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAa,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAErE,gEAAgE;QAChE,kDAAkD;QAClD,MAAM,QAAQ,GAAG;YACf,SAAS;YACT,SAAS;YACT,iBAAiB;YACjB,iBAAiB;YACjB,oBAAoB;YACpB,oBAAoB;YACpB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;SACtB,CAAC;QAEF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,IAAI,kBAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG;YACf,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB;YAC/D,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB;YAC1D,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB;YAC3D,mBAAmB;SACpB,CAAC;QAEF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,IAAI,kBAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG;YACf,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;SACvC,CAAC;QAEF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,84 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import type stream from "node:stream/web";
4
- import type { Message } from "../types/types.js";
5
- /**
6
- * A connection from the service/SDK to Restate.
7
- * Accepts messages to be sent and committed to the journal.
8
- */
9
- export interface Connection {
10
- send(msg: Message): Promise<void>;
11
- end(): Promise<void>;
12
- headers(): ReadonlyMap<string, string | string[] | undefined>;
13
- }
14
- /**
15
- * A consumer of a message stream from Restate.
16
- * Messages include journal replay messages and completion messages.
17
- */
18
- export interface RestateStreamConsumer {
19
- handleMessage(m: Message): boolean;
20
- handleStreamError(e: Error): void;
21
- handleInputClosed(): void;
22
- }
23
- /**
24
- * A stream with Restate Messages, potentially but not necessarily full duplex.
25
- *
26
- * This stream handles the following concerns:
27
- *
28
- * (1) encoding and decoding of messages to and from raw bytes
29
- *
30
- *
31
- * (2) Input messages can be pipelined to a sequence of consumers. For example, first to a journal,
32
- * and afterwards to the state machine.
33
- *
34
- * (3) Handling the relevant stream events for errors and consolidating them to one error handler, plus
35
- * notifications for cleanly closed input (to trigger suspension).
36
- */
37
- export declare class RestateConnection implements Connection {
38
- private readonly attemptHeaders;
39
- /**
40
- * create a RestateBidiConnection stream from a duplex stream
41
- */
42
- static from(rlog: Console, headers: Record<string, string | string[] | undefined>, rawStream: stream.ReadableWritablePair<Uint8Array, Uint8Array>): RestateConnection;
43
- private readonly sdkInputPipeline;
44
- private currentConsumer;
45
- private inputBuffer;
46
- private consumerError?;
47
- private consumerInputClosed;
48
- private readonly sdkOutput;
49
- constructor(rlog: Console, attemptHeaders: Record<string, string | string[] | undefined>, rawStream: stream.ReadableWritablePair<Uint8Array, Uint8Array>);
50
- headers(): ReadonlyMap<string, string | string[] | undefined>;
51
- /**
52
- * Pipes the messages from this connection to the given consumer. The consumer
53
- * will also receive error and stream closing notifications.
54
- *
55
- * Once the 'handleMessage()' method returns 'true', the consumer is immediately removed.
56
- * That way, consumers can consume a bounded amount of messages (like just the initial journal).
57
- *
58
- * There can only be one consumer at a time.
59
- */
60
- pipeToConsumer(consumer: RestateStreamConsumer): void;
61
- /**
62
- * Removes the current consumer, if there is one.
63
- */
64
- removeCurrentConsumer(): void;
65
- /**
66
- * Adds a message to the output stream.
67
- *
68
- * This always puts the message into the node stream, but will return a promise that is resolved once
69
- * further messages can be written.
70
- *
71
- * The reasoning is that some, but not all Restate operations return promises and are typically
72
- * awaited. For example, rpc, sleep, side-effect have promises and are awaited, while one-way-sends and
73
- * state updates don't return promises.
74
- *
75
- * As a pragmatic solution, we always accept messages, but return a promise for when the output has
76
- * capacity again, so that at least the operations that await results will respect backpressure.
77
- */
78
- send(msg: Message): Promise<void>;
79
- /**
80
- * Ends the output stream, awaiting pending writes.
81
- */
82
- end(): Promise<void>;
83
- }
84
- //# sourceMappingURL=connection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../src/connection/connection.ts"],"names":[],"mappings":";;AAWA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAErB,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CAC/D;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAEnC,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAElC,iBAAiB,IAAI,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IA0BhD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAzBjC;;OAEG;WACW,IAAI,CAChB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,GAC7D,iBAAiB;IAMpB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IAGjD,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiD;gBAGzE,IAAI,EAAE,OAAO,EACI,cAAc,EAAE,MAAM,CACrC,MAAM,EACN,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAC9B,EACD,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC;IAsEhE,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAI7D;;;;;;;;OAQG;IACI,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IA+B5D;;OAEG;IACI,qBAAqB,IAAI,IAAI;IAQpC;;;;;;;;;;;;OAYG;IACU,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C;;OAEG;IACU,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
@@ -1,177 +0,0 @@
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 { streamDecoder } from "../io/decoder.js";
12
- import { encodeMessage } from "../io/encoder.js";
13
- import { WritableStream } from "node:stream/web";
14
- /**
15
- * A stream with Restate Messages, potentially but not necessarily full duplex.
16
- *
17
- * This stream handles the following concerns:
18
- *
19
- * (1) encoding and decoding of messages to and from raw bytes
20
- *
21
- *
22
- * (2) Input messages can be pipelined to a sequence of consumers. For example, first to a journal,
23
- * and afterwards to the state machine.
24
- *
25
- * (3) Handling the relevant stream events for errors and consolidating them to one error handler, plus
26
- * notifications for cleanly closed input (to trigger suspension).
27
- */
28
- export class RestateConnection {
29
- attemptHeaders;
30
- /**
31
- * create a RestateBidiConnection stream from a duplex stream
32
- */
33
- static from(rlog, headers, rawStream) {
34
- return new RestateConnection(rlog, headers, rawStream);
35
- }
36
- // --------------------------------------------------------------------------
37
- sdkInputPipeline;
38
- // consumer handling
39
- currentConsumer = null;
40
- inputBuffer = [];
41
- consumerError;
42
- consumerInputClosed = false;
43
- sdkOutput;
44
- constructor(rlog, attemptHeaders, rawStream) {
45
- // --------------------------------------------------------------------------
46
- // input stream handling
47
- // --------------------------------------------------------------------------
48
- this.attemptHeaders = attemptHeaders;
49
- const sdkInputSink = new WritableStream({
50
- write: (m) => {
51
- // deliver message, if we have a consumer. otherwise buffer the message.
52
- if (this.currentConsumer) {
53
- if (this.currentConsumer.handleMessage(m)) {
54
- this.removeCurrentConsumer();
55
- }
56
- }
57
- else {
58
- this.inputBuffer.push(m);
59
- }
60
- },
61
- // this notifies of errors in the decoding pipeline as well as the incoming body stream
62
- abort: (e) => {
63
- rlog.error("Error in request stream from Restate: " + (e.stack ?? e.message));
64
- errorHandler(e);
65
- },
66
- close: () => {
67
- // remember and forward close events
68
- this.consumerInputClosed = true;
69
- if (this.currentConsumer) {
70
- this.currentConsumer.handleInputClosed();
71
- }
72
- },
73
- });
74
- this.sdkInputPipeline = rawStream.readable
75
- .pipeThrough(streamDecoder())
76
- .pipeTo(sdkInputSink);
77
- this.sdkOutput = rawStream.writable.getWriter();
78
- // --------- error handling --------
79
- // the error handler for all sorts of errors coming from streams
80
- const errorHandler = (e) => {
81
- // make sure we don't overwrite the initial error
82
- if (this.consumerError !== undefined) {
83
- return;
84
- }
85
- this.consumerError = e;
86
- if (this.currentConsumer) {
87
- this.currentConsumer.handleStreamError(e);
88
- }
89
- };
90
- // this notifies of errors in the outgoing response stream
91
- this.sdkOutput.closed.catch((e) => {
92
- rlog.error("Error in response stream to Restate: " + (e.stack ?? e.message));
93
- errorHandler(e);
94
- });
95
- // this notifies of errors in the decoding pipeline as well as the incoming body stream
96
- this.sdkInputPipeline.catch((e) => {
97
- rlog.error("Error in request stream from Restate: " + (e.stack ?? e.message));
98
- errorHandler(e);
99
- });
100
- }
101
- headers() {
102
- return new Map(Object.entries(this.attemptHeaders));
103
- }
104
- /**
105
- * Pipes the messages from this connection to the given consumer. The consumer
106
- * will also receive error and stream closing notifications.
107
- *
108
- * Once the 'handleMessage()' method returns 'true', the consumer is immediately removed.
109
- * That way, consumers can consume a bounded amount of messages (like just the initial journal).
110
- *
111
- * There can only be one consumer at a time.
112
- */
113
- pipeToConsumer(consumer) {
114
- if (this.currentConsumer !== null) {
115
- throw new Error("Already piping to a consumer");
116
- }
117
- this.currentConsumer = consumer;
118
- // propagate pre-existing information
119
- if (this.consumerError) {
120
- consumer.handleStreamError(this.consumerError);
121
- }
122
- if (this.consumerInputClosed) {
123
- consumer.handleInputClosed();
124
- }
125
- // pipe the buffered input messages, if we buffered some before the consumer was registered
126
- const input = this.inputBuffer;
127
- if (input.length > 0) {
128
- let i = 0;
129
- while (i < input.length) {
130
- const done = consumer.handleMessage(input[i]);
131
- i++;
132
- if (done) {
133
- this.removeCurrentConsumer();
134
- break;
135
- }
136
- }
137
- this.inputBuffer = i === input.length ? [] : this.inputBuffer.slice(i);
138
- }
139
- }
140
- /**
141
- * Removes the current consumer, if there is one.
142
- */
143
- removeCurrentConsumer() {
144
- this.currentConsumer = null;
145
- }
146
- // --------------------------------------------------------------------------
147
- // output stream handling
148
- // --------------------------------------------------------------------------
149
- /**
150
- * Adds a message to the output stream.
151
- *
152
- * This always puts the message into the node stream, but will return a promise that is resolved once
153
- * further messages can be written.
154
- *
155
- * The reasoning is that some, but not all Restate operations return promises and are typically
156
- * awaited. For example, rpc, sleep, side-effect have promises and are awaited, while one-way-sends and
157
- * state updates don't return promises.
158
- *
159
- * As a pragmatic solution, we always accept messages, but return a promise for when the output has
160
- * capacity again, so that at least the operations that await results will respect backpressure.
161
- */
162
- async send(msg) {
163
- const bytes = encodeMessage(msg);
164
- // don't await the write as it will not complete until data is completely flushed
165
- this.sdkOutput.write(bytes).catch(() => { });
166
- // however, do await until there is capacity for more, so there's backpressure
167
- await this.sdkOutput.ready;
168
- }
169
- /**
170
- * Ends the output stream, awaiting pending writes.
171
- */
172
- async end() {
173
- // we don't care if the stream had any errors at this point
174
- await this.sdkOutput.close().catch(() => { });
175
- }
176
- }
177
- //# sourceMappingURL=connection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../src/connection/connection.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- declare function base(ALPHABET: string): base.BaseConverter;
2
- export default base;
3
- declare namespace base {
4
- interface BaseConverter {
5
- encode(buffer: Uint8Array | number[]): string;
6
- decodeUnsafe(string: string): Uint8Array | undefined;
7
- decode(string: string): Uint8Array;
8
- }
9
- }
10
- //# sourceMappingURL=basex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basex.d.ts","sourceRoot":"","sources":["../../../../../src/endpoint/request_signing/basex.ts"],"names":[],"mappings":"AAUA,iBAAS,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,aAAa,CA2JlD;AAED,eAAe,IAAI,CAAC;AAEpB,OAAO,WAAW,IAAI,CAAC;IACrB,UAAU,aAAa;QACrB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;QAE9C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;QAErD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;KACpC;CACF"}