@restatedev/restate-sdk 0.9.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/README.md +10 -0
  2. package/dist/cjs/package.json +1 -0
  3. package/dist/cjs/src/common_api.d.ts +7 -0
  4. package/dist/cjs/src/common_api.d.ts.map +1 -0
  5. package/dist/cjs/src/common_api.js +25 -0
  6. package/dist/cjs/src/common_api.js.map +1 -0
  7. package/dist/{src → cjs/src}/connection/buffered_connection.d.ts +3 -4
  8. package/dist/cjs/src/connection/buffered_connection.d.ts.map +1 -0
  9. package/dist/{src → cjs/src}/connection/buffered_connection.js +2 -2
  10. package/dist/cjs/src/connection/buffered_connection.js.map +1 -0
  11. package/dist/{src → cjs/src}/connection/connection.d.ts +2 -1
  12. package/dist/cjs/src/connection/connection.d.ts.map +1 -0
  13. package/dist/cjs/src/connection/connection.js.map +1 -0
  14. package/dist/{src → cjs/src}/connection/http_connection.d.ts +9 -5
  15. package/dist/cjs/src/connection/http_connection.d.ts.map +1 -0
  16. package/dist/{src → cjs/src}/connection/http_connection.js +16 -11
  17. package/dist/cjs/src/connection/http_connection.js.map +1 -0
  18. package/dist/{src → cjs/src}/connection/lambda_connection.d.ts +5 -3
  19. package/dist/cjs/src/connection/lambda_connection.d.ts.map +1 -0
  20. package/dist/{src → cjs/src}/connection/lambda_connection.js +14 -9
  21. package/dist/cjs/src/connection/lambda_connection.js.map +1 -0
  22. package/dist/{src → cjs/src}/context.d.ts +149 -44
  23. package/dist/cjs/src/context.d.ts.map +1 -0
  24. package/dist/{src → cjs/src}/context.js +5 -5
  25. package/dist/cjs/src/context.js.map +1 -0
  26. package/dist/cjs/src/context_impl.d.ts +54 -0
  27. package/dist/cjs/src/context_impl.d.ts.map +1 -0
  28. package/dist/{src → cjs/src}/context_impl.js +168 -106
  29. package/dist/cjs/src/context_impl.js.map +1 -0
  30. package/dist/cjs/src/endpoint/endpoint_builder.d.ts +18 -0
  31. package/dist/cjs/src/endpoint/endpoint_builder.d.ts.map +1 -0
  32. package/dist/cjs/src/endpoint/endpoint_builder.js +130 -0
  33. package/dist/cjs/src/endpoint/endpoint_builder.js.map +1 -0
  34. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +37 -0
  35. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +1 -0
  36. package/dist/cjs/src/endpoint/fetch_endpoint.js +46 -0
  37. package/dist/cjs/src/endpoint/fetch_endpoint.js.map +1 -0
  38. package/dist/cjs/src/endpoint/handlers/fetch.d.ts +6 -0
  39. package/dist/cjs/src/endpoint/handlers/fetch.d.ts.map +1 -0
  40. package/dist/cjs/src/endpoint/handlers/fetch.js +34 -0
  41. package/dist/cjs/src/endpoint/handlers/fetch.js.map +1 -0
  42. package/dist/cjs/src/endpoint/handlers/generic.d.ts +44 -0
  43. package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +1 -0
  44. package/dist/cjs/src/endpoint/handlers/generic.js +193 -0
  45. package/dist/cjs/src/endpoint/handlers/generic.js.map +1 -0
  46. package/dist/cjs/src/endpoint/handlers/lambda.d.ts +8 -0
  47. package/dist/cjs/src/endpoint/handlers/lambda.d.ts.map +1 -0
  48. package/dist/cjs/src/endpoint/handlers/lambda.js +66 -0
  49. package/dist/cjs/src/endpoint/handlers/lambda.js.map +1 -0
  50. package/dist/{src/endpoint/http2_handler.d.ts → cjs/src/endpoint/handlers/node.d.ts} +4 -4
  51. package/dist/cjs/src/endpoint/handlers/node.d.ts.map +1 -0
  52. package/dist/cjs/src/endpoint/handlers/node.js +188 -0
  53. package/dist/cjs/src/endpoint/handlers/node.js.map +1 -0
  54. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +32 -0
  55. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +1 -0
  56. package/dist/cjs/src/endpoint/lambda_endpoint.js +55 -0
  57. package/dist/cjs/src/endpoint/lambda_endpoint.js.map +1 -0
  58. package/dist/cjs/src/endpoint/node_endpoint.d.ts +19 -0
  59. package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +1 -0
  60. package/dist/cjs/src/endpoint/node_endpoint.js +116 -0
  61. package/dist/cjs/src/endpoint/node_endpoint.js.map +1 -0
  62. package/dist/cjs/src/endpoint/request_signing/basex.d.ts.map +1 -0
  63. package/dist/cjs/src/endpoint/request_signing/basex.js.map +1 -0
  64. package/dist/{src → cjs/src}/endpoint/request_signing/ed25519.d.ts +1 -1
  65. package/dist/cjs/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
  66. package/dist/{src → cjs/src}/endpoint/request_signing/ed25519.js +3 -1
  67. package/dist/cjs/src/endpoint/request_signing/ed25519.js.map +1 -0
  68. package/dist/{src → cjs/src}/endpoint/request_signing/v1.d.ts +2 -2
  69. package/dist/cjs/src/endpoint/request_signing/v1.d.ts.map +1 -0
  70. package/dist/{src → cjs/src}/endpoint/request_signing/v1.js +9 -16
  71. package/dist/cjs/src/endpoint/request_signing/v1.js.map +1 -0
  72. package/dist/{src → cjs/src}/endpoint/request_signing/validate.d.ts +1 -1
  73. package/dist/cjs/src/endpoint/request_signing/validate.d.ts.map +1 -0
  74. package/dist/{src → cjs/src}/endpoint/request_signing/validate.js +3 -3
  75. package/dist/cjs/src/endpoint/request_signing/validate.js.map +1 -0
  76. package/dist/{src → cjs/src}/endpoint.d.ts +27 -26
  77. package/dist/cjs/src/endpoint.d.ts.map +1 -0
  78. package/dist/{src → cjs/src}/endpoint.js +0 -9
  79. package/dist/cjs/src/endpoint.js.map +1 -0
  80. package/dist/cjs/src/fetch.d.ts +7 -0
  81. package/dist/cjs/src/fetch.d.ts.map +1 -0
  82. package/dist/cjs/src/fetch.js +37 -0
  83. package/dist/cjs/src/fetch.js.map +1 -0
  84. package/dist/cjs/src/generated/proto/discovery_pb.d.ts +18 -0
  85. package/dist/cjs/src/generated/proto/discovery_pb.d.ts.map +1 -0
  86. package/dist/cjs/src/generated/proto/discovery_pb.js +40 -0
  87. package/dist/cjs/src/generated/proto/discovery_pb.js.map +1 -0
  88. package/dist/cjs/src/generated/proto/javascript_pb.d.ts.map +1 -0
  89. package/dist/cjs/src/generated/proto/javascript_pb.js.map +1 -0
  90. package/dist/{src → cjs/src}/generated/proto/protocol_pb.d.ts +186 -0
  91. package/dist/cjs/src/generated/proto/protocol_pb.d.ts.map +1 -0
  92. package/dist/{src → cjs/src}/generated/proto/protocol_pb.js +177 -1
  93. package/dist/cjs/src/generated/proto/protocol_pb.js.map +1 -0
  94. package/dist/cjs/src/generated/version.d.ts +2 -0
  95. package/dist/cjs/src/generated/version.d.ts.map +1 -0
  96. package/dist/{src → cjs/src}/generated/version.js +1 -1
  97. package/dist/cjs/src/generated/version.js.map +1 -0
  98. package/dist/{src → cjs/src}/invocation.d.ts +5 -5
  99. package/dist/cjs/src/invocation.d.ts.map +1 -0
  100. package/dist/{src → cjs/src}/invocation.js +14 -14
  101. package/dist/cjs/src/invocation.js.map +1 -0
  102. package/dist/{src → cjs/src}/io/decoder.d.ts +1 -2
  103. package/dist/cjs/src/io/decoder.d.ts.map +1 -0
  104. package/dist/{src → cjs/src}/io/decoder.js +20 -24
  105. package/dist/cjs/src/io/decoder.js.map +1 -0
  106. package/dist/{src → cjs/src}/io/encoder.d.ts +1 -1
  107. package/dist/cjs/src/io/encoder.d.ts.map +1 -0
  108. package/dist/{src → cjs/src}/io/encoder.js +6 -6
  109. package/dist/cjs/src/io/encoder.js.map +1 -0
  110. package/dist/{src → cjs/src}/journal.d.ts +7 -7
  111. package/dist/cjs/src/journal.d.ts.map +1 -0
  112. package/dist/{src → cjs/src}/journal.js +54 -37
  113. package/dist/cjs/src/journal.js.map +1 -0
  114. package/dist/cjs/src/lambda.d.ts +7 -0
  115. package/dist/cjs/src/lambda.d.ts.map +1 -0
  116. package/dist/cjs/src/lambda.js +37 -0
  117. package/dist/cjs/src/lambda.js.map +1 -0
  118. package/dist/{src → cjs/src}/local_state_store.d.ts +2 -1
  119. package/dist/cjs/src/local_state_store.d.ts.map +1 -0
  120. package/dist/{src → cjs/src}/local_state_store.js +10 -10
  121. package/dist/cjs/src/local_state_store.js.map +1 -0
  122. package/dist/cjs/src/logger.d.ts.map +1 -0
  123. package/dist/{src → cjs/src}/logger.js +1 -8
  124. package/dist/cjs/src/logger.js.map +1 -0
  125. package/dist/{src → cjs/src}/promise_combinator_tracker.d.ts +1 -1
  126. package/dist/cjs/src/promise_combinator_tracker.d.ts.map +1 -0
  127. package/dist/{src → cjs/src}/promise_combinator_tracker.js +7 -5
  128. package/dist/cjs/src/promise_combinator_tracker.js.map +1 -0
  129. package/dist/cjs/src/public_api.d.ts +7 -0
  130. package/dist/cjs/src/public_api.d.ts.map +1 -0
  131. package/dist/cjs/src/public_api.js +37 -0
  132. package/dist/cjs/src/public_api.js.map +1 -0
  133. package/dist/{src → cjs/src}/state_machine.d.ts +14 -13
  134. package/dist/cjs/src/state_machine.d.ts.map +1 -0
  135. package/dist/{src → cjs/src}/state_machine.js +59 -59
  136. package/dist/cjs/src/state_machine.js.map +1 -0
  137. package/dist/cjs/src/types/components.d.ts +78 -0
  138. package/dist/cjs/src/types/components.d.ts.map +1 -0
  139. package/dist/cjs/src/types/components.js +260 -0
  140. package/dist/cjs/src/types/components.js.map +1 -0
  141. package/dist/{src → cjs/src}/types/discovery.d.ts +6 -3
  142. package/dist/cjs/src/types/discovery.d.ts.map +1 -0
  143. package/dist/{src → cjs/src}/types/discovery.js +5 -3
  144. package/dist/cjs/src/types/discovery.js.map +1 -0
  145. package/dist/{src → cjs/src}/types/errors.d.ts +2 -2
  146. package/dist/cjs/src/types/errors.d.ts.map +1 -0
  147. package/dist/{src → cjs/src}/types/errors.js +8 -8
  148. package/dist/cjs/src/types/errors.js.map +1 -0
  149. package/dist/{src → cjs/src}/types/protocol.d.ts +16 -9
  150. package/dist/cjs/src/types/protocol.d.ts.map +1 -0
  151. package/dist/cjs/src/types/protocol.js +237 -0
  152. package/dist/cjs/src/types/protocol.js.map +1 -0
  153. package/dist/cjs/src/types/rpc.d.ts +300 -0
  154. package/dist/cjs/src/types/rpc.d.ts.map +1 -0
  155. package/dist/cjs/src/types/rpc.js +419 -0
  156. package/dist/cjs/src/types/rpc.js.map +1 -0
  157. package/dist/{src → cjs/src}/types/types.d.ts +3 -5
  158. package/dist/cjs/src/types/types.d.ts.map +1 -0
  159. package/dist/{src → cjs/src}/types/types.js +17 -28
  160. package/dist/cjs/src/types/types.js.map +1 -0
  161. package/dist/cjs/src/user_agent.d.ts +2 -0
  162. package/dist/cjs/src/user_agent.d.ts.map +1 -0
  163. package/dist/{src → cjs/src}/user_agent.js +2 -2
  164. package/dist/cjs/src/user_agent.js.map +1 -0
  165. package/dist/cjs/src/utils/buffer.d.ts +5 -0
  166. package/dist/cjs/src/utils/buffer.d.ts.map +1 -0
  167. package/dist/cjs/src/utils/buffer.js +59 -0
  168. package/dist/cjs/src/utils/buffer.js.map +1 -0
  169. package/dist/{src → cjs/src}/utils/message_logger.d.ts +1 -1
  170. package/dist/cjs/src/utils/message_logger.d.ts.map +1 -0
  171. package/dist/{src → cjs/src}/utils/message_logger.js +7 -7
  172. package/dist/cjs/src/utils/message_logger.js.map +1 -0
  173. package/dist/cjs/src/utils/promises.d.ts.map +1 -0
  174. package/dist/{src → cjs/src}/utils/promises.js +2 -1
  175. package/dist/cjs/src/utils/promises.js.map +1 -0
  176. package/dist/{src → cjs/src}/utils/rand.d.ts +3 -3
  177. package/dist/cjs/src/utils/rand.d.ts.map +1 -0
  178. package/dist/{src → cjs/src}/utils/rand.js +10 -15
  179. package/dist/cjs/src/utils/rand.js.map +1 -0
  180. package/dist/cjs/src/utils/serde.d.ts +5 -0
  181. package/dist/cjs/src/utils/serde.d.ts.map +1 -0
  182. package/dist/cjs/src/utils/serde.js +50 -0
  183. package/dist/cjs/src/utils/serde.js.map +1 -0
  184. package/dist/cjs/src/utils/utils.d.ts.map +1 -0
  185. package/dist/{src → cjs/src}/utils/utils.js +11 -11
  186. package/dist/cjs/src/utils/utils.js.map +1 -0
  187. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  188. package/dist/esm/src/common_api.d.ts +7 -0
  189. package/dist/esm/src/common_api.d.ts.map +1 -0
  190. package/dist/esm/src/common_api.js +14 -0
  191. package/dist/esm/src/common_api.js.map +1 -0
  192. package/dist/esm/src/connection/buffered_connection.d.ts +14 -0
  193. package/dist/esm/src/connection/buffered_connection.d.ts.map +1 -0
  194. package/dist/esm/src/connection/buffered_connection.js +40 -0
  195. package/dist/esm/src/connection/buffered_connection.js.map +1 -0
  196. package/dist/esm/src/connection/connection.d.ts +20 -0
  197. package/dist/esm/src/connection/connection.d.ts.map +1 -0
  198. package/dist/esm/src/connection/connection.js +12 -0
  199. package/dist/esm/src/connection/connection.js.map +1 -0
  200. package/dist/esm/src/connection/http_connection.d.ts +77 -0
  201. package/dist/esm/src/connection/http_connection.d.ts.map +1 -0
  202. package/dist/esm/src/connection/http_connection.js +204 -0
  203. package/dist/esm/src/connection/http_connection.js.map +1 -0
  204. package/dist/esm/src/connection/lambda_connection.d.ts +17 -0
  205. package/dist/esm/src/connection/lambda_connection.d.ts.map +1 -0
  206. package/dist/esm/src/connection/lambda_connection.js +60 -0
  207. package/dist/esm/src/connection/lambda_connection.js.map +1 -0
  208. package/dist/esm/src/context.d.ts +541 -0
  209. package/dist/esm/src/context.d.ts.map +1 -0
  210. package/dist/esm/src/context.js +75 -0
  211. package/dist/esm/src/context.js.map +1 -0
  212. package/dist/esm/src/context_impl.d.ts +54 -0
  213. package/dist/esm/src/context_impl.d.ts.map +1 -0
  214. package/dist/esm/src/context_impl.js +515 -0
  215. package/dist/esm/src/context_impl.js.map +1 -0
  216. package/dist/esm/src/endpoint/endpoint_builder.d.ts +18 -0
  217. package/dist/esm/src/endpoint/endpoint_builder.d.ts.map +1 -0
  218. package/dist/esm/src/endpoint/endpoint_builder.js +126 -0
  219. package/dist/esm/src/endpoint/endpoint_builder.js.map +1 -0
  220. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +37 -0
  221. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +1 -0
  222. package/dist/esm/src/endpoint/fetch_endpoint.js +42 -0
  223. package/dist/esm/src/endpoint/fetch_endpoint.js.map +1 -0
  224. package/dist/esm/src/endpoint/handlers/fetch.d.ts +6 -0
  225. package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +1 -0
  226. package/dist/esm/src/endpoint/handlers/fetch.js +30 -0
  227. package/dist/esm/src/endpoint/handlers/fetch.js.map +1 -0
  228. package/dist/esm/src/endpoint/handlers/generic.d.ts +44 -0
  229. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +1 -0
  230. package/dist/esm/src/endpoint/handlers/generic.js +189 -0
  231. package/dist/esm/src/endpoint/handlers/generic.js.map +1 -0
  232. package/dist/esm/src/endpoint/handlers/lambda.d.ts +8 -0
  233. package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +1 -0
  234. package/dist/esm/src/endpoint/handlers/lambda.js +62 -0
  235. package/dist/esm/src/endpoint/handlers/lambda.js.map +1 -0
  236. package/dist/esm/src/endpoint/handlers/node.d.ts +11 -0
  237. package/dist/esm/src/endpoint/handlers/node.d.ts.map +1 -0
  238. package/dist/esm/src/endpoint/handlers/node.js +181 -0
  239. package/dist/esm/src/endpoint/handlers/node.js.map +1 -0
  240. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +32 -0
  241. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +1 -0
  242. package/dist/esm/src/endpoint/lambda_endpoint.js +51 -0
  243. package/dist/esm/src/endpoint/lambda_endpoint.js.map +1 -0
  244. package/dist/esm/src/endpoint/node_endpoint.d.ts +19 -0
  245. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +1 -0
  246. package/dist/esm/src/endpoint/node_endpoint.js +89 -0
  247. package/dist/esm/src/endpoint/node_endpoint.js.map +1 -0
  248. package/dist/esm/src/endpoint/request_signing/basex.d.ts +10 -0
  249. package/dist/esm/src/endpoint/request_signing/basex.d.ts.map +1 -0
  250. package/dist/esm/src/endpoint/request_signing/basex.js +136 -0
  251. package/dist/esm/src/endpoint/request_signing/basex.js.map +1 -0
  252. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts +17 -0
  253. package/dist/esm/src/endpoint/request_signing/ed25519.d.ts.map +1 -0
  254. package/dist/esm/src/endpoint/request_signing/ed25519.js +52 -0
  255. package/dist/esm/src/endpoint/request_signing/ed25519.js.map +1 -0
  256. package/dist/esm/src/endpoint/request_signing/v1.d.ts +9 -0
  257. package/dist/esm/src/endpoint/request_signing/v1.d.ts.map +1 -0
  258. package/dist/esm/src/endpoint/request_signing/v1.js +133 -0
  259. package/dist/esm/src/endpoint/request_signing/v1.js.map +1 -0
  260. package/dist/esm/src/endpoint/request_signing/validate.d.ts +18 -0
  261. package/dist/esm/src/endpoint/request_signing/validate.d.ts.map +1 -0
  262. package/dist/esm/src/endpoint/request_signing/validate.js +40 -0
  263. package/dist/esm/src/endpoint/request_signing/validate.js.map +1 -0
  264. package/dist/esm/src/endpoint.d.ts +103 -0
  265. package/dist/esm/src/endpoint.d.ts.map +1 -0
  266. package/dist/esm/src/endpoint.js +12 -0
  267. package/dist/esm/src/endpoint.js.map +1 -0
  268. package/dist/esm/src/fetch.d.ts +7 -0
  269. package/dist/esm/src/fetch.d.ts.map +1 -0
  270. package/dist/esm/src/fetch.js +19 -0
  271. package/dist/esm/src/fetch.js.map +1 -0
  272. package/dist/esm/src/generated/proto/discovery_pb.d.ts +18 -0
  273. package/dist/esm/src/generated/proto/discovery_pb.d.ts.map +1 -0
  274. package/dist/esm/src/generated/proto/discovery_pb.js +37 -0
  275. package/dist/esm/src/generated/proto/discovery_pb.js.map +1 -0
  276. package/dist/esm/src/generated/proto/javascript_pb.d.ts +26 -0
  277. package/dist/esm/src/generated/proto/javascript_pb.d.ts.map +1 -0
  278. package/dist/esm/src/generated/proto/javascript_pb.js +48 -0
  279. package/dist/esm/src/generated/proto/javascript_pb.js.map +1 -0
  280. package/dist/esm/src/generated/proto/protocol_pb.d.ts +1051 -0
  281. package/dist/esm/src/generated/proto/protocol_pb.d.ts.map +1 -0
  282. package/dist/esm/src/generated/proto/protocol_pb.js +1258 -0
  283. package/dist/esm/src/generated/proto/protocol_pb.js.map +1 -0
  284. package/dist/esm/src/generated/version.d.ts +2 -0
  285. package/dist/esm/src/generated/version.d.ts.map +1 -0
  286. package/dist/esm/src/generated/version.js +2 -0
  287. package/dist/esm/src/generated/version.js.map +1 -0
  288. package/dist/esm/src/invocation.d.ts +48 -0
  289. package/dist/esm/src/invocation.d.ts.map +1 -0
  290. package/dist/esm/src/invocation.js +153 -0
  291. package/dist/esm/src/invocation.js.map +1 -0
  292. package/dist/esm/src/io/decoder.d.ts +9 -0
  293. package/dist/esm/src/io/decoder.d.ts.map +1 -0
  294. package/dist/esm/src/io/decoder.js +129 -0
  295. package/dist/esm/src/io/decoder.js.map +1 -0
  296. package/dist/esm/src/io/encoder.d.ts +7 -0
  297. package/dist/esm/src/io/encoder.d.ts.map +1 -0
  298. package/dist/esm/src/io/encoder.js +49 -0
  299. package/dist/esm/src/io/encoder.js.map +1 -0
  300. package/dist/esm/src/journal.d.ts +52 -0
  301. package/dist/esm/src/journal.d.ts.map +1 -0
  302. package/dist/esm/src/journal.js +412 -0
  303. package/dist/esm/src/journal.js.map +1 -0
  304. package/dist/esm/src/lambda.d.ts +7 -0
  305. package/dist/esm/src/lambda.d.ts.map +1 -0
  306. package/dist/esm/src/lambda.js +19 -0
  307. package/dist/esm/src/lambda.js.map +1 -0
  308. package/dist/esm/src/local_state_store.d.ts +16 -0
  309. package/dist/esm/src/local_state_store.d.ts.map +1 -0
  310. package/dist/esm/src/local_state_store.js +80 -0
  311. package/dist/esm/src/local_state_store.js.map +1 -0
  312. package/dist/esm/src/logger.d.ts +27 -0
  313. package/dist/esm/src/logger.d.ts.map +1 -0
  314. package/dist/esm/src/logger.js +146 -0
  315. package/dist/esm/src/logger.js.map +1 -0
  316. package/dist/esm/src/promise_combinator_tracker.d.ts +29 -0
  317. package/dist/esm/src/promise_combinator_tracker.d.ts.map +1 -0
  318. package/dist/esm/src/promise_combinator_tracker.js +125 -0
  319. package/dist/esm/src/promise_combinator_tracker.js.map +1 -0
  320. package/dist/esm/src/public_api.d.ts +7 -0
  321. package/dist/esm/src/public_api.d.ts.map +1 -0
  322. package/dist/esm/src/public_api.js +19 -0
  323. package/dist/esm/src/public_api.js.map +1 -0
  324. package/dist/esm/src/state_machine.d.ts +86 -0
  325. package/dist/esm/src/state_machine.d.ts.map +1 -0
  326. package/dist/esm/src/state_machine.js +407 -0
  327. package/dist/esm/src/state_machine.js.map +1 -0
  328. package/dist/esm/src/types/components.d.ts +78 -0
  329. package/dist/esm/src/types/components.d.ts.map +1 -0
  330. package/dist/esm/src/types/components.js +227 -0
  331. package/dist/esm/src/types/components.js.map +1 -0
  332. package/dist/esm/src/types/discovery.d.ts +43 -0
  333. package/dist/esm/src/types/discovery.d.ts.map +1 -0
  334. package/dist/esm/src/types/discovery.js +28 -0
  335. package/dist/esm/src/types/discovery.js.map +1 -0
  336. package/dist/esm/src/types/errors.d.ts +53 -0
  337. package/dist/esm/src/types/errors.d.ts.map +1 -0
  338. package/dist/esm/src/types/errors.js +117 -0
  339. package/dist/esm/src/types/errors.js.map +1 -0
  340. package/dist/esm/src/types/protocol.d.ts +40 -0
  341. package/dist/esm/src/types/protocol.d.ts.map +1 -0
  342. package/dist/esm/src/types/protocol.js +206 -0
  343. package/dist/esm/src/types/protocol.js.map +1 -0
  344. package/dist/esm/src/types/rpc.d.ts +300 -0
  345. package/dist/esm/src/types/rpc.d.ts.map +1 -0
  346. package/dist/esm/src/types/rpc.js +412 -0
  347. package/dist/esm/src/types/rpc.js.map +1 -0
  348. package/dist/esm/src/types/types.d.ts +20 -0
  349. package/dist/esm/src/types/types.d.ts.map +1 -0
  350. package/dist/esm/src/types/types.js +105 -0
  351. package/dist/esm/src/types/types.js.map +1 -0
  352. package/dist/esm/src/user_agent.d.ts +2 -0
  353. package/dist/esm/src/user_agent.d.ts.map +1 -0
  354. package/dist/esm/src/user_agent.js +13 -0
  355. package/dist/esm/src/user_agent.js.map +1 -0
  356. package/dist/esm/src/utils/buffer.d.ts +5 -0
  357. package/dist/esm/src/utils/buffer.d.ts.map +1 -0
  358. package/dist/esm/src/utils/buffer.js +53 -0
  359. package/dist/esm/src/utils/buffer.js.map +1 -0
  360. package/dist/esm/src/utils/message_logger.d.ts +7 -0
  361. package/dist/esm/src/utils/message_logger.d.ts.map +1 -0
  362. package/dist/esm/src/utils/message_logger.js +75 -0
  363. package/dist/esm/src/utils/message_logger.js.map +1 -0
  364. package/dist/esm/src/utils/promises.d.ts +15 -0
  365. package/dist/esm/src/utils/promises.d.ts.map +1 -0
  366. package/dist/esm/src/utils/promises.js +63 -0
  367. package/dist/esm/src/utils/promises.js.map +1 -0
  368. package/dist/esm/src/utils/rand.d.ts +15 -0
  369. package/dist/esm/src/utils/rand.d.ts.map +1 -0
  370. package/dist/esm/src/utils/rand.js +106 -0
  371. package/dist/esm/src/utils/rand.js.map +1 -0
  372. package/dist/esm/src/utils/serde.d.ts +5 -0
  373. package/dist/esm/src/utils/serde.d.ts.map +1 -0
  374. package/dist/esm/src/utils/serde.js +43 -0
  375. package/dist/esm/src/utils/serde.js.map +1 -0
  376. package/dist/esm/src/utils/utils.d.ts +5 -0
  377. package/dist/esm/src/utils/utils.d.ts.map +1 -0
  378. package/dist/esm/src/utils/utils.js +109 -0
  379. package/dist/esm/src/utils/utils.js.map +1 -0
  380. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  381. package/package.json +58 -20
  382. package/dist/src/clients/workflow_client.d.ts +0 -77
  383. package/dist/src/clients/workflow_client.d.ts.map +0 -1
  384. package/dist/src/clients/workflow_client.js +0 -172
  385. package/dist/src/clients/workflow_client.js.map +0 -1
  386. package/dist/src/connection/buffered_connection.d.ts.map +0 -1
  387. package/dist/src/connection/buffered_connection.js.map +0 -1
  388. package/dist/src/connection/connection.d.ts.map +0 -1
  389. package/dist/src/connection/connection.js.map +0 -1
  390. package/dist/src/connection/http_connection.d.ts.map +0 -1
  391. package/dist/src/connection/http_connection.js.map +0 -1
  392. package/dist/src/connection/lambda_connection.d.ts.map +0 -1
  393. package/dist/src/connection/lambda_connection.js.map +0 -1
  394. package/dist/src/context.d.ts.map +0 -1
  395. package/dist/src/context.js.map +0 -1
  396. package/dist/src/context_impl.d.ts +0 -62
  397. package/dist/src/context_impl.d.ts.map +0 -1
  398. package/dist/src/context_impl.js.map +0 -1
  399. package/dist/src/endpoint/endpoint_impl.d.ts +0 -28
  400. package/dist/src/endpoint/endpoint_impl.d.ts.map +0 -1
  401. package/dist/src/endpoint/endpoint_impl.js +0 -164
  402. package/dist/src/endpoint/endpoint_impl.js.map +0 -1
  403. package/dist/src/endpoint/http2_handler.d.ts.map +0 -1
  404. package/dist/src/endpoint/http2_handler.js +0 -153
  405. package/dist/src/endpoint/http2_handler.js.map +0 -1
  406. package/dist/src/endpoint/lambda_handler.d.ts +0 -15
  407. package/dist/src/endpoint/lambda_handler.d.ts.map +0 -1
  408. package/dist/src/endpoint/lambda_handler.js +0 -154
  409. package/dist/src/endpoint/lambda_handler.js.map +0 -1
  410. package/dist/src/endpoint/request_signing/basex.d.ts.map +0 -1
  411. package/dist/src/endpoint/request_signing/basex.js.map +0 -1
  412. package/dist/src/endpoint/request_signing/ed25519.d.ts.map +0 -1
  413. package/dist/src/endpoint/request_signing/ed25519.js.map +0 -1
  414. package/dist/src/endpoint/request_signing/v1.d.ts.map +0 -1
  415. package/dist/src/endpoint/request_signing/v1.js.map +0 -1
  416. package/dist/src/endpoint/request_signing/validate.d.ts.map +0 -1
  417. package/dist/src/endpoint/request_signing/validate.js.map +0 -1
  418. package/dist/src/endpoint.d.ts.map +0 -1
  419. package/dist/src/endpoint.js.map +0 -1
  420. package/dist/src/generated/proto/javascript_pb.d.ts.map +0 -1
  421. package/dist/src/generated/proto/javascript_pb.js.map +0 -1
  422. package/dist/src/generated/proto/protocol_pb.d.ts.map +0 -1
  423. package/dist/src/generated/proto/protocol_pb.js.map +0 -1
  424. package/dist/src/generated/version.d.ts +0 -2
  425. package/dist/src/generated/version.d.ts.map +0 -1
  426. package/dist/src/generated/version.js.map +0 -1
  427. package/dist/src/invocation.d.ts.map +0 -1
  428. package/dist/src/invocation.js.map +0 -1
  429. package/dist/src/io/decoder.d.ts.map +0 -1
  430. package/dist/src/io/decoder.js.map +0 -1
  431. package/dist/src/io/encoder.d.ts.map +0 -1
  432. package/dist/src/io/encoder.js.map +0 -1
  433. package/dist/src/journal.d.ts.map +0 -1
  434. package/dist/src/journal.js.map +0 -1
  435. package/dist/src/local_state_store.d.ts.map +0 -1
  436. package/dist/src/local_state_store.js.map +0 -1
  437. package/dist/src/logger.d.ts.map +0 -1
  438. package/dist/src/logger.js.map +0 -1
  439. package/dist/src/promise_combinator_tracker.d.ts.map +0 -1
  440. package/dist/src/promise_combinator_tracker.js.map +0 -1
  441. package/dist/src/public_api.d.ts +0 -7
  442. package/dist/src/public_api.d.ts.map +0 -1
  443. package/dist/src/public_api.js +0 -50
  444. package/dist/src/public_api.js.map +0 -1
  445. package/dist/src/state_machine.d.ts.map +0 -1
  446. package/dist/src/state_machine.js.map +0 -1
  447. package/dist/src/types/components.d.ts +0 -65
  448. package/dist/src/types/components.d.ts.map +0 -1
  449. package/dist/src/types/components.js +0 -163
  450. package/dist/src/types/components.js.map +0 -1
  451. package/dist/src/types/discovery.d.ts.map +0 -1
  452. package/dist/src/types/discovery.js.map +0 -1
  453. package/dist/src/types/errors.d.ts.map +0 -1
  454. package/dist/src/types/errors.js.map +0 -1
  455. package/dist/src/types/protocol.d.ts.map +0 -1
  456. package/dist/src/types/protocol.js +0 -147
  457. package/dist/src/types/protocol.js.map +0 -1
  458. package/dist/src/types/rpc.d.ts +0 -50
  459. package/dist/src/types/rpc.d.ts.map +0 -1
  460. package/dist/src/types/rpc.js +0 -38
  461. package/dist/src/types/rpc.js.map +0 -1
  462. package/dist/src/types/types.d.ts.map +0 -1
  463. package/dist/src/types/types.js.map +0 -1
  464. package/dist/src/user_agent.d.ts +0 -2
  465. package/dist/src/user_agent.d.ts.map +0 -1
  466. package/dist/src/user_agent.js.map +0 -1
  467. package/dist/src/utils/message_logger.d.ts.map +0 -1
  468. package/dist/src/utils/message_logger.js.map +0 -1
  469. package/dist/src/utils/promises.d.ts.map +0 -1
  470. package/dist/src/utils/promises.js.map +0 -1
  471. package/dist/src/utils/rand.d.ts.map +0 -1
  472. package/dist/src/utils/rand.js.map +0 -1
  473. package/dist/src/utils/serde.d.ts +0 -3
  474. package/dist/src/utils/serde.d.ts.map +0 -1
  475. package/dist/src/utils/serde.js +0 -24
  476. package/dist/src/utils/serde.js.map +0 -1
  477. package/dist/src/utils/utils.d.ts.map +0 -1
  478. package/dist/src/utils/utils.js.map +0 -1
  479. package/dist/src/workflows/workflow.d.ts +0 -101
  480. package/dist/src/workflows/workflow.d.ts.map +0 -1
  481. package/dist/src/workflows/workflow.js +0 -84
  482. package/dist/src/workflows/workflow.js.map +0 -1
  483. package/dist/src/workflows/workflow_state_service.d.ts +0 -35
  484. package/dist/src/workflows/workflow_state_service.d.ts.map +0 -1
  485. package/dist/src/workflows/workflow_state_service.js +0 -201
  486. package/dist/src/workflows/workflow_state_service.js.map +0 -1
  487. package/dist/src/workflows/workflow_wrapper_service.d.ts +0 -10
  488. package/dist/src/workflows/workflow_wrapper_service.d.ts.map +0 -1
  489. package/dist/src/workflows/workflow_wrapper_service.js +0 -285
  490. package/dist/src/workflows/workflow_wrapper_service.js.map +0 -1
  491. package/dist/tsconfig.tsbuildinfo +0 -1
  492. /package/dist/{src → cjs/src}/connection/connection.js +0 -0
  493. /package/dist/{src → cjs/src}/endpoint/request_signing/basex.d.ts +0 -0
  494. /package/dist/{src → cjs/src}/endpoint/request_signing/basex.js +0 -0
  495. /package/dist/{src → cjs/src}/generated/proto/javascript_pb.d.ts +0 -0
  496. /package/dist/{src → cjs/src}/generated/proto/javascript_pb.js +0 -0
  497. /package/dist/{src → cjs/src}/logger.d.ts +0 -0
  498. /package/dist/{src → cjs/src}/utils/promises.d.ts +0 -0
  499. /package/dist/{src → cjs/src}/utils/utils.d.ts +0 -0
@@ -0,0 +1,206 @@
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 { CombinatorEntryMessage } from "../generated/proto/javascript_pb.js";
12
+ import { AwakeableEntryMessage, OneWayCallEntryMessage, ClearStateEntryMessage, ClearAllStateEntryMessage, CompleteAwakeableEntryMessage, CompletionMessage, EntryAckMessage, ErrorMessage, EndMessage, GetStateEntryMessage, GetStateKeysEntryMessage, CallEntryMessage, OutputEntryMessage, InputEntryMessage, SetStateEntryMessage, SleepEntryMessage, StartMessage, SuspensionMessage, RunEntryMessage, GetPromiseEntryMessage, PeekPromiseEntryMessage, CompletePromiseEntryMessage, ServiceProtocolVersion, } from "../generated/proto/protocol_pb.js";
13
+ import { ServiceDiscoveryProtocolVersion } from "../generated/proto/discovery_pb.js";
14
+ // Re-export the protobuf messages.
15
+ export { AwakeableEntryMessage, OneWayCallEntryMessage, ClearStateEntryMessage, ClearAllStateEntryMessage, CompleteAwakeableEntryMessage, CompletionMessage, ErrorMessage, EndMessage, GetStateEntryMessage, GetStateKeysEntryMessage, CallEntryMessage, OutputEntryMessage, InputEntryMessage, SetStateEntryMessage, SleepEntryMessage, StartMessage, SuspensionMessage, EntryAckMessage, GetPromiseEntryMessage, PeekPromiseEntryMessage, CompletePromiseEntryMessage, } from "../generated/proto/protocol_pb.js";
16
+ // Export the protocol message types as defined by the restate protocol.
17
+ export const START_MESSAGE_TYPE = 0x0000n;
18
+ export const COMPLETION_MESSAGE_TYPE = 0x0001n;
19
+ export const SUSPENSION_MESSAGE_TYPE = 0x0002n;
20
+ export const ERROR_MESSAGE_TYPE = 0x0003n;
21
+ export const ENTRY_ACK_MESSAGE_TYPE = 0x0004n;
22
+ export const END_MESSAGE_TYPE = 0x0005n;
23
+ export const INPUT_ENTRY_MESSAGE_TYPE = 0x0400n;
24
+ export const OUTPUT_ENTRY_MESSAGE_TYPE = 0x0401n;
25
+ export const GET_STATE_ENTRY_MESSAGE_TYPE = 0x0800n;
26
+ export const SET_STATE_ENTRY_MESSAGE_TYPE = 0x0801n;
27
+ export const CLEAR_STATE_ENTRY_MESSAGE_TYPE = 0x0802n;
28
+ export const CLEAR_ALL_STATE_ENTRY_MESSAGE_TYPE = 0x0803n;
29
+ export const GET_STATE_KEYS_ENTRY_MESSAGE_TYPE = 0x0804n;
30
+ export const SLEEP_ENTRY_MESSAGE_TYPE = 0x0c00n;
31
+ export const INVOKE_ENTRY_MESSAGE_TYPE = 0x0c01n;
32
+ export const BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE = 0x0c02n;
33
+ export const AWAKEABLE_ENTRY_MESSAGE_TYPE = 0x0c03n;
34
+ export const COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE = 0x0c04n;
35
+ export const AWAKEABLE_IDENTIFIER_PREFIX = "prom_1";
36
+ export const SIDE_EFFECT_ENTRY_MESSAGE_TYPE = 0x0c00n + 5n;
37
+ // Export the custom message types
38
+ // Side effects are custom messages because the runtime does not need to inspect them
39
+ export const COMBINATOR_ENTRY_MESSAGE = 0xfc02n;
40
+ // Durable promise
41
+ export const GET_PROMISE_MESSAGE_TYPE = 0x808n;
42
+ export const PEEK_PROMISE_MESSAGE_TYPE = 0x809n;
43
+ export const COMPLETE_PROMISE_MESSAGE_TYPE = 0x80an;
44
+ // Message types in the protocol.
45
+ // Custom message types (per SDK) such as side effect entry message should not be included here.
46
+ export const KNOWN_MESSAGE_TYPES = new Set([
47
+ START_MESSAGE_TYPE,
48
+ COMPLETION_MESSAGE_TYPE,
49
+ SUSPENSION_MESSAGE_TYPE,
50
+ ERROR_MESSAGE_TYPE,
51
+ ENTRY_ACK_MESSAGE_TYPE,
52
+ END_MESSAGE_TYPE,
53
+ INPUT_ENTRY_MESSAGE_TYPE,
54
+ OUTPUT_ENTRY_MESSAGE_TYPE,
55
+ GET_STATE_ENTRY_MESSAGE_TYPE,
56
+ GET_STATE_KEYS_ENTRY_MESSAGE_TYPE,
57
+ SET_STATE_ENTRY_MESSAGE_TYPE,
58
+ CLEAR_STATE_ENTRY_MESSAGE_TYPE,
59
+ CLEAR_ALL_STATE_ENTRY_MESSAGE_TYPE,
60
+ SLEEP_ENTRY_MESSAGE_TYPE,
61
+ INVOKE_ENTRY_MESSAGE_TYPE,
62
+ BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE,
63
+ AWAKEABLE_ENTRY_MESSAGE_TYPE,
64
+ COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE,
65
+ SIDE_EFFECT_ENTRY_MESSAGE_TYPE,
66
+ COMBINATOR_ENTRY_MESSAGE,
67
+ GET_PROMISE_MESSAGE_TYPE,
68
+ PEEK_PROMISE_MESSAGE_TYPE,
69
+ COMPLETE_PROMISE_MESSAGE_TYPE,
70
+ ]);
71
+ const PROTOBUF_MESSAGE_NAME_BY_TYPE = new Map([
72
+ [START_MESSAGE_TYPE, "StartMessage"],
73
+ [COMPLETION_MESSAGE_TYPE, "CompletionMessage"],
74
+ [SUSPENSION_MESSAGE_TYPE, "SuspensionMessage"],
75
+ [ERROR_MESSAGE_TYPE, "ErrorMessage"],
76
+ [ENTRY_ACK_MESSAGE_TYPE, "EntryAckMessage"],
77
+ [END_MESSAGE_TYPE, "EndMessage"],
78
+ [INPUT_ENTRY_MESSAGE_TYPE, "InputEntryMessage"],
79
+ [OUTPUT_ENTRY_MESSAGE_TYPE, "OutputEntryMessage"],
80
+ [GET_STATE_ENTRY_MESSAGE_TYPE, "GetStateEntryMessage"],
81
+ [GET_STATE_KEYS_ENTRY_MESSAGE_TYPE, "GetStateKeysEntryMessage"],
82
+ [SET_STATE_ENTRY_MESSAGE_TYPE, "SetStateEntryMessage"],
83
+ [CLEAR_STATE_ENTRY_MESSAGE_TYPE, "ClearStateEntryMessage"],
84
+ [CLEAR_ALL_STATE_ENTRY_MESSAGE_TYPE, "ClearAllStateEntryMessage"],
85
+ [SLEEP_ENTRY_MESSAGE_TYPE, "SleepEntryMessage"],
86
+ [INVOKE_ENTRY_MESSAGE_TYPE, "CallEntryMessage"],
87
+ [BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE, "OneWayCallEntryMessage"],
88
+ [AWAKEABLE_ENTRY_MESSAGE_TYPE, "AwakeableEntryMessage"],
89
+ [COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, "CompleteAwakeableEntryMessage"],
90
+ [SIDE_EFFECT_ENTRY_MESSAGE_TYPE, "RunEntryMessage"],
91
+ [COMBINATOR_ENTRY_MESSAGE, "CombinatorEntryMessage"],
92
+ [GET_PROMISE_MESSAGE_TYPE, "GetPromiseEntryMessage"],
93
+ [PEEK_PROMISE_MESSAGE_TYPE, "PeekPromiseEntryMessage"],
94
+ [COMPLETE_PROMISE_MESSAGE_TYPE, "CompletePromiseEntryMessage"],
95
+ ]);
96
+ export const formatMessageType = (messageType) => {
97
+ return (PROTOBUF_MESSAGE_NAME_BY_TYPE.get(messageType) ?? messageType.toString());
98
+ };
99
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
+ const PROTOBUF_MESSAGES = [
101
+ [START_MESSAGE_TYPE, StartMessage],
102
+ [COMPLETION_MESSAGE_TYPE, CompletionMessage],
103
+ [SUSPENSION_MESSAGE_TYPE, SuspensionMessage],
104
+ [ERROR_MESSAGE_TYPE, ErrorMessage],
105
+ [ENTRY_ACK_MESSAGE_TYPE, EntryAckMessage],
106
+ [END_MESSAGE_TYPE, EndMessage],
107
+ [INPUT_ENTRY_MESSAGE_TYPE, InputEntryMessage],
108
+ [OUTPUT_ENTRY_MESSAGE_TYPE, OutputEntryMessage],
109
+ [GET_STATE_ENTRY_MESSAGE_TYPE, GetStateEntryMessage],
110
+ [GET_STATE_KEYS_ENTRY_MESSAGE_TYPE, GetStateKeysEntryMessage],
111
+ [SET_STATE_ENTRY_MESSAGE_TYPE, SetStateEntryMessage],
112
+ [CLEAR_STATE_ENTRY_MESSAGE_TYPE, ClearStateEntryMessage],
113
+ [CLEAR_ALL_STATE_ENTRY_MESSAGE_TYPE, ClearAllStateEntryMessage],
114
+ [SLEEP_ENTRY_MESSAGE_TYPE, SleepEntryMessage],
115
+ [INVOKE_ENTRY_MESSAGE_TYPE, CallEntryMessage],
116
+ [BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE, OneWayCallEntryMessage],
117
+ [AWAKEABLE_ENTRY_MESSAGE_TYPE, AwakeableEntryMessage],
118
+ [COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, CompleteAwakeableEntryMessage],
119
+ [SIDE_EFFECT_ENTRY_MESSAGE_TYPE, RunEntryMessage],
120
+ [COMBINATOR_ENTRY_MESSAGE, CombinatorEntryMessage],
121
+ [GET_PROMISE_MESSAGE_TYPE, GetPromiseEntryMessage],
122
+ [PEEK_PROMISE_MESSAGE_TYPE, PeekPromiseEntryMessage],
123
+ [COMPLETE_PROMISE_MESSAGE_TYPE, CompletePromiseEntryMessage],
124
+ ];
125
+ export const PROTOBUF_MESSAGE_BY_TYPE = new Map(PROTOBUF_MESSAGES);
126
+ // These message types will trigger sending a suspension message from the runtime
127
+ // for each of the protocol modes
128
+ export const SUSPENSION_TRIGGERS = [
129
+ INVOKE_ENTRY_MESSAGE_TYPE,
130
+ GET_STATE_ENTRY_MESSAGE_TYPE,
131
+ GET_STATE_KEYS_ENTRY_MESSAGE_TYPE,
132
+ AWAKEABLE_ENTRY_MESSAGE_TYPE,
133
+ SLEEP_ENTRY_MESSAGE_TYPE,
134
+ COMBINATOR_ENTRY_MESSAGE,
135
+ // We need it because of the ack
136
+ SIDE_EFFECT_ENTRY_MESSAGE_TYPE,
137
+ // promises need completion
138
+ GET_PROMISE_MESSAGE_TYPE,
139
+ PEEK_PROMISE_MESSAGE_TYPE,
140
+ COMPLETE_PROMISE_MESSAGE_TYPE,
141
+ ];
142
+ const MIN_SERVICE_PROTOCOL_VERSION = ServiceProtocolVersion.V1;
143
+ const MAX_SERVICE_PROTOCOL_VERSION = ServiceProtocolVersion.V1;
144
+ const MIN_SERVICE_DISCOVERY_PROTOCOL_VERSION = ServiceDiscoveryProtocolVersion.V1;
145
+ const MAX_SERVICE_DISCOVERY_PROTOCOL_VERSION = ServiceDiscoveryProtocolVersion.V1;
146
+ export function isServiceProtocolVersionSupported(version) {
147
+ return (version >= MIN_SERVICE_PROTOCOL_VERSION &&
148
+ version <= MAX_SERVICE_PROTOCOL_VERSION);
149
+ }
150
+ function isServiceDiscoveryProtocolVersionSupported(version) {
151
+ return (version >= MIN_SERVICE_DISCOVERY_PROTOCOL_VERSION &&
152
+ version <= MAX_SERVICE_DISCOVERY_PROTOCOL_VERSION);
153
+ }
154
+ export function parseServiceProtocolVersion(versionString) {
155
+ // if nothing is set, assume we are using V1
156
+ if (versionString === undefined ||
157
+ versionString === null ||
158
+ versionString === "") {
159
+ return ServiceProtocolVersion.V1;
160
+ }
161
+ versionString = versionString.trim();
162
+ if (versionString === "application/vnd.restate.invocation.v1") {
163
+ return ServiceProtocolVersion.V1;
164
+ }
165
+ return ServiceProtocolVersion.SERVICE_PROTOCOL_VERSION_UNSPECIFIED;
166
+ }
167
+ export function serviceProtocolVersionToHeaderValue(serviceProtocolVersion) {
168
+ switch (serviceProtocolVersion) {
169
+ case ServiceProtocolVersion.V1:
170
+ return "application/vnd.restate.invocation.v1";
171
+ default:
172
+ throw new Error(`Unsupported service discovery protocol version: ${serviceProtocolVersion}`);
173
+ }
174
+ }
175
+ function parseServiceDiscoveryProtocolVersion(versionString) {
176
+ versionString = versionString.trim();
177
+ if (versionString === "application/vnd.restate.endpointmanifest.v1+json") {
178
+ return ServiceDiscoveryProtocolVersion.V1;
179
+ }
180
+ return ServiceDiscoveryProtocolVersion.SERVICE_DISCOVERY_PROTOCOL_VERSION_UNSPECIFIED;
181
+ }
182
+ export function serviceDiscoveryProtocolVersionToHeaderValue(serviceDiscoveryProtocolVersion) {
183
+ switch (serviceDiscoveryProtocolVersion) {
184
+ case ServiceDiscoveryProtocolVersion.V1:
185
+ return "application/vnd.restate.endpointmanifest.v1+json";
186
+ default:
187
+ throw new Error(`Unsupported service discovery protocol version: ${serviceDiscoveryProtocolVersion}`);
188
+ }
189
+ }
190
+ export function selectSupportedServiceDiscoveryProtocolVersion(acceptVersionsString) {
191
+ if (acceptVersionsString === undefined ||
192
+ acceptVersionsString === null ||
193
+ acceptVersionsString === "") {
194
+ return ServiceDiscoveryProtocolVersion.V1;
195
+ }
196
+ let maxVersion = ServiceDiscoveryProtocolVersion.SERVICE_DISCOVERY_PROTOCOL_VERSION_UNSPECIFIED;
197
+ acceptVersionsString.split(",").forEach((versionString) => {
198
+ const version = parseServiceDiscoveryProtocolVersion(versionString);
199
+ if (isServiceDiscoveryProtocolVersionSupported(version) &&
200
+ version > maxVersion) {
201
+ maxVersion = version;
202
+ }
203
+ });
204
+ return maxVersion;
205
+ }
206
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../../src/types/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,300 @@
1
+ import type { CombineablePromise, Context, ObjectContext, ObjectSharedContext, WorkflowContext, WorkflowSharedContext } from "../context.js";
2
+ import type { ServiceHandler, ServiceDefinition, ObjectHandler, ObjectSharedHandler, VirtualObjectDefinition, WorkflowHandler, WorkflowDefinition, WorkflowSharedHandler } from "@restatedev/restate-sdk-core";
3
+ export type Client<M> = {
4
+ [K in keyof M as M[K] extends never ? never : K]: M[K] extends (arg: any, ...args: infer P) => PromiseLike<infer O> ? (...args: P) => CombineablePromise<O> : never;
5
+ };
6
+ export type SendClient<M> = {
7
+ [K in keyof M as M[K] extends never ? never : K]: M[K] extends (arg: any, ...args: infer P) => any ? (...args: P) => void : never;
8
+ };
9
+ export declare enum HandlerKind {
10
+ SERVICE = 0,
11
+ EXCLUSIVE = 1,
12
+ SHARED = 2,
13
+ WORKFLOW = 3
14
+ }
15
+ export type ServiceHandlerOpts = {
16
+ accept?: string;
17
+ contentType?: string;
18
+ inputDeserializer?: <T>(input: Uint8Array) => T | undefined;
19
+ outputSerializer?: <T>(output: T | undefined) => Uint8Array;
20
+ };
21
+ export type ObjectHandlerOpts = {
22
+ accept?: string;
23
+ contentType?: string;
24
+ inputDeserializer?: <T>(input: Uint8Array) => T | undefined;
25
+ outputSerializer?: <T>(output: T | undefined) => Uint8Array;
26
+ };
27
+ export type WorkflowHandlerOpts = {
28
+ accept?: string;
29
+ contentType?: string;
30
+ inputDeserializer?: <T>(input: Uint8Array) => T | undefined;
31
+ outputSerializer?: <T>(output: T | undefined) => Uint8Array;
32
+ };
33
+ export declare class HandlerWrapper {
34
+ readonly kind: HandlerKind;
35
+ private handler;
36
+ readonly accept: string;
37
+ readonly contentType: string;
38
+ readonly deserializer: (input: Uint8Array) => unknown;
39
+ readonly serializer: (input: unknown) => Uint8Array;
40
+ static from(kind: HandlerKind, handler: Function, opts?: ServiceHandlerOpts | ObjectHandlerOpts): HandlerWrapper;
41
+ static fromHandler(handler: any): HandlerWrapper | undefined;
42
+ private constructor();
43
+ bindInstance(t: unknown): void;
44
+ invoke(context: unknown, input: Uint8Array): Promise<Uint8Array>;
45
+ /**
46
+ * Instead of a HandlerWrapper with a handler property,
47
+ * return the original handler with a HandlerWrapper property.
48
+ * This is needed to keep the appearance of regular functions
49
+ * bound to an object, so that for example, `this.foo(ctx, arg)` would
50
+ * work.
51
+ */
52
+ transpose<F>(): F;
53
+ }
54
+ export declare namespace handlers {
55
+ /**
56
+ * Create a service handler.
57
+ *
58
+ * @param opts additional configuration
59
+ * @param fn the actual handler code to execute
60
+ */
61
+ function handler<F>(opts: ServiceHandlerOpts, fn: ServiceHandler<F, Context>): F;
62
+ namespace workflow {
63
+ function workflow<F>(opts: WorkflowHandlerOpts, fn: WorkflowHandler<F, WorkflowContext>): F;
64
+ function workflow<F>(fn: WorkflowHandler<F, WorkflowContext>): F;
65
+ /**
66
+ * Creates a shared handler for a workflow.
67
+ *
68
+ * A shared handler allows a read-only concurrent execution
69
+ * for a given key.
70
+ *
71
+ * @param opts additional configurations
72
+ * @param fn the handler to execute
73
+ */
74
+ function shared<F>(opts: WorkflowHandlerOpts, fn: WorkflowSharedHandler<F, WorkflowSharedContext>): F;
75
+ /**
76
+ * Creates a shared handler for a workflow.
77
+ *
78
+ * A shared handler allows a read-only concurrent execution
79
+ * for a given key.
80
+ *
81
+ * @param opts additional configurations
82
+ * @param fn the handler to execute
83
+ */
84
+ function shared<F>(fn: WorkflowSharedHandler<F, WorkflowSharedContext>): F;
85
+ }
86
+ namespace object {
87
+ /**
88
+ * Creates an exclusive handler for a virtual Object.
89
+ *
90
+ * note : This applies only to a virtual object.
91
+ *
92
+ * @param opts additional configurations
93
+ * @param fn the handler to execute
94
+ */
95
+ function exclusive<F>(opts: ObjectHandlerOpts, fn: ObjectHandler<F, ObjectContext>): F;
96
+ /**
97
+ * Creates an exclusive handler for a virtual Object.
98
+ *
99
+ *
100
+ * note 1: This applies only to a virtual object.
101
+ * note 2: This is the default for virtual objects, so if no
102
+ * additional reconfiguration is needed, you can simply
103
+ * use the handler directly (no need to use exclusive).
104
+ * This variant here is only for symmetry/convenance.
105
+ *
106
+ * @param fn the handler to execute
107
+ */
108
+ function exclusive<F>(fn: ObjectHandler<F, ObjectContext>): F;
109
+ /**
110
+ * Creates a shared handler for a virtual Object.
111
+ *
112
+ * A shared handler allows a read-only concurrent execution
113
+ * for a given key.
114
+ *
115
+ * note: This applies only to a virtual object.
116
+ *
117
+ * @param opts additional configurations
118
+ * @param fn the handler to execute
119
+ */
120
+ function shared<F>(opts: ObjectHandlerOpts, fn: ObjectSharedHandler<F, ObjectSharedContext>): F;
121
+ /**
122
+ * Creates a shared handler for a virtual Object.
123
+ *
124
+ * A shared handler allows a read-only concurrent execution
125
+ * for a given key.
126
+ *
127
+ * note: This applies only to a virtual object.
128
+ *
129
+ * @param opts additional configurations
130
+ * @param fn the handler to execute
131
+ */
132
+ function shared<F>(fn: ObjectSharedHandler<F, ObjectSharedContext>): F;
133
+ }
134
+ }
135
+ export type ServiceOpts<U> = {
136
+ [K in keyof U]: U[K] extends ServiceHandler<any, Context> ? U[K] : never;
137
+ };
138
+ /**
139
+ * Define a Restate service.
140
+ *
141
+ * @example Here is an example of how to define a service:
142
+ *
143
+ * ```ts
144
+ * const greeter = service({
145
+ * name: "greeter",
146
+ * handlers: {
147
+ * greet: async (ctx: Context, name: string) => {
148
+ * return `Hello ${name}`;
149
+ * }
150
+ * }
151
+ * });
152
+ * ```
153
+ *
154
+ * To use the service, you can bind it to an endpoint:
155
+ * ```
156
+ * ...
157
+ * endpoint.bind(greeter)
158
+ * ```
159
+ * @example To use a service, you can export its type to be used in a client:
160
+ * ```
161
+ * export type Greeter = typeof greeter;
162
+ * ...
163
+ * ...
164
+ * import type { Greeter } from "./greeter";
165
+ * const client = ctx.serviceClient<Greeter>({ name : "greeter"});
166
+ * client.greet("World").then(console.log);
167
+ * ```
168
+ *
169
+ * @example Alternatively to avoid repeating the service name, you can:
170
+ * ```
171
+ * import type {Greeter} from "./greeter";
172
+ * const Greeter: Greeter = { name : "greeter"};
173
+ *
174
+ * // now you can reference the service like this:
175
+ * const client = ctx.serviceClient(Greeter);
176
+ * ```
177
+ *
178
+ * @param name the service name
179
+ * @param handlers the handlers for the service
180
+ * @type P the name of the service
181
+ * @type M the handlers for the service
182
+ */
183
+ export declare const service: <P extends string, M>(service: {
184
+ name: P;
185
+ handlers: ServiceOpts<M>;
186
+ }) => ServiceDefinition<P, M>;
187
+ export type ObjectOpts<U> = {
188
+ [K in keyof U]: U[K] extends ObjectHandler<U[K], ObjectContext> ? U[K] : U[K] extends ObjectHandler<U[K], ObjectSharedContext> ? U[K] : never;
189
+ };
190
+ /**
191
+ * Define a Restate virtual object.
192
+ *
193
+ * @example Here is an example of how to define a virtual object:
194
+ * ```ts
195
+ * const counter = object({
196
+ * name: "counter",
197
+ * handlers: {
198
+ * add: async (ctx: ObjectContext, amount: number) => {},
199
+ * get: async (ctx: ObjectContext) => {}
200
+ * }
201
+ * })
202
+ * ```
203
+ *
204
+ * @example To use the object, you can bind it to an endpoint:
205
+ * ```ts
206
+ * ...
207
+ * endpoint.bind(counter)
208
+ * ```
209
+ *
210
+ * @see to interact with the object, you can use the object client:
211
+ * ```ts
212
+ * ...
213
+ * const client = ctx.objectClient<typeof counter>({ name: "counter"});
214
+ * const res = await client.add(1)
215
+ * ```
216
+ *
217
+ * ### Shared handlers
218
+ *
219
+ * Shared handlers are used to allow concurrent read-only access to the object.
220
+ * This is useful when you want to allow multiple clients to read the object's state at the same time.
221
+ * To define a shared handler, you can use the `shared` decorator as shown below:
222
+ *
223
+ * ```ts
224
+ * const counter = object({
225
+ * name: "counter",
226
+ * handlers: {
227
+ *
228
+ * add: async (ctx: ObjectContext, amount: number) => { .. },
229
+ *
230
+ * get: handlers.object.shared(async (ctx: ObjectSharedContext) => {
231
+ * return ctx.get<number>("count");
232
+ * })
233
+ * }
234
+ * });
235
+ * ```
236
+ *
237
+ * @param name the name of the object
238
+ * @param handlers the handlers for the object
239
+ */
240
+ export declare const object: <P extends string, M>(object: {
241
+ name: P;
242
+ handlers: ObjectOpts<M>;
243
+ }) => VirtualObjectDefinition<P, M>;
244
+ /**
245
+ * A workflow handlers is a type that describes the handlers for a workflow.
246
+ * The handlers must contain exactly one handler named 'run', and this handler must accept as a first argument a WorkflowContext.
247
+ * It can contain any number of additional handlers, which must accept as a first argument a WorkflowSharedContext.
248
+ * The handlers can not be named 'workflowSubmit', 'workflowAttach', 'workflowOutput' - as these are reserved.
249
+ * @see {@link workflow} for an example.
250
+ */
251
+ export type WorkflowOpts<U> = {
252
+ run: (ctx: WorkflowContext, argument: any) => Promise<any>;
253
+ } & {
254
+ [K in keyof U]: K extends "workflowSubmit" | "workflowAttach" | "workflowOutput" ? `${K} is a reserved keyword` : K extends "run" ? U[K] extends WorkflowHandler<U[K], WorkflowContext> ? U[K] : "An handler named 'run' must take as a first argument a WorkflowContext, and must return a Promise" : U[K] extends WorkflowSharedHandler<U[K], WorkflowSharedContext> ? U[K] : "An handler other then 'run' must accept as a first argument a WorkflowSharedContext";
255
+ };
256
+ /**
257
+ * Define a Restate workflow.
258
+ *
259
+ *
260
+ * @example Here is an example of how to define a workflow:
261
+ * ```ts
262
+ * const mywf = workflow({
263
+ * name: "mywf",
264
+ * handlers: {
265
+ * run: async (ctx: WorkflowContext, argument: any) => {
266
+ * return "Hello World";
267
+ * }
268
+ * }
269
+ * });
270
+ * ```
271
+ *
272
+ * ### Note:
273
+ * * That a workflow must contain exactly one handler named 'run', and this handler must accept as a first argument a WorkflowContext.
274
+ * * The workflow handlers other than 'run' must accept as a first argument a WorkflowSharedContext.
275
+ * * The workflow handlers can not be named 'workflowSubmit', 'workflowAttach', 'workflowOutput' - as these are reserved keywords.
276
+ *
277
+ * @example To use the workflow, you can bind it to an endpoint:
278
+ * ```ts
279
+ * endpoint.bind(mywf)
280
+ * ```
281
+ *
282
+ * @example To interact with the workflow, you can use the workflow client:
283
+ * ```ts
284
+ * const client = ctx.workflowClient<typeof mywf>({ name: "mywf"});
285
+ * const res = await client.run("Hello");
286
+ * ```
287
+ *
288
+ * To use the workflow client from any other environment (like a browser), please refer to the documentation.
289
+ * https://docs.restate.dev
290
+ *
291
+ *
292
+ *
293
+ * @param name the workflow name
294
+ * @param handlers the handlers for the workflow.
295
+ */
296
+ export declare const workflow: <P extends string, M>(workflow: {
297
+ name: P;
298
+ handlers: WorkflowOpts<M>;
299
+ }) => WorkflowDefinition<P, M>;
300
+ //# sourceMappingURL=rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../../src/types/rpc.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAQvB,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAItC,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAC7D,GAAG,EAAE,GAAG,EACR,GAAG,IAAI,EAAE,MAAM,CAAC,KACb,WAAW,CAAC,MAAM,CAAC,CAAC,GACrB,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,GACrC,KAAK;CACV,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAC7D,GAAG,EAAE,GAAG,EACR,GAAG,IAAI,EAAE,MAAM,CAAC,KACb,GAAG,GACJ,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,GACpB,KAAK;CACV,CAAC;AAIF,oBAAY,WAAW;IACrB,OAAO,IAAA;IACP,SAAS,IAAA;IACT,MAAM,IAAA;IACN,QAAQ,IAAA;CACT;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,KAAK,CAAC,GAAG,SAAS,CAAC;IAC5D,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,KAAK,UAAU,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,KAAK,CAAC,GAAG,SAAS,CAAC;IAC5D,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,KAAK,UAAU,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,KAAK,CAAC,GAAG,SAAS,CAAC;IAC5D,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,KAAK,UAAU,CAAC;CAC7D,CAAC;AAKF,qBAAa,cAAc;aA4CP,IAAI,EAAE,WAAW;IACjC,OAAO,CAAC,OAAO;aACC,MAAM,EAAE,MAAM;aACd,WAAW,EAAE,MAAM;aACnB,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO;aAC5C,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU;WAhD9C,IAAI,CAChB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,GAC5C,cAAc;WAiCH,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,cAAc,GAAG,SAAS;IAKnE,OAAO;IASP,YAAY,CAAC,CAAC,EAAE,OAAO;IAIjB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU;IAMhD;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,KAAK,CAAC;CASlB;AAID,yBAAiB,QAAQ,CAAC;IACxB;;;;;OAKG;IACH,SAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,kBAAkB,EACxB,EAAE,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,GAC7B,CAAC,CAEH;IAED,UAAiB,QAAQ,CAAC;QACxB,SAAgB,QAAQ,CAAC,CAAC,EACxB,IAAI,EAAE,mBAAmB,EACzB,EAAE,EAAE,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,GACtC,CAAC,CAAC;QAEL,SAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;QAgBxE;;;;;;;;WAQG;QACH,SAAgB,MAAM,CAAC,CAAC,EACtB,IAAI,EAAE,mBAAmB,EACzB,EAAE,EAAE,qBAAqB,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAClD,CAAC,CAAC;QAEL;;;;;;;;WAQG;QACH,SAAgB,MAAM,CAAC,CAAC,EACtB,EAAE,EAAE,qBAAqB,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAClD,CAAC,CAAC;KA0BN;IAED,UAAiB,MAAM,CAAC;QACtB;;;;;;;WAOG;QACH,SAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,iBAAiB,EACvB,EAAE,EAAE,aAAa,CAAC,CAAC,EAAE,aAAa,CAAC,GAClC,CAAC,CAAC;QAEL;;;;;;;;;;;WAWG;QACH,SAAgB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;QA6BrE;;;;;;;;;;WAUG;QACH,SAAgB,MAAM,CAAC,CAAC,EACtB,IAAI,EAAE,iBAAiB,EACvB,EAAE,EAAE,mBAAmB,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAC9C,CAAC,CAAC;QAEL;;;;;;;;;;WAUG;QACH,SAAgB,MAAM,CAAC,CAAC,EACtB,EAAE,EAAE,mBAAmB,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAC9C,CAAC,CAAC;KA0BN;CACF;AAID,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CACzE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,OAAO,iCAAkC;IACpD,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;CAC1B,KAAG,kBAAkB,CAAC,EAAE,CAAC,CAqBzB,CAAC;AAIF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAC3D,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,GACrD,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,MAAM,gCAAiC;IAClD,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;CACzB,KAAG,wBAAwB,CAAC,EAAE,CAAC,CAuB/B,CAAC;AAIF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,GAAG,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC5D,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SACb,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,GAAG,CAAC,wBAAwB,GAC5B,CAAC,SAAS,KAAK,GACf,CAAC,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,GACjD,CAAC,CAAC,CAAC,CAAC,GACJ,mGAAmG,GACrG,CAAC,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAC/D,CAAC,CAAC,CAAC,CAAC,GACJ,qFAAqF;CAC1F,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,QAAQ,kCAAmC;IACtD,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;CAC3B,KAAG,mBAAmB,CAAC,EAAE,CAAC,CA2D1B,CAAC"}