@restatedev/restate-sdk 0.8.1 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/README.md +12 -118
  2. package/dist/{clients → src/clients}/workflow_client.d.ts +2 -2
  3. package/dist/src/clients/workflow_client.d.ts.map +1 -0
  4. package/dist/{clients → src/clients}/workflow_client.js +2 -2
  5. package/dist/src/clients/workflow_client.js.map +1 -0
  6. package/dist/{connection → src/connection}/buffered_connection.d.ts +1 -0
  7. package/dist/src/connection/buffered_connection.d.ts.map +1 -0
  8. package/dist/src/connection/buffered_connection.js.map +1 -0
  9. package/dist/src/connection/connection.d.ts.map +1 -0
  10. package/dist/src/connection/connection.js.map +1 -0
  11. package/dist/{connection → src/connection}/http_connection.d.ts +1 -1
  12. package/dist/src/connection/http_connection.d.ts.map +1 -0
  13. package/dist/{connection → src/connection}/http_connection.js +1 -1
  14. package/dist/src/connection/http_connection.js.map +1 -0
  15. package/dist/{connection → src/connection}/lambda_connection.d.ts +1 -0
  16. package/dist/src/connection/lambda_connection.d.ts.map +1 -0
  17. package/dist/{connection → src/connection}/lambda_connection.js +5 -4
  18. package/dist/src/connection/lambda_connection.js.map +1 -0
  19. package/dist/{context.d.ts → src/context.d.ts} +146 -224
  20. package/dist/src/context.d.ts.map +1 -0
  21. package/dist/{context.js → src/context.js} +6 -41
  22. package/dist/src/context.js.map +1 -0
  23. package/dist/src/context_impl.d.ts +62 -0
  24. package/dist/src/context_impl.d.ts.map +1 -0
  25. package/dist/{context_impl.js → src/context_impl.js} +201 -182
  26. package/dist/src/context_impl.js.map +1 -0
  27. package/dist/src/endpoint/endpoint_impl.d.ts +28 -0
  28. package/dist/src/endpoint/endpoint_impl.d.ts.map +1 -0
  29. package/dist/src/endpoint/endpoint_impl.js +164 -0
  30. package/dist/src/endpoint/endpoint_impl.js.map +1 -0
  31. package/dist/{endpoint → src/endpoint}/http2_handler.d.ts +1 -1
  32. package/dist/src/endpoint/http2_handler.d.ts.map +1 -0
  33. package/dist/src/endpoint/http2_handler.js +153 -0
  34. package/dist/src/endpoint/http2_handler.js.map +1 -0
  35. package/dist/{endpoint → src/endpoint}/lambda_handler.d.ts +2 -2
  36. package/dist/src/endpoint/lambda_handler.d.ts.map +1 -0
  37. package/dist/{endpoint → src/endpoint}/lambda_handler.js +66 -56
  38. package/dist/src/endpoint/lambda_handler.js.map +1 -0
  39. package/dist/src/endpoint/request_signing/basex.d.ts +10 -0
  40. package/dist/src/endpoint/request_signing/basex.d.ts.map +1 -0
  41. package/dist/src/endpoint/request_signing/basex.js +138 -0
  42. package/dist/src/endpoint/request_signing/basex.js.map +1 -0
  43. package/dist/src/endpoint/request_signing/ed25519.d.ts +17 -0
  44. package/dist/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
  45. package/dist/src/endpoint/request_signing/ed25519.js +78 -0
  46. package/dist/src/endpoint/request_signing/ed25519.js.map +1 -0
  47. package/dist/src/endpoint/request_signing/v1.d.ts +9 -0
  48. package/dist/src/endpoint/request_signing/v1.d.ts.map +1 -0
  49. package/dist/src/endpoint/request_signing/v1.js +148 -0
  50. package/dist/src/endpoint/request_signing/v1.js.map +1 -0
  51. package/dist/src/endpoint/request_signing/validate.d.ts +18 -0
  52. package/dist/src/endpoint/request_signing/validate.d.ts.map +1 -0
  53. package/dist/src/endpoint/request_signing/validate.js +45 -0
  54. package/dist/src/endpoint/request_signing/validate.js.map +1 -0
  55. package/dist/src/endpoint.d.ts +102 -0
  56. package/dist/src/endpoint.d.ts.map +1 -0
  57. package/dist/{endpoint.js → src/endpoint.js} +1 -1
  58. package/dist/src/endpoint.js.map +1 -0
  59. package/dist/src/generated/proto/javascript_pb.d.ts +26 -0
  60. package/dist/src/generated/proto/javascript_pb.d.ts.map +1 -0
  61. package/dist/src/generated/proto/javascript_pb.js +52 -0
  62. package/dist/src/generated/proto/javascript_pb.js.map +1 -0
  63. package/dist/src/generated/proto/protocol_pb.d.ts +865 -0
  64. package/dist/src/generated/proto/protocol_pb.d.ts.map +1 -0
  65. package/dist/src/generated/proto/protocol_pb.js +1112 -0
  66. package/dist/src/generated/proto/protocol_pb.js.map +1 -0
  67. package/dist/src/generated/version.d.ts +2 -0
  68. package/dist/src/generated/version.d.ts.map +1 -0
  69. package/dist/src/generated/version.js +5 -0
  70. package/dist/src/generated/version.js.map +1 -0
  71. package/dist/{invocation.d.ts → src/invocation.d.ts} +14 -18
  72. package/dist/src/invocation.d.ts.map +1 -0
  73. package/dist/{invocation.js → src/invocation.js} +25 -24
  74. package/dist/src/invocation.js.map +1 -0
  75. package/dist/{io → src/io}/decoder.d.ts +3 -2
  76. package/dist/src/io/decoder.d.ts.map +1 -0
  77. package/dist/{io → src/io}/decoder.js +12 -10
  78. package/dist/src/io/decoder.js.map +1 -0
  79. package/dist/{io → src/io}/encoder.d.ts +1 -1
  80. package/dist/src/io/encoder.d.ts.map +1 -0
  81. package/dist/{io → src/io}/encoder.js +11 -21
  82. package/dist/src/io/encoder.js.map +1 -0
  83. package/dist/{journal.d.ts → src/journal.d.ts} +7 -7
  84. package/dist/src/journal.d.ts.map +1 -0
  85. package/dist/{journal.js → src/journal.js} +64 -46
  86. package/dist/src/journal.js.map +1 -0
  87. package/dist/{local_state_store.d.ts → src/local_state_store.d.ts} +2 -2
  88. package/dist/src/local_state_store.d.ts.map +1 -0
  89. package/dist/{local_state_store.js → src/local_state_store.js} +19 -17
  90. package/dist/src/local_state_store.js.map +1 -0
  91. package/dist/{logger.d.ts → src/logger.d.ts} +9 -1
  92. package/dist/src/logger.d.ts.map +1 -0
  93. package/dist/src/logger.js +158 -0
  94. package/dist/src/logger.js.map +1 -0
  95. package/dist/src/promise_combinator_tracker.d.ts.map +1 -0
  96. package/dist/src/promise_combinator_tracker.js.map +1 -0
  97. package/dist/src/public_api.d.ts +7 -0
  98. package/dist/src/public_api.d.ts.map +1 -0
  99. package/dist/{public_api.js → src/public_api.js} +4 -14
  100. package/dist/src/public_api.js.map +1 -0
  101. package/dist/{state_machine.d.ts → src/state_machine.d.ts} +7 -4
  102. package/dist/src/state_machine.d.ts.map +1 -0
  103. package/dist/{state_machine.js → src/state_machine.js} +34 -37
  104. package/dist/src/state_machine.js.map +1 -0
  105. package/dist/src/types/components.d.ts +65 -0
  106. package/dist/src/types/components.d.ts.map +1 -0
  107. package/dist/src/types/components.js +163 -0
  108. package/dist/src/types/components.js.map +1 -0
  109. package/dist/src/types/discovery.d.ts +40 -0
  110. package/dist/src/types/discovery.d.ts.map +1 -0
  111. package/dist/src/types/discovery.js +29 -0
  112. package/dist/src/types/discovery.js.map +1 -0
  113. package/dist/src/types/errors.d.ts +53 -0
  114. package/dist/src/types/errors.d.ts.map +1 -0
  115. package/dist/src/types/errors.js +129 -0
  116. package/dist/src/types/errors.js.map +1 -0
  117. package/dist/src/types/protocol.d.ts +33 -0
  118. package/dist/src/types/protocol.d.ts.map +1 -0
  119. package/dist/{types → src/types}/protocol.js +52 -52
  120. package/dist/src/types/protocol.js.map +1 -0
  121. package/dist/src/types/rpc.d.ts +50 -0
  122. package/dist/src/types/rpc.d.ts.map +1 -0
  123. package/dist/src/types/rpc.js +38 -0
  124. package/dist/src/types/rpc.js.map +1 -0
  125. package/dist/{types → src/types}/types.d.ts +0 -9
  126. package/dist/src/types/types.d.ts.map +1 -0
  127. package/dist/{types → src/types}/types.js +4 -21
  128. package/dist/src/types/types.js.map +1 -0
  129. package/dist/src/user_agent.d.ts +2 -0
  130. package/dist/src/user_agent.d.ts.map +1 -0
  131. package/dist/src/user_agent.js +16 -0
  132. package/dist/src/user_agent.js.map +1 -0
  133. package/dist/src/utils/message_logger.d.ts +7 -0
  134. package/dist/src/utils/message_logger.d.ts.map +1 -0
  135. package/dist/{utils → src/utils}/message_logger.js +17 -26
  136. package/dist/src/utils/message_logger.js.map +1 -0
  137. package/dist/src/utils/promises.d.ts.map +1 -0
  138. package/dist/src/utils/promises.js.map +1 -0
  139. package/dist/{utils → src/utils}/rand.d.ts +1 -0
  140. package/dist/src/utils/rand.d.ts.map +1 -0
  141. package/dist/{utils → src/utils}/rand.js +7 -6
  142. package/dist/src/utils/rand.js.map +1 -0
  143. package/dist/src/utils/serde.d.ts +3 -0
  144. package/dist/src/utils/serde.d.ts.map +1 -0
  145. package/dist/src/utils/serde.js +24 -0
  146. package/dist/src/utils/serde.js.map +1 -0
  147. package/dist/{utils → src/utils}/utils.d.ts +0 -1
  148. package/dist/src/utils/utils.d.ts.map +1 -0
  149. package/dist/{utils → src/utils}/utils.js +36 -43
  150. package/dist/src/utils/utils.js.map +1 -0
  151. package/dist/{workflows → src/workflows}/workflow.d.ts +6 -6
  152. package/dist/src/workflows/workflow.d.ts.map +1 -0
  153. package/dist/{workflows → src/workflows}/workflow.js +11 -7
  154. package/dist/src/workflows/workflow.js.map +1 -0
  155. package/dist/src/workflows/workflow_state_service.d.ts +35 -0
  156. package/dist/src/workflows/workflow_state_service.d.ts.map +1 -0
  157. package/dist/{workflows → src/workflows}/workflow_state_service.js +11 -11
  158. package/dist/src/workflows/workflow_state_service.js.map +1 -0
  159. package/dist/{workflows → src/workflows}/workflow_wrapper_service.d.ts +2 -2
  160. package/dist/src/workflows/workflow_wrapper_service.d.ts.map +1 -0
  161. package/dist/{workflows → src/workflows}/workflow_wrapper_service.js +66 -45
  162. package/dist/src/workflows/workflow_wrapper_service.js.map +1 -0
  163. package/dist/tsconfig.tsbuildinfo +1 -0
  164. package/package.json +13 -28
  165. package/LICENSE +0 -21
  166. package/dist/clients/workflow_client.d.ts.map +0 -1
  167. package/dist/clients/workflow_client.js.map +0 -1
  168. package/dist/connection/buffered_connection.d.ts.map +0 -1
  169. package/dist/connection/buffered_connection.js.map +0 -1
  170. package/dist/connection/connection.d.ts.map +0 -1
  171. package/dist/connection/connection.js.map +0 -1
  172. package/dist/connection/embedded_connection.d.ts +0 -20
  173. package/dist/connection/embedded_connection.d.ts.map +0 -1
  174. package/dist/connection/embedded_connection.js +0 -59
  175. package/dist/connection/embedded_connection.js.map +0 -1
  176. package/dist/connection/http_connection.d.ts.map +0 -1
  177. package/dist/connection/http_connection.js.map +0 -1
  178. package/dist/connection/lambda_connection.d.ts.map +0 -1
  179. package/dist/connection/lambda_connection.js.map +0 -1
  180. package/dist/context.d.ts.map +0 -1
  181. package/dist/context.js.map +0 -1
  182. package/dist/context_impl.d.ts +0 -65
  183. package/dist/context_impl.d.ts.map +0 -1
  184. package/dist/context_impl.js.map +0 -1
  185. package/dist/embedded/api.d.ts +0 -27
  186. package/dist/embedded/api.d.ts.map +0 -1
  187. package/dist/embedded/api.js +0 -35
  188. package/dist/embedded/api.js.map +0 -1
  189. package/dist/embedded/handler.d.ts +0 -4
  190. package/dist/embedded/handler.d.ts.map +0 -1
  191. package/dist/embedded/handler.js +0 -26
  192. package/dist/embedded/handler.js.map +0 -1
  193. package/dist/embedded/http2_remote.d.ts +0 -11
  194. package/dist/embedded/http2_remote.d.ts.map +0 -1
  195. package/dist/embedded/http2_remote.js +0 -91
  196. package/dist/embedded/http2_remote.js.map +0 -1
  197. package/dist/embedded/invocation.d.ts +0 -5
  198. package/dist/embedded/invocation.d.ts.map +0 -1
  199. package/dist/embedded/invocation.js +0 -94
  200. package/dist/embedded/invocation.js.map +0 -1
  201. package/dist/endpoint/endpoint_impl.d.ts +0 -35
  202. package/dist/endpoint/endpoint_impl.d.ts.map +0 -1
  203. package/dist/endpoint/endpoint_impl.js +0 -405
  204. package/dist/endpoint/endpoint_impl.js.map +0 -1
  205. package/dist/endpoint/http2_handler.d.ts.map +0 -1
  206. package/dist/endpoint/http2_handler.js +0 -119
  207. package/dist/endpoint/http2_handler.js.map +0 -1
  208. package/dist/endpoint/lambda_handler.d.ts.map +0 -1
  209. package/dist/endpoint/lambda_handler.js.map +0 -1
  210. package/dist/endpoint.d.ts +0 -161
  211. package/dist/endpoint.d.ts.map +0 -1
  212. package/dist/endpoint.js.map +0 -1
  213. package/dist/generated/dev/restate/events.d.ts +0 -96
  214. package/dist/generated/dev/restate/events.d.ts.map +0 -1
  215. package/dist/generated/dev/restate/events.js +0 -371
  216. package/dist/generated/dev/restate/events.js.map +0 -1
  217. package/dist/generated/dev/restate/ext.d.ts +0 -91
  218. package/dist/generated/dev/restate/ext.d.ts.map +0 -1
  219. package/dist/generated/dev/restate/ext.js +0 -215
  220. package/dist/generated/dev/restate/ext.js.map +0 -1
  221. package/dist/generated/google/protobuf/descriptor.d.ts +0 -1204
  222. package/dist/generated/google/protobuf/descriptor.d.ts.map +0 -1
  223. package/dist/generated/google/protobuf/descriptor.js +0 -6676
  224. package/dist/generated/google/protobuf/descriptor.js.map +0 -1
  225. package/dist/generated/google/protobuf/empty.d.ts +0 -86
  226. package/dist/generated/google/protobuf/empty.d.ts.map +0 -1
  227. package/dist/generated/google/protobuf/empty.js +0 -107
  228. package/dist/generated/google/protobuf/empty.js.map +0 -1
  229. package/dist/generated/google/protobuf/struct.d.ts +0 -175
  230. package/dist/generated/google/protobuf/struct.d.ts.map +0 -1
  231. package/dist/generated/google/protobuf/struct.js +0 -754
  232. package/dist/generated/google/protobuf/struct.js.map +0 -1
  233. package/dist/generated/proto/discovery.d.ts +0 -105
  234. package/dist/generated/proto/discovery.d.ts.map +0 -1
  235. package/dist/generated/proto/discovery.js +0 -364
  236. package/dist/generated/proto/discovery.js.map +0 -1
  237. package/dist/generated/proto/dynrpc.d.ts +0 -150
  238. package/dist/generated/proto/dynrpc.d.ts.map +0 -1
  239. package/dist/generated/proto/dynrpc.js +0 -668
  240. package/dist/generated/proto/dynrpc.js.map +0 -1
  241. package/dist/generated/proto/javascript.d.ts +0 -110
  242. package/dist/generated/proto/javascript.d.ts.map +0 -1
  243. package/dist/generated/proto/javascript.js +0 -416
  244. package/dist/generated/proto/javascript.js.map +0 -1
  245. package/dist/generated/proto/protocol.d.ts +0 -450
  246. package/dist/generated/proto/protocol.d.ts.map +0 -1
  247. package/dist/generated/proto/protocol.js +0 -2641
  248. package/dist/generated/proto/protocol.js.map +0 -1
  249. package/dist/generated/proto/services.d.ts +0 -307
  250. package/dist/generated/proto/services.d.ts.map +0 -1
  251. package/dist/generated/proto/services.js +0 -1535
  252. package/dist/generated/proto/services.js.map +0 -1
  253. package/dist/generated/proto/test.d.ts +0 -116
  254. package/dist/generated/proto/test.d.ts.map +0 -1
  255. package/dist/generated/proto/test.js +0 -321
  256. package/dist/generated/proto/test.js.map +0 -1
  257. package/dist/invocation.d.ts.map +0 -1
  258. package/dist/invocation.js.map +0 -1
  259. package/dist/io/decoder.d.ts.map +0 -1
  260. package/dist/io/decoder.js.map +0 -1
  261. package/dist/io/encoder.d.ts.map +0 -1
  262. package/dist/io/encoder.js.map +0 -1
  263. package/dist/journal.d.ts.map +0 -1
  264. package/dist/journal.js.map +0 -1
  265. package/dist/local_state_store.d.ts.map +0 -1
  266. package/dist/local_state_store.js.map +0 -1
  267. package/dist/logger.d.ts.map +0 -1
  268. package/dist/logger.js +0 -90
  269. package/dist/logger.js.map +0 -1
  270. package/dist/promise_combinator_tracker.d.ts.map +0 -1
  271. package/dist/promise_combinator_tracker.js.map +0 -1
  272. package/dist/public_api.d.ts +0 -10
  273. package/dist/public_api.d.ts.map +0 -1
  274. package/dist/public_api.js.map +0 -1
  275. package/dist/state_machine.d.ts.map +0 -1
  276. package/dist/state_machine.js.map +0 -1
  277. package/dist/types/errors.d.ts +0 -188
  278. package/dist/types/errors.d.ts.map +0 -1
  279. package/dist/types/errors.js +0 -273
  280. package/dist/types/errors.js.map +0 -1
  281. package/dist/types/grpc.d.ts +0 -90
  282. package/dist/types/grpc.d.ts.map +0 -1
  283. package/dist/types/grpc.js +0 -81
  284. package/dist/types/grpc.js.map +0 -1
  285. package/dist/types/protocol.d.ts +0 -30
  286. package/dist/types/protocol.d.ts.map +0 -1
  287. package/dist/types/protocol.js.map +0 -1
  288. package/dist/types/router.d.ts +0 -33
  289. package/dist/types/router.d.ts.map +0 -1
  290. package/dist/types/router.js +0 -36
  291. package/dist/types/router.js.map +0 -1
  292. package/dist/types/types.d.ts.map +0 -1
  293. package/dist/types/types.js.map +0 -1
  294. package/dist/utils/assumptions.d.ts +0 -8
  295. package/dist/utils/assumptions.d.ts.map +0 -1
  296. package/dist/utils/assumptions.js +0 -101
  297. package/dist/utils/assumptions.js.map +0 -1
  298. package/dist/utils/message_logger.d.ts +0 -28
  299. package/dist/utils/message_logger.d.ts.map +0 -1
  300. package/dist/utils/message_logger.js.map +0 -1
  301. package/dist/utils/promises.d.ts.map +0 -1
  302. package/dist/utils/promises.js.map +0 -1
  303. package/dist/utils/public_utils.d.ts +0 -58
  304. package/dist/utils/public_utils.d.ts.map +0 -1
  305. package/dist/utils/public_utils.js +0 -49
  306. package/dist/utils/public_utils.js.map +0 -1
  307. package/dist/utils/rand.d.ts.map +0 -1
  308. package/dist/utils/rand.js.map +0 -1
  309. package/dist/utils/utils.d.ts.map +0 -1
  310. package/dist/utils/utils.js.map +0 -1
  311. package/dist/workflows/workflow.d.ts.map +0 -1
  312. package/dist/workflows/workflow.js.map +0 -1
  313. package/dist/workflows/workflow_state_service.d.ts +0 -35
  314. package/dist/workflows/workflow_state_service.d.ts.map +0 -1
  315. package/dist/workflows/workflow_state_service.js.map +0 -1
  316. package/dist/workflows/workflow_wrapper_service.d.ts.map +0 -1
  317. package/dist/workflows/workflow_wrapper_service.js.map +0 -1
  318. package/src/clients/workflow_client.ts +0 -290
  319. package/src/connection/buffered_connection.ts +0 -47
  320. package/src/connection/connection.ts +0 -34
  321. package/src/connection/embedded_connection.ts +0 -62
  322. package/src/connection/http_connection.ts +0 -228
  323. package/src/connection/lambda_connection.ts +0 -69
  324. package/src/context.ts +0 -633
  325. package/src/context_impl.ts +0 -721
  326. package/src/embedded/api.ts +0 -57
  327. package/src/embedded/handler.ts +0 -36
  328. package/src/embedded/http2_remote.ts +0 -103
  329. package/src/embedded/invocation.ts +0 -126
  330. package/src/endpoint/endpoint_impl.ts +0 -623
  331. package/src/endpoint/http2_handler.ts +0 -151
  332. package/src/endpoint/lambda_handler.ts +0 -181
  333. package/src/endpoint.ts +0 -187
  334. package/src/generated/dev/restate/events.ts +0 -430
  335. package/src/generated/dev/restate/ext.ts +0 -238
  336. package/src/generated/google/protobuf/descriptor.ts +0 -7889
  337. package/src/generated/google/protobuf/empty.ts +0 -150
  338. package/src/generated/google/protobuf/struct.ts +0 -878
  339. package/src/generated/proto/discovery.ts +0 -423
  340. package/src/generated/proto/dynrpc.ts +0 -768
  341. package/src/generated/proto/javascript.ts +0 -488
  342. package/src/generated/proto/protocol.ts +0 -3091
  343. package/src/generated/proto/services.ts +0 -1834
  344. package/src/generated/proto/test.ts +0 -387
  345. package/src/invocation.ts +0 -212
  346. package/src/io/decoder.ts +0 -171
  347. package/src/io/encoder.ts +0 -72
  348. package/src/journal.ts +0 -537
  349. package/src/local_state_store.ts +0 -94
  350. package/src/logger.ts +0 -121
  351. package/src/promise_combinator_tracker.ts +0 -191
  352. package/src/public_api.ts +0 -53
  353. package/src/state_machine.ts +0 -635
  354. package/src/types/errors.ts +0 -297
  355. package/src/types/grpc.ts +0 -97
  356. package/src/types/protocol.ts +0 -201
  357. package/src/types/router.ts +0 -118
  358. package/src/types/types.ts +0 -160
  359. package/src/utils/assumptions.ts +0 -131
  360. package/src/utils/message_logger.ts +0 -112
  361. package/src/utils/promises.ts +0 -118
  362. package/src/utils/public_utils.ts +0 -91
  363. package/src/utils/rand.ts +0 -142
  364. package/src/utils/utils.ts +0 -178
  365. package/src/workflows/workflow.ts +0 -178
  366. package/src/workflows/workflow_state_service.ts +0 -299
  367. package/src/workflows/workflow_wrapper_service.ts +0 -314
  368. /package/dist/{connection → src/connection}/buffered_connection.js +0 -0
  369. /package/dist/{connection → src/connection}/connection.d.ts +0 -0
  370. /package/dist/{connection → src/connection}/connection.js +0 -0
  371. /package/dist/{promise_combinator_tracker.d.ts → src/promise_combinator_tracker.d.ts} +0 -0
  372. /package/dist/{promise_combinator_tracker.js → src/promise_combinator_tracker.js} +0 -0
  373. /package/dist/{utils → src/utils}/promises.d.ts +0 -0
  374. /package/dist/{utils → src/utils}/promises.js +0 -0
@@ -10,7 +10,7 @@
10
10
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.createStateMachineConsole = exports.RestateDebugLogLevel = exports.DEBUG_LOGGING_ENV = void 0;
13
+ exports.createStateMachineConsole = void 0;
14
14
  /* eslint-disable @typescript-eslint/no-explicit-any */
15
15
  /* eslint-disable no-console */
16
16
  const protocol_1 = require("../types/protocol");
@@ -19,33 +19,32 @@ const logger_1 = require("../logger");
19
19
  /**
20
20
  * The environment variable which is read to determine the debug log settings.
21
21
  */
22
- exports.DEBUG_LOGGING_ENV = "RESTATE_DEBUG_LOGGING";
22
+ const RESTATE_JOURNAL_LOGGING = "RESTATE_JOURNAL_LOGGING";
23
23
  /**
24
- * The values for the {@link DEBUG_LOGGING_ENV} variable.
24
+ * The values for the {@link RESTATE_JOURNAL_LOGGING} variable.
25
25
  */
26
- var RestateDebugLogLevel;
27
- (function (RestateDebugLogLevel) {
26
+ var JournalLoggingLogLevel;
27
+ (function (JournalLoggingLogLevel) {
28
28
  /** No debug logging at all. Good for performance and avoid per-invocation log volume */
29
- RestateDebugLogLevel[RestateDebugLogLevel["OFF"] = 0] = "OFF";
30
- /** Logs debug information for every Restate function invocation. */
31
- RestateDebugLogLevel[RestateDebugLogLevel["INVOKE"] = 1] = "INVOKE";
29
+ JournalLoggingLogLevel[JournalLoggingLogLevel["OFF"] = 0] = "OFF";
32
30
  /** Logs debug information for every Restate effect (=journal event) inside an invocation,
33
31
  * like RPC, state access, sideEffect, ... */
34
- RestateDebugLogLevel[RestateDebugLogLevel["JOURNAL"] = 2] = "JOURNAL";
32
+ JournalLoggingLogLevel[JournalLoggingLogLevel["DEBUG"] = 1] = "DEBUG";
35
33
  /** Logs debug information for every Restate effect (=journal event) inside an invocation,
36
34
  * like RPC, state access, sideEffect, ... Additionally, this adds a JSON representation
37
35
  * of the journal message to the log. */
38
- RestateDebugLogLevel[RestateDebugLogLevel["JOURNAL_VERBOSE"] = 3] = "JOURNAL_VERBOSE";
39
- })(RestateDebugLogLevel = exports.RestateDebugLogLevel || (exports.RestateDebugLogLevel = {}));
40
- const DEFAULT_DEBUG_LOG_LEVEL = process.env["NODE_ENV"]?.toUpperCase() === "PRODUCTION"
41
- ? RestateDebugLogLevel.OFF
42
- : RestateDebugLogLevel.INVOKE;
36
+ JournalLoggingLogLevel[JournalLoggingLogLevel["TRACE"] = 2] = "TRACE";
37
+ })(JournalLoggingLogLevel || (JournalLoggingLogLevel = {}));
38
+ const DEFAULT_DEBUG_LOG_LEVEL = globalThis?.process?.env["NODE_ENV"]?.toUpperCase() === "PRODUCTION" ||
39
+ logger_1.RESTATE_LOG_LEVEL > logger_1.RestateLogLevel.DEBUG
40
+ ? JournalLoggingLogLevel.OFF
41
+ : JournalLoggingLogLevel.DEBUG;
43
42
  function readLogLevel() {
44
- const env = process.env[exports.DEBUG_LOGGING_ENV]?.toUpperCase();
43
+ const env = globalThis?.process?.env[RESTATE_JOURNAL_LOGGING]?.toUpperCase();
45
44
  if (env == undefined) {
46
45
  return DEFAULT_DEBUG_LOG_LEVEL;
47
46
  }
48
- const idx = Object.keys(RestateDebugLogLevel)
47
+ const idx = Object.keys(JournalLoggingLogLevel)
49
48
  .filter((t) =>
50
49
  // Object.keys contains the numbers as well
51
50
  // https://stackoverflow.com/questions/48768774/how-to-get-all-the-values-of-an-enum-with-typescript
@@ -60,21 +59,13 @@ const log_level = readLogLevel();
60
59
  function createStateMachineConsole(context) {
61
60
  const console = (0, logger_1.createRestateConsole)(context);
62
61
  Object.defineProperties(console, {
63
- debugInvokeMessage: {
64
- value: (msg) => {
65
- if (log_level >= RestateDebugLogLevel.INVOKE) {
66
- console.debug(msg);
67
- }
68
- },
69
- },
70
62
  debugJournalMessage: {
71
63
  value: (logMessage, messageType, message) => {
72
- if (log_level >= RestateDebugLogLevel.JOURNAL) {
64
+ if (log_level >= JournalLoggingLogLevel.DEBUG) {
73
65
  const type = messageType !== undefined
74
66
  ? " ; " + (0, protocol_1.formatMessageType)(messageType)
75
67
  : "";
76
- const journalEvent = log_level >= RestateDebugLogLevel.JOURNAL_VERBOSE &&
77
- message !== undefined
68
+ const journalEvent = log_level >= JournalLoggingLogLevel.TRACE && message !== undefined
78
69
  ? " : " + (0, utils_1.formatMessageAsJson)(message)
79
70
  : "";
80
71
  console.debug(`${logMessage}${type}${journalEvent}`);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message_logger.js","sourceRoot":"","sources":["../../../src/utils/message_logger.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,uDAAuD;AACvD,+BAA+B;AAE/B,gDAAsD;AACtD,mCAA8C;AAC9C,sCAKmB;AAEnB;;GAEG;AACH,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D;;GAEG;AACH,IAAK,sBAYJ;AAZD,WAAK,sBAAsB;IACzB,wFAAwF;IACxF,iEAAG,CAAA;IAEH;kDAC8C;IAC9C,qEAAK,CAAA;IAEL;;6CAEyC;IACzC,qEAAK,CAAA;AACP,CAAC,EAZI,sBAAsB,KAAtB,sBAAsB,QAY1B;AAED,MAAM,uBAAuB,GAC3B,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,YAAY;IACpE,0BAAiB,GAAG,wBAAe,CAAC,KAAK;IACvC,CAAC,CAAC,sBAAsB,CAAC,GAAG;IAC5B,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC;AAEnC,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7E,IAAI,GAAG,IAAI,SAAS,EAAE;QACpB,OAAO,uBAAuB,CAAC;KAChC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;IACZ,2CAA2C;IAC3C,oGAAoG;IACpG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACjB;SACA,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,GAAG,CAAC,EAAE;QACX,OAAO,uBAAuB,CAAC;KAChC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;AAUjC,SAAgB,yBAAyB,CACvC,OAAsB;IAEtB,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;QAC/B,mBAAmB,EAAE;YACnB,KAAK,EAAE,CAAC,UAAkB,EAAE,WAAoB,EAAE,OAAa,EAAE,EAAE;gBACjE,IAAI,SAAS,IAAI,sBAAsB,CAAC,KAAK,EAAE;oBAC7C,MAAM,IAAI,GACR,WAAW,KAAK,SAAS;wBACvB,CAAC,CAAC,KAAK,GAAG,IAAA,4BAAiB,EAAC,WAAW,CAAC;wBACxC,CAAC,CAAC,EAAE,CAAC;oBACT,MAAM,YAAY,GAChB,SAAS,IAAI,sBAAsB,CAAC,KAAK,IAAI,OAAO,KAAK,SAAS;wBAChE,CAAC,CAAC,KAAK,GAAG,IAAA,2BAAmB,EAAC,OAAO,CAAC;wBACtC,CAAC,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,IAAI,GAAG,YAAY,EAAE,CAAC,CAAC;iBACtD;YACH,CAAC;SACF;KACF,CAAC,CAAC;IAEH,OAAO,OAA8B,CAAC;AACxC,CAAC;AAxBD,8DAwBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promises.d.ts","sourceRoot":"","sources":["../../../src/utils/promises.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IAG3C,SAAS,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EACxC,WAAW,CAAC,EACR,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAChD,IAAI,GACJ,SAAS,EACb,UAAU,CAAC,EACP,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GACnD,IAAI,GACJ,SAAS,KACV,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;CAC1C,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,EAC1B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,cAAc,CAAC,CAAC,CAAC,CAuDnB;AAID,qBAAa,kBAAkB,CAAC,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,OAAO,CAA0B;IAEzC,SAAgB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;;IAS7B,OAAO,CAAC,KAAK,EAAE,CAAC;IAIhB,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG;CAG3B;AAID,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,GAAG,CAA8B,CAAC;AACxE,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,GAAG,CACpB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../src/utils/promises.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAoBH,SAAgB,UAAU,CACxB,OAAmB,EACnB,MAAmB;IAEnB,oDAAoD;IACpD,IAAI,SASoC,CAAC;IACzC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;QACvC,MAAM,cAAc,GAAG,OAA4B,CAAC;QACpD,SAAS,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CACtC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;KACzE;SAAM;QACL,SAAS,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CACtC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;KAC7D;IAED,uDAAuD;IACvD,OAAO;QACL,SAAS;QAET,IAAI,EAAE,UACJ,WAGa,EACb,UAGa;YAEb,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,MAAM,EAAE,CAAC;aACV;YACD,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,EAAE,UACL,UAGa;YAEb,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,EAAE,UACP,SAA2C;YAE3C,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE;KACzB,CAAC;AACJ,CAAC;AA1DD,gCA0DC;AAED,8GAA8G;AAC9G,8BAA8B;AAC9B,MAAa,kBAAkB;IACrB,OAAO,CAAuC;IAC9C,OAAO,CAA0B;IAEzB,OAAO,CAAa;IAEpC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,OAAO,CAAC,KAAQ;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,MAAY;QACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;CACF;AApBD,gDAoBC;AAED,oCAAoC;AACpC,gEAAgE;AACnD,QAAA,eAAe,GAAiB,IAAI,OAAO,CAAM,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC3D,QAAA,uBAAuB,GAClC,UAAU,CAAC,uBAAe,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { Rand } from "../context";
3
+ import { Buffer } from "node:buffer";
3
4
  export declare class RandImpl implements Rand {
4
5
  private randstate256;
5
6
  constructor(id: Buffer | [bigint, bigint, bigint, bigint]);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rand.d.ts","sourceRoot":"","sources":["../../../src/utils/rand.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIlC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,QAAS,YAAW,IAAI;IACnC,OAAO,CAAC,YAAY,CAAmC;gBAE3C,EAAE,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAgBzD,MAAM,CAAC,QAAQ,SAAoB;IAInC,GAAG,IAAI,MAAM;IAuBb,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIzC,YAAY;IAUZ,MAAM,CAAC,QAAQ,SAAoB;IAE5B,MAAM,IAAI,MAAM;IAShB,MAAM,IAAI,MAAM;CAWxB"}
@@ -13,13 +13,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.RandImpl = void 0;
14
14
  const errors_1 = require("../types/errors");
15
15
  const context_impl_1 = require("../context_impl");
16
- const crypto_1 = require("crypto");
16
+ const node_crypto_1 = require("node:crypto");
17
+ const node_buffer_1 = require("node:buffer");
17
18
  class RandImpl {
18
19
  randstate256;
19
20
  constructor(id) {
20
- if (id instanceof Buffer) {
21
+ if (id instanceof node_buffer_1.Buffer) {
21
22
  // hash the invocation ID, which is known to contain 74 bits of entropy
22
- const hash = (0, crypto_1.createHash)("sha256").update(id).digest();
23
+ const hash = (0, node_crypto_1.createHash)("sha256").update(id).digest();
23
24
  this.randstate256 = [
24
25
  hash.readBigUInt64LE(0),
25
26
  hash.readBigUInt64LE(8),
@@ -52,8 +53,8 @@ class RandImpl {
52
53
  }
53
54
  checkContext() {
54
55
  const context = context_impl_1.ContextImpl.callContext.getStore();
55
- if (context && context.type === context_impl_1.CallContexType.SideEffect) {
56
- throw new errors_1.TerminalError(`You may not call methods on Rand from within a side effect.`, { errorCode: errors_1.ErrorCodes.INTERNAL });
56
+ if (context && context.type === context_impl_1.CallContextType.Run) {
57
+ throw new errors_1.TerminalError(`You may not call methods on Rand from within a run().`, { errorCode: errors_1.INTERNAL_ERROR_CODE });
57
58
  }
58
59
  }
59
60
  static U53_MASK = (1n << 53n) - 1n;
@@ -66,7 +67,7 @@ class RandImpl {
66
67
  }
67
68
  uuidv4() {
68
69
  this.checkContext();
69
- const buf = Buffer.alloc(16);
70
+ const buf = node_buffer_1.Buffer.alloc(16);
70
71
  buf.writeBigUInt64LE(this.u64(), 0);
71
72
  buf.writeBigUInt64LE(this.u64(), 8);
72
73
  // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rand.js","sourceRoot":"","sources":["../../../src/utils/rand.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAMH,4CAAqE;AACrE,kDAA+D;AAC/D,6CAAyC;AACzC,6CAAqC;AAErC,MAAa,QAAQ;IACX,YAAY,CAAmC;IAEvD,YAAY,EAA6C;QACvD,IAAI,EAAE,YAAY,oBAAM,EAAE;YACxB,uEAAuE;YACvE,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YAEtD,IAAI,CAAC,YAAY,GAAG;gBAClB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;aACzB,CAAC;SACH;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;IAEnC,eAAe;IACf,gEAAgE;IAChE,GAAG;QACD,MAAM,MAAM,GACV,CAAC,QAAQ,CAAC,IAAI,CACZ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,EACjE,GAAG,CACJ;YACC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACvB,QAAQ,CAAC,QAAQ,CAAC;QAEpB,MAAM,CAAC,GAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAEpE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEhE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAS,EAAE,CAAS;QAC9B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,YAAY;QACV,MAAM,OAAO,GAAG,0BAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,8BAAe,CAAC,GAAG,EAAE;YACnD,MAAM,IAAI,sBAAa,CACrB,uDAAuD,EACvD,EAAE,SAAS,EAAE,4BAAmB,EAAE,CACnC,CAAC;SACH;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;IAE5B,MAAM;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,yFAAyF;QACzF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC3C,6DAA6D;QAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,MAAM,GAAG,GAAG,oBAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACpC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACpC,gEAAgE;QAChE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAChC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;;AAjFH,4BAkFC;AAED,MAAM,SAAS,GAAa,EAAE,CAAC;AAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;IAC5B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;CACnD;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,GAAW,EAAE,MAAM,GAAG,CAAC;IAC5C,uEAAuE;IACvE,oFAAoF;IACpF,EAAE;IACF,sEAAsE;IACtE,uEAAuE;IACvE,OAAO,CACL,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAC5B,CAAC,WAAW,EAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function serializeJson(item: any | undefined): Uint8Array;
2
+ export declare function deserializeJson(buf: Uint8Array): any | undefined;
3
+ //# sourceMappingURL=serde.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serde.d.ts","sourceRoot":"","sources":["../../../src/utils/serde.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,GAAG,UAAU,CAM/D;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,GAAG,GAAG,SAAS,CAOhE"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deserializeJson = exports.serializeJson = void 0;
4
+ const node_buffer_1 = require("node:buffer");
5
+ /* eslint-disable @typescript-eslint/no-explicit-any */
6
+ function serializeJson(item) {
7
+ if (item === undefined) {
8
+ return node_buffer_1.Buffer.alloc(0);
9
+ }
10
+ const str = JSON.stringify(item);
11
+ return node_buffer_1.Buffer.from(str);
12
+ }
13
+ exports.serializeJson = serializeJson;
14
+ /* eslint-disable @typescript-eslint/no-explicit-any */
15
+ function deserializeJson(buf) {
16
+ if (buf.length === 0) {
17
+ return undefined;
18
+ }
19
+ const b = node_buffer_1.Buffer.from(buf);
20
+ const str = b.toString("utf8");
21
+ return JSON.parse(str);
22
+ }
23
+ exports.deserializeJson = deserializeJson;
24
+ //# sourceMappingURL=serde.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serde.js","sourceRoot":"","sources":["../../../src/utils/serde.ts"],"names":[],"mappings":";;;AAAA,6CAAqC;AAErC,uDAAuD;AACvD,SAAgB,aAAa,CAAC,IAAqB;IACjD,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,oBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACxB;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,oBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAND,sCAMC;AAED,uDAAuD;AACvD,SAAgB,eAAe,CAAC,GAAe;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,CAAC,GAAG,oBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAPD,0CAOC"}
@@ -1,6 +1,5 @@
1
1
  export declare function jsonSerialize(obj: any): string;
2
2
  export declare function jsonDeserialize<T>(json: string): T;
3
- export declare function jsonSafeAny(key: string, value: any): any;
4
3
  export declare function formatMessageAsJson(obj: any): string;
5
4
  export declare const equalityCheckers: Map<bigint, (msg1: any, msg2: any) => boolean>;
6
5
  //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"AAoCA,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAI9C;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAMlD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAWpD;AAqGD,eAAO,MAAM,gBAAgB,qBAEpB,GAAG,QAAQ,GAAG,KAAK,OAAO,CAYjC,CAAC"}
@@ -10,8 +10,9 @@
10
10
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.equalityCheckers = exports.formatMessageAsJson = exports.jsonSafeAny = exports.jsonDeserialize = exports.jsonSerialize = void 0;
13
+ exports.equalityCheckers = exports.formatMessageAsJson = exports.jsonDeserialize = exports.jsonSerialize = void 0;
14
14
  const protocol_1 = require("../types/protocol");
15
+ const node_buffer_1 = require("node:buffer");
15
16
  function jsonSerialize(obj) {
16
17
  return JSON.stringify(obj, (_, v) => typeof v === "bigint" ? "BIGINT::" + v.toString() : v);
17
18
  }
@@ -22,35 +23,10 @@ function jsonDeserialize(json) {
22
23
  : v);
23
24
  }
24
25
  exports.jsonDeserialize = jsonDeserialize;
25
- // When using google.protobuf.Value in RPC handler responses, we want to roughly match the behaviour of JSON.stringify
26
- // for example in converting Date objects to a UTC string
27
- function jsonSafeAny(key, value) {
28
- if (value !== undefined &&
29
- value !== null &&
30
- typeof value.toJSON == "function") {
31
- return value.toJSON(key);
32
- }
33
- else if (globalThis.Array.isArray(value)) {
34
- // in place replace
35
- value.forEach((_, i) => (value[i] = jsonSafeAny(i.toString(), value[i])));
36
- return value;
37
- }
38
- else if (typeof value === "object") {
39
- Object.keys(value).forEach((key) => {
40
- value[key] = jsonSafeAny(key, value[key]);
41
- });
42
- return value;
43
- }
44
- else {
45
- // primitive that doesn't have a toJSON method, with no children
46
- return value;
47
- }
48
- }
49
- exports.jsonSafeAny = jsonSafeAny;
50
26
  function formatMessageAsJson(obj) {
51
27
  const newObj = { ...obj };
52
28
  for (const [key, value] of Object.entries(newObj)) {
53
- if (Buffer.isBuffer(value)) {
29
+ if (node_buffer_1.Buffer.isBuffer(value)) {
54
30
  newObj[key] = value.toString().trim();
55
31
  }
56
32
  }
@@ -66,42 +42,59 @@ exports.formatMessageAsJson = formatMessageAsJson;
66
42
  // These functions are used to check whether a replayed message matches the current user code.
67
43
  // We check the fields which we can check
68
44
  // (the fields which do not contain results, because these might be filled in the result)
45
+ const eq = (a, b) => {
46
+ const n = a.length;
47
+ const m = b.length;
48
+ if (n !== m) {
49
+ return false;
50
+ }
51
+ for (let i = 0; i < n; i++) {
52
+ if (a.at(i) !== b.at(i)) {
53
+ return false;
54
+ }
55
+ }
56
+ return true;
57
+ };
69
58
  const getStateMsgEquality = (msg1, msg2) => {
70
- return msg1.key.equals(msg2.key);
59
+ return eq(msg1.key, msg2.key);
71
60
  };
72
61
  const invokeMsgEquality = (msg1, msg2) => {
73
62
  return (msg1.serviceName === msg2.serviceName &&
74
- msg1.methodName === msg2.methodName &&
75
- msg1.parameter.equals(msg2.parameter));
63
+ msg1.handlerName === msg2.handlerName &&
64
+ eq(msg1.parameter, msg2.parameter));
76
65
  };
77
66
  const setStateMsgEquality = (msg1, msg2) => {
78
- return msg1.key.equals(msg2.key) && msg1.value.equals(msg2.value);
67
+ return eq(msg1.key, msg2.key) && eq(msg1.value, msg2.value);
79
68
  };
80
69
  const clearStateMsgEquality = (msg1, msg2) => {
81
- return msg1.key.equals(msg2.key);
70
+ return eq(msg1.key, msg2.key);
82
71
  };
83
72
  const completeAwakeableMsgEquality = (msg1, msg2) => {
84
73
  if (!(msg1.id === msg2.id)) {
85
74
  return false;
86
75
  }
87
- if (msg1.value && msg2.value) {
88
- return msg1.value.equals(msg2.value);
76
+ if (msg1.result.case === "value" &&
77
+ msg2.result.case === "value" &&
78
+ eq(msg1.result.value, msg2.result.value)) {
79
+ return true;
89
80
  }
90
- else if (msg1.failure && msg2.failure) {
91
- return (msg1.failure?.code === msg2.failure?.code &&
92
- msg1.failure?.message === msg2.failure?.message);
81
+ else if (msg1.result.case === "failure" && msg2.result.case === "failure") {
82
+ return (msg1.result.value.code === msg2.result.value.code &&
83
+ msg1.result.value.message === msg2.result.value.message);
93
84
  }
94
85
  else {
95
86
  return false;
96
87
  }
97
88
  };
98
89
  const outputMsgEquality = (msg1, msg2) => {
99
- if (msg1.value && msg2.value) {
100
- return msg1.value.equals(msg2.value);
90
+ if (msg1.result.case === "value" &&
91
+ msg2.result.case === "value" &&
92
+ eq(msg1.result.value, msg2.result.value)) {
93
+ return true;
101
94
  }
102
- else if (msg1.failure && msg2.failure) {
103
- return (msg1.failure?.code === msg2.failure?.code &&
104
- msg1.failure?.message === msg2.failure?.message);
95
+ else if (msg1.result.case === "failure" && msg2.result.case === "failure") {
96
+ return (msg1.result.value.code === msg2.result.value.code &&
97
+ msg1.result.value.message === msg2.result.value.message);
105
98
  }
106
99
  else {
107
100
  return false;
@@ -114,7 +107,7 @@ exports.equalityCheckers = new Map([
114
107
  [protocol_1.INVOKE_ENTRY_MESSAGE_TYPE, invokeMsgEquality],
115
108
  [protocol_1.BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE, invokeMsgEquality],
116
109
  [protocol_1.COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, completeAwakeableMsgEquality],
117
- [protocol_1.OUTPUT_STREAM_ENTRY_MESSAGE_TYPE, outputMsgEquality],
110
+ [protocol_1.OUTPUT_ENTRY_MESSAGE_TYPE, outputMsgEquality],
118
111
  [protocol_1.AWAKEABLE_ENTRY_MESSAGE_TYPE, () => true],
119
112
  [protocol_1.SIDE_EFFECT_ENTRY_MESSAGE_TYPE, () => true],
120
113
  [protocol_1.SLEEP_ENTRY_MESSAGE_TYPE, () => true],
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import * as restate from "../public_api";
6
6
  * - one run method: `run(ctx: WfContext, params: T) => Promise<R>`
7
7
  * - an arbitrary number of interaction methods: `foo(ctx: SharedWfContext, params: X) => Promise<Y>`
8
8
  */
9
- export declare function workflow<R, T, U>(path: string, workflow: Workflow<R, T, U>): WorkflowServices<R, T, U>;
9
+ export declare function workflow<P extends string, R, T, U>(name: P, workflow: Workflow<R, T, U>): WorkflowServices<P, R, T, U>;
10
10
  /**
11
11
  * The type signature of a workflow.
12
12
  * A workflow must consist of
@@ -32,12 +32,12 @@ type WorkflowMethods<R, T, U> = {
32
32
  * restate.createServer().bind(myWorkflow)
33
33
  * ```
34
34
  *
35
- * The {@link WorkflowServices.api} can be used to create typed clients, both
35
+ * The {@link WorkflowServices.api<P>} can be used to create typed clients, both
36
36
  * from other Restate-backed serviced (e.g., `ctx.rpc(api).triggerMySignal()`)
37
37
  * or from external clients (`clients.connectWorkflows(restateUri).connectToWorkflow(api, id);`).
38
38
  */
39
- export interface WorkflowServices<R, T, U> extends restate.ServiceBundle {
40
- readonly api: restate.ServiceApi<WorkflowRestateRpcApi<R, T, U>>;
39
+ export interface WorkflowServices<P extends string, R, T, U> extends restate.ServiceBundle {
40
+ readonly api: restate.ServiceDefinition<P, WorkflowRestateRpcApi<R, T, U>>;
41
41
  }
42
42
  export type DurablePromise<T> = restate.CombineablePromise<T> & {
43
43
  peek(): Promise<T | null>;
@@ -51,7 +51,7 @@ export type DurablePromise<T> = restate.CombineablePromise<T> & {
51
51
  * This gives primarily access to state reads and promises.
52
52
  */
53
53
  export interface SharedWfContext {
54
- workflowId(): string;
54
+ workflowId: string;
55
55
  get<T>(stateName: string): Promise<T | null>;
56
56
  promise<T = void>(name: string): DurablePromise<T>;
57
57
  }
@@ -61,7 +61,7 @@ export interface SharedWfContext {
61
61
  * This is a full context as for stateful durable keyed services, plus the
62
62
  * workflow-specific bits, like workflowID and durable promises.
63
63
  */
64
- export interface WfContext extends SharedWfContext, restate.KeyedContext {
64
+ export interface WfContext extends SharedWfContext, restate.ObjectContext {
65
65
  }
66
66
  export declare enum LifecycleStatus {
67
67
  NOT_STARTED = "NOT_STARTED",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../src/workflows/workflow.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
34
34
  };
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.WorkflowStartResult = exports.LifecycleStatus = exports.workflow = void 0;
37
+ const restate = __importStar(require("../public_api"));
37
38
  const wws = __importStar(require("./workflow_wrapper_service"));
38
39
  const wss = __importStar(require("./workflow_state_service"));
39
40
  const STATE_SERVICE_PATH_SUFFIX = "_state";
@@ -47,19 +48,22 @@ const STATE_SERVICE_PATH_SUFFIX = "_state";
47
48
  * - one run method: `run(ctx: WfContext, params: T) => Promise<R>`
48
49
  * - an arbitrary number of interaction methods: `foo(ctx: SharedWfContext, params: X) => Promise<Y>`
49
50
  */
50
- function workflow(path, workflow) {
51
+ function workflow(name, workflow) {
51
52
  // the state service manages all state and promises for us
52
- const stateServiceRouter = wss.workflowStateService;
53
+ const stateServiceRouter = restate.object({
54
+ name,
55
+ handlers: wss.workflowStateService,
56
+ });
53
57
  const stateServiceApi = {
54
- path: path + STATE_SERVICE_PATH_SUFFIX,
58
+ name: (name + STATE_SERVICE_PATH_SUFFIX),
55
59
  };
56
60
  // the wrapper service manages life cycle, contexts, delegation to the state service
57
- const wrapperServiceRouter = wws.createWrapperService(workflow, path, stateServiceApi);
61
+ const wrapperServiceRouter = wws.createWrapperService(workflow, name, stateServiceApi);
58
62
  return {
59
- api: { path },
63
+ api: { name },
60
64
  registerServices: (endpoint) => {
61
- endpoint.bindKeyedRouter(stateServiceApi.path, stateServiceRouter);
62
- endpoint.bindRouter(path, wrapperServiceRouter);
65
+ endpoint.bind(stateServiceRouter);
66
+ endpoint.bind(wrapperServiceRouter);
63
67
  },
64
68
  };
65
69
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/workflows/workflow.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uDAAyC;AACzC,gEAAkD;AAClD,8DAAgD;AAEhD,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAE3C,+EAA+E;AAC/E,wDAAwD;AACxD,+EAA+E;AAE/E;;;;;;GAMG;AACH,SAAgB,QAAQ,CACtB,IAAO,EACP,QAA2B;IAE3B,0DAA0D;IAC1D,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;QACxC,IAAI;QACJ,QAAQ,EAAE,GAAG,CAAC,oBAAoB;KACnC,CAAC,CAAC;IACH,MAAM,eAAe,GAAe;QAClC,IAAI,EAAE,CAAC,IAAI,GAAG,yBAAyB,CAAM;KAC9C,CAAC;IAEF,oFAAoF;IACpF,MAAM,oBAAoB,GAAG,GAAG,CAAC,oBAAoB,CACnD,QAAQ,EACR,IAAI,EACJ,eAAe,CAChB,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,EAAE,IAAI,EAGV;QACD,gBAAgB,EAAE,CAAC,QAAiC,EAAE,EAAE;YACtD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;KACqC,CAAC;AAC3C,CAAC;AA9BD,4BA8BC;AA+ED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,8CAA2B,CAAA;IAC3B,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;AACnB,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,0DAAmC,CAAA;IACnC,4DAAqC,CAAA;AACvC,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B"}
@@ -0,0 +1,35 @@
1
+ import * as restate from "../public_api";
2
+ import { LifecycleStatus, WorkflowStartResult } from "./workflow";
3
+ export type ValueOrError<T> = {
4
+ value?: T;
5
+ error?: string;
6
+ };
7
+ export type api<P extends string> = restate.VirtualObjectDefinition<P, restate.VirtualObject<typeof workflowStateService>>;
8
+ export declare const workflowStateService: {
9
+ startWorkflow: (ctx: restate.ObjectContext) => Promise<WorkflowStartResult>;
10
+ finishOrFailWorkflow: <R>(ctx: restate.ObjectContext, result: ValueOrError<R>) => Promise<void>;
11
+ getStatus: (ctx: restate.ObjectContext) => Promise<LifecycleStatus>;
12
+ completePromise: <T>(ctx: restate.ObjectContext, req: {
13
+ promiseName: string;
14
+ completion: ValueOrError<T>;
15
+ }) => Promise<void>;
16
+ peekPromise: <T_1>(ctx: restate.ObjectContext, req: {
17
+ promiseName: string;
18
+ }) => Promise<ValueOrError<T_1> | null>;
19
+ subscribePromise: <T_2>(ctx: restate.ObjectContext, req: {
20
+ promiseName: string;
21
+ awkId: string;
22
+ }) => Promise<ValueOrError<T_2> | null>;
23
+ getResult: <R_1>(ctx: restate.ObjectContext) => Promise<ValueOrError<R_1> | null>;
24
+ subscribeResult: <T_3>(ctx: restate.ObjectContext, awkId: string) => Promise<ValueOrError<T_3> | null>;
25
+ getState: <T_4>(ctx: restate.ObjectContext, stateName: string) => Promise<T_4 | null>;
26
+ setState: <T_5>(ctx: restate.ObjectContext, request: {
27
+ stateName: string;
28
+ value: T_5;
29
+ }) => Promise<void>;
30
+ clearState: (ctx: restate.ObjectContext, stateName: string) => Promise<void>;
31
+ stateKeys: (ctx: restate.ObjectContext) => Promise<Array<string>>;
32
+ clearAllState: (ctx: restate.ObjectContext) => Promise<void>;
33
+ dispose: (ctx: restate.ObjectContext) => Promise<void>;
34
+ };
35
+ //# sourceMappingURL=workflow_state_service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow_state_service.d.ts","sourceRoot":"","sources":["../../../src/workflows/workflow_state_service.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AASlE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC,uBAAuB,CACjE,CAAC,EACD,OAAO,CAAC,aAAa,CAAC,OAAO,oBAAoB,CAAC,CACnD,CAAC;AAEF,eAAO,MAAM,oBAAoB;yBAExB,QAAQ,aAAa,KACzB,QAAQ,mBAAmB,CAAC;mCAgBxB,QAAQ,aAAa,8BAEzB,QAAQ,IAAI,CAAC;qBA2BO,QAAQ,aAAa,KAAG,QAAQ,eAAe,CAAC;8BAQhE,QAAQ,aAAa;qBACN,MAAM;;UACzB,QAAQ,IAAI,CAAC;4BAeT,QAAQ,aAAa,OACrB;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;iCAMvB,QAAQ,aAAa,OACrB;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;0BAWtC,QAAQ,aAAa;gCAMrB,QAAQ,aAAa,SACnB,MAAM;yBAmBR,QAAQ,aAAa,aACf,MAAM;yBAMZ,QAAQ,aAAa;mBACJ,MAAM;;UAC3B,QAAQ,IAAI,CAAC;sBAqBT,QAAQ,aAAa,aACf,MAAM,KAChB,QAAQ,IAAI,CAAC;qBAIO,QAAQ,aAAa,KAAG,QAAQ,MAAM,MAAM,CAAC,CAAC;yBAM1C,QAAQ,aAAa,KAAG,QAAQ,IAAI,CAAC;mBAS3C,QAAQ,aAAa,KAAG,QAAQ,IAAI,CAAC;CAG3D,CAAC"}
@@ -42,7 +42,7 @@ const RESULT_LISTENERS_NAME = "result_listeners";
42
42
  const PROMISE_STATE_PREFIX = "prom_s_";
43
43
  const USER_STATE_PREFIX = "state_";
44
44
  const PROMISE_AWAKEABLE_PREFIX = "prom_l_";
45
- exports.workflowStateService = restate.keyedRouter({
45
+ exports.workflowStateService = {
46
46
  startWorkflow: async (ctx) => {
47
47
  const status = (await ctx.get(LIFECYCLE_STATUS_STATE_NAME)) ??
48
48
  workflow_1.LifecycleStatus.NOT_STARTED;
@@ -54,7 +54,7 @@ exports.workflowStateService = restate.keyedRouter({
54
54
  ctx.set(LIFECYCLE_STATUS_STATE_NAME, workflow_1.LifecycleStatus.RUNNING);
55
55
  return workflow_1.WorkflowStartResult.STARTED;
56
56
  },
57
- finishOrFailWorkflow: async (ctx, _workflowId, result) => {
57
+ finishOrFailWorkflow: async (ctx, result) => {
58
58
  if (result.error === undefined && result.value === undefined) {
59
59
  throw new restate.TerminalError("Result is undefined");
60
60
  }
@@ -74,34 +74,34 @@ exports.workflowStateService = restate.keyedRouter({
74
74
  return ((await ctx.get(LIFECYCLE_STATUS_STATE_NAME)) ??
75
75
  workflow_1.LifecycleStatus.NOT_STARTED);
76
76
  },
77
- completePromise: async (ctx, _workflowId, req) => {
77
+ completePromise: async (ctx, req) => {
78
78
  // we don't accept writes after the workflow is done
79
79
  if (!(await checkIfRunning(ctx))) {
80
80
  return;
81
81
  }
82
82
  await completePromise(ctx, PROMISE_STATE_PREFIX + req.promiseName, PROMISE_AWAKEABLE_PREFIX + req.promiseName, req.completion);
83
83
  },
84
- peekPromise: async (ctx, _workflowId, req) => {
84
+ peekPromise: async (ctx, req) => {
85
85
  return peekPromise(ctx, PROMISE_STATE_PREFIX + req.promiseName);
86
86
  },
87
- subscribePromise: async (ctx, _workflowId, req) => {
87
+ subscribePromise: async (ctx, req) => {
88
88
  return subscribePromise(ctx, PROMISE_STATE_PREFIX + req.promiseName, PROMISE_AWAKEABLE_PREFIX + req.promiseName, req.awkId);
89
89
  },
90
90
  getResult: async (ctx) => {
91
91
  return peekPromise(ctx, RESULT_STATE_NAME);
92
92
  },
93
- subscribeResult: async (ctx, workflowId, awkId) => {
93
+ subscribeResult: async (ctx, awkId) => {
94
94
  const status = (await ctx.get(LIFECYCLE_STATUS_STATE_NAME)) ??
95
95
  workflow_1.LifecycleStatus.NOT_STARTED;
96
96
  if (status === workflow_1.LifecycleStatus.NOT_STARTED) {
97
- throw new restate.TerminalError(`Workflow with id '${workflowId}' does not exist.`);
97
+ throw new restate.TerminalError(`Workflow with id '${ctx.key}' does not exist.`);
98
98
  }
99
99
  return subscribePromise(ctx, RESULT_STATE_NAME, RESULT_LISTENERS_NAME, awkId);
100
100
  },
101
- getState: async (ctx, _workflowId, stateName) => {
101
+ getState: async (ctx, stateName) => {
102
102
  return ctx.get(USER_STATE_PREFIX + stateName);
103
103
  },
104
- setState: async (ctx, _workflowId, request) => {
104
+ setState: async (ctx, request) => {
105
105
  if (!request?.stateName) {
106
106
  throw new restate.TerminalError("missing state name");
107
107
  }
@@ -117,7 +117,7 @@ exports.workflowStateService = restate.keyedRouter({
117
117
  const stateName = USER_STATE_PREFIX + request.stateName;
118
118
  ctx.set(stateName, request.value);
119
119
  },
120
- clearState: async (ctx, _workflowId, stateName) => {
120
+ clearState: async (ctx, stateName) => {
121
121
  ctx.clear(USER_STATE_PREFIX + stateName);
122
122
  },
123
123
  stateKeys: async (ctx) => {
@@ -132,7 +132,7 @@ exports.workflowStateService = restate.keyedRouter({
132
132
  dispose: async (ctx) => {
133
133
  ctx.clearAll();
134
134
  },
135
- });
135
+ };
136
136
  // ----------------------------------------------------------------------------
137
137
  async function completePromise(ctx, stateName, awakeableStateName, completion) {
138
138
  if (completion.value !== undefined && completion.error !== undefined) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow_state_service.js","sourceRoot":"","sources":["../../../src/workflows/workflow_state_service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import * as restate from "../public_api";
2
2
  import * as wf from "./workflow";
3
3
  import * as wss from "./workflow_state_service";
4
- export declare function createWrapperService<R, T, M>(workflow: wf.Workflow<R, T, M>, path: string, stateServiceApi: restate.ServiceApi<wss.api>): restate.UnKeyedRouter<{
4
+ export declare function createWrapperService<P extends string, R, T, M>(workflow: wf.Workflow<R, T, M>, name: P, stateServiceApi: wss.api<P>): restate.ServiceDefinition<P, restate.Service<{
5
5
  submit: (ctx: restate.Context, request: wf.WorkflowRequest<T>) => Promise<wf.WorkflowStartResult>;
6
6
  run: (ctx: restate.Context, request: wf.WorkflowRequest<T>) => Promise<R>;
7
7
  waitForResult: (ctx: restate.Context, request: wf.WorkflowRequest<unknown>) => Promise<R>;
8
8
  status: (ctx: restate.Context, request: wf.WorkflowRequest<unknown>) => Promise<wf.LifecycleStatus>;
9
- }>;
9
+ }>>;
10
10
  //# sourceMappingURL=workflow_wrapper_service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow_wrapper_service.d.ts","sourceRoot":"","sources":["../../../src/workflows/workflow_wrapper_service.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AA2LhD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5D,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,IAAI,EAAE,CAAC,EACP,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;kBAIlB,QAAQ,OAAO,WACX,GAAG,eAAe,CAAC,CAAC,CAAC,KAC7B,QAAQ,GAAG,mBAAmB,CAAC;eAa3B,QAAQ,OAAO,WACX,GAAG,eAAe,CAAC,CAAC,CAAC,KAC7B,QAAQ,CAAC,CAAC;yBA+BN,QAAQ,OAAO,WACX,GAAG,eAAe,CAAC,OAAO,CAAC,KACnC,QAAQ,CAAC,CAAC;kBAWN,QAAQ,OAAO,WACX,GAAG,eAAe,CAAC,OAAO,CAAC,KACnC,QAAQ,GAAG,eAAe,CAAC;IA2CjC"}