@restatedev/restate-sdk 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  3. package/dist/common_api.cjs +25 -0
  4. package/dist/common_api.d.cts +30 -0
  5. package/dist/common_api.d.cts.map +1 -0
  6. package/dist/common_api.d.ts +30 -0
  7. package/dist/common_api.d.ts.map +1 -0
  8. package/dist/common_api.js +19 -0
  9. package/dist/common_api.js.map +1 -0
  10. package/dist/context.cjs +29 -0
  11. package/dist/context.d.cts +699 -0
  12. package/dist/context.d.cts.map +1 -0
  13. package/dist/context.d.ts +699 -0
  14. package/dist/context.d.ts.map +1 -0
  15. package/dist/context.js +29 -0
  16. package/dist/context.js.map +1 -0
  17. package/dist/context_impl.cjs +441 -0
  18. package/dist/{cjs/src/context_impl.d.ts → context_impl.d.ts} +2 -1
  19. package/dist/context_impl.d.ts.map +1 -0
  20. package/dist/context_impl.js +440 -0
  21. package/dist/context_impl.js.map +1 -0
  22. package/dist/endpoint/components.cjs +257 -0
  23. package/dist/endpoint/components.d.ts.map +1 -0
  24. package/dist/endpoint/components.js +253 -0
  25. package/dist/endpoint/components.js.map +1 -0
  26. package/dist/endpoint/discovery.d.ts.map +1 -0
  27. package/dist/{esm/src/endpoint → endpoint}/discovery.js +0 -1
  28. package/dist/endpoint/discovery.js.map +1 -0
  29. package/dist/endpoint/endpoint.cjs +117 -0
  30. package/dist/endpoint/endpoint.d.ts.map +1 -0
  31. package/dist/endpoint/endpoint.js +118 -0
  32. package/dist/endpoint/endpoint.js.map +1 -0
  33. package/dist/endpoint/fetch_endpoint.cjs +41 -0
  34. package/dist/endpoint/fetch_endpoint.d.cts +39 -0
  35. package/dist/endpoint/fetch_endpoint.d.cts.map +1 -0
  36. package/dist/endpoint/fetch_endpoint.d.ts +39 -0
  37. package/dist/endpoint/fetch_endpoint.d.ts.map +1 -0
  38. package/dist/endpoint/fetch_endpoint.js +42 -0
  39. package/dist/endpoint/fetch_endpoint.js.map +1 -0
  40. package/dist/endpoint/handlers/fetch.cjs +21 -0
  41. package/dist/endpoint/handlers/fetch.d.ts.map +1 -0
  42. package/dist/endpoint/handlers/fetch.js +21 -0
  43. package/dist/endpoint/handlers/fetch.js.map +1 -0
  44. package/dist/endpoint/handlers/generic.cjs +328 -0
  45. package/dist/{esm/src/endpoint → endpoint}/handlers/generic.d.ts +6 -1
  46. package/dist/endpoint/handlers/generic.d.ts.map +1 -0
  47. package/dist/endpoint/handlers/generic.js +324 -0
  48. package/dist/endpoint/handlers/generic.js.map +1 -0
  49. package/dist/endpoint/handlers/lambda.cjs +93 -0
  50. package/dist/endpoint/handlers/lambda.d.ts.map +1 -0
  51. package/dist/endpoint/handlers/lambda.js +89 -0
  52. package/dist/endpoint/handlers/lambda.js.map +1 -0
  53. package/dist/{cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js → endpoint/handlers/vm/sdk_shared_core_wasm_bindings.cjs} +1431 -1416
  54. package/dist/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +1 -0
  55. package/dist/{esm/src/endpoint → endpoint}/handlers/vm/sdk_shared_core_wasm_bindings.js +1427 -1405
  56. package/dist/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +1 -0
  57. package/dist/endpoint/lambda_endpoint.cjs +36 -0
  58. package/dist/endpoint/lambda_endpoint.d.cts +26 -0
  59. package/dist/endpoint/lambda_endpoint.d.cts.map +1 -0
  60. package/dist/endpoint/lambda_endpoint.d.ts +26 -0
  61. package/dist/endpoint/lambda_endpoint.d.ts.map +1 -0
  62. package/dist/endpoint/lambda_endpoint.js +37 -0
  63. package/dist/endpoint/lambda_endpoint.js.map +1 -0
  64. package/dist/endpoint/node_endpoint.cjs +101 -0
  65. package/dist/{esm/src/endpoint → endpoint}/node_endpoint.d.ts +1 -1
  66. package/dist/endpoint/node_endpoint.d.ts.map +1 -0
  67. package/dist/endpoint/node_endpoint.js +99 -0
  68. package/dist/endpoint/node_endpoint.js.map +1 -0
  69. package/dist/endpoint/types.d.cts +61 -0
  70. package/dist/endpoint/types.d.cts.map +1 -0
  71. package/dist/endpoint/types.d.ts +61 -0
  72. package/dist/endpoint/types.d.ts.map +1 -0
  73. package/dist/{cjs/src/endpoint → endpoint}/types.js.map +1 -1
  74. package/dist/endpoint/withOptions.cjs +15 -0
  75. package/dist/endpoint/withOptions.d.ts.map +1 -0
  76. package/dist/endpoint/withOptions.js +15 -0
  77. package/dist/endpoint/withOptions.js.map +1 -0
  78. package/dist/endpoint.d.cts +112 -0
  79. package/dist/endpoint.d.cts.map +1 -0
  80. package/dist/endpoint.d.ts +112 -0
  81. package/dist/endpoint.d.ts.map +1 -0
  82. package/dist/endpoint.js.map +1 -0
  83. package/dist/fetch.cjs +83 -0
  84. package/dist/fetch.d.cts +52 -0
  85. package/dist/fetch.d.cts.map +1 -0
  86. package/dist/fetch.d.ts +52 -0
  87. package/dist/fetch.d.ts.map +1 -0
  88. package/dist/fetch.js +44 -0
  89. package/dist/fetch.js.map +1 -0
  90. package/dist/index.cjs +48 -0
  91. package/dist/index.d.cts +9 -0
  92. package/dist/index.d.ts +9 -0
  93. package/dist/index.d.ts.map +1 -0
  94. package/dist/index.js +7 -0
  95. package/dist/index.js.map +1 -0
  96. package/dist/io.cjs +48 -0
  97. package/dist/io.d.ts.map +1 -0
  98. package/dist/io.js +48 -0
  99. package/dist/io.js.map +1 -0
  100. package/dist/lambda.cjs +74 -0
  101. package/dist/lambda.d.cts +32 -0
  102. package/dist/lambda.d.cts.map +1 -0
  103. package/dist/lambda.d.ts +32 -0
  104. package/dist/lambda.d.ts.map +1 -0
  105. package/dist/lambda.js +35 -0
  106. package/dist/lambda.js.map +1 -0
  107. package/dist/logging/console_logger_transport.cjs +54 -0
  108. package/dist/logging/console_logger_transport.d.ts.map +1 -0
  109. package/dist/logging/console_logger_transport.js +54 -0
  110. package/dist/logging/console_logger_transport.js.map +1 -0
  111. package/dist/logging/logger.cjs +43 -0
  112. package/dist/logging/logger.d.ts.map +1 -0
  113. package/dist/logging/logger.js +44 -0
  114. package/dist/logging/logger.js.map +1 -0
  115. package/dist/logging/logger_transport.cjs +42 -0
  116. package/dist/logging/logger_transport.d.cts +57 -0
  117. package/dist/logging/logger_transport.d.cts.map +1 -0
  118. package/dist/logging/logger_transport.d.ts +57 -0
  119. package/dist/logging/logger_transport.d.ts.map +1 -0
  120. package/dist/logging/logger_transport.js +40 -0
  121. package/dist/logging/logger_transport.js.map +1 -0
  122. package/dist/node.cjs +90 -0
  123. package/dist/node.d.cts +51 -0
  124. package/dist/node.d.cts.map +1 -0
  125. package/dist/node.d.ts +51 -0
  126. package/dist/node.d.ts.map +1 -0
  127. package/dist/node.js +50 -0
  128. package/dist/node.js.map +1 -0
  129. package/dist/package.cjs +11 -0
  130. package/dist/package.js +6 -0
  131. package/dist/package.js.map +1 -0
  132. package/dist/promises.cjs +234 -0
  133. package/dist/{esm/src/promises.d.ts → promises.d.ts} +6 -6
  134. package/dist/promises.d.ts.map +1 -0
  135. package/dist/promises.js +226 -0
  136. package/dist/promises.js.map +1 -0
  137. package/dist/types/errors.cjs +110 -0
  138. package/dist/types/errors.d.cts +71 -0
  139. package/dist/types/errors.d.cts.map +1 -0
  140. package/dist/types/errors.d.ts +71 -0
  141. package/dist/types/errors.d.ts.map +1 -0
  142. package/dist/types/errors.js +102 -0
  143. package/dist/types/errors.js.map +1 -0
  144. package/dist/types/rpc.cjs +425 -0
  145. package/dist/types/rpc.d.cts +580 -0
  146. package/dist/types/rpc.d.cts.map +1 -0
  147. package/dist/types/rpc.d.ts +580 -0
  148. package/dist/types/rpc.d.ts.map +1 -0
  149. package/dist/types/rpc.js +406 -0
  150. package/dist/types/rpc.js.map +1 -0
  151. package/dist/user_agent.cjs +7 -0
  152. package/dist/user_agent.d.ts +2 -0
  153. package/dist/user_agent.d.ts.map +1 -0
  154. package/dist/user_agent.js +8 -0
  155. package/dist/user_agent.js.map +1 -0
  156. package/dist/utils/completable_promise.cjs +22 -0
  157. package/dist/utils/completable_promise.d.ts.map +1 -0
  158. package/dist/utils/completable_promise.js +22 -0
  159. package/dist/utils/completable_promise.js.map +1 -0
  160. package/dist/utils/rand.cjs +72 -0
  161. package/dist/utils/rand.d.ts.map +1 -0
  162. package/dist/utils/rand.js +71 -0
  163. package/dist/utils/rand.js.map +1 -0
  164. package/dist/utils/streams.cjs +14 -0
  165. package/dist/utils/streams.d.ts.map +1 -0
  166. package/dist/utils/streams.js +13 -0
  167. package/dist/utils/streams.js.map +1 -0
  168. package/package.json +49 -80
  169. package/dist/cjs/package.json +0 -1
  170. package/dist/cjs/src/common_api.d.ts +0 -37
  171. package/dist/cjs/src/common_api.d.ts.map +0 -1
  172. package/dist/cjs/src/common_api.js +0 -49
  173. package/dist/cjs/src/common_api.js.map +0 -1
  174. package/dist/cjs/src/context.d.ts +0 -695
  175. package/dist/cjs/src/context.d.ts.map +0 -1
  176. package/dist/cjs/src/context.js +0 -90
  177. package/dist/cjs/src/context.js.map +0 -1
  178. package/dist/cjs/src/context_impl.d.ts.map +0 -1
  179. package/dist/cjs/src/context_impl.js +0 -597
  180. package/dist/cjs/src/context_impl.js.map +0 -1
  181. package/dist/cjs/src/endpoint/components.d.ts.map +0 -1
  182. package/dist/cjs/src/endpoint/components.js +0 -353
  183. package/dist/cjs/src/endpoint/components.js.map +0 -1
  184. package/dist/cjs/src/endpoint/discovery.d.ts.map +0 -1
  185. package/dist/cjs/src/endpoint/discovery.js +0 -9
  186. package/dist/cjs/src/endpoint/discovery.js.map +0 -1
  187. package/dist/cjs/src/endpoint/endpoint.d.ts.map +0 -1
  188. package/dist/cjs/src/endpoint/endpoint.js +0 -159
  189. package/dist/cjs/src/endpoint/endpoint.js.map +0 -1
  190. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts +0 -49
  191. package/dist/cjs/src/endpoint/fetch_endpoint.d.ts.map +0 -1
  192. package/dist/cjs/src/endpoint/fetch_endpoint.js +0 -53
  193. package/dist/cjs/src/endpoint/fetch_endpoint.js.map +0 -1
  194. package/dist/cjs/src/endpoint/handlers/fetch.d.ts.map +0 -1
  195. package/dist/cjs/src/endpoint/handlers/fetch.js +0 -34
  196. package/dist/cjs/src/endpoint/handlers/fetch.js.map +0 -1
  197. package/dist/cjs/src/endpoint/handlers/generic.d.ts +0 -56
  198. package/dist/cjs/src/endpoint/handlers/generic.d.ts.map +0 -1
  199. package/dist/cjs/src/endpoint/handlers/generic.js +0 -485
  200. package/dist/cjs/src/endpoint/handlers/generic.js.map +0 -1
  201. package/dist/cjs/src/endpoint/handlers/lambda.d.ts.map +0 -1
  202. package/dist/cjs/src/endpoint/handlers/lambda.js +0 -180
  203. package/dist/cjs/src/endpoint/handlers/lambda.js.map +0 -1
  204. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +0 -1
  205. package/dist/cjs/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +0 -1
  206. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts +0 -30
  207. package/dist/cjs/src/endpoint/lambda_endpoint.d.ts.map +0 -1
  208. package/dist/cjs/src/endpoint/lambda_endpoint.js +0 -52
  209. package/dist/cjs/src/endpoint/lambda_endpoint.js.map +0 -1
  210. package/dist/cjs/src/endpoint/node_endpoint.d.ts +0 -16
  211. package/dist/cjs/src/endpoint/node_endpoint.d.ts.map +0 -1
  212. package/dist/cjs/src/endpoint/node_endpoint.js +0 -148
  213. package/dist/cjs/src/endpoint/node_endpoint.js.map +0 -1
  214. package/dist/cjs/src/endpoint/types.d.ts +0 -55
  215. package/dist/cjs/src/endpoint/types.d.ts.map +0 -1
  216. package/dist/cjs/src/endpoint/types.js +0 -3
  217. package/dist/cjs/src/endpoint/withOptions.d.ts.map +0 -1
  218. package/dist/cjs/src/endpoint/withOptions.js +0 -22
  219. package/dist/cjs/src/endpoint/withOptions.js.map +0 -1
  220. package/dist/cjs/src/endpoint.d.ts +0 -108
  221. package/dist/cjs/src/endpoint.d.ts.map +0 -1
  222. package/dist/cjs/src/endpoint.js +0 -13
  223. package/dist/cjs/src/endpoint.js.map +0 -1
  224. package/dist/cjs/src/fetch.d.ts +0 -43
  225. package/dist/cjs/src/fetch.d.ts.map +0 -1
  226. package/dist/cjs/src/fetch.js +0 -64
  227. package/dist/cjs/src/fetch.js.map +0 -1
  228. package/dist/cjs/src/generated/version.d.ts +0 -2
  229. package/dist/cjs/src/generated/version.d.ts.map +0 -1
  230. package/dist/cjs/src/generated/version.js +0 -5
  231. package/dist/cjs/src/generated/version.js.map +0 -1
  232. package/dist/cjs/src/io.d.ts.map +0 -1
  233. package/dist/cjs/src/io.js +0 -78
  234. package/dist/cjs/src/io.js.map +0 -1
  235. package/dist/cjs/src/lambda.d.ts +0 -23
  236. package/dist/cjs/src/lambda.d.ts.map +0 -1
  237. package/dist/cjs/src/lambda.js +0 -55
  238. package/dist/cjs/src/lambda.js.map +0 -1
  239. package/dist/cjs/src/logging/console_logger_transport.d.ts.map +0 -1
  240. package/dist/cjs/src/logging/console_logger_transport.js +0 -98
  241. package/dist/cjs/src/logging/console_logger_transport.js.map +0 -1
  242. package/dist/cjs/src/logging/logger.d.ts.map +0 -1
  243. package/dist/cjs/src/logging/logger.js +0 -60
  244. package/dist/cjs/src/logging/logger.js.map +0 -1
  245. package/dist/cjs/src/logging/logger_transport.d.ts +0 -52
  246. package/dist/cjs/src/logging/logger_transport.d.ts.map +0 -1
  247. package/dist/cjs/src/logging/logger_transport.js +0 -59
  248. package/dist/cjs/src/logging/logger_transport.js.map +0 -1
  249. package/dist/cjs/src/node.d.ts +0 -39
  250. package/dist/cjs/src/node.d.ts.map +0 -1
  251. package/dist/cjs/src/node.js +0 -71
  252. package/dist/cjs/src/node.js.map +0 -1
  253. package/dist/cjs/src/promises.d.ts +0 -111
  254. package/dist/cjs/src/promises.d.ts.map +0 -1
  255. package/dist/cjs/src/promises.js +0 -326
  256. package/dist/cjs/src/promises.js.map +0 -1
  257. package/dist/cjs/src/public_api.d.ts +0 -2
  258. package/dist/cjs/src/public_api.d.ts.map +0 -1
  259. package/dist/cjs/src/public_api.js +0 -28
  260. package/dist/cjs/src/public_api.js.map +0 -1
  261. package/dist/cjs/src/types/errors.d.ts +0 -74
  262. package/dist/cjs/src/types/errors.d.ts.map +0 -1
  263. package/dist/cjs/src/types/errors.js +0 -138
  264. package/dist/cjs/src/types/errors.js.map +0 -1
  265. package/dist/cjs/src/types/rpc.d.ts +0 -620
  266. package/dist/cjs/src/types/rpc.d.ts.map +0 -1
  267. package/dist/cjs/src/types/rpc.js +0 -589
  268. package/dist/cjs/src/types/rpc.js.map +0 -1
  269. package/dist/cjs/src/user_agent.d.ts +0 -2
  270. package/dist/cjs/src/user_agent.d.ts.map +0 -1
  271. package/dist/cjs/src/user_agent.js +0 -16
  272. package/dist/cjs/src/user_agent.js.map +0 -1
  273. package/dist/cjs/src/utils/completable_promise.d.ts.map +0 -1
  274. package/dist/cjs/src/utils/completable_promise.js +0 -34
  275. package/dist/cjs/src/utils/completable_promise.js.map +0 -1
  276. package/dist/cjs/src/utils/rand.d.ts.map +0 -1
  277. package/dist/cjs/src/utils/rand.js +0 -113
  278. package/dist/cjs/src/utils/rand.js.map +0 -1
  279. package/dist/cjs/src/utils/streams.d.ts.map +0 -1
  280. package/dist/cjs/src/utils/streams.js +0 -23
  281. package/dist/cjs/src/utils/streams.js.map +0 -1
  282. package/dist/cjs/tsconfig.tsbuildinfo +0 -1
  283. package/dist/esm/src/common_api.d.ts +0 -37
  284. package/dist/esm/src/common_api.d.ts.map +0 -1
  285. package/dist/esm/src/common_api.js +0 -32
  286. package/dist/esm/src/common_api.js.map +0 -1
  287. package/dist/esm/src/context.d.ts +0 -695
  288. package/dist/esm/src/context.d.ts.map +0 -1
  289. package/dist/esm/src/context.js +0 -87
  290. package/dist/esm/src/context.js.map +0 -1
  291. package/dist/esm/src/context_impl.d.ts +0 -69
  292. package/dist/esm/src/context_impl.d.ts.map +0 -1
  293. package/dist/esm/src/context_impl.js +0 -592
  294. package/dist/esm/src/context_impl.js.map +0 -1
  295. package/dist/esm/src/endpoint/components.d.ts +0 -97
  296. package/dist/esm/src/endpoint/components.d.ts.map +0 -1
  297. package/dist/esm/src/endpoint/components.js +0 -343
  298. package/dist/esm/src/endpoint/components.js.map +0 -1
  299. package/dist/esm/src/endpoint/discovery.d.ts +0 -184
  300. package/dist/esm/src/endpoint/discovery.d.ts.map +0 -1
  301. package/dist/esm/src/endpoint/discovery.js.map +0 -1
  302. package/dist/esm/src/endpoint/endpoint.d.ts +0 -39
  303. package/dist/esm/src/endpoint/endpoint.d.ts.map +0 -1
  304. package/dist/esm/src/endpoint/endpoint.js +0 -155
  305. package/dist/esm/src/endpoint/endpoint.js.map +0 -1
  306. package/dist/esm/src/endpoint/fetch_endpoint.d.ts +0 -49
  307. package/dist/esm/src/endpoint/fetch_endpoint.d.ts.map +0 -1
  308. package/dist/esm/src/endpoint/fetch_endpoint.js +0 -49
  309. package/dist/esm/src/endpoint/fetch_endpoint.js.map +0 -1
  310. package/dist/esm/src/endpoint/handlers/fetch.d.ts +0 -5
  311. package/dist/esm/src/endpoint/handlers/fetch.d.ts.map +0 -1
  312. package/dist/esm/src/endpoint/handlers/fetch.js +0 -31
  313. package/dist/esm/src/endpoint/handlers/fetch.js.map +0 -1
  314. package/dist/esm/src/endpoint/handlers/generic.d.ts.map +0 -1
  315. package/dist/esm/src/endpoint/handlers/generic.js +0 -447
  316. package/dist/esm/src/endpoint/handlers/generic.js.map +0 -1
  317. package/dist/esm/src/endpoint/handlers/lambda.d.ts +0 -10
  318. package/dist/esm/src/endpoint/handlers/lambda.d.ts.map +0 -1
  319. package/dist/esm/src/endpoint/handlers/lambda.js +0 -142
  320. package/dist/esm/src/endpoint/handlers/lambda.js.map +0 -1
  321. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +0 -367
  322. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.d.ts.map +0 -1
  323. package/dist/esm/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js.map +0 -1
  324. package/dist/esm/src/endpoint/lambda_endpoint.d.ts +0 -30
  325. package/dist/esm/src/endpoint/lambda_endpoint.d.ts.map +0 -1
  326. package/dist/esm/src/endpoint/lambda_endpoint.js +0 -48
  327. package/dist/esm/src/endpoint/lambda_endpoint.js.map +0 -1
  328. package/dist/esm/src/endpoint/node_endpoint.d.ts.map +0 -1
  329. package/dist/esm/src/endpoint/node_endpoint.js +0 -111
  330. package/dist/esm/src/endpoint/node_endpoint.js.map +0 -1
  331. package/dist/esm/src/endpoint/types.d.ts +0 -55
  332. package/dist/esm/src/endpoint/types.d.ts.map +0 -1
  333. package/dist/esm/src/endpoint/types.js.map +0 -1
  334. package/dist/esm/src/endpoint/withOptions.d.ts +0 -4
  335. package/dist/esm/src/endpoint/withOptions.d.ts.map +0 -1
  336. package/dist/esm/src/endpoint/withOptions.js +0 -19
  337. package/dist/esm/src/endpoint/withOptions.js.map +0 -1
  338. package/dist/esm/src/endpoint.d.ts +0 -108
  339. package/dist/esm/src/endpoint.d.ts.map +0 -1
  340. package/dist/esm/src/endpoint.js.map +0 -1
  341. package/dist/esm/src/fetch.d.ts +0 -43
  342. package/dist/esm/src/fetch.d.ts.map +0 -1
  343. package/dist/esm/src/fetch.js +0 -46
  344. package/dist/esm/src/fetch.js.map +0 -1
  345. package/dist/esm/src/generated/version.d.ts +0 -2
  346. package/dist/esm/src/generated/version.d.ts.map +0 -1
  347. package/dist/esm/src/generated/version.js +0 -2
  348. package/dist/esm/src/generated/version.js.map +0 -1
  349. package/dist/esm/src/io.d.ts +0 -24
  350. package/dist/esm/src/io.d.ts.map +0 -1
  351. package/dist/esm/src/io.js +0 -73
  352. package/dist/esm/src/io.js.map +0 -1
  353. package/dist/esm/src/lambda.d.ts +0 -23
  354. package/dist/esm/src/lambda.d.ts.map +0 -1
  355. package/dist/esm/src/lambda.js +0 -37
  356. package/dist/esm/src/lambda.js.map +0 -1
  357. package/dist/esm/src/logging/console_logger_transport.d.ts +0 -5
  358. package/dist/esm/src/logging/console_logger_transport.d.ts.map +0 -1
  359. package/dist/esm/src/logging/console_logger_transport.js +0 -94
  360. package/dist/esm/src/logging/console_logger_transport.js.map +0 -1
  361. package/dist/esm/src/logging/logger.d.ts +0 -10
  362. package/dist/esm/src/logging/logger.d.ts.map +0 -1
  363. package/dist/esm/src/logging/logger.js +0 -57
  364. package/dist/esm/src/logging/logger.js.map +0 -1
  365. package/dist/esm/src/logging/logger_transport.d.ts +0 -52
  366. package/dist/esm/src/logging/logger_transport.d.ts.map +0 -1
  367. package/dist/esm/src/logging/logger_transport.js +0 -55
  368. package/dist/esm/src/logging/logger_transport.js.map +0 -1
  369. package/dist/esm/src/node.d.ts +0 -39
  370. package/dist/esm/src/node.d.ts.map +0 -1
  371. package/dist/esm/src/node.js +0 -52
  372. package/dist/esm/src/node.js.map +0 -1
  373. package/dist/esm/src/promises.d.ts.map +0 -1
  374. package/dist/esm/src/promises.js +0 -314
  375. package/dist/esm/src/promises.js.map +0 -1
  376. package/dist/esm/src/public_api.d.ts +0 -2
  377. package/dist/esm/src/public_api.d.ts.map +0 -1
  378. package/dist/esm/src/public_api.js +0 -12
  379. package/dist/esm/src/public_api.js.map +0 -1
  380. package/dist/esm/src/types/errors.d.ts +0 -74
  381. package/dist/esm/src/types/errors.d.ts.map +0 -1
  382. package/dist/esm/src/types/errors.js +0 -128
  383. package/dist/esm/src/types/errors.js.map +0 -1
  384. package/dist/esm/src/types/rpc.d.ts +0 -620
  385. package/dist/esm/src/types/rpc.d.ts.map +0 -1
  386. package/dist/esm/src/types/rpc.js +0 -577
  387. package/dist/esm/src/types/rpc.js.map +0 -1
  388. package/dist/esm/src/user_agent.d.ts +0 -2
  389. package/dist/esm/src/user_agent.d.ts.map +0 -1
  390. package/dist/esm/src/user_agent.js +0 -13
  391. package/dist/esm/src/user_agent.js.map +0 -1
  392. package/dist/esm/src/utils/completable_promise.d.ts +0 -9
  393. package/dist/esm/src/utils/completable_promise.d.ts.map +0 -1
  394. package/dist/esm/src/utils/completable_promise.js +0 -30
  395. package/dist/esm/src/utils/completable_promise.js.map +0 -1
  396. package/dist/esm/src/utils/rand.d.ts +0 -13
  397. package/dist/esm/src/utils/rand.d.ts.map +0 -1
  398. package/dist/esm/src/utils/rand.js +0 -109
  399. package/dist/esm/src/utils/rand.js.map +0 -1
  400. package/dist/esm/src/utils/streams.d.ts +0 -3
  401. package/dist/esm/src/utils/streams.d.ts.map +0 -1
  402. package/dist/esm/src/utils/streams.js +0 -20
  403. package/dist/esm/src/utils/streams.js.map +0 -1
  404. package/dist/esm/tsconfig.tsbuildinfo +0 -1
  405. /package/dist/{cjs/src/endpoint → endpoint}/components.d.ts +0 -0
  406. /package/dist/{cjs/src/endpoint → endpoint}/discovery.d.ts +0 -0
  407. /package/dist/{cjs/src/endpoint → endpoint}/endpoint.d.ts +0 -0
  408. /package/dist/{cjs/src/endpoint → endpoint}/handlers/fetch.d.ts +0 -0
  409. /package/dist/{cjs/src/endpoint → endpoint}/handlers/lambda.d.ts +0 -0
  410. /package/dist/{cjs/src/endpoint → endpoint}/handlers/vm/sdk_shared_core_wasm_bindings.d.ts +0 -0
  411. /package/dist/{esm/src/endpoint → endpoint}/types.js +0 -0
  412. /package/dist/{cjs/src/endpoint → endpoint}/withOptions.d.ts +0 -0
  413. /package/dist/{esm/src/endpoint.js → endpoint.js} +0 -0
  414. /package/dist/{cjs/src/io.d.ts → io.d.ts} +0 -0
  415. /package/dist/{cjs/src/logging → logging}/console_logger_transport.d.ts +0 -0
  416. /package/dist/{cjs/src/logging → logging}/logger.d.ts +0 -0
  417. /package/dist/{cjs/src/utils → utils}/completable_promise.d.ts +0 -0
  418. /package/dist/{cjs/src/utils → utils}/rand.d.ts +0 -0
  419. /package/dist/{cjs/src/utils → utils}/streams.d.ts +0 -0
@@ -1,53 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.FetchEndpointImpl = void 0;
14
- const endpoint_js_1 = require("./endpoint.js");
15
- const generic_js_1 = require("./handlers/generic.js");
16
- const fetch_js_1 = require("./handlers/fetch.js");
17
- class FetchEndpointImpl {
18
- protocolMode;
19
- constructor(protocolMode) {
20
- this.protocolMode = protocolMode;
21
- }
22
- builder = new endpoint_js_1.EndpointBuilder();
23
- bind(definition) {
24
- this.builder.bind(definition);
25
- return this;
26
- }
27
- withIdentityV1(...keys) {
28
- this.builder.addIdentityKeys(...keys);
29
- return this;
30
- }
31
- defaultServiceOptions(options) {
32
- this.builder.setDefaultServiceOptions(options);
33
- return this;
34
- }
35
- setLogger(newLogger) {
36
- this.builder.setLogger(newLogger);
37
- return this;
38
- }
39
- bidirectional(set = true) {
40
- this.protocolMode = set ? "BIDI_STREAM" : "REQUEST_RESPONSE";
41
- return this;
42
- }
43
- journalValueCodecProvider(codecProvider) {
44
- this.builder.setJournalValueCodecProvider(codecProvider);
45
- return this;
46
- }
47
- handler() {
48
- const genericHandler = new generic_js_1.GenericHandler(this.builder.build(), this.protocolMode, {});
49
- return (0, fetch_js_1.fetcher)(genericHandler);
50
- }
51
- }
52
- exports.FetchEndpointImpl = FetchEndpointImpl;
53
- //# sourceMappingURL=fetch_endpoint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch_endpoint.js","sourceRoot":"","sources":["../../../../src/endpoint/fetch_endpoint.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAQH,+CAAgD;AAKhD,sDAAuD;AACvD,kDAA8C;AAmC9C,MAAa,iBAAiB;IACR;IAApB,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAC1C,OAAO,GAAoB,IAAI,6BAAe,EAAE,CAAC;IAElD,IAAI,CACT,UAG4B;QAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,cAAc,CAAC,GAAG,IAAc;QACrC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,qBAAqB,CAAC,OAA8B;QACzD,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,SAA0B;QACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa,CAAC,MAAe,IAAI;QACtC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,yBAAyB,CAC9B,aAA+C;QAE/C,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QAGL,MAAM,cAAc,GAAG,IAAI,2BAAc,CACvC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EACpB,IAAI,CAAC,YAAY,EACjB,EAAE,CACH,CAAC;QACF,OAAO,IAAA,kBAAO,EAAC,cAAc,CAAC,CAAC;IACjC,CAAC;CACF;AAnDD,8CAmDC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/fetch.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,cAAc,CAAC;AAEnE,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc;mBAGlC,OAAO,gBACA,OAAO,EAAE,KACtB,OAAO,CAAC,QAAQ,CAAC;EAoBvB"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.fetcher = fetcher;
14
- function fetcher(handler) {
15
- return {
16
- fetch: async (event, ...extraArgs) => {
17
- const url = event.url;
18
- const headers = Object.fromEntries(event.headers.entries());
19
- const request = {
20
- url,
21
- headers,
22
- body: event.body,
23
- extraArgs,
24
- abortSignal: event.signal,
25
- };
26
- const resp = await handler.handle(request);
27
- return new Response(resp.body, {
28
- status: resp.statusCode,
29
- headers: resp.headers,
30
- });
31
- },
32
- };
33
- }
34
- //# sourceMappingURL=fetch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/fetch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAIH,0BAyBC;AAzBD,SAAgB,OAAO,CAAC,OAAuB;IAC7C,OAAO;QACL,KAAK,EAAE,KAAK,EACV,KAAc,EACd,GAAG,SAAoB,EACJ,EAAE;YACrB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAE5D,MAAM,OAAO,GAAmB;gBAC9B,GAAG;gBACH,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS;gBACT,WAAW,EAAE,KAAK,CAAC,MAAM;aAC1B,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE3C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC7B,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,56 +0,0 @@
1
- import type { ProtocolMode, Endpoint as EndpointManifest } from "../discovery.js";
2
- import { type ReadableStream } from "node:stream/web";
3
- import * as vm from "./vm/sdk_shared_core_wasm_bindings.js";
4
- import type { Endpoint } from "../endpoint.js";
5
- export interface Headers {
6
- [name: string]: string | string[] | undefined;
7
- }
8
- export interface ResponseHeaders {
9
- [name: string]: string;
10
- }
11
- export interface AdditionalContext {
12
- [name: string]: string;
13
- }
14
- export interface RestateRequest {
15
- readonly url: string;
16
- readonly headers: Headers;
17
- readonly body: ReadableStream<Uint8Array> | null;
18
- readonly extraArgs: unknown[];
19
- readonly abortSignal: AbortSignal;
20
- }
21
- export interface RestateResponse {
22
- readonly headers: ResponseHeaders;
23
- readonly statusCode: number;
24
- readonly body: ReadableStream<Uint8Array>;
25
- }
26
- export interface RestateHandler {
27
- handle(request: RestateRequest, context?: AdditionalContext): Promise<RestateResponse>;
28
- }
29
- /**
30
- * This is an internal API to support 'fetch' like handlers.
31
- * It supports both request-reply mode and bidirectional streaming mode.
32
- *
33
- * An individual handler will have to convert the shape of the incoming request
34
- * to a RestateRequest, and then pass it to this handler, and eventually convert back
35
- * the response.
36
- * Different runtimes have slightly different shapes of the incoming request, and responses.
37
- */
38
- export declare class GenericHandler implements RestateHandler {
39
- readonly endpoint: Endpoint;
40
- private readonly protocolMode;
41
- private readonly additionalDiscoveryFields;
42
- private readonly identityVerifier?;
43
- constructor(endpoint: Endpoint, protocolMode: ProtocolMode, additionalDiscoveryFields: Partial<EndpointManifest>);
44
- handle(request: RestateRequest, context?: AdditionalContext): Promise<RestateResponse>;
45
- private _handle;
46
- private validateConnectionSignature;
47
- private handleInvoke;
48
- private handleDiscovery;
49
- private toErrorResponse;
50
- }
51
- /**
52
- * The shared core propagates logs to the SDK invoking this method.
53
- * When possible it provides an invocationId, which is used to access the registered invocationLoggers, that should contain the logger per invocation id.
54
- */
55
- export declare function vm_log(level: vm.LogLevel, strBytes: Uint8Array, loggerId?: number): void;
56
- //# sourceMappingURL=generic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../../../src/endpoint/handlers/generic.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,IAAI,gBAAgB,EAC7B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,iBAAiB,CAAC;AAIvE,OAAO,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAiB5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,OAAO;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CACJ,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAMD;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,cAAc;IAIjD,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAL5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA0B;gBAGjD,QAAQ,EAAE,QAAQ,EACV,YAAY,EAAE,YAAY,EAC1B,yBAAyB,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAwB1D,MAAM,CACjB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC;YAeb,OAAO;IAmErB,OAAO,CAAC,2BAA2B;YA4BrB,YAAY;IAwP1B,OAAO,CAAC,eAAe;IA8HvB,OAAO,CAAC,eAAe;CAUxB;AAMD;;;GAGG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,EAAE,CAAC,QAAQ,EAClB,QAAQ,EAAE,UAAU,EACpB,QAAQ,CAAC,EAAE,MAAM,QA6BlB"}
@@ -1,485 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH
4
- *
5
- * This file is part of the Restate SDK for Node.js/TypeScript,
6
- * which is released under the MIT license.
7
- *
8
- * You can find a copy of the license in file LICENSE in the root
9
- * directory of this repository or package, or at
10
- * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
- */
12
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- var desc = Object.getOwnPropertyDescriptor(m, k);
15
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
- desc = { enumerable: true, get: function() { return m[k]; } };
17
- }
18
- Object.defineProperty(o, k2, desc);
19
- }) : (function(o, m, k, k2) {
20
- if (k2 === undefined) k2 = k;
21
- o[k2] = m[k];
22
- }));
23
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
- Object.defineProperty(o, "default", { enumerable: true, value: v });
25
- }) : function(o, v) {
26
- o["default"] = v;
27
- });
28
- var __importStar = (this && this.__importStar) || (function () {
29
- var ownKeys = function(o) {
30
- ownKeys = Object.getOwnPropertyNames || function (o) {
31
- var ar = [];
32
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
33
- return ar;
34
- };
35
- return ownKeys(o);
36
- };
37
- return function (mod) {
38
- if (mod && mod.__esModule) return mod;
39
- var result = {};
40
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
41
- __setModuleDefault(result, mod);
42
- return result;
43
- };
44
- })();
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.GenericHandler = void 0;
47
- exports.vm_log = vm_log;
48
- const errors_js_1 = require("../../types/errors.js");
49
- const components_js_1 = require("../components.js");
50
- const user_agent_js_1 = require("../../user_agent.js");
51
- const web_1 = require("node:stream/web");
52
- const streams_js_1 = require("../../utils/streams.js");
53
- const context_impl_js_1 = require("../../context_impl.js");
54
- const vm = __importStar(require("./vm/sdk_shared_core_wasm_bindings.js"));
55
- const completable_promise_js_1 = require("../../utils/completable_promise.js");
56
- const rpc_js_1 = require("../../types/rpc.js");
57
- const logger_js_1 = require("../../logging/logger.js");
58
- const console_logger_transport_js_1 = require("../../logging/console_logger_transport.js");
59
- const logger_transport_js_1 = require("../../logging/logger_transport.js");
60
- const restate_sdk_core_1 = require("@restatedev/restate-sdk-core");
61
- const ENDPOINT_MANIFEST_V2 = "application/vnd.restate.endpointmanifest.v2+json";
62
- const ENDPOINT_MANIFEST_V3 = "application/vnd.restate.endpointmanifest.v3+json";
63
- const ENDPOINT_MANIFEST_V4 = "application/vnd.restate.endpointmanifest.v4+json";
64
- /**
65
- * This is an internal API to support 'fetch' like handlers.
66
- * It supports both request-reply mode and bidirectional streaming mode.
67
- *
68
- * An individual handler will have to convert the shape of the incoming request
69
- * to a RestateRequest, and then pass it to this handler, and eventually convert back
70
- * the response.
71
- * Different runtimes have slightly different shapes of the incoming request, and responses.
72
- */
73
- class GenericHandler {
74
- endpoint;
75
- protocolMode;
76
- additionalDiscoveryFields;
77
- identityVerifier;
78
- constructor(endpoint, protocolMode, additionalDiscoveryFields) {
79
- this.endpoint = endpoint;
80
- this.protocolMode = protocolMode;
81
- this.additionalDiscoveryFields = additionalDiscoveryFields;
82
- // Setup identity verifier
83
- if (this.endpoint.keySet === undefined ||
84
- this.endpoint.keySet.length === 0) {
85
- this.endpoint.rlog.warn(`Accepting requests without validating request signatures; handler access must be restricted`);
86
- }
87
- else {
88
- this.endpoint.rlog.info(`Validating requests using signing keys [${this.endpoint.keySet}]`);
89
- this.identityVerifier = new vm.WasmIdentityVerifier(this.endpoint.keySet);
90
- }
91
- // Set the logging level in the shared core too!
92
- vm.set_log_level(restateLogLevelToWasmLogLevel(console_logger_transport_js_1.DEFAULT_CONSOLE_LOGGER_LOG_LEVEL));
93
- }
94
- // handle does not throw.
95
- async handle(request, context) {
96
- try {
97
- return await this._handle(request, context);
98
- }
99
- catch (e) {
100
- const error = (0, errors_js_1.ensureError)(e);
101
- this.endpoint.rlog.error("Error while handling invocation: " + (error.stack ?? error.message));
102
- return this.toErrorResponse(error instanceof errors_js_1.RestateError ? error.code : 500, error.message);
103
- }
104
- }
105
- async _handle(request, context) {
106
- // this is the recommended way to get the relative path from a url that may be relative or absolute
107
- const path = new URL(request.url, "https://example.com").pathname;
108
- const parsed = (0, components_js_1.parseUrlComponents)(path);
109
- if (parsed.type === "unknown") {
110
- const msg = `Invalid path. Allowed are /health, or /discover, or /invoke/SvcName/handlerName, but was: ${path}`;
111
- this.endpoint.rlog.trace(msg);
112
- return this.toErrorResponse(404, msg);
113
- }
114
- if (parsed.type === "health") {
115
- return {
116
- body: (0, streams_js_1.OnceStream)(new TextEncoder().encode("OK")),
117
- headers: {
118
- "content-type": "application/text",
119
- "x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
120
- },
121
- statusCode: 200,
122
- };
123
- }
124
- const error = this.validateConnectionSignature(path, request.headers);
125
- if (error !== null) {
126
- return error;
127
- }
128
- if (parsed.type === "discover") {
129
- return this.handleDiscovery(request.headers["accept"]);
130
- }
131
- const serviceProtocolVersionString = request.headers["content-type"];
132
- if (typeof serviceProtocolVersionString !== "string") {
133
- const errorMessage = "Missing content-type header";
134
- this.endpoint.rlog.warn(errorMessage);
135
- return this.toErrorResponse(415, errorMessage);
136
- }
137
- const service = this.endpoint.components.get(parsed.componentName);
138
- if (!service) {
139
- const msg = `No service found for URL: ${JSON.stringify(parsed)}`;
140
- this.endpoint.rlog.error(msg);
141
- return this.toErrorResponse(404, msg);
142
- }
143
- const handler = service?.handlerMatching(parsed);
144
- if (!handler) {
145
- const msg = `No service found for URL: ${JSON.stringify(parsed)}`;
146
- this.endpoint.rlog.error(msg);
147
- return this.toErrorResponse(404, msg);
148
- }
149
- if (!request.body) {
150
- const msg = "The incoming message body was null";
151
- this.endpoint.rlog.error(msg);
152
- return this.toErrorResponse(400, msg);
153
- }
154
- return this.handleInvoke(service, handler, request.body, request.headers, request.extraArgs, request.abortSignal, context ?? {});
155
- }
156
- validateConnectionSignature(path, headers) {
157
- if (!this.identityVerifier) {
158
- // not validating
159
- return null;
160
- }
161
- const vmHeaders = Object.entries(headers)
162
- .filter(([, v]) => v !== undefined)
163
- .map(([k, v]) => new vm.WasmHeader(k, v instanceof Array ? v[0] : v));
164
- try {
165
- this.identityVerifier.verify_identity(path, vmHeaders);
166
- return null;
167
- }
168
- catch (e) {
169
- this.endpoint.rlog.error(
170
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
171
- `Rejecting request as its JWT did not validate: ${e}`);
172
- return this.toErrorResponse(401, "Unauthorized");
173
- }
174
- }
175
- async handleInvoke(service, handler, body, headers, extraArgs, abortSignal, additionalContext) {
176
- const journalValueCodec = this.endpoint.journalValueCodec
177
- ? await this.endpoint.journalValueCodec
178
- : {
179
- encode: (entry) => entry,
180
- decode: (entry) => Promise.resolve(entry),
181
- };
182
- const loggerId = Math.floor(Math.random() * 4_294_967_295 /* u32::MAX */);
183
- try {
184
- // Instantiate core vm and prepare response headers
185
- const vmHeaders = Object.entries(headers)
186
- .filter(([, v]) => v !== undefined)
187
- .map(([k, v]) => new vm.WasmHeader(k, v instanceof Array ? v[0] : v));
188
- const coreVm = new vm.WasmVM(vmHeaders, restateLogLevelToWasmLogLevel(console_logger_transport_js_1.DEFAULT_CONSOLE_LOGGER_LOG_LEVEL), loggerId, this.endpoint.journalValueCodec !== undefined);
189
- const responseHead = coreVm.get_response_head();
190
- const responseHeaders = responseHead.headers.reduce((headers, { key, value }) => ({
191
- [key]: value,
192
- ...headers,
193
- }), {
194
- "x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
195
- });
196
- // Use a default logger that still respects the endpoint custom logger
197
- // We will override this later with a logger that has a LoggerContext
198
- // See vm_log below for more details
199
- invocationLoggers.set(loggerId, (0, logger_js_1.createLogger)(this.endpoint.loggerTransport, logger_transport_js_1.LogSource.JOURNAL, undefined));
200
- const inputReader = body.getReader();
201
- abortSignal.addEventListener("abort", () => {
202
- invocationLoggers.delete(loggerId);
203
- void inputReader.cancel();
204
- }, { once: true });
205
- // Now buffer input entries
206
- while (!coreVm.is_ready_to_execute()) {
207
- const nextValue = await inputReader.read();
208
- if (nextValue.value !== undefined) {
209
- coreVm.notify_input(nextValue.value);
210
- }
211
- if (nextValue.done) {
212
- coreVm.notify_input_closed();
213
- break;
214
- }
215
- }
216
- // Get input
217
- const input = coreVm.sys_input();
218
- const invocationRequest = {
219
- id: input.invocation_id,
220
- headers: input.headers.reduce((headers, { key, value }) => {
221
- headers.set(key, value);
222
- return headers;
223
- }, new Map()),
224
- attemptHeaders: Object.entries(headers).reduce((headers, [key, value]) => {
225
- if (value !== undefined) {
226
- headers.set(key, value instanceof Array ? value[0] : value);
227
- }
228
- return headers;
229
- }, new Map()),
230
- body: input.input,
231
- extraArgs,
232
- attemptCompletedSignal: abortSignal,
233
- };
234
- // Prepare logger
235
- const loggerContext = new logger_transport_js_1.LoggerContext(input.invocation_id, handler.component().name(), handler.name(), handler.kind() === rpc_js_1.HandlerKind.SERVICE ? undefined : input.key, invocationRequest, additionalContext);
236
- const ctxLogger = (0, logger_js_1.createLogger)(this.endpoint.loggerTransport, logger_transport_js_1.LogSource.USER, loggerContext, () => !coreVm.is_processing());
237
- const vmLogger = (0, logger_js_1.createLogger)(this.endpoint.loggerTransport, logger_transport_js_1.LogSource.JOURNAL, loggerContext
238
- // Filtering is done within the shared core
239
- );
240
- // See vm_log below for more details
241
- invocationLoggers.set(loggerId, vmLogger);
242
- if (!coreVm.is_processing()) {
243
- vmLogger.info("Replaying invocation.");
244
- }
245
- else {
246
- vmLogger.info("Starting invocation.");
247
- }
248
- // This promise is used to signal the end of the computation,
249
- // which can be either the user returns a value,
250
- // or an exception gets catched, or the state machine fails/suspends.
251
- //
252
- // The last case is handled internally within the ContextImpl.
253
- const invocationEndPromise = new completable_promise_js_1.CompletablePromise();
254
- // Prepare response stream
255
- const responseTransformStream = new web_1.TransformStream();
256
- const outputWriter = responseTransformStream.writable.getWriter();
257
- // Prepare context
258
- const ctx = new context_impl_js_1.ContextImpl(coreVm, input, ctxLogger, handler.kind(), vmLogger, invocationRequest, invocationEndPromise, inputReader, outputWriter, journalValueCodec, service.options?.asTerminalError);
259
- journalValueCodec
260
- .decode(input.input)
261
- .catch((e) => Promise.reject(new errors_js_1.TerminalError(`Failed to decode input using journal value codec: ${(0, errors_js_1.ensureError)(e).message}`, {
262
- errorCode: 400,
263
- })))
264
- .then((decodedInput) =>
265
- // Invoke user handler code
266
- handler.invoke(ctx, decodedInput))
267
- .then((output) => {
268
- // Write output result
269
- coreVm.sys_write_output_success(journalValueCodec.encode(output));
270
- coreVm.sys_end();
271
- vmLogger.info("Invocation completed successfully.");
272
- })
273
- .catch((e) => {
274
- // Convert to Error
275
- const error = (0, errors_js_1.ensureError)(e, service.options?.asTerminalError);
276
- (0, errors_js_1.logError)(vmLogger, error);
277
- // If TerminalError, handle it here.
278
- // NOTE: this can still fail!
279
- if (error instanceof errors_js_1.TerminalError) {
280
- coreVm.sys_write_output_failure({
281
- code: error.code,
282
- message: error.message,
283
- });
284
- coreVm.sys_end();
285
- return;
286
- }
287
- // Not a terminal error, have the below catch handle it
288
- throw error;
289
- })
290
- .catch((e) => {
291
- // Handle any other error now (retryable errors)
292
- const error = (0, errors_js_1.ensureError)(e);
293
- if (error instanceof errors_js_1.RetryableError) {
294
- coreVm.notify_error_with_delay_override(error.message, error.stack, error.retryAfter !== undefined
295
- ? BigInt((0, restate_sdk_core_1.millisOrDurationToMillis)(error.retryAfter))
296
- : undefined);
297
- }
298
- else {
299
- coreVm.notify_error(error.message, error.stack);
300
- }
301
- })
302
- .finally(() => {
303
- invocationEndPromise.resolve();
304
- });
305
- // Let's wire up invocationEndPromise with consuming all the output and closing the streams.
306
- invocationEndPromise.promise
307
- .then(async () => {
308
- // Consume output till the end, write it out, then close the stream
309
- let nextOutput = coreVm.take_output();
310
- while (nextOutput !== null && nextOutput !== undefined) {
311
- await outputWriter.write(nextOutput);
312
- nextOutput = coreVm.take_output();
313
- }
314
- await outputWriter.close();
315
- // Let's cancel the input reader, if it's still here
316
- inputReader.cancel().catch(() => { });
317
- })
318
- .finally(() => {
319
- invocationLoggers.delete(loggerId);
320
- })
321
- .catch(() => { });
322
- return {
323
- headers: responseHeaders,
324
- statusCode: responseHead.status_code,
325
- body: responseTransformStream.readable,
326
- };
327
- }
328
- catch (error) {
329
- invocationLoggers.delete(loggerId);
330
- throw error;
331
- }
332
- }
333
- handleDiscovery(acceptVersionsString) {
334
- if (typeof acceptVersionsString !== "string") {
335
- const errorMessage = "Missing accept header";
336
- this.endpoint.rlog.warn(errorMessage);
337
- return this.toErrorResponse(415, errorMessage);
338
- }
339
- // Negotiate version to use
340
- let manifestVersion;
341
- if (acceptVersionsString.includes(ENDPOINT_MANIFEST_V4)) {
342
- manifestVersion = 4;
343
- }
344
- else if (acceptVersionsString.includes(ENDPOINT_MANIFEST_V3)) {
345
- manifestVersion = 3;
346
- }
347
- else if (acceptVersionsString.includes(ENDPOINT_MANIFEST_V2)) {
348
- manifestVersion = 2;
349
- }
350
- else {
351
- const errorMessage = `Unsupported service discovery protocol version '${acceptVersionsString}'`;
352
- this.endpoint.rlog.warn(errorMessage);
353
- return this.toErrorResponse(415, errorMessage);
354
- }
355
- const discovery = {
356
- ...this.endpoint.discoveryMetadata,
357
- ...this.additionalDiscoveryFields,
358
- protocolMode: this.protocolMode,
359
- };
360
- const checkUnsupportedFeature = (obj, ...fields) => {
361
- for (const field of fields) {
362
- if (field in obj && obj[field] !== undefined) {
363
- return this.toErrorResponse(500, `The code uses the new discovery feature '${String(field)}' but the runtime doesn't support it yet (discovery protocol negotiated version ${manifestVersion}). Either remove the usage of this feature, or upgrade the runtime.`);
364
- }
365
- }
366
- return;
367
- };
368
- // Verify none of the manifest v3 configuration options are used.
369
- if (manifestVersion < 3) {
370
- for (const service of discovery.services) {
371
- const error = checkUnsupportedFeature(service, "journalRetention", "idempotencyRetention", "inactivityTimeout", "abortTimeout", "enableLazyState", "ingressPrivate");
372
- if (error !== undefined) {
373
- return error;
374
- }
375
- for (const handler of service.handlers) {
376
- const error = checkUnsupportedFeature(handler, "journalRetention", "idempotencyRetention", "workflowCompletionRetention", "inactivityTimeout", "abortTimeout", "enableLazyState", "ingressPrivate");
377
- if (error !== undefined) {
378
- return error;
379
- }
380
- }
381
- }
382
- }
383
- if (manifestVersion < 4) {
384
- // Blank the lambda compression field. No need to fail in this case.
385
- discovery.lambdaCompression = undefined;
386
- for (const service of discovery.services) {
387
- const error = checkUnsupportedFeature(service, "retryPolicyExponentiationFactor", "retryPolicyInitialInterval", "retryPolicyMaxAttempts", "retryPolicyMaxInterval", "retryPolicyOnMaxAttempts");
388
- if (error !== undefined) {
389
- return error;
390
- }
391
- for (const handler of service.handlers) {
392
- const error = checkUnsupportedFeature(handler, "retryPolicyExponentiationFactor", "retryPolicyInitialInterval", "retryPolicyMaxAttempts", "retryPolicyMaxInterval", "retryPolicyOnMaxAttempts");
393
- if (error !== undefined) {
394
- return error;
395
- }
396
- }
397
- }
398
- }
399
- const body = JSON.stringify(discovery);
400
- return {
401
- headers: {
402
- "content-type": manifestVersion === 2
403
- ? ENDPOINT_MANIFEST_V2
404
- : manifestVersion === 3
405
- ? ENDPOINT_MANIFEST_V3
406
- : ENDPOINT_MANIFEST_V4,
407
- "x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
408
- },
409
- statusCode: 200,
410
- body: (0, streams_js_1.OnceStream)(new TextEncoder().encode(body)),
411
- };
412
- }
413
- toErrorResponse(code, message) {
414
- return {
415
- headers: {
416
- "content-type": "application/json",
417
- "x-restate-server": user_agent_js_1.X_RESTATE_SERVER,
418
- },
419
- statusCode: code,
420
- body: (0, streams_js_1.OnceStream)(new TextEncoder().encode(JSON.stringify({ message }))),
421
- };
422
- }
423
- }
424
- exports.GenericHandler = GenericHandler;
425
- // See vm_log below for more details
426
- const invocationLoggers = new Map();
427
- const logsTextDecoder = new TextDecoder("utf-8", { fatal: false });
428
- /**
429
- * The shared core propagates logs to the SDK invoking this method.
430
- * When possible it provides an invocationId, which is used to access the registered invocationLoggers, that should contain the logger per invocation id.
431
- */
432
- function vm_log(level, strBytes, loggerId) {
433
- try {
434
- const logger = (loggerId && invocationLoggers.get(loggerId)) || undefined;
435
- const str = logsTextDecoder.decode(strBytes);
436
- if (logger !== undefined) {
437
- logger.logForLevel(wasmLogLevelToRestateLogLevel(level), str);
438
- }
439
- else {
440
- (0, console_logger_transport_js_1.defaultLoggerTransport)({
441
- level: wasmLogLevelToRestateLogLevel(level),
442
- replaying: false,
443
- source: logger_transport_js_1.LogSource.JOURNAL,
444
- }, str);
445
- }
446
- }
447
- catch (e) {
448
- // This function CAN'T EVER propagate an error,
449
- // because otherwise it will cause an awesome error in the shared core due to concurrent usage of it.
450
- (0, console_logger_transport_js_1.defaultLoggerTransport)({
451
- level: logger_transport_js_1.RestateLogLevel.ERROR,
452
- replaying: false,
453
- source: logger_transport_js_1.LogSource.SYSTEM,
454
- }, "Unexpected error thrown while trying to log: " + e?.toString());
455
- }
456
- }
457
- function wasmLogLevelToRestateLogLevel(level) {
458
- switch (level) {
459
- case vm.LogLevel.TRACE:
460
- return logger_transport_js_1.RestateLogLevel.TRACE;
461
- case vm.LogLevel.DEBUG:
462
- return logger_transport_js_1.RestateLogLevel.DEBUG;
463
- case vm.LogLevel.INFO:
464
- return logger_transport_js_1.RestateLogLevel.INFO;
465
- case vm.LogLevel.WARN:
466
- return logger_transport_js_1.RestateLogLevel.WARN;
467
- case vm.LogLevel.ERROR:
468
- return logger_transport_js_1.RestateLogLevel.ERROR;
469
- }
470
- }
471
- function restateLogLevelToWasmLogLevel(level) {
472
- switch (level) {
473
- case logger_transport_js_1.RestateLogLevel.TRACE:
474
- return vm.LogLevel.TRACE;
475
- case logger_transport_js_1.RestateLogLevel.DEBUG:
476
- return vm.LogLevel.DEBUG;
477
- case logger_transport_js_1.RestateLogLevel.INFO:
478
- return vm.LogLevel.INFO;
479
- case logger_transport_js_1.RestateLogLevel.WARN:
480
- return vm.LogLevel.WARN;
481
- case logger_transport_js_1.RestateLogLevel.ERROR:
482
- return vm.LogLevel.ERROR;
483
- }
484
- }
485
- //# sourceMappingURL=generic.js.map