@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":"schemas.d.ts","sourceRoot":"","sources":["../src/lib/schemas.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,MAAM,EACN,UAAU,EAEV,SAAS,EACT,WAAW,EACX,UAAU,EACX,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAW,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,EAC5B,QAAQ,EAAE,GAAG,EACb,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,EACvB,YAAY,EAAE,MAAM,GACnB,GAAG,CASL;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,EAChC,QAAQ,EAAE,GAAG,EACb,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,EACvB,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAMjC;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,SAAS,WAAW,EACzB,QAAQ,SAAS,UAAU,EAC3B,CAAC,SAAS,MAAM,EAEhB,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EACxC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,OAAO,GAChB,UAAU,CACX,OAAO,GAAG,EACR,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,GAClC;KACC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;CAC3C,CACF,CAwBA"}
package/lib/schemas.js ADDED
@@ -0,0 +1,62 @@
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.parse = parse;
7
+ exports.safeParse = safeParse;
8
+ exports.collectExtraKeys = collectExtraKeys;
9
+ const zod_1 = require("zod");
10
+ const sdkvalidationerror_js_1 = require("../models/errors/sdkvalidationerror.js");
11
+ const fp_js_1 = require("../types/fp.js");
12
+ /**
13
+ * Utility function that executes some code which may throw a ZodError. It
14
+ * intercepts this error and converts it to an SDKValidationError so as to not
15
+ * leak Zod implementation details to user code.
16
+ */
17
+ function parse(rawValue, fn, errorMessage) {
18
+ try {
19
+ return fn(rawValue);
20
+ }
21
+ catch (err) {
22
+ if (err instanceof zod_1.ZodError) {
23
+ throw new sdkvalidationerror_js_1.SDKValidationError(errorMessage, err, rawValue);
24
+ }
25
+ throw err;
26
+ }
27
+ }
28
+ /**
29
+ * Utility function that executes some code which may result in a ZodError. It
30
+ * intercepts this error and converts it to an SDKValidationError so as to not
31
+ * leak Zod implementation details to user code.
32
+ */
33
+ function safeParse(rawValue, fn, errorMessage) {
34
+ try {
35
+ return (0, fp_js_1.OK)(fn(rawValue));
36
+ }
37
+ catch (err) {
38
+ return (0, fp_js_1.ERR)(new sdkvalidationerror_js_1.SDKValidationError(errorMessage, err, rawValue));
39
+ }
40
+ }
41
+ function collectExtraKeys(obj, extrasKey, optional) {
42
+ return obj.transform((val) => {
43
+ const extras = {};
44
+ const { shape } = obj;
45
+ for (const [key] of Object.entries(val)) {
46
+ if (key in shape) {
47
+ continue;
48
+ }
49
+ const v = val[key];
50
+ if (typeof v === "undefined") {
51
+ continue;
52
+ }
53
+ extras[key] = v;
54
+ delete val[key];
55
+ }
56
+ if (optional && Object.keys(extras).length === 0) {
57
+ return val;
58
+ }
59
+ return { ...val, [extrasKey]: extras };
60
+ });
61
+ }
62
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/lib/schemas.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAkBH,sBAaC;AAOD,8BAUC;AAED,4CAsCC;AAtFD,6BAOa;AACb,kFAA4E;AAC5E,0CAAiD;AAEjD;;;;GAIG;AACH,SAAgB,KAAK,CACnB,QAAa,EACb,EAAuB,EACvB,YAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,cAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,0CAAkB,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CACvB,QAAa,EACb,EAAuB,EACvB,YAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,IAAA,UAAE,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,IAAA,WAAG,EAAC,IAAI,0CAAkB,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAK9B,GAAwC,EACxC,SAAY,EACZ,QAAiB;IAQjB,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAqC,EAAE,CAAC;QACpD,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QACtB,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,IAAI,OAAO,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC"}
package/lib/sdks.d.ts ADDED
@@ -0,0 +1,60 @@
1
+ import { SDKHooks } from "../hooks/hooks.js";
2
+ import { HookContext } from "../hooks/types.js";
3
+ import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
4
+ import { Result } from "../types/fp.js";
5
+ import { SDKOptions } from "./config.js";
6
+ import { RetryConfig } from "./retries.js";
7
+ import { SecurityState } from "./security.js";
8
+ export type RequestOptions = {
9
+ /**
10
+ * Sets a timeout, in milliseconds, on HTTP requests made by an SDK method. If
11
+ * `fetchOptions.signal` is set then it will take precedence over this option.
12
+ */
13
+ timeoutMs?: number;
14
+ /**
15
+ * Set or override a retry policy on HTTP calls.
16
+ */
17
+ retries?: RetryConfig;
18
+ /**
19
+ * Specifies the status codes which should be retried using the given retry policy.
20
+ */
21
+ retryCodes?: string[];
22
+ /**
23
+ * Overrides the base server URL that will be used by an operation.
24
+ */
25
+ serverURL?: string | URL;
26
+ /**
27
+ * Sets various request options on the `fetch` call made by an SDK method.
28
+ *
29
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options|Request}
30
+ */
31
+ fetchOptions?: Omit<RequestInit, "method" | "body">;
32
+ };
33
+ type RequestConfig = {
34
+ method: string;
35
+ path: string;
36
+ baseURL?: string | URL | undefined;
37
+ query?: string;
38
+ body?: RequestInit["body"];
39
+ headers?: HeadersInit;
40
+ security?: SecurityState | null;
41
+ uaHeader?: string;
42
+ timeoutMs?: number;
43
+ };
44
+ export declare class ClientSDK {
45
+ #private;
46
+ protected readonly _baseURL: URL | null;
47
+ readonly _options: SDKOptions & {
48
+ hooks?: SDKHooks;
49
+ };
50
+ constructor(options?: SDKOptions);
51
+ _createRequest(context: HookContext, conf: RequestConfig, options?: RequestOptions): Result<Request, InvalidRequestError | UnexpectedClientError>;
52
+ _do(request: Request, options: {
53
+ context: HookContext;
54
+ errorCodes: number | string | (number | string)[];
55
+ retryConfig: RetryConfig;
56
+ retryCodes: string[];
57
+ }): Promise<Result<Response, RequestAbortedError | RequestTimeoutError | ConnectionError | UnexpectedClientError>>;
58
+ }
59
+ export {};
60
+ //# sourceMappingURL=sdks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdks.d.ts","sourceRoot":"","sources":["../src/lib/sdks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAW,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAgB,UAAU,EAAwB,MAAM,aAAa,CAAC;AAY7E,OAAO,EAAS,WAAW,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;CACrD,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAWF,qBAAa,SAAS;;IAIpB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IACxC,SAAgB,QAAQ,EAAE,UAAU,GAAG;QAAE,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;gBAEhD,OAAO,GAAE,UAAe;IA8B7B,cAAc,CACnB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,qBAAqB,CAAC;IA+GlD,GAAG,CACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;QACP,OAAO,EAAE,WAAW,CAAC;QACrB,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAClD,WAAW,EAAE,WAAW,CAAC;QACzB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,GACA,OAAO,CACR,MAAM,CACJ,QAAQ,EACN,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,GACf,qBAAqB,CACxB,CACF;CA8DF"}
package/lib/sdks.js ADDED
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+ /*
3
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
4
+ */
5
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
6
+ if (kind === "m") throw new TypeError("Private method is not writable");
7
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
8
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
9
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
10
+ };
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var _ClientSDK_httpClient, _ClientSDK_hooks, _ClientSDK_logger;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ClientSDK = void 0;
19
+ const hooks_js_1 = require("../hooks/hooks.js");
20
+ const httpclienterrors_js_1 = require("../models/errors/httpclienterrors.js");
21
+ const fp_js_1 = require("../types/fp.js");
22
+ const base64_js_1 = require("./base64.js");
23
+ const config_js_1 = require("./config.js");
24
+ const encodings_js_1 = require("./encodings.js");
25
+ const env_js_1 = require("./env.js");
26
+ const http_js_1 = require("./http.js");
27
+ const retries_js_1 = require("./retries.js");
28
+ const gt = typeof globalThis === "undefined" ? null : globalThis;
29
+ const webWorkerLike = typeof gt === "object"
30
+ && gt != null
31
+ && "importScripts" in gt
32
+ && typeof gt["importScripts"] === "function";
33
+ const isBrowserLike = webWorkerLike
34
+ || (typeof navigator !== "undefined" && "serviceWorker" in navigator)
35
+ || (typeof window === "object" && typeof window.document !== "undefined");
36
+ class ClientSDK {
37
+ constructor(options = {}) {
38
+ _ClientSDK_httpClient.set(this, void 0);
39
+ _ClientSDK_hooks.set(this, void 0);
40
+ _ClientSDK_logger.set(this, void 0);
41
+ const opt = options;
42
+ if (typeof opt === "object"
43
+ && opt != null
44
+ && "hooks" in opt
45
+ && opt.hooks instanceof hooks_js_1.SDKHooks) {
46
+ __classPrivateFieldSet(this, _ClientSDK_hooks, opt.hooks, "f");
47
+ }
48
+ else {
49
+ __classPrivateFieldSet(this, _ClientSDK_hooks, new hooks_js_1.SDKHooks(), "f");
50
+ }
51
+ this._options = { ...options, hooks: __classPrivateFieldGet(this, _ClientSDK_hooks, "f") };
52
+ const url = (0, config_js_1.serverURLFromOptions)(options);
53
+ if (url) {
54
+ url.pathname = url.pathname.replace(/\/+$/, "") + "/";
55
+ }
56
+ const { baseURL, client } = __classPrivateFieldGet(this, _ClientSDK_hooks, "f").sdkInit({
57
+ baseURL: url,
58
+ client: options.httpClient || new http_js_1.HTTPClient(),
59
+ });
60
+ this._baseURL = baseURL;
61
+ __classPrivateFieldSet(this, _ClientSDK_httpClient, client, "f");
62
+ __classPrivateFieldSet(this, _ClientSDK_logger, options.debugLogger, "f");
63
+ if (!__classPrivateFieldGet(this, _ClientSDK_logger, "f") && (0, env_js_1.env)().S2_DEBUG) {
64
+ __classPrivateFieldSet(this, _ClientSDK_logger, console, "f");
65
+ }
66
+ }
67
+ _createRequest(context, conf, options) {
68
+ const { method, path, query, headers: opHeaders, security } = conf;
69
+ const base = conf.baseURL ?? this._baseURL;
70
+ if (!base) {
71
+ return (0, fp_js_1.ERR)(new httpclienterrors_js_1.InvalidRequestError("No base URL provided for operation"));
72
+ }
73
+ const reqURL = new URL(base);
74
+ const inputURL = new URL(path, reqURL);
75
+ if (path) {
76
+ reqURL.pathname += reqURL.pathname.endsWith("/") ? "" : "/";
77
+ reqURL.pathname += inputURL.pathname.replace(/^\/+/, "");
78
+ }
79
+ let finalQuery = query || "";
80
+ const secQuery = [];
81
+ for (const [k, v] of Object.entries(security?.queryParams || {})) {
82
+ const q = (0, encodings_js_1.encodeForm)(k, v, { charEncoding: "percent" });
83
+ if (typeof q !== "undefined") {
84
+ secQuery.push(q);
85
+ }
86
+ }
87
+ if (secQuery.length) {
88
+ finalQuery += `&${secQuery.join("&")}`;
89
+ }
90
+ if (finalQuery) {
91
+ const q = finalQuery.startsWith("&") ? finalQuery.slice(1) : finalQuery;
92
+ reqURL.search = `?${q}`;
93
+ }
94
+ const headers = new Headers(opHeaders);
95
+ const username = security?.basic.username;
96
+ const password = security?.basic.password;
97
+ if (username != null || password != null) {
98
+ const encoded = (0, base64_js_1.stringToBase64)([username || "", password || ""].join(":"));
99
+ headers.set("Authorization", `Basic ${encoded}`);
100
+ }
101
+ const securityHeaders = new Headers(security?.headers || {});
102
+ for (const [k, v] of securityHeaders) {
103
+ headers.set(k, v);
104
+ }
105
+ let cookie = headers.get("cookie") || "";
106
+ for (const [k, v] of Object.entries(security?.cookies || {})) {
107
+ cookie += `; ${k}=${v}`;
108
+ }
109
+ cookie = cookie.startsWith("; ") ? cookie.slice(2) : cookie;
110
+ headers.set("cookie", cookie);
111
+ const userHeaders = new Headers(options?.fetchOptions?.headers);
112
+ for (const [k, v] of userHeaders) {
113
+ headers.set(k, v);
114
+ }
115
+ // Only set user agent header in non-browser-like environments since CORS
116
+ // policy disallows setting it in browsers e.g. Chrome throws an error.
117
+ if (!isBrowserLike) {
118
+ headers.set(conf.uaHeader ?? "user-agent", config_js_1.SDK_METADATA.userAgent);
119
+ }
120
+ let fetchOptions = options?.fetchOptions;
121
+ if (!fetchOptions?.signal && conf.timeoutMs && conf.timeoutMs > 0) {
122
+ const timeoutSignal = AbortSignal.timeout(conf.timeoutMs);
123
+ if (!fetchOptions) {
124
+ fetchOptions = { signal: timeoutSignal };
125
+ }
126
+ else {
127
+ fetchOptions.signal = timeoutSignal;
128
+ }
129
+ }
130
+ if (conf.body instanceof ReadableStream) {
131
+ if (!fetchOptions) {
132
+ fetchOptions = {
133
+ // @ts-expect-error see https://github.com/node-fetch/node-fetch/issues/1769
134
+ duplex: "half",
135
+ };
136
+ }
137
+ else {
138
+ // @ts-expect-error see https://github.com/node-fetch/node-fetch/issues/1769
139
+ fetchOptions.duplex = "half";
140
+ }
141
+ }
142
+ let input;
143
+ try {
144
+ input = __classPrivateFieldGet(this, _ClientSDK_hooks, "f").beforeCreateRequest(context, {
145
+ url: reqURL,
146
+ options: {
147
+ ...fetchOptions,
148
+ body: conf.body ?? null,
149
+ headers,
150
+ method,
151
+ },
152
+ });
153
+ }
154
+ catch (err) {
155
+ return (0, fp_js_1.ERR)(new httpclienterrors_js_1.UnexpectedClientError("Create request hook failed to execute", {
156
+ cause: err,
157
+ }));
158
+ }
159
+ return (0, fp_js_1.OK)(new Request(input.url, input.options));
160
+ }
161
+ async _do(request, options) {
162
+ const { context, errorCodes } = options;
163
+ return (0, retries_js_1.retry)(async () => {
164
+ const req = await __classPrivateFieldGet(this, _ClientSDK_hooks, "f").beforeRequest(context, request.clone());
165
+ await logRequest(__classPrivateFieldGet(this, _ClientSDK_logger, "f"), req).catch((e) => __classPrivateFieldGet(this, _ClientSDK_logger, "f")?.log("Failed to log request:", e));
166
+ let response = await __classPrivateFieldGet(this, _ClientSDK_httpClient, "f").request(req);
167
+ try {
168
+ if ((0, http_js_1.matchStatusCode)(response, errorCodes)) {
169
+ const result = await __classPrivateFieldGet(this, _ClientSDK_hooks, "f").afterError(context, response, null);
170
+ if (result.error) {
171
+ throw result.error;
172
+ }
173
+ response = result.response || response;
174
+ }
175
+ else {
176
+ response = await __classPrivateFieldGet(this, _ClientSDK_hooks, "f").afterSuccess(context, response);
177
+ }
178
+ }
179
+ finally {
180
+ await logResponse(__classPrivateFieldGet(this, _ClientSDK_logger, "f"), response, req)
181
+ .catch(e => __classPrivateFieldGet(this, _ClientSDK_logger, "f")?.log("Failed to log response:", e));
182
+ }
183
+ return response;
184
+ }, { config: options.retryConfig, statusCodes: options.retryCodes }).then((r) => (0, fp_js_1.OK)(r), (err) => {
185
+ switch (true) {
186
+ case (0, http_js_1.isAbortError)(err):
187
+ return (0, fp_js_1.ERR)(new httpclienterrors_js_1.RequestAbortedError("Request aborted by client", {
188
+ cause: err,
189
+ }));
190
+ case (0, http_js_1.isTimeoutError)(err):
191
+ return (0, fp_js_1.ERR)(new httpclienterrors_js_1.RequestTimeoutError("Request timed out", { cause: err }));
192
+ case (0, http_js_1.isConnectionError)(err):
193
+ return (0, fp_js_1.ERR)(new httpclienterrors_js_1.ConnectionError("Unable to make request", { cause: err }));
194
+ default:
195
+ return (0, fp_js_1.ERR)(new httpclienterrors_js_1.UnexpectedClientError("Unexpected HTTP client error", {
196
+ cause: err,
197
+ }));
198
+ }
199
+ });
200
+ }
201
+ }
202
+ exports.ClientSDK = ClientSDK;
203
+ _ClientSDK_httpClient = new WeakMap(), _ClientSDK_hooks = new WeakMap(), _ClientSDK_logger = new WeakMap();
204
+ const jsonLikeContentTypeRE = /^application\/(?:.{0,100}\+)?json/;
205
+ async function logRequest(logger, req) {
206
+ if (!logger) {
207
+ return;
208
+ }
209
+ const contentType = req.headers.get("content-type");
210
+ const ct = contentType?.split(";")[0] || "";
211
+ logger.group(`> Request: ${req.method} ${req.url}`);
212
+ logger.group("Headers:");
213
+ for (const [k, v] of req.headers.entries()) {
214
+ logger.log(`${k}: ${v}`);
215
+ }
216
+ logger.groupEnd();
217
+ logger.group("Body:");
218
+ switch (true) {
219
+ case jsonLikeContentTypeRE.test(ct):
220
+ logger.log(await req.clone().json());
221
+ break;
222
+ case ct.startsWith("text/"):
223
+ logger.log(await req.clone().text());
224
+ break;
225
+ case ct === "multipart/form-data": {
226
+ const body = await req.clone().formData();
227
+ for (const [k, v] of body) {
228
+ const vlabel = v instanceof Blob ? "<Blob>" : v;
229
+ logger.log(`${k}: ${vlabel}`);
230
+ }
231
+ break;
232
+ }
233
+ default:
234
+ logger.log(`<${contentType}>`);
235
+ break;
236
+ }
237
+ logger.groupEnd();
238
+ logger.groupEnd();
239
+ }
240
+ async function logResponse(logger, res, req) {
241
+ if (!logger) {
242
+ return;
243
+ }
244
+ const contentType = res.headers.get("content-type");
245
+ const ct = contentType?.split(";")[0] || "";
246
+ logger.group(`< Response: ${req.method} ${req.url}`);
247
+ logger.log("Status Code:", res.status, res.statusText);
248
+ logger.group("Headers:");
249
+ for (const [k, v] of res.headers.entries()) {
250
+ logger.log(`${k}: ${v}`);
251
+ }
252
+ logger.groupEnd();
253
+ logger.group("Body:");
254
+ switch (true) {
255
+ case (0, http_js_1.matchContentType)(res, "application/json")
256
+ || jsonLikeContentTypeRE.test(ct):
257
+ logger.log(await res.clone().json());
258
+ break;
259
+ case (0, http_js_1.matchContentType)(res, "text/event-stream"):
260
+ logger.log(`<${contentType}>`);
261
+ break;
262
+ case (0, http_js_1.matchContentType)(res, "text/*"):
263
+ logger.log(await res.clone().text());
264
+ break;
265
+ case (0, http_js_1.matchContentType)(res, "multipart/form-data"): {
266
+ const body = await res.clone().formData();
267
+ for (const [k, v] of body) {
268
+ const vlabel = v instanceof Blob ? "<Blob>" : v;
269
+ logger.log(`${k}: ${vlabel}`);
270
+ }
271
+ break;
272
+ }
273
+ default:
274
+ logger.log(`<${contentType}>`);
275
+ break;
276
+ }
277
+ logger.groupEnd();
278
+ logger.groupEnd();
279
+ }
280
+ //# sourceMappingURL=sdks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdks.js","sourceRoot":"","sources":["../src/lib/sdks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import * as components from "../models/components/index.js";
2
+ type OAuth2PasswordFlow = {
3
+ username: string;
4
+ password?: string | undefined;
5
+ clientID: string;
6
+ clientSecret?: string | undefined;
7
+ tokenURL: string;
8
+ };
9
+ export declare enum SecurityErrorCode {
10
+ Incomplete = "incomplete",
11
+ UnrecognisedSecurityType = "unrecognized_security_type"
12
+ }
13
+ export declare class SecurityError extends Error {
14
+ code: SecurityErrorCode;
15
+ constructor(code: SecurityErrorCode, message: string);
16
+ static incomplete(): SecurityError;
17
+ static unrecognizedType(type: string): SecurityError;
18
+ }
19
+ export type SecurityState = {
20
+ basic: {
21
+ username?: string | undefined;
22
+ password?: string | undefined;
23
+ };
24
+ headers: Record<string, string>;
25
+ queryParams: Record<string, string>;
26
+ cookies: Record<string, string>;
27
+ oauth2: ({
28
+ type: "password";
29
+ } & OAuth2PasswordFlow) | {
30
+ type: "none";
31
+ };
32
+ };
33
+ type SecurityInputBasic = {
34
+ type: "http:basic";
35
+ value: {
36
+ username?: string | undefined;
37
+ password?: string | undefined;
38
+ } | null | undefined;
39
+ };
40
+ type SecurityInputBearer = {
41
+ type: "http:bearer";
42
+ value: string | null | undefined;
43
+ fieldName: string;
44
+ };
45
+ type SecurityInputAPIKey = {
46
+ type: "apiKey:header" | "apiKey:query" | "apiKey:cookie";
47
+ value: string | null | undefined;
48
+ fieldName: string;
49
+ };
50
+ type SecurityInputOIDC = {
51
+ type: "openIdConnect";
52
+ value: string | null | undefined;
53
+ fieldName: string;
54
+ };
55
+ type SecurityInputOAuth2 = {
56
+ type: "oauth2";
57
+ value: string | null | undefined;
58
+ fieldName: string;
59
+ };
60
+ type SecurityInputOAuth2ClientCredentials = {
61
+ type: "oauth2:client_credentials";
62
+ value: {
63
+ clientID?: string | undefined;
64
+ clientSecret?: string | undefined;
65
+ } | null | undefined;
66
+ };
67
+ type SecurityInputOAuth2PasswordCredentials = {
68
+ type: "oauth2:password";
69
+ value: string | null | undefined;
70
+ fieldName: string;
71
+ };
72
+ type SecurityInputCustom = {
73
+ type: "http:custom";
74
+ value: any | null | undefined;
75
+ fieldName: string;
76
+ };
77
+ export type SecurityInput = SecurityInputBasic | SecurityInputBearer | SecurityInputAPIKey | SecurityInputOAuth2 | SecurityInputOAuth2ClientCredentials | SecurityInputOAuth2PasswordCredentials | SecurityInputOIDC | SecurityInputCustom;
78
+ export declare function resolveSecurity(...options: SecurityInput[][]): SecurityState | null;
79
+ export declare function resolveGlobalSecurity(security: Partial<components.Security> | null | undefined): SecurityState | null;
80
+ export declare function extractSecurity<T extends string | Record<string, unknown>>(sec: T | (() => Promise<T>) | undefined): Promise<T | undefined>;
81
+ export {};
82
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../src/lib/security.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
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.SecurityError = exports.SecurityErrorCode = void 0;
7
+ exports.resolveSecurity = resolveSecurity;
8
+ exports.resolveGlobalSecurity = resolveGlobalSecurity;
9
+ exports.extractSecurity = extractSecurity;
10
+ const env_js_1 = require("./env.js");
11
+ var SecurityErrorCode;
12
+ (function (SecurityErrorCode) {
13
+ SecurityErrorCode["Incomplete"] = "incomplete";
14
+ SecurityErrorCode["UnrecognisedSecurityType"] = "unrecognized_security_type";
15
+ })(SecurityErrorCode || (exports.SecurityErrorCode = SecurityErrorCode = {}));
16
+ class SecurityError extends Error {
17
+ constructor(code, message) {
18
+ super(message);
19
+ this.code = code;
20
+ this.name = "SecurityError";
21
+ }
22
+ static incomplete() {
23
+ return new SecurityError(SecurityErrorCode.Incomplete, "Security requirements not met in order to perform the operation");
24
+ }
25
+ static unrecognizedType(type) {
26
+ return new SecurityError(SecurityErrorCode.UnrecognisedSecurityType, `Unrecognised security type: ${type}`);
27
+ }
28
+ }
29
+ exports.SecurityError = SecurityError;
30
+ function resolveSecurity(...options) {
31
+ const state = {
32
+ basic: {},
33
+ headers: {},
34
+ queryParams: {},
35
+ cookies: {},
36
+ oauth2: { type: "none" },
37
+ };
38
+ const option = options.find((opts) => {
39
+ return opts.every((o) => {
40
+ if (o.value == null) {
41
+ return false;
42
+ }
43
+ else if (o.type === "http:basic") {
44
+ return o.value.username != null || o.value.password != null;
45
+ }
46
+ else if (o.type === "http:custom") {
47
+ return null;
48
+ }
49
+ else if (o.type === "oauth2:password") {
50
+ return (typeof o.value === "string" && !!o.value);
51
+ }
52
+ else if (o.type === "oauth2:client_credentials") {
53
+ return o.value.clientID != null || o.value.clientSecret != null;
54
+ }
55
+ else if (typeof o.value === "string") {
56
+ return !!o.value;
57
+ }
58
+ else {
59
+ throw new Error(`Unrecognized security type: ${o.type} (value type: ${typeof o
60
+ .value})`);
61
+ }
62
+ });
63
+ });
64
+ if (option == null) {
65
+ return null;
66
+ }
67
+ option.forEach((spec) => {
68
+ if (spec.value == null) {
69
+ return;
70
+ }
71
+ const { type } = spec;
72
+ switch (type) {
73
+ case "apiKey:header":
74
+ state.headers[spec.fieldName] = spec.value;
75
+ break;
76
+ case "apiKey:query":
77
+ state.queryParams[spec.fieldName] = spec.value;
78
+ break;
79
+ case "apiKey:cookie":
80
+ state.cookies[spec.fieldName] = spec.value;
81
+ break;
82
+ case "http:basic":
83
+ applyBasic(state, spec);
84
+ break;
85
+ case "http:custom":
86
+ break;
87
+ case "http:bearer":
88
+ applyBearer(state, spec);
89
+ break;
90
+ case "oauth2":
91
+ applyBearer(state, spec);
92
+ break;
93
+ case "oauth2:password":
94
+ applyBearer(state, spec);
95
+ break;
96
+ case "oauth2:client_credentials":
97
+ break;
98
+ case "openIdConnect":
99
+ applyBearer(state, spec);
100
+ break;
101
+ default:
102
+ spec;
103
+ throw SecurityError.unrecognizedType(type);
104
+ }
105
+ });
106
+ return state;
107
+ }
108
+ function applyBasic(state, spec) {
109
+ if (spec.value == null) {
110
+ return;
111
+ }
112
+ state.basic = spec.value;
113
+ }
114
+ function applyBearer(state, spec) {
115
+ if (typeof spec.value !== "string" || !spec.value) {
116
+ return;
117
+ }
118
+ let value = spec.value;
119
+ if (value.slice(0, 7).toLowerCase() !== "bearer ") {
120
+ value = `Bearer ${value}`;
121
+ }
122
+ state.headers[spec.fieldName] = value;
123
+ }
124
+ function resolveGlobalSecurity(security) {
125
+ return resolveSecurity([
126
+ {
127
+ fieldName: "Authorization",
128
+ type: "http:bearer",
129
+ value: security?.bearerAuth ?? (0, env_js_1.env)().S2_BEARER_AUTH,
130
+ },
131
+ ]);
132
+ }
133
+ async function extractSecurity(sec) {
134
+ if (sec == null) {
135
+ return;
136
+ }
137
+ return typeof sec === "function" ? sec() : sec;
138
+ }
139
+ //# sourceMappingURL=security.js.map