@s2-dev/streamstore 0.2.5

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 (467) hide show
  1. package/.devcontainer/README.md +35 -0
  2. package/.devcontainer/devcontainer.json +45 -0
  3. package/FUNCTIONS.md +106 -0
  4. package/README.md +559 -0
  5. package/RUNTIMES.md +48 -0
  6. package/core.d.ts +10 -0
  7. package/core.d.ts.map +1 -0
  8. package/core.js +17 -0
  9. package/core.js.map +1 -0
  10. package/docs/sdks/account/README.md +406 -0
  11. package/docs/sdks/basin/README.md +415 -0
  12. package/docs/sdks/s2/README.md +7 -0
  13. package/docs/sdks/stream/README.md +267 -0
  14. package/funcs/accountCreateBasin.d.ts +14 -0
  15. package/funcs/accountCreateBasin.d.ts.map +1 -0
  16. package/funcs/accountCreateBasin.js +118 -0
  17. package/funcs/accountCreateBasin.js.map +1 -0
  18. package/funcs/accountDeleteBasin.d.ts +13 -0
  19. package/funcs/accountDeleteBasin.d.ts.map +1 -0
  20. package/funcs/accountDeleteBasin.js +114 -0
  21. package/funcs/accountDeleteBasin.js.map +1 -0
  22. package/funcs/accountGetBasinConfig.d.ts +14 -0
  23. package/funcs/accountGetBasinConfig.d.ts.map +1 -0
  24. package/funcs/accountGetBasinConfig.js +114 -0
  25. package/funcs/accountGetBasinConfig.js.map +1 -0
  26. package/funcs/accountListBasins.d.ts +16 -0
  27. package/funcs/accountListBasins.d.ts.map +1 -0
  28. package/funcs/accountListBasins.js +130 -0
  29. package/funcs/accountListBasins.js.map +1 -0
  30. package/funcs/accountReconfigureBasin.d.ts +14 -0
  31. package/funcs/accountReconfigureBasin.d.ts.map +1 -0
  32. package/funcs/accountReconfigureBasin.js +115 -0
  33. package/funcs/accountReconfigureBasin.js.map +1 -0
  34. package/funcs/basinCreateStream.d.ts +14 -0
  35. package/funcs/basinCreateStream.d.ts.map +1 -0
  36. package/funcs/basinCreateStream.js +123 -0
  37. package/funcs/basinCreateStream.js.map +1 -0
  38. package/funcs/basinDeleteStream.d.ts +13 -0
  39. package/funcs/basinDeleteStream.d.ts.map +1 -0
  40. package/funcs/basinDeleteStream.js +119 -0
  41. package/funcs/basinDeleteStream.js.map +1 -0
  42. package/funcs/basinGetStreamConfig.d.ts +14 -0
  43. package/funcs/basinGetStreamConfig.d.ts.map +1 -0
  44. package/funcs/basinGetStreamConfig.js +119 -0
  45. package/funcs/basinGetStreamConfig.js.map +1 -0
  46. package/funcs/basinListStreams.d.ts +16 -0
  47. package/funcs/basinListStreams.d.ts.map +1 -0
  48. package/funcs/basinListStreams.js +137 -0
  49. package/funcs/basinListStreams.js.map +1 -0
  50. package/funcs/basinReconfigureStream.d.ts +14 -0
  51. package/funcs/basinReconfigureStream.d.ts.map +1 -0
  52. package/funcs/basinReconfigureStream.js +120 -0
  53. package/funcs/basinReconfigureStream.js.map +1 -0
  54. package/funcs/streamAppend.d.ts +14 -0
  55. package/funcs/streamAppend.d.ts.map +1 -0
  56. package/funcs/streamAppend.js +124 -0
  57. package/funcs/streamAppend.js.map +1 -0
  58. package/funcs/streamCheckTail.d.ts +14 -0
  59. package/funcs/streamCheckTail.d.ts.map +1 -0
  60. package/funcs/streamCheckTail.js +119 -0
  61. package/funcs/streamCheckTail.js.map +1 -0
  62. package/funcs/streamRead.d.ts +19 -0
  63. package/funcs/streamRead.d.ts.map +1 -0
  64. package/funcs/streamRead.js +134 -0
  65. package/funcs/streamRead.js.map +1 -0
  66. package/hooks/hooks.d.ts +24 -0
  67. package/hooks/hooks.d.ts.map +1 -0
  68. package/hooks/hooks.js +86 -0
  69. package/hooks/hooks.js.map +1 -0
  70. package/hooks/index.d.ts +3 -0
  71. package/hooks/index.d.ts.map +1 -0
  72. package/hooks/index.js +22 -0
  73. package/hooks/index.js.map +1 -0
  74. package/hooks/registration.d.ts +3 -0
  75. package/hooks/registration.d.ts.map +1 -0
  76. package/hooks/registration.js +15 -0
  77. package/hooks/registration.js.map +1 -0
  78. package/hooks/types.d.ts +77 -0
  79. package/hooks/types.d.ts.map +1 -0
  80. package/hooks/types.js +6 -0
  81. package/hooks/types.js.map +1 -0
  82. package/index.d.ts +4 -0
  83. package/index.d.ts.map +1 -0
  84. package/index.js +46 -0
  85. package/index.js.map +1 -0
  86. package/jsr.json +28 -0
  87. package/lib/base64.d.ts +10 -0
  88. package/lib/base64.d.ts.map +1 -0
  89. package/lib/base64.js +71 -0
  90. package/lib/base64.js.map +1 -0
  91. package/lib/config.d.ts +34 -0
  92. package/lib/config.d.ts.map +1 -0
  93. package/lib/config.js +35 -0
  94. package/lib/config.js.map +1 -0
  95. package/lib/dlv.d.ts +14 -0
  96. package/lib/dlv.d.ts.map +1 -0
  97. package/lib/dlv.js +49 -0
  98. package/lib/dlv.js.map +1 -0
  99. package/lib/encodings.d.ts +52 -0
  100. package/lib/encodings.d.ts.map +1 -0
  101. package/lib/encodings.js +368 -0
  102. package/lib/encodings.js.map +1 -0
  103. package/lib/env.d.ts +15 -0
  104. package/lib/env.d.ts.map +1 -0
  105. package/lib/env.js +65 -0
  106. package/lib/env.js.map +1 -0
  107. package/lib/event-streams.d.ts +17 -0
  108. package/lib/event-streams.d.ts.map +1 -0
  109. package/lib/event-streams.js +220 -0
  110. package/lib/event-streams.js.map +1 -0
  111. package/lib/files.d.ts +8 -0
  112. package/lib/files.d.ts.map +1 -0
  113. package/lib/files.js +36 -0
  114. package/lib/files.js.map +1 -0
  115. package/lib/http.d.ts +67 -0
  116. package/lib/http.d.ts.map +1 -0
  117. package/lib/http.js +217 -0
  118. package/lib/http.js.map +1 -0
  119. package/lib/is-plain-object.d.ts +2 -0
  120. package/lib/is-plain-object.d.ts.map +1 -0
  121. package/lib/is-plain-object.js +41 -0
  122. package/lib/is-plain-object.js.map +1 -0
  123. package/lib/logger.d.ts +6 -0
  124. package/lib/logger.d.ts.map +1 -0
  125. package/lib/logger.js +6 -0
  126. package/lib/logger.js.map +1 -0
  127. package/lib/matchers.d.ts +64 -0
  128. package/lib/matchers.d.ts.map +1 -0
  129. package/lib/matchers.js +207 -0
  130. package/lib/matchers.js.map +1 -0
  131. package/lib/primitives.d.ts +23 -0
  132. package/lib/primitives.d.ts.map +1 -0
  133. package/lib/primitives.js +104 -0
  134. package/lib/primitives.js.map +1 -0
  135. package/lib/retries.d.ts +38 -0
  136. package/lib/retries.d.ts.map +1 -0
  137. package/lib/retries.js +154 -0
  138. package/lib/retries.js.map +1 -0
  139. package/lib/schemas.d.ts +19 -0
  140. package/lib/schemas.d.ts.map +1 -0
  141. package/lib/schemas.js +62 -0
  142. package/lib/schemas.js.map +1 -0
  143. package/lib/sdks.d.ts +60 -0
  144. package/lib/sdks.d.ts.map +1 -0
  145. package/lib/sdks.js +280 -0
  146. package/lib/sdks.js.map +1 -0
  147. package/lib/security.d.ts +82 -0
  148. package/lib/security.d.ts.map +1 -0
  149. package/lib/security.js +139 -0
  150. package/lib/security.js.map +1 -0
  151. package/lib/url.d.ts +5 -0
  152. package/lib/url.d.ts.map +1 -0
  153. package/lib/url.js +25 -0
  154. package/lib/url.js.map +1 -0
  155. package/models/components/appendinput.d.ts +49 -0
  156. package/models/components/appendinput.d.ts.map +1 -0
  157. package/models/components/appendinput.js +85 -0
  158. package/models/components/appendinput.js.map +1 -0
  159. package/models/components/appendoutput.d.ts +51 -0
  160. package/models/components/appendoutput.d.ts.map +1 -0
  161. package/models/components/appendoutput.js +86 -0
  162. package/models/components/appendoutput.js.map +1 -0
  163. package/models/components/appendrecord.d.ts +40 -0
  164. package/models/components/appendrecord.d.ts.map +1 -0
  165. package/models/components/appendrecord.js +71 -0
  166. package/models/components/appendrecord.js.map +1 -0
  167. package/models/components/assignment.d.ts +90 -0
  168. package/models/components/assignment.d.ts.map +1 -0
  169. package/models/components/assignment.js +127 -0
  170. package/models/components/assignment.js.map +1 -0
  171. package/models/components/basinconfig.d.ts +33 -0
  172. package/models/components/basinconfig.d.ts.map +1 -0
  173. package/models/components/basinconfig.js +79 -0
  174. package/models/components/basinconfig.js.map +1 -0
  175. package/models/components/basininfo.d.ts +51 -0
  176. package/models/components/basininfo.d.ts.map +1 -0
  177. package/models/components/basininfo.js +76 -0
  178. package/models/components/basininfo.js.map +1 -0
  179. package/models/components/basinstate.d.ts +40 -0
  180. package/models/components/basinstate.d.ts.map +1 -0
  181. package/models/components/basinstate.js +66 -0
  182. package/models/components/basinstate.js.map +1 -0
  183. package/models/components/checktailresponse.d.ts +35 -0
  184. package/models/components/checktailresponse.d.ts.map +1 -0
  185. package/models/components/checktailresponse.js +78 -0
  186. package/models/components/checktailresponse.js.map +1 -0
  187. package/models/components/createbasinrequest.d.ts +36 -0
  188. package/models/components/createbasinrequest.d.ts.map +1 -0
  189. package/models/components/createbasinrequest.js +73 -0
  190. package/models/components/createbasinrequest.js.map +1 -0
  191. package/models/components/createstreamrequest.d.ts +33 -0
  192. package/models/components/createstreamrequest.d.ts.map +1 -0
  193. package/models/components/createstreamrequest.js +70 -0
  194. package/models/components/createstreamrequest.js.map +1 -0
  195. package/models/components/header.d.ts +43 -0
  196. package/models/components/header.d.ts.map +1 -0
  197. package/models/components/header.js +72 -0
  198. package/models/components/header.js.map +1 -0
  199. package/models/components/index.d.ts +23 -0
  200. package/models/components/index.d.ts.map +1 -0
  201. package/models/components/index.js +42 -0
  202. package/models/components/index.js.map +1 -0
  203. package/models/components/listbasinsresponse.d.ts +41 -0
  204. package/models/components/listbasinsresponse.d.ts.map +1 -0
  205. package/models/components/listbasinsresponse.js +81 -0
  206. package/models/components/listbasinsresponse.js.map +1 -0
  207. package/models/components/liststreamsresponse.d.ts +41 -0
  208. package/models/components/liststreamsresponse.d.ts.map +1 -0
  209. package/models/components/liststreamsresponse.js +81 -0
  210. package/models/components/liststreamsresponse.js.map +1 -0
  211. package/models/components/output.d.ts +140 -0
  212. package/models/components/output.d.ts.map +1 -0
  213. package/models/components/output.js +174 -0
  214. package/models/components/output.js.map +1 -0
  215. package/models/components/readresponse.d.ts +83 -0
  216. package/models/components/readresponse.d.ts.map +1 -0
  217. package/models/components/readresponse.js +141 -0
  218. package/models/components/readresponse.js.map +1 -0
  219. package/models/components/retentionpolicy.d.ts +68 -0
  220. package/models/components/retentionpolicy.d.ts.map +1 -0
  221. package/models/components/retentionpolicy.js +94 -0
  222. package/models/components/retentionpolicy.js.map +1 -0
  223. package/models/components/security.d.ts +29 -0
  224. package/models/components/security.d.ts.map +1 -0
  225. package/models/components/security.js +69 -0
  226. package/models/components/security.js.map +1 -0
  227. package/models/components/sequencedrecord.d.ts +46 -0
  228. package/models/components/sequencedrecord.d.ts.map +1 -0
  229. package/models/components/sequencedrecord.js +83 -0
  230. package/models/components/sequencedrecord.js.map +1 -0
  231. package/models/components/sequencedrecordbatch.d.ts +36 -0
  232. package/models/components/sequencedrecordbatch.d.ts.map +1 -0
  233. package/models/components/sequencedrecordbatch.js +70 -0
  234. package/models/components/sequencedrecordbatch.js.map +1 -0
  235. package/models/components/storageclass.d.ts +37 -0
  236. package/models/components/storageclass.d.ts.map +1 -0
  237. package/models/components/storageclass.js +64 -0
  238. package/models/components/storageclass.js.map +1 -0
  239. package/models/components/streamconfig.d.ts +39 -0
  240. package/models/components/streamconfig.d.ts.map +1 -0
  241. package/models/components/streamconfig.js +84 -0
  242. package/models/components/streamconfig.js.map +1 -0
  243. package/models/components/streaminfo.d.ts +45 -0
  244. package/models/components/streaminfo.d.ts.map +1 -0
  245. package/models/components/streaminfo.js +84 -0
  246. package/models/components/streaminfo.js.map +1 -0
  247. package/models/errors/apierror.d.ts +8 -0
  248. package/models/errors/apierror.d.ts.map +1 -0
  249. package/models/errors/apierror.js +21 -0
  250. package/models/errors/apierror.js.map +1 -0
  251. package/models/errors/errorresponse.d.ts +31 -0
  252. package/models/errors/errorresponse.d.ts.map +1 -0
  253. package/models/errors/errorresponse.js +77 -0
  254. package/models/errors/errorresponse.js.map +1 -0
  255. package/models/errors/httpclienterrors.d.ts +44 -0
  256. package/models/errors/httpclienterrors.d.ts.map +1 -0
  257. package/models/errors/httpclienterrors.js +78 -0
  258. package/models/errors/httpclienterrors.js.map +1 -0
  259. package/models/errors/index.d.ts +5 -0
  260. package/models/errors/index.d.ts.map +1 -0
  261. package/models/errors/index.js +24 -0
  262. package/models/errors/index.js.map +1 -0
  263. package/models/errors/sdkvalidationerror.d.ts +20 -0
  264. package/models/errors/sdkvalidationerror.d.ts.map +1 -0
  265. package/models/errors/sdkvalidationerror.js +115 -0
  266. package/models/errors/sdkvalidationerror.js.map +1 -0
  267. package/models/operations/append.d.ts +97 -0
  268. package/models/operations/append.d.ts.map +1 -0
  269. package/models/operations/append.js +134 -0
  270. package/models/operations/append.js.map +1 -0
  271. package/models/operations/checktail.d.ts +33 -0
  272. package/models/operations/checktail.d.ts.map +1 -0
  273. package/models/operations/checktail.js +75 -0
  274. package/models/operations/checktail.js.map +1 -0
  275. package/models/operations/createbasin.d.ts +37 -0
  276. package/models/operations/createbasin.d.ts.map +1 -0
  277. package/models/operations/createbasin.js +85 -0
  278. package/models/operations/createbasin.js.map +1 -0
  279. package/models/operations/createstream.d.ts +38 -0
  280. package/models/operations/createstream.d.ts.map +1 -0
  281. package/models/operations/createstream.js +91 -0
  282. package/models/operations/createstream.js.map +1 -0
  283. package/models/operations/deletebasin.d.ts +32 -0
  284. package/models/operations/deletebasin.d.ts.map +1 -0
  285. package/models/operations/deletebasin.js +69 -0
  286. package/models/operations/deletebasin.js.map +1 -0
  287. package/models/operations/deletestream.d.ts +33 -0
  288. package/models/operations/deletestream.d.ts.map +1 -0
  289. package/models/operations/deletestream.js +75 -0
  290. package/models/operations/deletestream.js.map +1 -0
  291. package/models/operations/getbasinconfig.d.ts +32 -0
  292. package/models/operations/getbasinconfig.d.ts.map +1 -0
  293. package/models/operations/getbasinconfig.js +69 -0
  294. package/models/operations/getbasinconfig.js.map +1 -0
  295. package/models/operations/getstreamconfig.d.ts +33 -0
  296. package/models/operations/getstreamconfig.d.ts.map +1 -0
  297. package/models/operations/getstreamconfig.js +75 -0
  298. package/models/operations/getstreamconfig.js.map +1 -0
  299. package/models/operations/index.d.ts +14 -0
  300. package/models/operations/index.d.ts.map +1 -0
  301. package/models/operations/index.js +33 -0
  302. package/models/operations/index.js.map +1 -0
  303. package/models/operations/listbasins.d.ts +72 -0
  304. package/models/operations/listbasins.d.ts.map +1 -0
  305. package/models/operations/listbasins.js +118 -0
  306. package/models/operations/listbasins.js.map +1 -0
  307. package/models/operations/liststreams.d.ts +73 -0
  308. package/models/operations/liststreams.d.ts.map +1 -0
  309. package/models/operations/liststreams.js +124 -0
  310. package/models/operations/liststreams.js.map +1 -0
  311. package/models/operations/read.d.ts +163 -0
  312. package/models/operations/read.d.ts.map +1 -0
  313. package/models/operations/read.js +200 -0
  314. package/models/operations/read.js.map +1 -0
  315. package/models/operations/reconfigurebasin.d.ts +35 -0
  316. package/models/operations/reconfigurebasin.d.ts.map +1 -0
  317. package/models/operations/reconfigurebasin.js +81 -0
  318. package/models/operations/reconfigurebasin.js.map +1 -0
  319. package/models/operations/reconfigurestream.d.ts +36 -0
  320. package/models/operations/reconfigurestream.d.ts.map +1 -0
  321. package/models/operations/reconfigurestream.js +87 -0
  322. package/models/operations/reconfigurestream.js.map +1 -0
  323. package/package.json +32 -0
  324. package/sdk/account.d.ts +29 -0
  325. package/sdk/account.d.ts.map +1 -0
  326. package/sdk/account.js +48 -0
  327. package/sdk/account.js.map +1 -0
  328. package/sdk/basin.d.ts +29 -0
  329. package/sdk/basin.d.ts.map +1 -0
  330. package/sdk/basin.js +48 -0
  331. package/sdk/basin.js.map +1 -0
  332. package/sdk/index.d.ts +2 -0
  333. package/sdk/index.d.ts.map +1 -0
  334. package/sdk/index.js +21 -0
  335. package/sdk/index.js.map +1 -0
  336. package/sdk/sdk.d.ts +13 -0
  337. package/sdk/sdk.d.ts.map +1 -0
  338. package/sdk/sdk.js +23 -0
  339. package/sdk/sdk.js.map +1 -0
  340. package/sdk/stream.d.ts +22 -0
  341. package/sdk/stream.d.ts.map +1 -0
  342. package/sdk/stream.js +35 -0
  343. package/sdk/stream.js.map +1 -0
  344. package/src/core.ts +13 -0
  345. package/src/funcs/accountCreateBasin.ts +149 -0
  346. package/src/funcs/accountDeleteBasin.ts +141 -0
  347. package/src/funcs/accountGetBasinConfig.ts +141 -0
  348. package/src/funcs/accountListBasins.ts +188 -0
  349. package/src/funcs/accountReconfigureBasin.ts +142 -0
  350. package/src/funcs/basinCreateStream.ts +155 -0
  351. package/src/funcs/basinDeleteStream.ts +147 -0
  352. package/src/funcs/basinGetStreamConfig.ts +147 -0
  353. package/src/funcs/basinListStreams.ts +196 -0
  354. package/src/funcs/basinReconfigureStream.ts +148 -0
  355. package/src/funcs/streamAppend.ts +152 -0
  356. package/src/funcs/streamCheckTail.ts +147 -0
  357. package/src/funcs/streamRead.ts +163 -0
  358. package/src/hooks/hooks.ts +132 -0
  359. package/src/hooks/index.ts +6 -0
  360. package/src/hooks/registration.ts +14 -0
  361. package/src/hooks/types.ts +109 -0
  362. package/src/index.ts +7 -0
  363. package/src/lib/base64.ts +37 -0
  364. package/src/lib/config.ts +60 -0
  365. package/src/lib/dlv.ts +53 -0
  366. package/src/lib/encodings.ts +483 -0
  367. package/src/lib/env.ts +41 -0
  368. package/src/lib/event-streams.ts +264 -0
  369. package/src/lib/files.ts +40 -0
  370. package/src/lib/http.ts +323 -0
  371. package/src/lib/is-plain-object.ts +43 -0
  372. package/src/lib/logger.ts +9 -0
  373. package/src/lib/matchers.ts +325 -0
  374. package/src/lib/primitives.ts +136 -0
  375. package/src/lib/retries.ts +219 -0
  376. package/src/lib/schemas.ts +91 -0
  377. package/src/lib/sdks.ts +400 -0
  378. package/src/lib/security.ts +254 -0
  379. package/src/lib/url.ts +33 -0
  380. package/src/models/components/appendinput.ts +102 -0
  381. package/src/models/components/appendoutput.ts +101 -0
  382. package/src/models/components/appendrecord.ts +75 -0
  383. package/src/models/components/assignment.ts +177 -0
  384. package/src/models/components/basinconfig.ts +80 -0
  385. package/src/models/components/basininfo.ts +94 -0
  386. package/src/models/components/basinstate.ts +39 -0
  387. package/src/models/components/checktailresponse.ts +81 -0
  388. package/src/models/components/createbasinrequest.ts +85 -0
  389. package/src/models/components/createstreamrequest.ts +75 -0
  390. package/src/models/components/header.ts +75 -0
  391. package/src/models/components/index.ts +26 -0
  392. package/src/models/components/listbasinsresponse.ts +94 -0
  393. package/src/models/components/liststreamsresponse.ts +94 -0
  394. package/src/models/components/output.ts +277 -0
  395. package/src/models/components/readresponse.ts +197 -0
  396. package/src/models/components/retentionpolicy.ts +122 -0
  397. package/src/models/components/security.ts +62 -0
  398. package/src/models/components/sequencedrecord.ts +99 -0
  399. package/src/models/components/sequencedrecordbatch.ts +78 -0
  400. package/src/models/components/storageclass.ts +38 -0
  401. package/src/models/components/streamconfig.ts +94 -0
  402. package/src/models/components/streaminfo.ts +93 -0
  403. package/src/models/errors/apierror.ts +27 -0
  404. package/src/models/errors/errorresponse.ts +69 -0
  405. package/src/models/errors/httpclienterrors.ts +62 -0
  406. package/src/models/errors/index.ts +8 -0
  407. package/src/models/errors/sdkvalidationerror.ts +97 -0
  408. package/src/models/operations/append.ts +176 -0
  409. package/src/models/operations/checktail.ts +76 -0
  410. package/src/models/operations/createbasin.ts +89 -0
  411. package/src/models/operations/createstream.ts +96 -0
  412. package/src/models/operations/deletebasin.ts +69 -0
  413. package/src/models/operations/deletestream.ts +76 -0
  414. package/src/models/operations/getbasinconfig.ts +69 -0
  415. package/src/models/operations/getstreamconfig.ts +76 -0
  416. package/src/models/operations/index.ts +17 -0
  417. package/src/models/operations/listbasins.ts +163 -0
  418. package/src/models/operations/liststreams.ts +170 -0
  419. package/src/models/operations/read.ts +309 -0
  420. package/src/models/operations/reconfigurebasin.ts +83 -0
  421. package/src/models/operations/reconfigurestream.ts +90 -0
  422. package/src/sdk/account.ts +86 -0
  423. package/src/sdk/basin.ts +86 -0
  424. package/src/sdk/index.ts +5 -0
  425. package/src/sdk/sdk.ts +25 -0
  426. package/src/sdk/stream.ts +57 -0
  427. package/src/types/blobs.ts +31 -0
  428. package/src/types/constdatetime.ts +15 -0
  429. package/src/types/enums.ts +16 -0
  430. package/src/types/fp.ts +50 -0
  431. package/src/types/index.ts +11 -0
  432. package/src/types/operations.ts +105 -0
  433. package/src/types/rfcdate.ts +54 -0
  434. package/src/types/streams.ts +21 -0
  435. package/tsconfig.json +41 -0
  436. package/types/blobs.d.ts +4 -0
  437. package/types/blobs.d.ts.map +1 -0
  438. package/types/blobs.js +62 -0
  439. package/types/blobs.js.map +1 -0
  440. package/types/constdatetime.d.ts +3 -0
  441. package/types/constdatetime.d.ts.map +1 -0
  442. package/types/constdatetime.js +46 -0
  443. package/types/constdatetime.js.map +1 -0
  444. package/types/enums.d.ts +12 -0
  445. package/types/enums.d.ts.map +1 -0
  446. package/types/enums.js +10 -0
  447. package/types/enums.js.map +1 -0
  448. package/types/fp.d.ts +31 -0
  449. package/types/fp.d.ts.map +1 -0
  450. package/types/fp.js +37 -0
  451. package/types/fp.js.map +1 -0
  452. package/types/index.d.ts +8 -0
  453. package/types/index.d.ts.map +1 -0
  454. package/types/index.js +16 -0
  455. package/types/index.js.map +1 -0
  456. package/types/operations.d.ts +27 -0
  457. package/types/operations.d.ts.map +1 -0
  458. package/types/operations.js +83 -0
  459. package/types/operations.js.map +1 -0
  460. package/types/rfcdate.d.ts +21 -0
  461. package/types/rfcdate.d.ts.map +1 -0
  462. package/types/rfcdate.js +46 -0
  463. package/types/rfcdate.js.map +1 -0
  464. package/types/streams.d.ts +2 -0
  465. package/types/streams.d.ts.map +1 -0
  466. package/types/streams.js +18 -0
  467. package/types/streams.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/lib/logger.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,64 @@
1
+ import { APIError } from "../models/errors/apierror.js";
2
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
3
+ import { Result } from "../types/fp.js";
4
+ import { StatusCodePredicate } from "./http.js";
5
+ export type Encoding = "json" | "text" | "bytes" | "stream" | "sse" | "nil" | "fail";
6
+ type Schema<T> = {
7
+ parse(raw: unknown): T;
8
+ };
9
+ type MatchOptions = {
10
+ ctype?: string;
11
+ hdrs?: boolean;
12
+ key?: string;
13
+ sseSentinel?: string;
14
+ };
15
+ export type ValueMatcher<V> = MatchOptions & {
16
+ enc: Encoding;
17
+ codes: StatusCodePredicate;
18
+ schema: Schema<V>;
19
+ };
20
+ export type ErrorMatcher<E> = MatchOptions & {
21
+ enc: Encoding;
22
+ codes: StatusCodePredicate;
23
+ schema: Schema<E>;
24
+ err: true;
25
+ };
26
+ export type FailMatcher = {
27
+ enc: "fail";
28
+ codes: StatusCodePredicate;
29
+ };
30
+ export type Matcher<T, E> = ValueMatcher<T> | ErrorMatcher<E> | FailMatcher;
31
+ export declare function jsonErr<E>(codes: StatusCodePredicate, schema: Schema<E>, options?: MatchOptions): ErrorMatcher<E>;
32
+ export declare function json<T>(codes: StatusCodePredicate, schema: Schema<T>, options?: MatchOptions): ValueMatcher<T>;
33
+ export declare function textErr<E>(codes: StatusCodePredicate, schema: Schema<E>, options?: MatchOptions): ErrorMatcher<E>;
34
+ export declare function text<T>(codes: StatusCodePredicate, schema: Schema<T>, options?: MatchOptions): ValueMatcher<T>;
35
+ export declare function bytesErr<E>(codes: StatusCodePredicate, schema: Schema<E>, options?: MatchOptions): ErrorMatcher<E>;
36
+ export declare function bytes<T>(codes: StatusCodePredicate, schema: Schema<T>, options?: MatchOptions): ValueMatcher<T>;
37
+ export declare function streamErr<E>(codes: StatusCodePredicate, schema: Schema<E>, options?: MatchOptions): ErrorMatcher<E>;
38
+ export declare function stream<T>(codes: StatusCodePredicate, schema: Schema<T>, options?: MatchOptions): ValueMatcher<T>;
39
+ export declare function sseErr<E>(codes: StatusCodePredicate, schema: Schema<E>, options?: MatchOptions): ErrorMatcher<E>;
40
+ export declare function sse<T>(codes: StatusCodePredicate, schema: Schema<T>, options?: MatchOptions): ValueMatcher<T>;
41
+ export declare function nilErr<E>(codes: StatusCodePredicate, schema: Schema<E>, options?: MatchOptions): ErrorMatcher<E>;
42
+ export declare function nil<T>(codes: StatusCodePredicate, schema: Schema<T>, options?: MatchOptions): ValueMatcher<T>;
43
+ export declare function fail(codes: StatusCodePredicate): FailMatcher;
44
+ export type MatchedValue<Matchers> = Matchers extends Matcher<infer T, any>[] ? T : never;
45
+ export type MatchedError<Matchers> = Matchers extends Matcher<any, infer E>[] ? E : never;
46
+ export type MatchFunc<T, E> = (response: Response, options?: {
47
+ resultKey?: string;
48
+ extraFields?: Record<string, unknown>;
49
+ }) => Promise<[result: Result<T, E>, raw: unknown]>;
50
+ export declare function match<T, E>(...matchers: Array<Matcher<T, E>>): MatchFunc<T, E | APIError | SDKValidationError>;
51
+ /**
52
+ * Iterates over a Headers object and returns an object with all the header
53
+ * entries. Values are represented as an array to account for repeated headers.
54
+ */
55
+ export declare function unpackHeaders(headers: Headers): Record<string, string[]>;
56
+ /**
57
+ * Discards the response body to free up resources.
58
+ *
59
+ * To learn why this is need, see the undici docs:
60
+ * https://undici.nodejs.org/#/?id=garbage-collection
61
+ */
62
+ export declare function discardResponseBody(res: Response): Promise<void>;
63
+ export {};
64
+ //# sourceMappingURL=matchers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../src/lib/matchers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ /*
3
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.jsonErr = jsonErr;
7
+ exports.json = json;
8
+ exports.textErr = textErr;
9
+ exports.text = text;
10
+ exports.bytesErr = bytesErr;
11
+ exports.bytes = bytes;
12
+ exports.streamErr = streamErr;
13
+ exports.stream = stream;
14
+ exports.sseErr = sseErr;
15
+ exports.sse = sse;
16
+ exports.nilErr = nilErr;
17
+ exports.nil = nil;
18
+ exports.fail = fail;
19
+ exports.match = match;
20
+ exports.unpackHeaders = unpackHeaders;
21
+ exports.discardResponseBody = discardResponseBody;
22
+ const apierror_js_1 = require("../models/errors/apierror.js");
23
+ const event_streams_js_1 = require("./event-streams.js");
24
+ const http_js_1 = require("./http.js");
25
+ const is_plain_object_js_1 = require("./is-plain-object.js");
26
+ const schemas_js_1 = require("./schemas.js");
27
+ const DEFAULT_CONTENT_TYPES = {
28
+ json: "application/json",
29
+ text: "text/plain",
30
+ bytes: "application/octet-stream",
31
+ stream: "application/octet-stream",
32
+ sse: "text/event-stream",
33
+ nil: "*",
34
+ fail: "*",
35
+ };
36
+ function jsonErr(codes, schema, options) {
37
+ return { ...options, err: true, enc: "json", codes, schema };
38
+ }
39
+ function json(codes, schema, options) {
40
+ return { ...options, enc: "json", codes, schema };
41
+ }
42
+ function textErr(codes, schema, options) {
43
+ return { ...options, err: true, enc: "text", codes, schema };
44
+ }
45
+ function text(codes, schema, options) {
46
+ return { ...options, enc: "text", codes, schema };
47
+ }
48
+ function bytesErr(codes, schema, options) {
49
+ return { ...options, err: true, enc: "bytes", codes, schema };
50
+ }
51
+ function bytes(codes, schema, options) {
52
+ return { ...options, enc: "bytes", codes, schema };
53
+ }
54
+ function streamErr(codes, schema, options) {
55
+ return { ...options, err: true, enc: "stream", codes, schema };
56
+ }
57
+ function stream(codes, schema, options) {
58
+ return { ...options, enc: "stream", codes, schema };
59
+ }
60
+ function sseErr(codes, schema, options) {
61
+ return { ...options, err: true, enc: "sse", codes, schema };
62
+ }
63
+ function sse(codes, schema, options) {
64
+ return { ...options, enc: "sse", codes, schema };
65
+ }
66
+ function nilErr(codes, schema, options) {
67
+ return { ...options, err: true, enc: "nil", codes, schema };
68
+ }
69
+ function nil(codes, schema, options) {
70
+ return { ...options, enc: "nil", codes, schema };
71
+ }
72
+ function fail(codes) {
73
+ return { enc: "fail", codes };
74
+ }
75
+ function match(...matchers) {
76
+ return async function matchFunc(response, options) {
77
+ let raw;
78
+ let matcher;
79
+ for (const match of matchers) {
80
+ const { codes } = match;
81
+ const ctpattern = "ctype" in match
82
+ ? match.ctype
83
+ : DEFAULT_CONTENT_TYPES[match.enc];
84
+ if (ctpattern && (0, http_js_1.matchResponse)(response, codes, ctpattern)) {
85
+ matcher = match;
86
+ break;
87
+ }
88
+ else if (!ctpattern && (0, http_js_1.matchStatusCode)(response, codes)) {
89
+ matcher = match;
90
+ break;
91
+ }
92
+ }
93
+ if (!matcher) {
94
+ const responseBody = await response.text();
95
+ return [{
96
+ ok: false,
97
+ error: new apierror_js_1.APIError("Unexpected API response status or content-type", response, responseBody),
98
+ }, responseBody];
99
+ }
100
+ const encoding = matcher.enc;
101
+ switch (encoding) {
102
+ case "json":
103
+ raw = await response.json();
104
+ break;
105
+ case "bytes":
106
+ raw = new Uint8Array(await response.arrayBuffer());
107
+ break;
108
+ case "stream":
109
+ raw = response.body;
110
+ break;
111
+ case "text":
112
+ raw = await response.text();
113
+ break;
114
+ case "sse":
115
+ raw = response.body && matcher.sseSentinel
116
+ ? (0, event_streams_js_1.discardSentinel)(response.body, matcher.sseSentinel)
117
+ : response.body;
118
+ break;
119
+ case "nil":
120
+ raw = await discardResponseBody(response);
121
+ break;
122
+ case "fail":
123
+ raw = await response.text();
124
+ break;
125
+ default:
126
+ encoding;
127
+ throw new Error(`Unsupported response type: ${encoding}`);
128
+ }
129
+ if (matcher.enc === "fail") {
130
+ return [{
131
+ ok: false,
132
+ error: new apierror_js_1.APIError("API error occurred", response, typeof raw === "string" ? raw : ""),
133
+ }, raw];
134
+ }
135
+ const resultKey = matcher.key || options?.resultKey;
136
+ let data;
137
+ if ("err" in matcher) {
138
+ data = {
139
+ ...options?.extraFields,
140
+ ...(matcher.hdrs ? { Headers: unpackHeaders(response.headers) } : null),
141
+ ...((0, is_plain_object_js_1.isPlainObject)(raw) ? raw : null),
142
+ };
143
+ }
144
+ else if (resultKey) {
145
+ data = {
146
+ ...options?.extraFields,
147
+ ...(matcher.hdrs ? { Headers: unpackHeaders(response.headers) } : null),
148
+ [resultKey]: raw,
149
+ };
150
+ }
151
+ else if (matcher.hdrs) {
152
+ data = {
153
+ ...options?.extraFields,
154
+ ...(matcher.hdrs ? { Headers: unpackHeaders(response.headers) } : null),
155
+ ...((0, is_plain_object_js_1.isPlainObject)(raw) ? raw : null),
156
+ };
157
+ }
158
+ else {
159
+ data = raw;
160
+ }
161
+ if ("err" in matcher) {
162
+ const result = (0, schemas_js_1.safeParse)(data, (v) => matcher.schema.parse(v), "Response validation failed");
163
+ return [result.ok ? { ok: false, error: result.value } : result, raw];
164
+ }
165
+ else {
166
+ return [
167
+ (0, schemas_js_1.safeParse)(data, (v) => matcher.schema.parse(v), "Response validation failed"),
168
+ raw,
169
+ ];
170
+ }
171
+ };
172
+ }
173
+ const headerValRE = /, */;
174
+ /**
175
+ * Iterates over a Headers object and returns an object with all the header
176
+ * entries. Values are represented as an array to account for repeated headers.
177
+ */
178
+ function unpackHeaders(headers) {
179
+ const out = {};
180
+ for (const [k, v] of headers.entries()) {
181
+ out[k] = v.split(headerValRE);
182
+ }
183
+ return out;
184
+ }
185
+ /**
186
+ * Discards the response body to free up resources.
187
+ *
188
+ * To learn why this is need, see the undici docs:
189
+ * https://undici.nodejs.org/#/?id=garbage-collection
190
+ */
191
+ async function discardResponseBody(res) {
192
+ const reader = res.body?.getReader();
193
+ if (reader == null) {
194
+ return;
195
+ }
196
+ try {
197
+ let done = false;
198
+ while (!done) {
199
+ const res = await reader.read();
200
+ done = res.done;
201
+ }
202
+ }
203
+ finally {
204
+ reader.releaseLock();
205
+ }
206
+ }
207
+ //# sourceMappingURL=matchers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../src/lib/matchers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export declare function invariant(condition: unknown, message: string): asserts condition;
2
+ export type ExactPartial<T> = {
3
+ [P in keyof T]?: T[P] | undefined;
4
+ };
5
+ export type Remap<Inp, Mapping extends {
6
+ [k in keyof Inp]?: string | null;
7
+ }> = {
8
+ [k in keyof Inp as Mapping[k] extends string ? Mapping[k] : Mapping[k] extends null ? never : k]: Inp[k];
9
+ };
10
+ /**
11
+ * Converts or omits an object's keys according to a mapping.
12
+ *
13
+ * @param inp An object whose keys will be remapped
14
+ * @param mappings A mapping of original keys to new keys. If a key is not present in the mapping, it will be left as is. If a key is mapped to `null`, it will be removed in the resulting object.
15
+ * @returns A new object with keys remapped or omitted according to the mappings
16
+ */
17
+ export declare function remap<Inp extends Record<string, unknown>, const Mapping extends {
18
+ [k in keyof Inp]?: string | null;
19
+ }>(inp: Inp, mappings: Mapping): Remap<Inp, Mapping>;
20
+ export declare function combineSignals(...signals: Array<AbortSignal | null | undefined>): AbortSignal | null;
21
+ export declare function abortSignalAny(signals: AbortSignal[]): AbortSignal;
22
+ export declare function compactMap<T>(values: Record<string, T | undefined>): Record<string, T>;
23
+ //# sourceMappingURL=primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/lib/primitives.ts"],"names":[],"mappings":"AAWA,wBAAgB,SAAS,CACvB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAInB;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;CAClC,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,SAAS;KAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;CAAE,IAAI;KAC5E,CAAC,IAAI,MAAM,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,MAAM,GACxC,OAAO,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACvB,KAAK,GACL,CAAC,GAAsC,GAAG,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,KAAK,CACnB,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,KAAK,CAAC,OAAO,SAAS;KAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;CAAE,EAC1D,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAiBlD;AAED,wBAAgB,cAAc,CAC5B,GAAG,OAAO,EAAE,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,GAChD,WAAW,GAAG,IAAI,CAkBpB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,CAsClE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,GACpC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAUnB"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ /*
3
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.invariant = invariant;
7
+ exports.remap = remap;
8
+ exports.combineSignals = combineSignals;
9
+ exports.abortSignalAny = abortSignalAny;
10
+ exports.compactMap = compactMap;
11
+ class InvariantError extends Error {
12
+ constructor(message) {
13
+ super(message);
14
+ this.name = "InvariantError";
15
+ }
16
+ }
17
+ function invariant(condition, message) {
18
+ if (!condition) {
19
+ throw new InvariantError(message);
20
+ }
21
+ }
22
+ /**
23
+ * Converts or omits an object's keys according to a mapping.
24
+ *
25
+ * @param inp An object whose keys will be remapped
26
+ * @param mappings A mapping of original keys to new keys. If a key is not present in the mapping, it will be left as is. If a key is mapped to `null`, it will be removed in the resulting object.
27
+ * @returns A new object with keys remapped or omitted according to the mappings
28
+ */
29
+ function remap(inp, mappings) {
30
+ let out = {};
31
+ if (!Object.keys(mappings).length) {
32
+ out = inp;
33
+ return out;
34
+ }
35
+ for (const [k, v] of Object.entries(inp)) {
36
+ const j = mappings[k];
37
+ if (j === null) {
38
+ continue;
39
+ }
40
+ out[j ?? k] = v;
41
+ }
42
+ return out;
43
+ }
44
+ function combineSignals(...signals) {
45
+ const filtered = [];
46
+ for (const signal of signals) {
47
+ if (signal) {
48
+ filtered.push(signal);
49
+ }
50
+ }
51
+ switch (filtered.length) {
52
+ case 0:
53
+ case 1:
54
+ return filtered[0] || null;
55
+ default:
56
+ if ("any" in AbortSignal && typeof AbortSignal.any === "function") {
57
+ return AbortSignal.any(filtered);
58
+ }
59
+ return abortSignalAny(filtered);
60
+ }
61
+ }
62
+ function abortSignalAny(signals) {
63
+ const controller = new AbortController();
64
+ const result = controller.signal;
65
+ if (!signals.length) {
66
+ return controller.signal;
67
+ }
68
+ if (signals.length === 1) {
69
+ return signals[0] || controller.signal;
70
+ }
71
+ for (const signal of signals) {
72
+ if (signal.aborted) {
73
+ return signal;
74
+ }
75
+ }
76
+ function abort() {
77
+ controller.abort(this.reason);
78
+ clean();
79
+ }
80
+ const signalRefs = [];
81
+ function clean() {
82
+ for (const signalRef of signalRefs) {
83
+ const signal = signalRef.deref();
84
+ if (signal) {
85
+ signal.removeEventListener("abort", abort);
86
+ }
87
+ }
88
+ }
89
+ for (const signal of signals) {
90
+ signalRefs.push(new WeakRef(signal));
91
+ signal.addEventListener("abort", abort);
92
+ }
93
+ return result;
94
+ }
95
+ function compactMap(values) {
96
+ const out = {};
97
+ for (const [k, v] of Object.entries(values)) {
98
+ if (typeof v !== "undefined") {
99
+ out[k] = v;
100
+ }
101
+ }
102
+ return out;
103
+ }
104
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/lib/primitives.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ export type BackoffStrategy = {
2
+ initialInterval: number;
3
+ maxInterval: number;
4
+ exponent: number;
5
+ maxElapsedTime: number;
6
+ };
7
+ export type RetryConfig = {
8
+ strategy: "none";
9
+ } | {
10
+ strategy: "backoff";
11
+ backoff?: BackoffStrategy;
12
+ retryConnectionErrors?: boolean;
13
+ };
14
+ /**
15
+ * PermanentError is an error that is not recoverable. Throwing this error will
16
+ * cause a retry loop to terminate.
17
+ */
18
+ export declare class PermanentError extends Error {
19
+ /** The underlying cause of the error. */
20
+ readonly cause: unknown;
21
+ constructor(message: string, options?: {
22
+ cause?: unknown;
23
+ });
24
+ }
25
+ /**
26
+ * TemporaryError is an error is used to signal that an HTTP request can be
27
+ * retried as part of a retry loop. If retry attempts are exhausted and this
28
+ * error is thrown, the response will be returned to the caller.
29
+ */
30
+ export declare class TemporaryError extends Error {
31
+ response: Response;
32
+ constructor(message: string, response: Response);
33
+ }
34
+ export declare function retry(fetchFn: () => Promise<Response>, options: {
35
+ config: RetryConfig;
36
+ statusCodes: string[];
37
+ }): Promise<Response>;
38
+ //# sourceMappingURL=retries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retries.d.ts","sourceRoot":"","sources":["../src/lib/retries.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AASF,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpB;IACE,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEN;;;GAGG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,yCAAyC;IACzC,SAAkB,KAAK,EAAE,OAAO,CAAC;gBAErB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAgB3D;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,EAAE,QAAQ,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;CAOhD;AAED,wBAAsB,KAAK,CACzB,OAAO,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,EAChC,OAAO,EAAE;IACP,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,GACA,OAAO,CAAC,QAAQ,CAAC,CAanB"}
package/lib/retries.js ADDED
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ /*
3
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TemporaryError = exports.PermanentError = void 0;
7
+ exports.retry = retry;
8
+ const http_js_1 = require("./http.js");
9
+ const defaultBackoff = {
10
+ initialInterval: 500,
11
+ maxInterval: 60000,
12
+ exponent: 1.5,
13
+ maxElapsedTime: 3600000,
14
+ };
15
+ /**
16
+ * PermanentError is an error that is not recoverable. Throwing this error will
17
+ * cause a retry loop to terminate.
18
+ */
19
+ class PermanentError extends Error {
20
+ constructor(message, options) {
21
+ let msg = message;
22
+ if (options?.cause) {
23
+ msg += `: ${options.cause}`;
24
+ }
25
+ super(msg, options);
26
+ this.name = "PermanentError";
27
+ // In older runtimes, the cause field would not have been assigned through
28
+ // the super() call.
29
+ if (typeof this.cause === "undefined") {
30
+ this.cause = options?.cause;
31
+ }
32
+ Object.setPrototypeOf(this, PermanentError.prototype);
33
+ }
34
+ }
35
+ exports.PermanentError = PermanentError;
36
+ /**
37
+ * TemporaryError is an error is used to signal that an HTTP request can be
38
+ * retried as part of a retry loop. If retry attempts are exhausted and this
39
+ * error is thrown, the response will be returned to the caller.
40
+ */
41
+ class TemporaryError extends Error {
42
+ constructor(message, response) {
43
+ super(message);
44
+ this.response = response;
45
+ this.name = "TemporaryError";
46
+ Object.setPrototypeOf(this, TemporaryError.prototype);
47
+ }
48
+ }
49
+ exports.TemporaryError = TemporaryError;
50
+ async function retry(fetchFn, options) {
51
+ switch (options.config.strategy) {
52
+ case "backoff":
53
+ return retryBackoff(wrapFetcher(fetchFn, {
54
+ statusCodes: options.statusCodes,
55
+ retryConnectionErrors: !!options.config.retryConnectionErrors,
56
+ }), options.config.backoff ?? defaultBackoff);
57
+ default:
58
+ return await fetchFn();
59
+ }
60
+ }
61
+ function wrapFetcher(fn, options) {
62
+ return async () => {
63
+ try {
64
+ const res = await fn();
65
+ if (isRetryableResponse(res, options.statusCodes)) {
66
+ throw new TemporaryError("Response failed with retryable status code", res);
67
+ }
68
+ return res;
69
+ }
70
+ catch (err) {
71
+ if (err instanceof TemporaryError) {
72
+ throw err;
73
+ }
74
+ if (options.retryConnectionErrors &&
75
+ ((0, http_js_1.isTimeoutError)(err) || (0, http_js_1.isConnectionError)(err))) {
76
+ throw err;
77
+ }
78
+ throw new PermanentError("Permanent error", { cause: err });
79
+ }
80
+ };
81
+ }
82
+ const codeRangeRE = new RegExp("^[0-9]xx$", "i");
83
+ function isRetryableResponse(res, statusCodes) {
84
+ const actual = `${res.status}`;
85
+ return statusCodes.some((code) => {
86
+ if (!codeRangeRE.test(code)) {
87
+ return code === actual;
88
+ }
89
+ const expectFamily = code.charAt(0);
90
+ if (!expectFamily) {
91
+ throw new Error("Invalid status code range");
92
+ }
93
+ const actualFamily = actual.charAt(0);
94
+ if (!actualFamily) {
95
+ throw new Error(`Invalid response status code: ${actual}`);
96
+ }
97
+ return actualFamily === expectFamily;
98
+ });
99
+ }
100
+ async function retryBackoff(fn, strategy) {
101
+ const { maxElapsedTime, initialInterval, exponent, maxInterval } = strategy;
102
+ const start = Date.now();
103
+ let x = 0;
104
+ // eslint-disable-next-line no-constant-condition
105
+ while (true) {
106
+ try {
107
+ const res = await fn();
108
+ return res;
109
+ }
110
+ catch (err) {
111
+ if (err instanceof PermanentError) {
112
+ throw err.cause;
113
+ }
114
+ const elapsed = Date.now() - start;
115
+ if (elapsed > maxElapsedTime) {
116
+ if (err instanceof TemporaryError) {
117
+ return err.response;
118
+ }
119
+ throw err;
120
+ }
121
+ let retryInterval = 0;
122
+ if (err instanceof TemporaryError) {
123
+ retryInterval = retryIntervalFromResponse(err.response);
124
+ }
125
+ if (retryInterval <= 0) {
126
+ retryInterval =
127
+ initialInterval * Math.pow(x, exponent) + Math.random() * 1000;
128
+ }
129
+ const d = Math.min(retryInterval, maxInterval);
130
+ await delay(d);
131
+ x++;
132
+ }
133
+ }
134
+ }
135
+ function retryIntervalFromResponse(res) {
136
+ const retryVal = res.headers.get("retry-after") || "";
137
+ if (!retryVal) {
138
+ return 0;
139
+ }
140
+ const parsedNumber = Number(retryVal);
141
+ if (Number.isInteger(parsedNumber)) {
142
+ return parsedNumber * 1000;
143
+ }
144
+ const parsedDate = Date.parse(retryVal);
145
+ if (Number.isInteger(parsedDate)) {
146
+ const deltaMS = parsedDate - Date.now();
147
+ return deltaMS > 0 ? Math.ceil(deltaMS) : 0;
148
+ }
149
+ return 0;
150
+ }
151
+ async function delay(delay) {
152
+ return new Promise((resolve) => setTimeout(resolve, delay));
153
+ }
154
+ //# sourceMappingURL=retries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retries.js","sourceRoot":"","sources":["../src/lib/retries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { output, ZodEffects, ZodObject, ZodRawShape, ZodTypeAny } from "zod";
2
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
3
+ import { Result } from "../types/fp.js";
4
+ /**
5
+ * Utility function that executes some code which may throw a ZodError. It
6
+ * intercepts this error and converts it to an SDKValidationError so as to not
7
+ * leak Zod implementation details to user code.
8
+ */
9
+ export declare function parse<Inp, Out>(rawValue: Inp, fn: (value: Inp) => Out, errorMessage: string): Out;
10
+ /**
11
+ * Utility function that executes some code which may result in a ZodError. It
12
+ * intercepts this error and converts it to an SDKValidationError so as to not
13
+ * leak Zod implementation details to user code.
14
+ */
15
+ export declare function safeParse<Inp, Out>(rawValue: Inp, fn: (value: Inp) => Out, errorMessage: string): Result<Out, SDKValidationError>;
16
+ export declare function collectExtraKeys<Shape extends ZodRawShape, Catchall extends ZodTypeAny, K extends string>(obj: ZodObject<Shape, "strip", Catchall>, extrasKey: K, optional: boolean): ZodEffects<typeof obj, output<ZodObject<Shape, "strict">> & {
17
+ [k in K]: Record<string, output<Catchall>>;
18
+ }>;
19
+ //# sourceMappingURL=schemas.d.ts.map