@leonardo-ai/sdk 2.30.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/.devcontainer/README.md +35 -0
  2. package/.devcontainer/devcontainer.json +45 -0
  3. package/.devcontainer/setup.sh +30 -0
  4. package/.github/workflows/speakeasy_sdk_generate.yml +28 -0
  5. package/.speakeasy/gen.lock +236 -0
  6. package/README.md +66 -38
  7. package/docs/sdks/dataset/README.md +56 -56
  8. package/docs/sdks/element/README.md +7 -7
  9. package/docs/sdks/generation/README.md +71 -72
  10. package/docs/sdks/initimage/README.md +28 -28
  11. package/docs/sdks/model/README.md +56 -56
  12. package/docs/sdks/user/README.md +7 -7
  13. package/docs/sdks/variation/README.md +34 -34
  14. package/index.d.ts +3 -0
  15. package/index.d.ts.map +1 -0
  16. package/{dist/sdk/index.js → index.js} +2 -0
  17. package/index.js.map +1 -0
  18. package/lib/base64.d.ts +10 -0
  19. package/lib/base64.d.ts.map +1 -0
  20. package/lib/base64.js +61 -0
  21. package/lib/base64.js.map +1 -0
  22. package/lib/config.d.ts +31 -0
  23. package/lib/config.d.ts.map +1 -0
  24. package/lib/config.js +36 -0
  25. package/lib/config.js.map +1 -0
  26. package/lib/encodings.d.ts +41 -0
  27. package/lib/encodings.d.ts.map +1 -0
  28. package/lib/encodings.js +311 -0
  29. package/lib/encodings.js.map +1 -0
  30. package/lib/event-streams.d.ts +16 -0
  31. package/lib/event-streams.d.ts.map +1 -0
  32. package/lib/event-streams.js +153 -0
  33. package/lib/event-streams.js.map +1 -0
  34. package/lib/http.d.ts +45 -0
  35. package/lib/http.d.ts.map +1 -0
  36. package/lib/http.js +136 -0
  37. package/lib/http.js.map +1 -0
  38. package/lib/retries.d.ts +18 -0
  39. package/lib/retries.d.ts.map +1 -0
  40. package/lib/retries.js +136 -0
  41. package/lib/retries.js.map +1 -0
  42. package/lib/sdks.d.ts +32 -0
  43. package/lib/sdks.d.ts.map +1 -0
  44. package/lib/sdks.js +76 -0
  45. package/lib/sdks.js.map +1 -0
  46. package/lib/security.d.ts +57 -0
  47. package/lib/security.d.ts.map +1 -0
  48. package/lib/security.js +99 -0
  49. package/lib/security.js.map +1 -0
  50. package/lib/url.d.ts +4 -0
  51. package/lib/url.d.ts.map +1 -0
  52. package/lib/url.js +26 -0
  53. package/lib/url.js.map +1 -0
  54. package/package.json +26 -27
  55. package/{dist/sdk → sdk}/dataset.d.ts +11 -10
  56. package/sdk/dataset.d.ts.map +1 -0
  57. package/sdk/dataset.js +332 -0
  58. package/sdk/dataset.js.map +1 -0
  59. package/sdk/element.d.ts +15 -0
  60. package/sdk/element.d.ts.map +1 -0
  61. package/sdk/element.js +88 -0
  62. package/sdk/element.js.map +1 -0
  63. package/sdk/generation.d.ts +57 -0
  64. package/sdk/generation.d.ts.map +1 -0
  65. package/sdk/generation.js +442 -0
  66. package/sdk/generation.js.map +1 -0
  67. package/sdk/index.d.ts +2 -0
  68. package/sdk/index.d.ts.map +1 -0
  69. package/{dist → sdk}/index.js +1 -0
  70. package/sdk/index.js.map +1 -0
  71. package/sdk/initimage.d.ts +29 -0
  72. package/sdk/initimage.d.ts.map +1 -0
  73. package/sdk/initimage.js +210 -0
  74. package/sdk/initimage.js.map +1 -0
  75. package/sdk/model.d.ts +50 -0
  76. package/sdk/model.d.ts.map +1 -0
  77. package/sdk/model.js +363 -0
  78. package/sdk/model.js.map +1 -0
  79. package/sdk/models/errors/index.d.ts +2 -0
  80. package/sdk/models/errors/index.d.ts.map +1 -0
  81. package/{dist/sdk → sdk}/models/errors/index.js +1 -0
  82. package/sdk/models/errors/index.js.map +1 -0
  83. package/sdk/models/errors/sdkerror.d.ts +7 -0
  84. package/sdk/models/errors/sdkerror.d.ts.map +1 -0
  85. package/sdk/models/errors/sdkerror.js +22 -0
  86. package/sdk/models/errors/sdkerror.js.map +1 -0
  87. package/sdk/models/operations/createdataset.d.ts +100 -0
  88. package/sdk/models/operations/createdataset.d.ts.map +1 -0
  89. package/sdk/models/operations/createdataset.js +118 -0
  90. package/sdk/models/operations/createdataset.js.map +1 -0
  91. package/sdk/models/operations/creategeneration.d.ts +299 -0
  92. package/sdk/models/operations/creategeneration.d.ts.map +1 -0
  93. package/sdk/models/operations/creategeneration.js +312 -0
  94. package/sdk/models/operations/creategeneration.js.map +1 -0
  95. package/sdk/models/operations/createmodel.d.ts +143 -0
  96. package/sdk/models/operations/createmodel.d.ts.map +1 -0
  97. package/sdk/models/operations/createmodel.js +170 -0
  98. package/sdk/models/operations/createmodel.js.map +1 -0
  99. package/sdk/models/operations/createvariationnobg.d.ts +94 -0
  100. package/sdk/models/operations/createvariationnobg.d.ts.map +1 -0
  101. package/sdk/models/operations/createvariationnobg.js +118 -0
  102. package/sdk/models/operations/createvariationnobg.js.map +1 -0
  103. package/sdk/models/operations/createvariationupscale.d.ts +91 -0
  104. package/sdk/models/operations/createvariationupscale.d.ts.map +1 -0
  105. package/sdk/models/operations/createvariationupscale.js +118 -0
  106. package/sdk/models/operations/createvariationupscale.js.map +1 -0
  107. package/sdk/models/operations/deletedatasetbyid.d.ts +91 -0
  108. package/sdk/models/operations/deletedatasetbyid.d.ts.map +1 -0
  109. package/sdk/models/operations/deletedatasetbyid.js +118 -0
  110. package/sdk/models/operations/deletedatasetbyid.js.map +1 -0
  111. package/sdk/models/operations/deletegenerationbyid.d.ts +91 -0
  112. package/sdk/models/operations/deletegenerationbyid.d.ts.map +1 -0
  113. package/sdk/models/operations/deletegenerationbyid.js +116 -0
  114. package/sdk/models/operations/deletegenerationbyid.js.map +1 -0
  115. package/sdk/models/operations/deletegenerationstextureid.d.ts +114 -0
  116. package/sdk/models/operations/deletegenerationstextureid.d.ts.map +1 -0
  117. package/sdk/models/operations/deletegenerationstextureid.js +152 -0
  118. package/sdk/models/operations/deletegenerationstextureid.js.map +1 -0
  119. package/sdk/models/operations/deleteinitimagebyid.d.ts +91 -0
  120. package/sdk/models/operations/deleteinitimagebyid.d.ts.map +1 -0
  121. package/sdk/models/operations/deleteinitimagebyid.js +116 -0
  122. package/sdk/models/operations/deleteinitimagebyid.js.map +1 -0
  123. package/sdk/models/operations/deletemodelbyid.d.ts +91 -0
  124. package/sdk/models/operations/deletemodelbyid.d.ts.map +1 -0
  125. package/sdk/models/operations/deletemodelbyid.js +118 -0
  126. package/sdk/models/operations/deletemodelbyid.js.map +1 -0
  127. package/sdk/models/operations/deletemodels3did.d.ts +114 -0
  128. package/sdk/models/operations/deletemodels3did.d.ts.map +1 -0
  129. package/sdk/models/operations/deletemodels3did.js +142 -0
  130. package/sdk/models/operations/deletemodels3did.js.map +1 -0
  131. package/sdk/models/operations/getdatasetbyid.d.ts +129 -0
  132. package/sdk/models/operations/getdatasetbyid.d.ts.map +1 -0
  133. package/sdk/models/operations/getdatasetbyid.js +164 -0
  134. package/sdk/models/operations/getdatasetbyid.js.map +1 -0
  135. package/sdk/models/operations/getelements.d.ts +123 -0
  136. package/sdk/models/operations/getelements.d.ts.map +1 -0
  137. package/sdk/models/operations/getelements.js +144 -0
  138. package/sdk/models/operations/getelements.js.map +1 -0
  139. package/sdk/models/operations/getgenerationbyid.d.ts +364 -0
  140. package/sdk/models/operations/getgenerationbyid.d.ts.map +1 -0
  141. package/sdk/models/operations/getgenerationbyid.js +434 -0
  142. package/sdk/models/operations/getgenerationbyid.js.map +1 -0
  143. package/sdk/models/operations/getgenerationsbyuserid.d.ts +364 -0
  144. package/sdk/models/operations/getgenerationsbyuserid.d.ts.map +1 -0
  145. package/sdk/models/operations/getgenerationsbyuserid.js +442 -0
  146. package/sdk/models/operations/getgenerationsbyuserid.js.map +1 -0
  147. package/sdk/models/operations/getinitimagebyid.d.ts +97 -0
  148. package/sdk/models/operations/getinitimagebyid.d.ts.map +1 -0
  149. package/sdk/models/operations/getinitimagebyid.js +126 -0
  150. package/sdk/models/operations/getinitimagebyid.js.map +1 -0
  151. package/sdk/models/operations/getmodelbyid.d.ts +134 -0
  152. package/sdk/models/operations/getmodelbyid.d.ts.map +1 -0
  153. package/sdk/models/operations/getmodelbyid.js +186 -0
  154. package/sdk/models/operations/getmodelbyid.js.map +1 -0
  155. package/sdk/models/operations/getplatformmodels.d.ts +109 -0
  156. package/sdk/models/operations/getplatformmodels.d.ts.map +1 -0
  157. package/sdk/models/operations/getplatformmodels.js +144 -0
  158. package/sdk/models/operations/getplatformmodels.js.map +1 -0
  159. package/sdk/models/operations/getuserself.d.ts +109 -0
  160. package/sdk/models/operations/getuserself.d.ts.map +1 -0
  161. package/sdk/models/operations/getuserself.js +154 -0
  162. package/sdk/models/operations/getuserself.js.map +1 -0
  163. package/sdk/models/operations/getvariationbyid.d.ts +107 -0
  164. package/sdk/models/operations/getvariationbyid.d.ts.map +1 -0
  165. package/sdk/models/operations/getvariationbyid.js +158 -0
  166. package/sdk/models/operations/getvariationbyid.js.map +1 -0
  167. package/{dist/sdk → sdk}/models/operations/index.d.ts +1 -0
  168. package/sdk/models/operations/index.d.ts.map +1 -0
  169. package/{dist/sdk → sdk}/models/operations/index.js +1 -0
  170. package/sdk/models/operations/index.js.map +1 -0
  171. package/sdk/models/operations/postgenerationsmotionsvd.d.ts +118 -0
  172. package/sdk/models/operations/postgenerationsmotionsvd.d.ts.map +1 -0
  173. package/sdk/models/operations/postgenerationsmotionsvd.js +140 -0
  174. package/sdk/models/operations/postgenerationsmotionsvd.js.map +1 -0
  175. package/sdk/models/operations/postgenerationstexture.d.ts +112 -0
  176. package/sdk/models/operations/postgenerationstexture.d.ts.map +1 -0
  177. package/sdk/models/operations/postgenerationstexture.js +158 -0
  178. package/sdk/models/operations/postgenerationstexture.js.map +1 -0
  179. package/sdk/models/operations/postmodels3dupload.d.ts +97 -0
  180. package/sdk/models/operations/postmodels3dupload.d.ts.map +1 -0
  181. package/sdk/models/operations/postmodels3dupload.js +136 -0
  182. package/sdk/models/operations/postmodels3dupload.js.map +1 -0
  183. package/sdk/models/operations/postvariationsunzoom.d.ts +94 -0
  184. package/sdk/models/operations/postvariationsunzoom.d.ts.map +1 -0
  185. package/sdk/models/operations/postvariationsunzoom.js +118 -0
  186. package/sdk/models/operations/postvariationsunzoom.js.map +1 -0
  187. package/sdk/models/operations/uploaddatasetimage.d.ts +120 -0
  188. package/sdk/models/operations/uploaddatasetimage.d.ts.map +1 -0
  189. package/sdk/models/operations/uploaddatasetimage.js +156 -0
  190. package/sdk/models/operations/uploaddatasetimage.js.map +1 -0
  191. package/sdk/models/operations/uploaddatasetimagefromgen.d.ts +111 -0
  192. package/sdk/models/operations/uploaddatasetimagefromgen.d.ts.map +1 -0
  193. package/sdk/models/operations/uploaddatasetimagefromgen.js +144 -0
  194. package/sdk/models/operations/uploaddatasetimagefromgen.js.map +1 -0
  195. package/sdk/models/operations/uploadinitimage.d.ts +97 -0
  196. package/sdk/models/operations/uploadinitimage.d.ts.map +1 -0
  197. package/sdk/models/operations/uploadinitimage.js +130 -0
  198. package/sdk/models/operations/uploadinitimage.js.map +1 -0
  199. package/sdk/models/shared/controlnettype.d.ts +12 -0
  200. package/sdk/models/shared/controlnettype.d.ts.map +1 -0
  201. package/{dist/sdk → sdk}/models/shared/controlnettype.js +6 -2
  202. package/sdk/models/shared/controlnettype.js.map +1 -0
  203. package/{dist/sdk → sdk}/models/shared/custommodeltype.d.ts +4 -0
  204. package/sdk/models/shared/custommodeltype.d.ts.map +1 -0
  205. package/{dist/sdk → sdk}/models/shared/custommodeltype.js +6 -2
  206. package/sdk/models/shared/custommodeltype.js.map +1 -0
  207. package/sdk/models/shared/elementinput.d.ts +25 -0
  208. package/sdk/models/shared/elementinput.d.ts.map +1 -0
  209. package/sdk/models/shared/elementinput.js +34 -0
  210. package/sdk/models/shared/elementinput.js.map +1 -0
  211. package/{dist/sdk → sdk}/models/shared/index.d.ts +1 -0
  212. package/sdk/models/shared/index.d.ts.map +1 -0
  213. package/{dist/sdk → sdk}/models/shared/index.js +1 -0
  214. package/sdk/models/shared/index.js.map +1 -0
  215. package/{dist/sdk → sdk}/models/shared/jobstatus.d.ts +4 -0
  216. package/sdk/models/shared/jobstatus.d.ts.map +1 -0
  217. package/{dist/sdk → sdk}/models/shared/jobstatus.js +6 -2
  218. package/sdk/models/shared/jobstatus.js.map +1 -0
  219. package/{dist/sdk → sdk}/models/shared/sdgenerationschedulers.d.ts +4 -0
  220. package/sdk/models/shared/sdgenerationschedulers.d.ts.map +1 -0
  221. package/{dist/sdk → sdk}/models/shared/sdgenerationschedulers.js +6 -2
  222. package/sdk/models/shared/sdgenerationschedulers.js.map +1 -0
  223. package/{dist/sdk → sdk}/models/shared/sdgenerationstyle.d.ts +4 -0
  224. package/sdk/models/shared/sdgenerationstyle.d.ts.map +1 -0
  225. package/{dist/sdk → sdk}/models/shared/sdgenerationstyle.js +6 -2
  226. package/sdk/models/shared/sdgenerationstyle.js.map +1 -0
  227. package/{dist/sdk → sdk}/models/shared/sdversions.d.ts +4 -0
  228. package/sdk/models/shared/sdversions.d.ts.map +1 -0
  229. package/{dist/sdk → sdk}/models/shared/sdversions.js +6 -2
  230. package/sdk/models/shared/sdversions.js.map +1 -0
  231. package/sdk/models/shared/security.d.ts +4 -0
  232. package/sdk/models/shared/security.d.ts.map +1 -0
  233. package/sdk/models/shared/security.js +6 -0
  234. package/sdk/models/shared/security.js.map +1 -0
  235. package/{dist/sdk → sdk}/models/shared/strength.d.ts +4 -0
  236. package/sdk/models/shared/strength.d.ts.map +1 -0
  237. package/{dist/sdk → sdk}/models/shared/strength.js +6 -2
  238. package/sdk/models/shared/strength.js.map +1 -0
  239. package/{dist/sdk → sdk}/models/shared/variationtype.d.ts +4 -0
  240. package/sdk/models/shared/variationtype.d.ts.map +1 -0
  241. package/{dist/sdk → sdk}/models/shared/variationtype.js +6 -2
  242. package/sdk/models/shared/variationtype.js.map +1 -0
  243. package/sdk/sdk.d.ts +28 -0
  244. package/sdk/sdk.d.ts.map +1 -0
  245. package/sdk/sdk.js +56 -0
  246. package/sdk/sdk.js.map +1 -0
  247. package/sdk/types/blobs.d.ts +4 -0
  248. package/sdk/types/blobs.d.ts.map +1 -0
  249. package/sdk/types/blobs.js +52 -0
  250. package/sdk/types/blobs.js.map +1 -0
  251. package/sdk/types/decimal.d.ts +2 -0
  252. package/sdk/types/decimal.d.ts.map +1 -0
  253. package/{dist/sdk/types/index.js → sdk/types/decimal.js} +2 -1
  254. package/sdk/types/decimal.js.map +1 -0
  255. package/sdk/types/index.d.ts +6 -0
  256. package/sdk/types/index.d.ts.map +1 -0
  257. package/sdk/types/index.js +16 -0
  258. package/sdk/types/index.js.map +1 -0
  259. package/sdk/types/operations.d.ts +13 -0
  260. package/sdk/types/operations.d.ts.map +1 -0
  261. package/sdk/types/operations.js +19 -0
  262. package/sdk/types/operations.js.map +1 -0
  263. package/sdk/types/rfcdate.d.ts +21 -0
  264. package/sdk/types/rfcdate.d.ts.map +1 -0
  265. package/sdk/types/rfcdate.js +46 -0
  266. package/sdk/types/rfcdate.js.map +1 -0
  267. package/{dist/sdk → sdk}/user.d.ts +7 -6
  268. package/sdk/user.d.ts.map +1 -0
  269. package/sdk/user.js +88 -0
  270. package/sdk/user.js.map +1 -0
  271. package/sdk/variation.d.ts +36 -0
  272. package/sdk/variation.d.ts.map +1 -0
  273. package/sdk/variation.js +260 -0
  274. package/sdk/variation.js.map +1 -0
  275. package/src/index.ts +6 -0
  276. package/src/lib/base64.ts +37 -0
  277. package/src/lib/config.ts +57 -0
  278. package/src/lib/encodings.ts +384 -0
  279. package/src/lib/event-streams.ts +192 -0
  280. package/src/lib/http.ts +203 -0
  281. package/src/lib/retries.ts +207 -0
  282. package/src/lib/sdks.ts +107 -0
  283. package/src/lib/security.ts +164 -0
  284. package/src/lib/url.ts +31 -0
  285. package/src/sdk/dataset.ts +361 -0
  286. package/src/sdk/element.ts +69 -0
  287. package/src/sdk/generation.ts +492 -0
  288. package/src/sdk/index.ts +5 -0
  289. package/src/sdk/initimage.ts +215 -0
  290. package/src/sdk/model.ts +397 -0
  291. package/src/sdk/models/errors/index.ts +5 -0
  292. package/src/sdk/models/errors/sdkerror.ts +24 -0
  293. package/src/sdk/models/operations/createdataset.ts +209 -0
  294. package/src/sdk/models/operations/creategeneration.ts +578 -0
  295. package/src/sdk/models/operations/createmodel.ts +280 -0
  296. package/src/sdk/models/operations/createvariationnobg.ts +209 -0
  297. package/src/sdk/models/operations/createvariationupscale.ts +225 -0
  298. package/src/sdk/models/operations/deletedatasetbyid.ts +201 -0
  299. package/src/sdk/models/operations/deletegenerationbyid.ts +203 -0
  300. package/src/sdk/models/operations/deletegenerationstextureid.ts +296 -0
  301. package/src/sdk/models/operations/deleteinitimagebyid.ts +203 -0
  302. package/src/sdk/models/operations/deletemodelbyid.ts +200 -0
  303. package/src/sdk/models/operations/deletemodels3did.ts +246 -0
  304. package/src/sdk/models/operations/getdatasetbyid.ts +283 -0
  305. package/src/sdk/models/operations/getelements.ts +235 -0
  306. package/src/sdk/models/operations/getgenerationbyid.ts +778 -0
  307. package/src/sdk/models/operations/getgenerationsbyuserid.ts +825 -0
  308. package/src/sdk/models/operations/getinitimagebyid.ts +214 -0
  309. package/src/sdk/models/operations/getmodelbyid.ts +287 -0
  310. package/src/sdk/models/operations/getplatformmodels.ts +251 -0
  311. package/src/sdk/models/operations/getuserself.ts +254 -0
  312. package/src/sdk/models/operations/getvariationbyid.ts +237 -0
  313. package/src/sdk/models/operations/index.ts +31 -0
  314. package/src/sdk/models/operations/postgenerationsmotionsvd.ts +270 -0
  315. package/src/sdk/models/operations/postgenerationstexture.ts +278 -0
  316. package/src/sdk/models/operations/postmodels3dupload.ts +226 -0
  317. package/src/sdk/models/operations/postvariationsunzoom.ts +213 -0
  318. package/src/sdk/models/operations/uploaddatasetimage.ts +268 -0
  319. package/src/sdk/models/operations/uploaddatasetimagefromgen.ts +274 -0
  320. package/src/sdk/models/operations/uploadinitimage.ts +218 -0
  321. package/src/sdk/models/shared/controlnettype.ts +17 -0
  322. package/src/sdk/models/shared/custommodeltype.ts +28 -0
  323. package/src/sdk/models/shared/elementinput.ts +53 -0
  324. package/src/sdk/models/shared/index.ts +14 -0
  325. package/src/sdk/models/shared/jobstatus.ts +17 -0
  326. package/src/sdk/models/shared/sdgenerationschedulers.ts +21 -0
  327. package/src/sdk/models/shared/sdgenerationstyle.ts +29 -0
  328. package/src/sdk/models/shared/sdversions.ts +16 -0
  329. package/src/sdk/models/shared/security.ts +7 -0
  330. package/src/sdk/models/shared/strength.ts +18 -0
  331. package/src/sdk/models/shared/variationtype.ts +19 -0
  332. package/src/sdk/sdk.ts +63 -0
  333. package/src/sdk/types/blobs.ts +30 -0
  334. package/src/sdk/types/decimal.ts +5 -0
  335. package/src/sdk/types/index.ts +9 -0
  336. package/src/sdk/types/operations.ts +25 -0
  337. package/src/sdk/types/rfcdate.ts +54 -0
  338. package/src/sdk/user.ts +69 -0
  339. package/src/sdk/variation.ts +275 -0
  340. package/dist/index.d.ts +0 -1
  341. package/dist/internal/utils/contenttype.d.ts +0 -1
  342. package/dist/internal/utils/contenttype.js +0 -33
  343. package/dist/internal/utils/headers.d.ts +0 -4
  344. package/dist/internal/utils/headers.js +0 -92
  345. package/dist/internal/utils/index.d.ts +0 -8
  346. package/dist/internal/utils/index.js +0 -27
  347. package/dist/internal/utils/pathparams.d.ts +0 -2
  348. package/dist/internal/utils/pathparams.js +0 -53
  349. package/dist/internal/utils/queryparams.d.ts +0 -2
  350. package/dist/internal/utils/queryparams.js +0 -182
  351. package/dist/internal/utils/requestbody.d.ts +0 -2
  352. package/dist/internal/utils/requestbody.js +0 -328
  353. package/dist/internal/utils/retries.d.ts +0 -20
  354. package/dist/internal/utils/retries.js +0 -250
  355. package/dist/internal/utils/security.d.ts +0 -5
  356. package/dist/internal/utils/security.js +0 -196
  357. package/dist/internal/utils/utils.d.ts +0 -37
  358. package/dist/internal/utils/utils.js +0 -368
  359. package/dist/sdk/dataset.js +0 -446
  360. package/dist/sdk/element.d.ts +0 -14
  361. package/dist/sdk/element.js +0 -145
  362. package/dist/sdk/generation.d.ts +0 -56
  363. package/dist/sdk/generation.js +0 -576
  364. package/dist/sdk/index.d.ts +0 -1
  365. package/dist/sdk/initimage.d.ts +0 -28
  366. package/dist/sdk/initimage.js +0 -298
  367. package/dist/sdk/model.d.ts +0 -49
  368. package/dist/sdk/model.js +0 -499
  369. package/dist/sdk/models/errors/index.d.ts +0 -1
  370. package/dist/sdk/models/errors/sdkerror.d.ts +0 -7
  371. package/dist/sdk/models/errors/sdkerror.js +0 -40
  372. package/dist/sdk/models/operations/createdataset.d.ts +0 -48
  373. package/dist/sdk/models/operations/createdataset.js +0 -110
  374. package/dist/sdk/models/operations/creategeneration.d.ts +0 -175
  375. package/dist/sdk/models/operations/creategeneration.js +0 -312
  376. package/dist/sdk/models/operations/createmodel.d.ts +0 -75
  377. package/dist/sdk/models/operations/createmodel.js +0 -171
  378. package/dist/sdk/models/operations/createvariationnobg.d.ts +0 -40
  379. package/dist/sdk/models/operations/createvariationnobg.js +0 -112
  380. package/dist/sdk/models/operations/createvariationupscale.d.ts +0 -39
  381. package/dist/sdk/models/operations/createvariationupscale.js +0 -107
  382. package/dist/sdk/models/operations/deletedatasetbyid.d.ts +0 -41
  383. package/dist/sdk/models/operations/deletedatasetbyid.js +0 -101
  384. package/dist/sdk/models/operations/deletegenerationbyid.d.ts +0 -41
  385. package/dist/sdk/models/operations/deletegenerationbyid.js +0 -101
  386. package/dist/sdk/models/operations/deletegenerationstextureid.d.ts +0 -51
  387. package/dist/sdk/models/operations/deletegenerationstextureid.js +0 -121
  388. package/dist/sdk/models/operations/deleteinitimagebyid.d.ts +0 -41
  389. package/dist/sdk/models/operations/deleteinitimagebyid.js +0 -101
  390. package/dist/sdk/models/operations/deletemodelbyid.d.ts +0 -41
  391. package/dist/sdk/models/operations/deletemodelbyid.js +0 -101
  392. package/dist/sdk/models/operations/deletemodels3did.d.ts +0 -51
  393. package/dist/sdk/models/operations/deletemodels3did.js +0 -121
  394. package/dist/sdk/models/operations/getdatasetbyid.d.ts +0 -54
  395. package/dist/sdk/models/operations/getdatasetbyid.js +0 -153
  396. package/dist/sdk/models/operations/getelements.d.ts +0 -68
  397. package/dist/sdk/models/operations/getelements.js +0 -153
  398. package/dist/sdk/models/operations/getgenerationbyid.d.ts +0 -184
  399. package/dist/sdk/models/operations/getgenerationbyid.js +0 -408
  400. package/dist/sdk/models/operations/getgenerationsbyuserid.d.ts +0 -180
  401. package/dist/sdk/models/operations/getgenerationsbyuserid.js +0 -416
  402. package/dist/sdk/models/operations/getinitimagebyid.d.ts +0 -43
  403. package/dist/sdk/models/operations/getinitimagebyid.js +0 -111
  404. package/dist/sdk/models/operations/getmodelbyid.d.ts +0 -62
  405. package/dist/sdk/models/operations/getmodelbyid.js +0 -180
  406. package/dist/sdk/models/operations/getplatformmodels.d.ts +0 -47
  407. package/dist/sdk/models/operations/getplatformmodels.js +0 -136
  408. package/dist/sdk/models/operations/getuserself.d.ts +0 -47
  409. package/dist/sdk/models/operations/getuserself.js +0 -136
  410. package/dist/sdk/models/operations/getvariationbyid.d.ts +0 -49
  411. package/dist/sdk/models/operations/getvariationbyid.js +0 -145
  412. package/dist/sdk/models/operations/postgenerationsmotionsvd.d.ts +0 -58
  413. package/dist/sdk/models/operations/postgenerationsmotionsvd.js +0 -127
  414. package/dist/sdk/models/operations/postgenerationstexture.d.ts +0 -46
  415. package/dist/sdk/models/operations/postgenerationstexture.js +0 -142
  416. package/dist/sdk/models/operations/postmodels3dupload.d.ts +0 -39
  417. package/dist/sdk/models/operations/postmodels3dupload.js +0 -122
  418. package/dist/sdk/models/operations/postvariationsunzoom.d.ts +0 -40
  419. package/dist/sdk/models/operations/postvariationsunzoom.js +0 -112
  420. package/dist/sdk/models/operations/uploaddatasetimage.d.ts +0 -51
  421. package/dist/sdk/models/operations/uploaddatasetimage.js +0 -133
  422. package/dist/sdk/models/operations/uploaddatasetimagefromgen.d.ts +0 -48
  423. package/dist/sdk/models/operations/uploaddatasetimagefromgen.js +0 -118
  424. package/dist/sdk/models/operations/uploadinitimage.d.ts +0 -41
  425. package/dist/sdk/models/operations/uploadinitimage.js +0 -117
  426. package/dist/sdk/models/shared/controlnettype.d.ts +0 -8
  427. package/dist/sdk/models/shared/elementinput.d.ts +0 -11
  428. package/dist/sdk/models/shared/elementinput.js +0 -50
  429. package/dist/sdk/models/shared/security.d.ts +0 -4
  430. package/dist/sdk/models/shared/security.js +0 -45
  431. package/dist/sdk/sdk.d.ts +0 -63
  432. package/dist/sdk/sdk.js +0 -91
  433. package/dist/sdk/types/index.d.ts +0 -1
  434. package/dist/sdk/types/rfcdate.d.ts +0 -9
  435. package/dist/sdk/types/rfcdate.js +0 -59
  436. package/dist/sdk/user.js +0 -145
  437. package/dist/sdk/variation.d.ts +0 -35
  438. package/dist/sdk/variation.js +0 -379
  439. package/docs/sdk/models/operations/createdatasetrequestbody.md +0 -11
  440. package/docs/sdk/models/operations/createdatasetresponse.md +0 -11
  441. package/docs/sdk/models/operations/createdatasetresponsebody.md +0 -10
  442. package/docs/sdk/models/operations/creategenerationrequestbody.md +0 -46
  443. package/docs/sdk/models/operations/creategenerationresponse.md +0 -11
  444. package/docs/sdk/models/operations/creategenerationresponsebody.md +0 -10
  445. package/docs/sdk/models/operations/createmodelrequestbody.md +0 -18
  446. package/docs/sdk/models/operations/createmodelresponse.md +0 -11
  447. package/docs/sdk/models/operations/createmodelresponsebody.md +0 -10
  448. package/docs/sdk/models/operations/createvariationnobgrequestbody.md +0 -11
  449. package/docs/sdk/models/operations/createvariationnobgresponse.md +0 -11
  450. package/docs/sdk/models/operations/createvariationnobgresponsebody.md +0 -10
  451. package/docs/sdk/models/operations/createvariationupscalerequestbody.md +0 -10
  452. package/docs/sdk/models/operations/createvariationupscaleresponse.md +0 -11
  453. package/docs/sdk/models/operations/createvariationupscaleresponsebody.md +0 -10
  454. package/docs/sdk/models/operations/createvariationupscalesdupscalejoboutput.md +0 -9
  455. package/docs/sdk/models/operations/custommodels.md +0 -10
  456. package/docs/sdk/models/operations/datasetgenuploadoutput.md +0 -8
  457. package/docs/sdk/models/operations/datasetimages.md +0 -12
  458. package/docs/sdk/models/operations/datasets.md +0 -10
  459. package/docs/sdk/models/operations/datasetuploadoutput.md +0 -11
  460. package/docs/sdk/models/operations/deletedatasetbyiddatasets.md +0 -10
  461. package/docs/sdk/models/operations/deletedatasetbyidrequest.md +0 -8
  462. package/docs/sdk/models/operations/deletedatasetbyidresponse.md +0 -11
  463. package/docs/sdk/models/operations/deletedatasetbyidresponsebody.md +0 -10
  464. package/docs/sdk/models/operations/deletegenerationbyidrequest.md +0 -8
  465. package/docs/sdk/models/operations/deletegenerationbyidresponse.md +0 -11
  466. package/docs/sdk/models/operations/deletegenerationbyidresponsebody.md +0 -10
  467. package/docs/sdk/models/operations/deletegenerationstextureidrequest.md +0 -9
  468. package/docs/sdk/models/operations/deletegenerationstextureidrequestbody.md +0 -10
  469. package/docs/sdk/models/operations/deletegenerationstextureidresponse.md +0 -11
  470. package/docs/sdk/models/operations/deletegenerationstextureidresponsebody.md +0 -10
  471. package/docs/sdk/models/operations/deleteinitimagebyidrequest.md +0 -8
  472. package/docs/sdk/models/operations/deleteinitimagebyidresponse.md +0 -11
  473. package/docs/sdk/models/operations/deleteinitimagebyidresponsebody.md +0 -10
  474. package/docs/sdk/models/operations/deletemodelbyidrequest.md +0 -8
  475. package/docs/sdk/models/operations/deletemodelbyidresponse.md +0 -11
  476. package/docs/sdk/models/operations/deletemodelbyidresponsebody.md +0 -10
  477. package/docs/sdk/models/operations/deletemodels3didrequest.md +0 -9
  478. package/docs/sdk/models/operations/deletemodels3didrequestbody.md +0 -10
  479. package/docs/sdk/models/operations/deletemodels3didresponse.md +0 -11
  480. package/docs/sdk/models/operations/deletemodels3didresponsebody.md +0 -10
  481. package/docs/sdk/models/operations/elements.md +0 -17
  482. package/docs/sdk/models/operations/generatedimages.md +0 -19
  483. package/docs/sdk/models/operations/generatedimagevariationgeneric.md +0 -14
  484. package/docs/sdk/models/operations/generationelements.md +0 -12
  485. package/docs/sdk/models/operations/generations.md +0 -10
  486. package/docs/sdk/models/operations/getdatasetbyiddatasets.md +0 -15
  487. package/docs/sdk/models/operations/getdatasetbyidrequest.md +0 -8
  488. package/docs/sdk/models/operations/getdatasetbyidresponse.md +0 -11
  489. package/docs/sdk/models/operations/getdatasetbyidresponsebody.md +0 -10
  490. package/docs/sdk/models/operations/getelementsresponse.md +0 -11
  491. package/docs/sdk/models/operations/getelementsresponsebody.md +0 -10
  492. package/docs/sdk/models/operations/getgenerationbyidgeneratedimagevariationgeneric.md +0 -13
  493. package/docs/sdk/models/operations/getgenerationbyidgenerations.md +0 -32
  494. package/docs/sdk/models/operations/getgenerationbyidloras.md +0 -17
  495. package/docs/sdk/models/operations/getgenerationbyidrequest.md +0 -8
  496. package/docs/sdk/models/operations/getgenerationbyidresponse.md +0 -11
  497. package/docs/sdk/models/operations/getgenerationbyidresponsebody.md +0 -10
  498. package/docs/sdk/models/operations/getgenerationsbyuseridgeneratedimages.md +0 -19
  499. package/docs/sdk/models/operations/getgenerationsbyuseridgeneratedimagevariationgeneric.md +0 -13
  500. package/docs/sdk/models/operations/getgenerationsbyuseridgenerationelements.md +0 -12
  501. package/docs/sdk/models/operations/getgenerationsbyuseridgenerations.md +0 -32
  502. package/docs/sdk/models/operations/getgenerationsbyuseridrequest.md +0 -10
  503. package/docs/sdk/models/operations/getgenerationsbyuseridresponse.md +0 -11
  504. package/docs/sdk/models/operations/getgenerationsbyuseridresponsebody.md +0 -10
  505. package/docs/sdk/models/operations/getinitimagebyidinitimages.md +0 -12
  506. package/docs/sdk/models/operations/getinitimagebyidrequest.md +0 -8
  507. package/docs/sdk/models/operations/getinitimagebyidresponse.md +0 -11
  508. package/docs/sdk/models/operations/getinitimagebyidresponsebody.md +0 -10
  509. package/docs/sdk/models/operations/getmodelbyidcustommodels.md +0 -21
  510. package/docs/sdk/models/operations/getmodelbyidrequest.md +0 -8
  511. package/docs/sdk/models/operations/getmodelbyidresponse.md +0 -11
  512. package/docs/sdk/models/operations/getmodelbyidresponsebody.md +0 -10
  513. package/docs/sdk/models/operations/getplatformmodelscustommodels.md +0 -15
  514. package/docs/sdk/models/operations/getplatformmodelsgeneratedimages.md +0 -11
  515. package/docs/sdk/models/operations/getplatformmodelsresponse.md +0 -11
  516. package/docs/sdk/models/operations/getplatformmodelsresponsebody.md +0 -10
  517. package/docs/sdk/models/operations/getuserselfresponse.md +0 -11
  518. package/docs/sdk/models/operations/getuserselfresponsebody.md +0 -10
  519. package/docs/sdk/models/operations/getvariationbyidrequest.md +0 -8
  520. package/docs/sdk/models/operations/getvariationbyidresponse.md +0 -11
  521. package/docs/sdk/models/operations/getvariationbyidresponsebody.md +0 -10
  522. package/docs/sdk/models/operations/initimages.md +0 -10
  523. package/docs/sdk/models/operations/initimageuploadoutput.md +0 -11
  524. package/docs/sdk/models/operations/loras.md +0 -18
  525. package/docs/sdk/models/operations/modelassets.md +0 -10
  526. package/docs/sdk/models/operations/modelassettexturegenerations.md +0 -10
  527. package/docs/sdk/models/operations/modelassetuploadoutput.md +0 -11
  528. package/docs/sdk/models/operations/motionsvdgenerationoutput.md +0 -9
  529. package/docs/sdk/models/operations/postgenerationsmotionsvdrequestbody.md +0 -14
  530. package/docs/sdk/models/operations/postgenerationsmotionsvdresponse.md +0 -11
  531. package/docs/sdk/models/operations/postgenerationsmotionsvdresponsebody.md +0 -10
  532. package/docs/sdk/models/operations/postgenerationstexturerequestbody.md +0 -17
  533. package/docs/sdk/models/operations/postgenerationstextureresponse.md +0 -11
  534. package/docs/sdk/models/operations/postgenerationstextureresponsebody.md +0 -10
  535. package/docs/sdk/models/operations/postmodels3duploadrequestbody.md +0 -11
  536. package/docs/sdk/models/operations/postmodels3duploadresponse.md +0 -11
  537. package/docs/sdk/models/operations/postmodels3duploadresponsebody.md +0 -10
  538. package/docs/sdk/models/operations/postvariationsunzoomrequestbody.md +0 -11
  539. package/docs/sdk/models/operations/postvariationsunzoomresponse.md +0 -11
  540. package/docs/sdk/models/operations/postvariationsunzoomresponsebody.md +0 -10
  541. package/docs/sdk/models/operations/sdgenerationoutput.md +0 -9
  542. package/docs/sdk/models/operations/sdtrainingoutput.md +0 -9
  543. package/docs/sdk/models/operations/sdunzoomoutput.md +0 -9
  544. package/docs/sdk/models/operations/sdupscalejoboutput.md +0 -9
  545. package/docs/sdk/models/operations/texturegenerationjoboutput.md +0 -9
  546. package/docs/sdk/models/operations/uploaddatasetimagefromgenrequest.md +0 -9
  547. package/docs/sdk/models/operations/uploaddatasetimagefromgenrequestbody.md +0 -10
  548. package/docs/sdk/models/operations/uploaddatasetimagefromgenresponse.md +0 -11
  549. package/docs/sdk/models/operations/uploaddatasetimagefromgenresponsebody.md +0 -10
  550. package/docs/sdk/models/operations/uploaddatasetimagerequest.md +0 -9
  551. package/docs/sdk/models/operations/uploaddatasetimagerequestbody.md +0 -10
  552. package/docs/sdk/models/operations/uploaddatasetimageresponse.md +0 -11
  553. package/docs/sdk/models/operations/uploaddatasetimageresponsebody.md +0 -10
  554. package/docs/sdk/models/operations/uploadinitimagerequestbody.md +0 -10
  555. package/docs/sdk/models/operations/uploadinitimageresponse.md +0 -11
  556. package/docs/sdk/models/operations/uploadinitimageresponsebody.md +0 -10
  557. package/docs/sdk/models/operations/userdetails.md +0 -15
  558. package/docs/sdk/models/operations/users.md +0 -11
  559. package/docs/sdk/models/shared/controlnettype.md +0 -12
  560. package/docs/sdk/models/shared/custommodeltype.md +0 -23
  561. package/docs/sdk/models/shared/elementinput.md +0 -9
  562. package/docs/sdk/models/shared/jobstatus.md +0 -12
  563. package/docs/sdk/models/shared/sdgenerationschedulers.md +0 -16
  564. package/docs/sdk/models/shared/sdgenerationstyle.md +0 -24
  565. package/docs/sdk/models/shared/sdversions.md +0 -11
  566. package/docs/sdk/models/shared/security.md +0 -8
  567. package/docs/sdk/models/shared/strength.md +0 -13
  568. package/docs/sdk/models/shared/variationtype.md +0 -14
@@ -0,0 +1,203 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
3
+ */
4
+
5
+ export type Fetcher = (
6
+ input: RequestInfo | URL,
7
+ init?: RequestInit,
8
+ ) => Promise<Response>;
9
+
10
+ const DEFAULT_FETCHER: Fetcher = (input, init) => fetch(input, init);
11
+
12
+ export interface HTTPClientOptions {
13
+ fetcher?: Fetcher;
14
+ }
15
+
16
+ type BeforeRequestHook = (req: Request) => Request | void;
17
+ type RequestErrorHook = (err: unknown, req: Request) => void;
18
+ type ResponseHook = (res: Response, req: Request) => void;
19
+
20
+ export class HTTPClient {
21
+ private fetcher: Fetcher;
22
+ private requestHooks: BeforeRequestHook[] = [];
23
+ private requestErrorHooks: RequestErrorHook[] = [];
24
+ private responseHooks: ResponseHook[] = [];
25
+
26
+ constructor(private options: HTTPClientOptions = {}) {
27
+ this.fetcher = options.fetcher || DEFAULT_FETCHER;
28
+ }
29
+
30
+ async request(request: Request): Promise<Response> {
31
+ const req = this.requestHooks.reduce((currentReq, fn) => {
32
+ const nextRequest = fn(currentReq);
33
+ return nextRequest || currentReq;
34
+ }, request);
35
+
36
+ try {
37
+ const res = await this.fetcher(req);
38
+ this.responseHooks.forEach((fn) => fn(res, req));
39
+ return res;
40
+ } catch (err) {
41
+ this.requestErrorHooks.forEach((fn) => fn(err, req));
42
+ throw err;
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Registers a hook that is called before a request is made. The hook function
48
+ * can mutate the request or return a new request. This may be useful to add
49
+ * additional information to request such as request IDs and tracing headers.
50
+ */
51
+ addHook(hook: "beforeRequest", fn: BeforeRequestHook): this;
52
+ /**
53
+ * Registers a hook that is called when a request cannot be made due to a
54
+ * network error.
55
+ */
56
+ addHook(hook: "requestError", fn: RequestErrorHook): this;
57
+ /**
58
+ * Registers a hook that is called when a response has been received from the
59
+ * server.
60
+ */
61
+ addHook(hook: "response", fn: ResponseHook): this;
62
+ addHook(
63
+ ...args:
64
+ | [hook: "beforeRequest", fn: BeforeRequestHook]
65
+ | [hook: "requestError", fn: RequestErrorHook]
66
+ | [hook: "response", fn: ResponseHook]
67
+ ) {
68
+ if (args[0] === "beforeRequest") {
69
+ this.requestHooks.push(args[1]);
70
+ } else if (args[0] === "requestError") {
71
+ this.requestErrorHooks.push(args[1]);
72
+ } else if (args[0] === "response") {
73
+ this.responseHooks.push(args[1]);
74
+ } else {
75
+ throw new Error(`Invalid hook type: ${args[0]}`);
76
+ }
77
+ return this;
78
+ }
79
+
80
+ /** Removes a hook that was previously registered with `addHook`. */
81
+ removeHook(hook: "beforeRequest", fn: BeforeRequestHook): this;
82
+ /** Removes a hook that was previously registered with `addHook`. */
83
+ removeHook(hook: "requestError", fn: RequestErrorHook): this;
84
+ /** Removes a hook that was previously registered with `addHook`. */
85
+ removeHook(hook: "response", fn: ResponseHook): this;
86
+ removeHook(
87
+ ...args:
88
+ | [hook: "beforeRequest", fn: BeforeRequestHook]
89
+ | [hook: "requestError", fn: RequestErrorHook]
90
+ | [hook: "response", fn: ResponseHook]
91
+ ) {
92
+ let target: unknown[];
93
+ if (args[0] === "beforeRequest") {
94
+ target = this.requestHooks;
95
+ } else if (args[0] === "requestError") {
96
+ target = this.requestErrorHooks;
97
+ } else if (args[0] === "response") {
98
+ target = this.responseHooks;
99
+ } else {
100
+ throw new Error(`Invalid hook type: ${args[0]}`);
101
+ }
102
+
103
+ const index = target.findIndex((v) => v === args[1]);
104
+ if (index >= 0) {
105
+ target.splice(index, 1);
106
+ }
107
+
108
+ return this;
109
+ }
110
+
111
+ clone() {
112
+ const child = new HTTPClient(this.options);
113
+ child.requestHooks = this.requestHooks.slice();
114
+ child.requestErrorHooks = this.requestErrorHooks.slice();
115
+ child.responseHooks = this.responseHooks.slice();
116
+
117
+ return child;
118
+ }
119
+ }
120
+
121
+ export function matchContentType(response: Response, pattern: string): boolean {
122
+ if (pattern === "*" || pattern === "*/*") {
123
+ return true;
124
+ }
125
+
126
+ const contentType =
127
+ response.headers.get("content-type") ?? "application/octet-stream";
128
+
129
+ const idx = contentType.split(";").findIndex((raw) => {
130
+ const ctype = raw.trim();
131
+ if (ctype === pattern) {
132
+ return true;
133
+ }
134
+
135
+ const parts = ctype.split("/");
136
+ if (parts.length !== 2) {
137
+ return false;
138
+ }
139
+
140
+ return `${parts[0]}/*` === pattern || `*/${parts[1]}` === pattern;
141
+ });
142
+
143
+ return idx >= 0;
144
+ }
145
+
146
+ const codeRangeRE = new RegExp("^[0-9]xx$", "i");
147
+
148
+ export function matchStatusCode(
149
+ response: Response,
150
+ codes: number | string | (number | string)[],
151
+ ) {
152
+ const actual = `${response.status}`;
153
+ const expectedCodes = Array.isArray(codes) ? codes : [codes];
154
+ if (!expectedCodes.length) {
155
+ return false;
156
+ }
157
+
158
+ return expectedCodes.some((ec) => {
159
+ const code = `${ec}`;
160
+
161
+ if (code === "default") {
162
+ return true;
163
+ }
164
+
165
+ if (!codeRangeRE.test(`${code}`)) {
166
+ return code === actual;
167
+ }
168
+
169
+ const expectFamily = code.charAt(0);
170
+ if (!expectFamily) {
171
+ throw new Error("Invalid status code range");
172
+ }
173
+
174
+ const actualFamily = actual.charAt(0);
175
+ if (!actualFamily) {
176
+ throw new Error(`Invalid response status code: ${actual}`);
177
+ }
178
+
179
+ return actualFamily === expectFamily;
180
+ });
181
+ }
182
+
183
+ export function matchResponse(
184
+ response: Response,
185
+ code: number | string | (number | string)[],
186
+ contentTypePattern: string,
187
+ ): boolean {
188
+ return (
189
+ matchStatusCode(response, code) &&
190
+ matchContentType(response, contentTypePattern)
191
+ );
192
+ }
193
+
194
+ const headerValRE = /, */;
195
+ export function unpackHeaders(headers: Headers): Record<string, string[]> {
196
+ const out: Record<string, string[]> = {};
197
+
198
+ for (const [k, v] of headers.entries()) {
199
+ out[k] = v.split(headerValRE);
200
+ }
201
+
202
+ return out;
203
+ }
@@ -0,0 +1,207 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
3
+ */
4
+
5
+ export type BackoffStrategy = {
6
+ initialInterval: number;
7
+ maxInterval: number;
8
+ exponent: number;
9
+ maxElapsedTime: number;
10
+ };
11
+
12
+ const defaultBackoff: BackoffStrategy = {
13
+ initialInterval: 500,
14
+ maxInterval: 60000,
15
+ exponent: 1.5,
16
+ maxElapsedTime: 3600000,
17
+ };
18
+
19
+ export type RetryConfig =
20
+ | { strategy: "none" }
21
+ | {
22
+ strategy: "backoff";
23
+ backoff?: BackoffStrategy;
24
+ retryConnectionErrors?: boolean;
25
+ };
26
+
27
+ class PermanentError extends Error {
28
+ inner: unknown;
29
+
30
+ constructor(inner: unknown) {
31
+ super("Permanent error");
32
+ this.inner = inner;
33
+
34
+ Object.setPrototypeOf(this, PermanentError.prototype);
35
+ }
36
+ }
37
+
38
+ class TemporaryError extends Error {
39
+ res: Response;
40
+
41
+ constructor(res: Response) {
42
+ super("Temporary error");
43
+ this.res = res;
44
+
45
+ Object.setPrototypeOf(this, TemporaryError.prototype);
46
+ }
47
+ }
48
+
49
+ export async function retry(
50
+ fetchFn: () => Promise<Response>,
51
+ options: {
52
+ config: RetryConfig;
53
+ statusCodes: string[];
54
+ },
55
+ ): Promise<Response> {
56
+ switch (options.config.strategy) {
57
+ case "backoff":
58
+ return retryBackoff(
59
+ wrapFetcher(fetchFn, {
60
+ statusCodes: options.statusCodes,
61
+ retryConnectionErrors: !!options.config.retryConnectionErrors,
62
+ }),
63
+ options.config.backoff ?? defaultBackoff,
64
+ );
65
+ default:
66
+ return await fetchFn();
67
+ }
68
+ }
69
+
70
+ function wrapFetcher(
71
+ fn: () => Promise<Response>,
72
+ options: {
73
+ statusCodes: string[];
74
+ retryConnectionErrors: boolean;
75
+ },
76
+ ): () => Promise<Response> {
77
+ return async () => {
78
+ try {
79
+ const res = await fn();
80
+ if (isRetryableResponse(res, options.statusCodes)) {
81
+ throw new TemporaryError(res);
82
+ }
83
+
84
+ return res;
85
+ } catch (err) {
86
+ if (err instanceof TemporaryError) {
87
+ throw err;
88
+ }
89
+
90
+ if (
91
+ options.retryConnectionErrors &&
92
+ (isTimeoutError(err) || isConnectionError(err))
93
+ ) {
94
+ throw err;
95
+ }
96
+
97
+ throw new PermanentError(err);
98
+ }
99
+ };
100
+ }
101
+
102
+ function isConnectionError(err: unknown) {
103
+ if (typeof err !== "object" || err == null) {
104
+ return false;
105
+ }
106
+
107
+ // Covers fetch in Deno as well
108
+ const isBrowserErr =
109
+ err instanceof TypeError &&
110
+ err.message.toLowerCase().startsWith("failed to fetch");
111
+
112
+ const isNodeErr =
113
+ err instanceof TypeError &&
114
+ err.message.toLowerCase().startsWith("fetch failed");
115
+
116
+ const isBunErr = "name" in err && err.name === "ConnectionError";
117
+
118
+ const isGenericErr =
119
+ "code" in err &&
120
+ typeof err.code === "string" &&
121
+ err.code.toLowerCase() === "econnreset";
122
+
123
+ return isBrowserErr || isNodeErr || isGenericErr || isBunErr;
124
+ }
125
+
126
+ function isTimeoutError(err: unknown) {
127
+ if (typeof err !== "object" || err == null) {
128
+ return false;
129
+ }
130
+
131
+ // Fetch in browser, Node.js, Bun, Deno
132
+ const isNative = "name" in err && err.name === "TimeoutError";
133
+
134
+ // Node.js HTTP client and Axios
135
+ const isGenericErr =
136
+ "code" in err &&
137
+ typeof err.code === "string" &&
138
+ err.code.toLowerCase() === "econnaborted";
139
+
140
+ return isNative || isGenericErr;
141
+ }
142
+
143
+ const codeRangeRE = new RegExp("^[0-9]xx$", "i");
144
+
145
+ function isRetryableResponse(res: Response, statusCodes: string[]): boolean {
146
+ const actual = `${res.status}`;
147
+
148
+ return statusCodes.some((code) => {
149
+ if (!codeRangeRE.test(code)) {
150
+ return code === actual;
151
+ }
152
+
153
+ const expectFamily = code.charAt(0);
154
+ if (!expectFamily) {
155
+ throw new Error("Invalid status code range");
156
+ }
157
+
158
+ const actualFamily = actual.charAt(0);
159
+ if (!actualFamily) {
160
+ throw new Error(`Invalid response status code: ${actual}`);
161
+ }
162
+
163
+ return actualFamily === expectFamily;
164
+ });
165
+ }
166
+
167
+ async function retryBackoff(
168
+ fn: () => Promise<Response>,
169
+ strategy: BackoffStrategy,
170
+ ): Promise<Response> {
171
+ const { maxElapsedTime, initialInterval, exponent, maxInterval } = strategy;
172
+
173
+ const start = Date.now();
174
+ let x = 0;
175
+
176
+ // eslint-disable-next-line no-constant-condition
177
+ while (true) {
178
+ try {
179
+ const res = await fn();
180
+ return res;
181
+ } catch (err) {
182
+ if (err instanceof PermanentError) {
183
+ throw err.inner;
184
+ }
185
+ const elapsed = Date.now() - start;
186
+ if (elapsed > maxElapsedTime) {
187
+ if (err instanceof TemporaryError) {
188
+ return err.res;
189
+ }
190
+
191
+ throw err;
192
+ }
193
+
194
+ const d = Math.min(
195
+ initialInterval * Math.pow(x, exponent) + Math.random() * 1000,
196
+ maxInterval,
197
+ );
198
+
199
+ await delay(d);
200
+ x++;
201
+ }
202
+ }
203
+ }
204
+
205
+ async function delay(delay: number): Promise<void> {
206
+ return new Promise((resolve) => setTimeout(resolve, delay));
207
+ }
@@ -0,0 +1,107 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
3
+ */
4
+
5
+ import { HTTPClient, matchResponse, matchStatusCode, unpackHeaders } from "./http";
6
+ import { SecurityState, resolveSecurity, resolveGlobalSecurity } from "./security";
7
+ import { pathToFunc } from "./url";
8
+ import { encodeForm } from "./encodings";
9
+ import { stringToBase64 } from "./base64";
10
+
11
+ export type RequestOptions = {
12
+ fetchOptions?: Omit<RequestInit, "method" | "body">;
13
+ };
14
+
15
+ type RequestConfig = {
16
+ method: string;
17
+ path: string;
18
+ baseURL?: string | URL;
19
+ query?: string;
20
+ body?: RequestInit["body"];
21
+ headers?: HeadersInit;
22
+ security?: SecurityState | null;
23
+ };
24
+
25
+ export class ClientSDK {
26
+ private readonly client: HTTPClient;
27
+ protected readonly baseURL: URL;
28
+
29
+ constructor(init: { client: HTTPClient; baseURL: URL }) {
30
+ const url = init.baseURL;
31
+ url.pathname = url.pathname.replace(/\/+$/, "") + "/";
32
+
33
+ this.client = init.client;
34
+ this.baseURL = url;
35
+ }
36
+
37
+ protected async fetch$(conf: RequestConfig, options?: RequestOptions) {
38
+ const { method, path, query, headers: opHeaders, security } = conf;
39
+
40
+ const reqURL = new URL(conf.baseURL ?? this.baseURL);
41
+ const inputURL = new URL(path, reqURL);
42
+
43
+ if (path) {
44
+ reqURL.pathname += inputURL.pathname.replace(/^\/+/, "");
45
+ }
46
+
47
+ let finalQuery = query || "";
48
+
49
+ const secQuery: string[] = [];
50
+ for (const [k, v] of Object.entries(security?.queryParams || {})) {
51
+ secQuery.push(encodeForm(k, v, { charEncoding: "percent" }));
52
+ }
53
+ if (secQuery.length) {
54
+ finalQuery += `&${secQuery.join("&")}`;
55
+ }
56
+
57
+ if (finalQuery) {
58
+ const q = finalQuery.startsWith("&") ? finalQuery.slice(1) : finalQuery;
59
+ reqURL.search = `?${q}`;
60
+ }
61
+
62
+ const headers = new Headers(opHeaders);
63
+
64
+ const username = security?.basic.username || "";
65
+ const password = security?.basic.password || "";
66
+ if (username) {
67
+ const encoded = stringToBase64([username, password].join(":"));
68
+ headers.set("Authorization", `Basic ${encoded}`);
69
+ }
70
+
71
+ const securityHeaders = new Headers(security?.headers || {});
72
+ for (const [k, v] of securityHeaders) {
73
+ headers.set(k, v);
74
+ }
75
+
76
+ let cookie = headers.get("cookie") || "";
77
+ for (const [k, v] of Object.entries(security?.cookies || {})) {
78
+ cookie += `; ${k}=${v}`;
79
+ }
80
+ cookie = cookie.startsWith("; ") ? cookie.slice(2) : cookie;
81
+ headers.set("cookie", cookie);
82
+
83
+ const userHeaders = new Headers(options?.fetchOptions?.headers);
84
+ for (const [k, v] of userHeaders) {
85
+ headers.set(k, v);
86
+ }
87
+
88
+ const req = new Request(reqURL, {
89
+ ...options?.fetchOptions,
90
+ body: conf.body ?? null,
91
+ headers,
92
+ method,
93
+ });
94
+
95
+ return this.client.request(req);
96
+ }
97
+
98
+ protected unpackHeaders = unpackHeaders;
99
+
100
+ protected matchStatusCode = matchStatusCode;
101
+ protected matchResponse = matchResponse;
102
+
103
+ protected templateURLComponent = pathToFunc;
104
+
105
+ protected resolveSecurity = resolveSecurity;
106
+ protected resolveGlobalSecurity = resolveGlobalSecurity;
107
+ }
@@ -0,0 +1,164 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
3
+ */
4
+
5
+ import * as shared from "../sdk/models/shared";
6
+
7
+ export enum SecurityErrorCode {
8
+ Incomplete = "incomplete",
9
+ UnrecognisedSecurityType = "unrecognized_security_type",
10
+ }
11
+
12
+ export class SecurityError extends Error {
13
+ constructor(public code: SecurityErrorCode, message: string) {
14
+ super(message);
15
+ this.name = "SecurityError";
16
+ }
17
+
18
+ static incomplete(): SecurityError {
19
+ return new SecurityError(
20
+ SecurityErrorCode.Incomplete,
21
+ "Security requirements not met in order to perform the operation"
22
+ );
23
+ }
24
+ static unrecognizedType(type: string): SecurityError {
25
+ return new SecurityError(
26
+ SecurityErrorCode.UnrecognisedSecurityType,
27
+ `Unrecognised security type: ${type}`
28
+ );
29
+ }
30
+ }
31
+
32
+ export type SecurityState = {
33
+ basic: { username: string; password?: string };
34
+ headers: Record<string, string>;
35
+ queryParams: Record<string, string>;
36
+ cookies: Record<string, string>;
37
+ };
38
+
39
+ type SecurityInputBasicPacked = {
40
+ type: "http:basic";
41
+ value: { username: string; password?: string } | null | undefined;
42
+ };
43
+
44
+ type SecurityInputBasic = {
45
+ type: "http:basic";
46
+ value: string | null | undefined;
47
+ fieldName: "username" | "password";
48
+ };
49
+
50
+ type SecurityInputBearer = {
51
+ type: "http:bearer";
52
+ value: string | null | undefined;
53
+ fieldName: string;
54
+ };
55
+
56
+ type SecurityInputAPIKey = {
57
+ type: "apiKey:header" | "apiKey:query" | "apiKey:cookie";
58
+ value: string | null | undefined;
59
+ fieldName: string;
60
+ };
61
+
62
+ type SecurityInputOIDC = {
63
+ type: "openIdConnect";
64
+ value: string | null | undefined;
65
+ fieldName: string;
66
+ };
67
+
68
+ type SecurityInputOAuth2 = {
69
+ type: "oauth2";
70
+ value: string | null | undefined;
71
+ fieldName: string;
72
+ };
73
+
74
+ export type SecurityInput =
75
+ | SecurityInputBasic
76
+ | SecurityInputBasicPacked
77
+ | SecurityInputBearer
78
+ | SecurityInputAPIKey
79
+ | SecurityInputOAuth2
80
+ | SecurityInputOIDC;
81
+
82
+ export function resolveSecurity(...options: SecurityInput[][]): SecurityState | null {
83
+ const state: SecurityState = {
84
+ basic: { username: "", password: "" },
85
+ headers: {},
86
+ queryParams: {},
87
+ cookies: {},
88
+ };
89
+
90
+ const option = options.find((opts) => opts.every((o) => Boolean(o.value)));
91
+ if (option == null) {
92
+ return null;
93
+ }
94
+
95
+ option.forEach((spec) => {
96
+ if (spec.value == null) {
97
+ return;
98
+ }
99
+
100
+ const { type } = spec;
101
+
102
+ switch (type) {
103
+ case "apiKey:header":
104
+ state.headers[spec.fieldName] = spec.value;
105
+ break;
106
+ case "apiKey:query":
107
+ state.queryParams[spec.fieldName] = spec.value;
108
+ break;
109
+ case "apiKey:cookie":
110
+ state.cookies[spec.fieldName] = spec.value;
111
+ break;
112
+ case "http:basic":
113
+ applyBasic(state, spec);
114
+ break;
115
+ case "http:bearer":
116
+ applyBearer(state, spec);
117
+ break;
118
+ case "oauth2":
119
+ applyBearer(state, spec);
120
+ break;
121
+ case "openIdConnect":
122
+ applyBearer(state, spec);
123
+ break;
124
+ default:
125
+ spec satisfies never;
126
+ throw SecurityError.unrecognizedType(type);
127
+ }
128
+ });
129
+
130
+ return state;
131
+ }
132
+
133
+ function applyBasic(state: SecurityState, spec: SecurityInputBasic | SecurityInputBasicPacked) {
134
+ if (spec.value == null) {
135
+ return;
136
+ }
137
+
138
+ if ("fieldName" in spec) {
139
+ state.basic[spec.fieldName] = spec.value;
140
+ } else {
141
+ state.basic = spec.value;
142
+ }
143
+ }
144
+
145
+ function applyBearer(
146
+ state: SecurityState,
147
+ spec: SecurityInputBearer | SecurityInputOAuth2 | SecurityInputOIDC
148
+ ) {
149
+ if (spec.value == null) {
150
+ return;
151
+ }
152
+
153
+ let value = spec.value;
154
+ if (value.slice(0, 7).toLowerCase() !== "bearer ") {
155
+ value = `Bearer ${value}`;
156
+ }
157
+
158
+ state.headers[spec.fieldName] = value;
159
+ }
160
+ export function resolveGlobalSecurity(security: Partial<shared.Security> | null | undefined) {
161
+ return resolveSecurity([
162
+ { value: security?.bearerAuth, fieldName: "Authorization", type: "http:bearer" },
163
+ ]);
164
+ }
package/src/lib/url.ts ADDED
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
3
+ */
4
+
5
+ const hasOwn = Object.prototype.hasOwnProperty;
6
+
7
+ export function pathToFunc(
8
+ pathPattern: string,
9
+ options?: { charEncoding?: "percent" | "none" },
10
+ ): (params?: Record<string, string | number>) => string {
11
+ const paramRE = /\{([a-zA-Z0-9_]+?)\}/g;
12
+
13
+ return function buildURLPath(params: Record<string, unknown> = {}): string {
14
+ return pathPattern.replace(paramRE, function (_, placeholder) {
15
+ if (!hasOwn.call(params, placeholder)) {
16
+ throw new Error(`Parameter '${placeholder}' is required`);
17
+ }
18
+
19
+ const value = params[placeholder];
20
+ if (typeof value !== "string" && typeof value !== "number") {
21
+ throw new Error(
22
+ `Parameter '${placeholder}' must be a string or number`,
23
+ );
24
+ }
25
+
26
+ return options?.charEncoding === "percent"
27
+ ? encodeURIComponent(`${value}`)
28
+ : `${value}`;
29
+ });
30
+ };
31
+ }