@leonardo-ai/sdk 4.14.2 → 4.16.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 (596) hide show
  1. package/README.md +193 -90
  2. package/core.d.ts +10 -0
  3. package/core.d.ts.map +1 -0
  4. package/core.js +17 -0
  5. package/core.js.map +1 -0
  6. package/docs/sdks/dataset/README.md +169 -7
  7. package/docs/sdks/elements/README.md +33 -1
  8. package/docs/sdks/image/README.md +132 -7
  9. package/docs/sdks/initimages/README.md +136 -6
  10. package/docs/sdks/leonardo/README.md +1 -5
  11. package/docs/sdks/models/README.md +135 -6
  12. package/docs/sdks/motion/README.md +34 -4
  13. package/docs/sdks/pricingcalculator/README.md +34 -2
  14. package/docs/sdks/prompt/README.md +67 -2
  15. package/docs/sdks/realtimecanvas/README.md +133 -21
  16. package/docs/sdks/texture/README.md +67 -4
  17. package/docs/sdks/threedmodelassets/README.md +67 -4
  18. package/docs/sdks/user/README.md +33 -1
  19. package/docs/sdks/variation/README.md +166 -10
  20. package/funcs/datasetCreateDataset.d.ts +15 -0
  21. package/funcs/datasetCreateDataset.d.ts.map +1 -0
  22. package/funcs/datasetCreateDataset.js +102 -0
  23. package/funcs/datasetCreateDataset.js.map +1 -0
  24. package/funcs/datasetDeleteDatasetById.d.ts +15 -0
  25. package/funcs/datasetDeleteDatasetById.d.ts.map +1 -0
  26. package/funcs/datasetDeleteDatasetById.js +109 -0
  27. package/funcs/datasetDeleteDatasetById.js.map +1 -0
  28. package/funcs/datasetGetDatasetById.d.ts +15 -0
  29. package/funcs/datasetGetDatasetById.d.ts.map +1 -0
  30. package/funcs/datasetGetDatasetById.js +109 -0
  31. package/funcs/datasetGetDatasetById.js.map +1 -0
  32. package/funcs/datasetUploadDatasetImage.d.ts +15 -0
  33. package/funcs/datasetUploadDatasetImage.d.ts.map +1 -0
  34. package/funcs/datasetUploadDatasetImage.js +111 -0
  35. package/funcs/datasetUploadDatasetImage.js.map +1 -0
  36. package/funcs/datasetUploadDatasetImageFromGen.d.ts +15 -0
  37. package/funcs/datasetUploadDatasetImageFromGen.d.ts.map +1 -0
  38. package/funcs/datasetUploadDatasetImageFromGen.js +111 -0
  39. package/funcs/datasetUploadDatasetImageFromGen.js.map +1 -0
  40. package/funcs/elementsListElements.d.ts +15 -0
  41. package/funcs/elementsListElements.d.ts.map +1 -0
  42. package/funcs/elementsListElements.js +91 -0
  43. package/funcs/elementsListElements.js.map +1 -0
  44. package/funcs/imageCreateGeneration.d.ts +15 -0
  45. package/funcs/imageCreateGeneration.d.ts.map +1 -0
  46. package/funcs/imageCreateGeneration.js +102 -0
  47. package/funcs/imageCreateGeneration.js.map +1 -0
  48. package/funcs/imageDeleteGenerationById.d.ts +15 -0
  49. package/funcs/imageDeleteGenerationById.d.ts.map +1 -0
  50. package/funcs/imageDeleteGenerationById.js +109 -0
  51. package/funcs/imageDeleteGenerationById.js.map +1 -0
  52. package/funcs/imageGetGenerationById.d.ts +15 -0
  53. package/funcs/imageGetGenerationById.d.ts.map +1 -0
  54. package/funcs/imageGetGenerationById.js +109 -0
  55. package/funcs/imageGetGenerationById.js.map +1 -0
  56. package/funcs/imageGetGenerationsByUserId.d.ts +15 -0
  57. package/funcs/imageGetGenerationsByUserId.d.ts.map +1 -0
  58. package/funcs/imageGetGenerationsByUserId.js +116 -0
  59. package/funcs/imageGetGenerationsByUserId.js.map +1 -0
  60. package/funcs/initImagesDeleteInitImageById.d.ts +15 -0
  61. package/funcs/initImagesDeleteInitImageById.d.ts.map +1 -0
  62. package/funcs/initImagesDeleteInitImageById.js +109 -0
  63. package/funcs/initImagesDeleteInitImageById.js.map +1 -0
  64. package/funcs/initImagesGetInitImageById.d.ts +15 -0
  65. package/funcs/initImagesGetInitImageById.d.ts.map +1 -0
  66. package/funcs/initImagesGetInitImageById.js +109 -0
  67. package/funcs/initImagesGetInitImageById.js.map +1 -0
  68. package/funcs/initImagesUploadCanvasInitImage.d.ts +15 -0
  69. package/funcs/initImagesUploadCanvasInitImage.d.ts.map +1 -0
  70. package/funcs/initImagesUploadCanvasInitImage.js +102 -0
  71. package/funcs/initImagesUploadCanvasInitImage.js.map +1 -0
  72. package/funcs/initImagesUploadInitImage.d.ts +15 -0
  73. package/funcs/initImagesUploadInitImage.d.ts.map +1 -0
  74. package/funcs/initImagesUploadInitImage.js +102 -0
  75. package/funcs/initImagesUploadInitImage.js.map +1 -0
  76. package/funcs/modelsCreateModel.d.ts +15 -0
  77. package/funcs/modelsCreateModel.d.ts.map +1 -0
  78. package/funcs/modelsCreateModel.js +102 -0
  79. package/funcs/modelsCreateModel.js.map +1 -0
  80. package/funcs/modelsDeleteModelById.d.ts +15 -0
  81. package/funcs/modelsDeleteModelById.d.ts.map +1 -0
  82. package/funcs/modelsDeleteModelById.js +109 -0
  83. package/funcs/modelsDeleteModelById.js.map +1 -0
  84. package/funcs/modelsGetModelById.d.ts +15 -0
  85. package/funcs/modelsGetModelById.d.ts.map +1 -0
  86. package/funcs/modelsGetModelById.js +109 -0
  87. package/funcs/modelsGetModelById.js.map +1 -0
  88. package/funcs/modelsListPlatformModels.d.ts +15 -0
  89. package/funcs/modelsListPlatformModels.d.ts.map +1 -0
  90. package/funcs/modelsListPlatformModels.js +91 -0
  91. package/funcs/modelsListPlatformModels.js.map +1 -0
  92. package/funcs/motionCreateSVDMotionGeneration.d.ts +15 -0
  93. package/funcs/motionCreateSVDMotionGeneration.d.ts.map +1 -0
  94. package/funcs/motionCreateSVDMotionGeneration.js +105 -0
  95. package/funcs/motionCreateSVDMotionGeneration.js.map +1 -0
  96. package/funcs/pricingCalculatorPricingCalculator.d.ts +15 -0
  97. package/funcs/pricingCalculatorPricingCalculator.d.ts.map +1 -0
  98. package/funcs/pricingCalculatorPricingCalculator.js +104 -0
  99. package/funcs/pricingCalculatorPricingCalculator.js.map +1 -0
  100. package/funcs/promptPromptImprove.d.ts +15 -0
  101. package/funcs/promptPromptImprove.d.ts.map +1 -0
  102. package/funcs/promptPromptImprove.js +102 -0
  103. package/funcs/promptPromptImprove.js.map +1 -0
  104. package/funcs/promptPromptRandom.d.ts +15 -0
  105. package/funcs/promptPromptRandom.d.ts.map +1 -0
  106. package/funcs/promptPromptRandom.js +91 -0
  107. package/funcs/promptPromptRandom.js.map +1 -0
  108. package/funcs/realtimeCanvasCreateLCMGeneration.d.ts +15 -0
  109. package/funcs/realtimeCanvasCreateLCMGeneration.d.ts.map +1 -0
  110. package/funcs/realtimeCanvasCreateLCMGeneration.js +104 -0
  111. package/funcs/realtimeCanvasCreateLCMGeneration.js.map +1 -0
  112. package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.d.ts +15 -0
  113. package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.d.ts.map +1 -0
  114. package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.js +105 -0
  115. package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.js.map +1 -0
  116. package/funcs/realtimeCanvasPerformInpaintingLCM.d.ts +15 -0
  117. package/funcs/realtimeCanvasPerformInpaintingLCM.d.ts.map +1 -0
  118. package/funcs/realtimeCanvasPerformInpaintingLCM.js +105 -0
  119. package/funcs/realtimeCanvasPerformInpaintingLCM.js.map +1 -0
  120. package/funcs/realtimeCanvasPerformInstantRefine.d.ts +15 -0
  121. package/funcs/realtimeCanvasPerformInstantRefine.d.ts.map +1 -0
  122. package/funcs/realtimeCanvasPerformInstantRefine.js +105 -0
  123. package/funcs/realtimeCanvasPerformInstantRefine.js.map +1 -0
  124. package/funcs/textureCreateTextureGeneration.d.ts +15 -0
  125. package/funcs/textureCreateTextureGeneration.d.ts.map +1 -0
  126. package/funcs/textureCreateTextureGeneration.js +105 -0
  127. package/funcs/textureCreateTextureGeneration.js.map +1 -0
  128. package/funcs/textureDeleteTextureGenerationById.d.ts +15 -0
  129. package/funcs/textureDeleteTextureGenerationById.d.ts.map +1 -0
  130. package/funcs/textureDeleteTextureGenerationById.js +111 -0
  131. package/funcs/textureDeleteTextureGenerationById.js.map +1 -0
  132. package/funcs/threeDModelAssetsDelete3DModelById.d.ts +15 -0
  133. package/funcs/threeDModelAssetsDelete3DModelById.d.ts.map +1 -0
  134. package/funcs/threeDModelAssetsDelete3DModelById.js +111 -0
  135. package/funcs/threeDModelAssetsDelete3DModelById.js.map +1 -0
  136. package/funcs/threeDModelAssetsUploadModelAsset.d.ts +15 -0
  137. package/funcs/threeDModelAssetsUploadModelAsset.d.ts.map +1 -0
  138. package/funcs/threeDModelAssetsUploadModelAsset.js +104 -0
  139. package/funcs/threeDModelAssetsUploadModelAsset.js.map +1 -0
  140. package/funcs/userGetUserSelf.d.ts +15 -0
  141. package/funcs/userGetUserSelf.d.ts.map +1 -0
  142. package/funcs/userGetUserSelf.js +91 -0
  143. package/funcs/userGetUserSelf.js.map +1 -0
  144. package/funcs/variationCreateUniversalUpscalerJob.d.ts +15 -0
  145. package/funcs/variationCreateUniversalUpscalerJob.d.ts.map +1 -0
  146. package/funcs/variationCreateUniversalUpscalerJob.js +102 -0
  147. package/funcs/variationCreateUniversalUpscalerJob.js.map +1 -0
  148. package/funcs/variationCreateVariationNoBG.d.ts +15 -0
  149. package/funcs/variationCreateVariationNoBG.d.ts.map +1 -0
  150. package/funcs/variationCreateVariationNoBG.js +102 -0
  151. package/funcs/variationCreateVariationNoBG.js.map +1 -0
  152. package/funcs/variationCreateVariationUnzoom.d.ts +15 -0
  153. package/funcs/variationCreateVariationUnzoom.d.ts.map +1 -0
  154. package/funcs/variationCreateVariationUnzoom.js +105 -0
  155. package/funcs/variationCreateVariationUnzoom.js.map +1 -0
  156. package/funcs/variationCreateVariationUpscale.d.ts +15 -0
  157. package/funcs/variationCreateVariationUpscale.d.ts.map +1 -0
  158. package/funcs/variationCreateVariationUpscale.js +105 -0
  159. package/funcs/variationCreateVariationUpscale.js.map +1 -0
  160. package/funcs/variationGetVariationById.d.ts +15 -0
  161. package/funcs/variationGetVariationById.d.ts.map +1 -0
  162. package/funcs/variationGetVariationById.js +109 -0
  163. package/funcs/variationGetVariationById.js.map +1 -0
  164. package/hooks/hooks.d.ts +1 -1
  165. package/hooks/hooks.d.ts.map +1 -1
  166. package/hooks/hooks.js.map +1 -1
  167. package/hooks/index.d.ts +1 -1
  168. package/hooks/index.js +1 -1
  169. package/hooks/types.d.ts.map +1 -1
  170. package/index.d.ts +2 -1
  171. package/index.d.ts.map +1 -1
  172. package/index.js +15 -1
  173. package/index.js.map +1 -1
  174. package/lib/config.d.ts +5 -3
  175. package/lib/config.d.ts.map +1 -1
  176. package/lib/config.js +3 -3
  177. package/lib/config.js.map +1 -1
  178. package/lib/dlv.d.ts +14 -0
  179. package/lib/dlv.d.ts.map +1 -0
  180. package/lib/dlv.js +50 -0
  181. package/lib/dlv.js.map +1 -0
  182. package/lib/files.d.ts +8 -0
  183. package/lib/files.d.ts.map +1 -0
  184. package/lib/files.js +37 -0
  185. package/lib/files.js.map +1 -0
  186. package/lib/http.d.ts +11 -52
  187. package/lib/http.d.ts.map +1 -1
  188. package/lib/http.js +49 -173
  189. package/lib/http.js.map +1 -1
  190. package/lib/logger.d.ts +6 -0
  191. package/lib/logger.d.ts.map +1 -0
  192. package/lib/logger.js +6 -0
  193. package/lib/logger.js.map +1 -0
  194. package/lib/matchers.d.ts +64 -0
  195. package/lib/matchers.d.ts.map +1 -0
  196. package/lib/matchers.js +202 -0
  197. package/lib/matchers.js.map +1 -0
  198. package/lib/retries.d.ts.map +1 -1
  199. package/lib/retries.js +2 -28
  200. package/lib/retries.js.map +1 -1
  201. package/lib/schemas.d.ts +8 -0
  202. package/lib/schemas.d.ts.map +1 -1
  203. package/lib/schemas.js +16 -1
  204. package/lib/schemas.js.map +1 -1
  205. package/lib/sdks.d.ts +15 -17
  206. package/lib/sdks.d.ts.map +1 -1
  207. package/lib/sdks.js +160 -37
  208. package/lib/sdks.js.map +1 -1
  209. package/lib/security.d.ts +7 -1
  210. package/lib/security.d.ts.map +1 -1
  211. package/lib/security.js +15 -2
  212. package/lib/security.js.map +1 -1
  213. package/package.json +2 -2
  214. package/sdk/dataset.d.ts +0 -3
  215. package/sdk/dataset.d.ts.map +1 -1
  216. package/sdk/dataset.js +11 -332
  217. package/sdk/dataset.js.map +1 -1
  218. package/sdk/elements.d.ts +0 -3
  219. package/sdk/elements.d.ts.map +1 -1
  220. package/sdk/elements.js +3 -93
  221. package/sdk/elements.js.map +1 -1
  222. package/sdk/image.d.ts +0 -3
  223. package/sdk/image.d.ts.map +1 -1
  224. package/sdk/image.js +9 -273
  225. package/sdk/image.js.map +1 -1
  226. package/sdk/initimages.d.ts +0 -3
  227. package/sdk/initimages.d.ts.map +1 -1
  228. package/sdk/initimages.js +9 -261
  229. package/sdk/initimages.js.map +1 -1
  230. package/sdk/models/errors/httpclienterrors.d.ts +44 -0
  231. package/sdk/models/errors/httpclienterrors.d.ts.map +1 -0
  232. package/sdk/models/errors/httpclienterrors.js +78 -0
  233. package/sdk/models/errors/httpclienterrors.js.map +1 -0
  234. package/sdk/models/errors/index.d.ts +1 -0
  235. package/sdk/models/errors/index.d.ts.map +1 -1
  236. package/sdk/models/errors/index.js +1 -0
  237. package/sdk/models/errors/index.js.map +1 -1
  238. package/sdk/models/errors/sdkerror.d.ts.map +1 -1
  239. package/sdk/models/errors/sdkerror.js.map +1 -1
  240. package/sdk/models/errors/sdkvalidationerror.d.ts +4 -1
  241. package/sdk/models/errors/sdkvalidationerror.d.ts.map +1 -1
  242. package/sdk/models/errors/sdkvalidationerror.js +3 -5
  243. package/sdk/models/errors/sdkvalidationerror.js.map +1 -1
  244. package/sdk/models/operations/createdataset.d.ts.map +1 -1
  245. package/sdk/models/operations/createdataset.js +17 -23
  246. package/sdk/models/operations/createdataset.js.map +1 -1
  247. package/sdk/models/operations/creategeneration.d.ts +6 -1
  248. package/sdk/models/operations/creategeneration.d.ts.map +1 -1
  249. package/sdk/models/operations/creategeneration.js +34 -34
  250. package/sdk/models/operations/creategeneration.js.map +1 -1
  251. package/sdk/models/operations/createlcmgeneration.d.ts +1 -1
  252. package/sdk/models/operations/createlcmgeneration.d.ts.map +1 -1
  253. package/sdk/models/operations/createlcmgeneration.js +16 -16
  254. package/sdk/models/operations/createlcmgeneration.js.map +1 -1
  255. package/sdk/models/operations/createmodel.d.ts +1 -1
  256. package/sdk/models/operations/createmodel.d.ts.map +1 -1
  257. package/sdk/models/operations/createmodel.js +18 -24
  258. package/sdk/models/operations/createmodel.js.map +1 -1
  259. package/sdk/models/operations/createsvdmotiongeneration.d.ts.map +1 -1
  260. package/sdk/models/operations/createsvdmotiongeneration.js +12 -14
  261. package/sdk/models/operations/createsvdmotiongeneration.js.map +1 -1
  262. package/sdk/models/operations/createtexturegeneration.d.ts.map +1 -1
  263. package/sdk/models/operations/createtexturegeneration.js +22 -32
  264. package/sdk/models/operations/createtexturegeneration.js.map +1 -1
  265. package/sdk/models/operations/createuniversalupscalerjob.d.ts +23 -8
  266. package/sdk/models/operations/createuniversalupscalerjob.d.ts.map +1 -1
  267. package/sdk/models/operations/createuniversalupscalerjob.js +22 -16
  268. package/sdk/models/operations/createuniversalupscalerjob.js.map +1 -1
  269. package/sdk/models/operations/createvariationnobg.d.ts.map +1 -1
  270. package/sdk/models/operations/createvariationnobg.js +12 -14
  271. package/sdk/models/operations/createvariationnobg.js.map +1 -1
  272. package/sdk/models/operations/createvariationunzoom.d.ts.map +1 -1
  273. package/sdk/models/operations/createvariationunzoom.js +16 -16
  274. package/sdk/models/operations/createvariationunzoom.js.map +1 -1
  275. package/sdk/models/operations/createvariationupscale.d.ts.map +1 -1
  276. package/sdk/models/operations/createvariationupscale.js +14 -20
  277. package/sdk/models/operations/createvariationupscale.js.map +1 -1
  278. package/sdk/models/operations/delete3dmodelbyid.d.ts.map +1 -1
  279. package/sdk/models/operations/delete3dmodelbyid.js +26 -34
  280. package/sdk/models/operations/delete3dmodelbyid.js.map +1 -1
  281. package/sdk/models/operations/deletedatasetbyid.d.ts.map +1 -1
  282. package/sdk/models/operations/deletedatasetbyid.js +15 -27
  283. package/sdk/models/operations/deletedatasetbyid.js.map +1 -1
  284. package/sdk/models/operations/deletegenerationbyid.d.ts.map +1 -1
  285. package/sdk/models/operations/deletegenerationbyid.js +21 -25
  286. package/sdk/models/operations/deletegenerationbyid.js.map +1 -1
  287. package/sdk/models/operations/deleteinitimagebyid.d.ts.map +1 -1
  288. package/sdk/models/operations/deleteinitimagebyid.js +21 -25
  289. package/sdk/models/operations/deleteinitimagebyid.js.map +1 -1
  290. package/sdk/models/operations/deletemodelbyid.d.ts.map +1 -1
  291. package/sdk/models/operations/deletemodelbyid.js +15 -22
  292. package/sdk/models/operations/deletemodelbyid.js.map +1 -1
  293. package/sdk/models/operations/deletetexturegenerationbyid.d.ts.map +1 -1
  294. package/sdk/models/operations/deletetexturegenerationbyid.js +24 -38
  295. package/sdk/models/operations/deletetexturegenerationbyid.js.map +1 -1
  296. package/sdk/models/operations/getdatasetbyid.d.ts.map +1 -1
  297. package/sdk/models/operations/getdatasetbyid.js +22 -32
  298. package/sdk/models/operations/getdatasetbyid.js.map +1 -1
  299. package/sdk/models/operations/getgenerationbyid.d.ts +6 -1
  300. package/sdk/models/operations/getgenerationbyid.d.ts.map +1 -1
  301. package/sdk/models/operations/getgenerationbyid.js +43 -59
  302. package/sdk/models/operations/getgenerationbyid.js.map +1 -1
  303. package/sdk/models/operations/getgenerationsbyuserid.d.ts +6 -1
  304. package/sdk/models/operations/getgenerationsbyuserid.d.ts.map +1 -1
  305. package/sdk/models/operations/getgenerationsbyuserid.js +32 -52
  306. package/sdk/models/operations/getgenerationsbyuserid.js.map +1 -1
  307. package/sdk/models/operations/getinitimagebyid.d.ts.map +1 -1
  308. package/sdk/models/operations/getinitimagebyid.js +15 -27
  309. package/sdk/models/operations/getinitimagebyid.js.map +1 -1
  310. package/sdk/models/operations/getmodelbyid.d.ts +1 -1
  311. package/sdk/models/operations/getmodelbyid.d.ts.map +1 -1
  312. package/sdk/models/operations/getmodelbyid.js +15 -27
  313. package/sdk/models/operations/getmodelbyid.js.map +1 -1
  314. package/sdk/models/operations/getuserself.d.ts.map +1 -1
  315. package/sdk/models/operations/getuserself.js +15 -22
  316. package/sdk/models/operations/getuserself.js.map +1 -1
  317. package/sdk/models/operations/getvariationbyid.d.ts +1 -1
  318. package/sdk/models/operations/getvariationbyid.d.ts.map +1 -1
  319. package/sdk/models/operations/getvariationbyid.js +15 -27
  320. package/sdk/models/operations/getvariationbyid.js.map +1 -1
  321. package/sdk/models/operations/listelements.d.ts +1 -1
  322. package/sdk/models/operations/listelements.d.ts.map +1 -1
  323. package/sdk/models/operations/listelements.js +10 -13
  324. package/sdk/models/operations/listelements.js.map +1 -1
  325. package/sdk/models/operations/listplatformmodels.d.ts.map +1 -1
  326. package/sdk/models/operations/listplatformmodels.js +24 -43
  327. package/sdk/models/operations/listplatformmodels.js.map +1 -1
  328. package/sdk/models/operations/performalchemyupscalelcm.d.ts +1 -1
  329. package/sdk/models/operations/performalchemyupscalelcm.d.ts.map +1 -1
  330. package/sdk/models/operations/performalchemyupscalelcm.js +14 -20
  331. package/sdk/models/operations/performalchemyupscalelcm.js.map +1 -1
  332. package/sdk/models/operations/performinpaintinglcm.d.ts +1 -1
  333. package/sdk/models/operations/performinpaintinglcm.d.ts.map +1 -1
  334. package/sdk/models/operations/performinpaintinglcm.js +14 -20
  335. package/sdk/models/operations/performinpaintinglcm.js.map +1 -1
  336. package/sdk/models/operations/performinstantrefine.d.ts +1 -1
  337. package/sdk/models/operations/performinstantrefine.d.ts.map +1 -1
  338. package/sdk/models/operations/performinstantrefine.js +14 -20
  339. package/sdk/models/operations/performinstantrefine.js.map +1 -1
  340. package/sdk/models/operations/pricingcalculator.d.ts +55 -1
  341. package/sdk/models/operations/pricingcalculator.d.ts.map +1 -1
  342. package/sdk/models/operations/pricingcalculator.js +67 -76
  343. package/sdk/models/operations/pricingcalculator.js.map +1 -1
  344. package/sdk/models/operations/promptimprove.d.ts.map +1 -1
  345. package/sdk/models/operations/promptimprove.js +12 -14
  346. package/sdk/models/operations/promptimprove.js.map +1 -1
  347. package/sdk/models/operations/promptrandom.d.ts.map +1 -1
  348. package/sdk/models/operations/promptrandom.js +8 -12
  349. package/sdk/models/operations/promptrandom.js.map +1 -1
  350. package/sdk/models/operations/uploadcanvasinitimage.d.ts.map +1 -1
  351. package/sdk/models/operations/uploadcanvasinitimage.js +14 -20
  352. package/sdk/models/operations/uploadcanvasinitimage.js.map +1 -1
  353. package/sdk/models/operations/uploaddatasetimage.d.ts.map +1 -1
  354. package/sdk/models/operations/uploaddatasetimage.js +15 -22
  355. package/sdk/models/operations/uploaddatasetimage.js.map +1 -1
  356. package/sdk/models/operations/uploaddatasetimagefromgen.d.ts.map +1 -1
  357. package/sdk/models/operations/uploaddatasetimagefromgen.js +19 -29
  358. package/sdk/models/operations/uploaddatasetimagefromgen.js.map +1 -1
  359. package/sdk/models/operations/uploadinitimage.d.ts.map +1 -1
  360. package/sdk/models/operations/uploadinitimage.js +10 -13
  361. package/sdk/models/operations/uploadinitimage.js.map +1 -1
  362. package/sdk/models/operations/uploadmodelasset.d.ts.map +1 -1
  363. package/sdk/models/operations/uploadmodelasset.js +8 -12
  364. package/sdk/models/operations/uploadmodelasset.js.map +1 -1
  365. package/sdk/models/shared/canvasrequesttype.d.ts.map +1 -1
  366. package/sdk/models/shared/canvasrequesttype.js.map +1 -1
  367. package/sdk/models/shared/controlnetinput.d.ts.map +1 -1
  368. package/sdk/models/shared/controlnetinput.js.map +1 -1
  369. package/sdk/models/shared/controlnettype.d.ts.map +1 -1
  370. package/sdk/models/shared/controlnettype.js.map +1 -1
  371. package/sdk/models/shared/custommodeltype.d.ts.map +1 -1
  372. package/sdk/models/shared/custommodeltype.js.map +1 -1
  373. package/sdk/models/shared/elementinput.d.ts.map +1 -1
  374. package/sdk/models/shared/elementinput.js.map +1 -1
  375. package/sdk/models/shared/index.d.ts +1 -0
  376. package/sdk/models/shared/index.d.ts.map +1 -1
  377. package/sdk/models/shared/index.js +1 -0
  378. package/sdk/models/shared/index.js.map +1 -1
  379. package/sdk/models/shared/jobstatus.d.ts.map +1 -1
  380. package/sdk/models/shared/jobstatus.js +2 -1
  381. package/sdk/models/shared/jobstatus.js.map +1 -1
  382. package/sdk/models/shared/lcmgenerationstyle.d.ts.map +1 -1
  383. package/sdk/models/shared/lcmgenerationstyle.js.map +1 -1
  384. package/sdk/models/shared/pricingcalculatorservices.d.ts +2 -1
  385. package/sdk/models/shared/pricingcalculatorservices.d.ts.map +1 -1
  386. package/sdk/models/shared/pricingcalculatorservices.js +1 -0
  387. package/sdk/models/shared/pricingcalculatorservices.js.map +1 -1
  388. package/sdk/models/shared/sdgenerationschedulers.d.ts.map +1 -1
  389. package/sdk/models/shared/sdgenerationschedulers.js.map +1 -1
  390. package/sdk/models/shared/sdgenerationstyle.d.ts.map +1 -1
  391. package/sdk/models/shared/sdgenerationstyle.js.map +1 -1
  392. package/sdk/models/shared/sdversions.d.ts.map +1 -1
  393. package/sdk/models/shared/sdversions.js +2 -1
  394. package/sdk/models/shared/sdversions.js.map +1 -1
  395. package/sdk/models/shared/security.d.ts.map +1 -1
  396. package/sdk/models/shared/security.js.map +1 -1
  397. package/sdk/models/shared/strength.d.ts.map +1 -1
  398. package/sdk/models/shared/strength.js +2 -1
  399. package/sdk/models/shared/strength.js.map +1 -1
  400. package/sdk/models/shared/universalupscalerstyle.d.ts +1 -1
  401. package/sdk/models/shared/universalupscalerstyle.d.ts.map +1 -1
  402. package/sdk/models/shared/universalupscalerstyle.js +1 -1
  403. package/sdk/models/shared/universalupscalerstyle.js.map +1 -1
  404. package/sdk/models/shared/universalupscalerultrastyle.d.ts +23 -0
  405. package/sdk/models/shared/universalupscalerultrastyle.d.ts.map +1 -0
  406. package/sdk/models/shared/universalupscalerultrastyle.js +54 -0
  407. package/sdk/models/shared/universalupscalerultrastyle.js.map +1 -0
  408. package/sdk/models/shared/variationtype.d.ts.map +1 -1
  409. package/sdk/models/shared/variationtype.js.map +1 -1
  410. package/sdk/models.d.ts +0 -3
  411. package/sdk/models.d.ts.map +1 -1
  412. package/sdk/models.js +9 -256
  413. package/sdk/models.js.map +1 -1
  414. package/sdk/motion.d.ts +0 -3
  415. package/sdk/motion.d.ts.map +1 -1
  416. package/sdk/motion.js +3 -102
  417. package/sdk/motion.js.map +1 -1
  418. package/sdk/pricingcalculator.d.ts +0 -3
  419. package/sdk/pricingcalculator.d.ts.map +1 -1
  420. package/sdk/pricingcalculator.js +3 -100
  421. package/sdk/pricingcalculator.js.map +1 -1
  422. package/sdk/prompt.d.ts +0 -3
  423. package/sdk/prompt.d.ts.map +1 -1
  424. package/sdk/prompt.js +5 -146
  425. package/sdk/prompt.js.map +1 -1
  426. package/sdk/realtimecanvas.d.ts +0 -3
  427. package/sdk/realtimecanvas.d.ts.map +1 -1
  428. package/sdk/realtimecanvas.js +9 -253
  429. package/sdk/realtimecanvas.js.map +1 -1
  430. package/sdk/sdk.d.ts +0 -3
  431. package/sdk/sdk.d.ts.map +1 -1
  432. package/sdk/sdk.js +0 -23
  433. package/sdk/sdk.js.map +1 -1
  434. package/sdk/texture.d.ts +0 -3
  435. package/sdk/texture.d.ts.map +1 -1
  436. package/sdk/texture.js +5 -159
  437. package/sdk/texture.js.map +1 -1
  438. package/sdk/threedmodelassets.d.ts +0 -3
  439. package/sdk/threedmodelassets.d.ts.map +1 -1
  440. package/sdk/threedmodelassets.js +5 -157
  441. package/sdk/threedmodelassets.js.map +1 -1
  442. package/sdk/types/constdatetime.d.ts +3 -0
  443. package/sdk/types/constdatetime.d.ts.map +1 -0
  444. package/sdk/types/constdatetime.js +37 -0
  445. package/sdk/types/constdatetime.js.map +1 -0
  446. package/sdk/types/fp.d.ts +31 -0
  447. package/sdk/types/fp.d.ts.map +1 -0
  448. package/sdk/types/fp.js +38 -0
  449. package/sdk/types/fp.js.map +1 -0
  450. package/sdk/types/index.d.ts +5 -4
  451. package/sdk/types/index.d.ts.map +1 -1
  452. package/sdk/types/index.js +5 -5
  453. package/sdk/types/index.js.map +1 -1
  454. package/sdk/types/operations.d.ts +22 -8
  455. package/sdk/types/operations.d.ts.map +1 -1
  456. package/sdk/types/operations.js +64 -2
  457. package/sdk/types/operations.js.map +1 -1
  458. package/sdk/types/streams.d.ts +2 -0
  459. package/sdk/types/streams.d.ts.map +1 -0
  460. package/sdk/types/streams.js +19 -0
  461. package/sdk/types/streams.js.map +1 -0
  462. package/sdk/user.d.ts +0 -3
  463. package/sdk/user.d.ts.map +1 -1
  464. package/sdk/user.js +3 -93
  465. package/sdk/user.js.map +1 -1
  466. package/sdk/variation.d.ts +0 -3
  467. package/sdk/variation.d.ts.map +1 -1
  468. package/sdk/variation.js +11 -310
  469. package/sdk/variation.js.map +1 -1
  470. package/src/core.ts +13 -0
  471. package/src/funcs/datasetCreateDataset.ts +128 -0
  472. package/src/funcs/datasetDeleteDatasetById.ts +136 -0
  473. package/src/funcs/datasetGetDatasetById.ts +135 -0
  474. package/src/funcs/datasetUploadDatasetImage.ts +142 -0
  475. package/src/funcs/datasetUploadDatasetImageFromGen.ts +142 -0
  476. package/src/funcs/elementsListElements.ts +109 -0
  477. package/src/funcs/imageCreateGeneration.ts +128 -0
  478. package/src/funcs/imageDeleteGenerationById.ts +136 -0
  479. package/src/funcs/imageGetGenerationById.ts +136 -0
  480. package/src/funcs/imageGetGenerationsByUserId.ts +149 -0
  481. package/src/funcs/initImagesDeleteInitImageById.ts +136 -0
  482. package/src/funcs/initImagesGetInitImageById.ts +135 -0
  483. package/src/funcs/initImagesUploadCanvasInitImage.ts +128 -0
  484. package/src/funcs/initImagesUploadInitImage.ts +128 -0
  485. package/src/funcs/modelsCreateModel.ts +127 -0
  486. package/src/funcs/modelsDeleteModelById.ts +135 -0
  487. package/src/funcs/modelsGetModelById.ts +135 -0
  488. package/src/funcs/modelsListPlatformModels.ts +109 -0
  489. package/src/funcs/motionCreateSVDMotionGeneration.ts +131 -0
  490. package/src/funcs/pricingCalculatorPricingCalculator.ts +132 -0
  491. package/src/funcs/promptPromptImprove.ts +128 -0
  492. package/src/funcs/promptPromptRandom.ts +109 -0
  493. package/src/funcs/realtimeCanvasCreateLCMGeneration.ts +132 -0
  494. package/src/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.ts +131 -0
  495. package/src/funcs/realtimeCanvasPerformInpaintingLCM.ts +131 -0
  496. package/src/funcs/realtimeCanvasPerformInstantRefine.ts +131 -0
  497. package/src/funcs/textureCreateTextureGeneration.ts +131 -0
  498. package/src/funcs/textureDeleteTextureGenerationById.ts +144 -0
  499. package/src/funcs/threeDModelAssetsDelete3DModelById.ts +142 -0
  500. package/src/funcs/threeDModelAssetsUploadModelAsset.ts +132 -0
  501. package/src/funcs/userGetUserSelf.ts +109 -0
  502. package/src/funcs/variationCreateUniversalUpscalerJob.ts +130 -0
  503. package/src/funcs/variationCreateVariationNoBG.ts +128 -0
  504. package/src/funcs/variationCreateVariationUnzoom.ts +131 -0
  505. package/src/funcs/variationCreateVariationUpscale.ts +131 -0
  506. package/src/funcs/variationGetVariationById.ts +135 -0
  507. package/src/hooks/hooks.ts +87 -77
  508. package/src/hooks/index.ts +1 -1
  509. package/src/hooks/types.ts +58 -49
  510. package/src/index.ts +2 -1
  511. package/src/lib/config.ts +37 -35
  512. package/src/lib/dlv.ts +53 -0
  513. package/src/lib/files.ts +40 -0
  514. package/src/lib/http.ts +255 -438
  515. package/src/lib/logger.ts +9 -0
  516. package/src/lib/matchers.ts +319 -0
  517. package/src/lib/retries.ts +2 -41
  518. package/src/lib/schemas.ts +64 -34
  519. package/src/lib/sdks.ts +342 -168
  520. package/src/lib/security.ts +166 -131
  521. package/src/sdk/dataset.ts +94 -450
  522. package/src/sdk/elements.ts +16 -92
  523. package/src/sdk/image.ts +76 -368
  524. package/src/sdk/initimages.ts +72 -350
  525. package/src/sdk/models/errors/httpclienterrors.ts +62 -0
  526. package/src/sdk/models/errors/index.ts +1 -0
  527. package/src/sdk/models/errors/sdkerror.ts +17 -15
  528. package/src/sdk/models/errors/sdkvalidationerror.ts +8 -6
  529. package/src/sdk/models/operations/createdataset.ts +139 -138
  530. package/src/sdk/models/operations/creategeneration.ts +472 -457
  531. package/src/sdk/models/operations/createlcmgeneration.ts +182 -182
  532. package/src/sdk/models/operations/createmodel.ts +196 -195
  533. package/src/sdk/models/operations/createsvdmotiongeneration.ts +156 -149
  534. package/src/sdk/models/operations/createtexturegeneration.ts +169 -172
  535. package/src/sdk/models/operations/createuniversalupscalerjob.ts +199 -165
  536. package/src/sdk/models/operations/createvariationnobg.ts +120 -122
  537. package/src/sdk/models/operations/createvariationunzoom.ts +126 -122
  538. package/src/sdk/models/operations/createvariationupscale.ts +127 -122
  539. package/src/sdk/models/operations/delete3dmodelbyid.ts +166 -170
  540. package/src/sdk/models/operations/deletedatasetbyid.ts +129 -137
  541. package/src/sdk/models/operations/deletegenerationbyid.ts +131 -131
  542. package/src/sdk/models/operations/deleteinitimagebyid.ts +134 -131
  543. package/src/sdk/models/operations/deletemodelbyid.ts +130 -131
  544. package/src/sdk/models/operations/deletetexturegenerationbyid.ts +185 -179
  545. package/src/sdk/models/operations/getdatasetbyid.ts +186 -193
  546. package/src/sdk/models/operations/getgenerationbyid.ts +504 -492
  547. package/src/sdk/models/operations/getgenerationsbyuserid.ts +509 -479
  548. package/src/sdk/models/operations/getinitimagebyid.ts +137 -145
  549. package/src/sdk/models/operations/getmodelbyid.ts +186 -190
  550. package/src/sdk/models/operations/getuserself.ts +194 -193
  551. package/src/sdk/models/operations/getvariationbyid.ts +152 -156
  552. package/src/sdk/models/operations/listelements.ts +143 -142
  553. package/src/sdk/models/operations/listplatformmodels.ts +171 -178
  554. package/src/sdk/models/operations/performalchemyupscalelcm.ts +212 -200
  555. package/src/sdk/models/operations/performinpaintinglcm.ts +196 -193
  556. package/src/sdk/models/operations/performinstantrefine.ts +189 -186
  557. package/src/sdk/models/operations/pricingcalculator.ts +676 -555
  558. package/src/sdk/models/operations/promptimprove.ts +122 -124
  559. package/src/sdk/models/operations/promptrandom.ts +106 -105
  560. package/src/sdk/models/operations/uploadcanvasinitimage.ts +155 -153
  561. package/src/sdk/models/operations/uploaddatasetimage.ts +165 -168
  562. package/src/sdk/models/operations/uploaddatasetimagefromgen.ts +164 -160
  563. package/src/sdk/models/operations/uploadinitimage.ts +125 -126
  564. package/src/sdk/models/operations/uploadmodelasset.ts +127 -127
  565. package/src/sdk/models/shared/canvasrequesttype.ts +14 -12
  566. package/src/sdk/models/shared/controlnetinput.ts +73 -68
  567. package/src/sdk/models/shared/controlnettype.ts +13 -11
  568. package/src/sdk/models/shared/custommodeltype.ts +24 -22
  569. package/src/sdk/models/shared/elementinput.ts +28 -24
  570. package/src/sdk/models/shared/index.ts +1 -0
  571. package/src/sdk/models/shared/jobstatus.ts +11 -9
  572. package/src/sdk/models/shared/lcmgenerationstyle.ts +24 -22
  573. package/src/sdk/models/shared/pricingcalculatorservices.ts +14 -13
  574. package/src/sdk/models/shared/sdgenerationschedulers.ts +17 -15
  575. package/src/sdk/models/shared/sdgenerationstyle.ts +41 -39
  576. package/src/sdk/models/shared/sdversions.ts +14 -14
  577. package/src/sdk/models/shared/security.ts +21 -14
  578. package/src/sdk/models/shared/strength.ts +12 -10
  579. package/src/sdk/models/shared/universalupscalerstyle.ts +15 -13
  580. package/src/sdk/models/shared/universalupscalerultrastyle.ts +34 -0
  581. package/src/sdk/models/shared/variationtype.ts +15 -13
  582. package/src/sdk/models.ts +70 -338
  583. package/src/sdk/motion.ts +18 -114
  584. package/src/sdk/pricingcalculator.ts +18 -110
  585. package/src/sdk/prompt.ts +34 -172
  586. package/src/sdk/realtimecanvas.ts +72 -352
  587. package/src/sdk/sdk.ts +64 -93
  588. package/src/sdk/texture.ts +38 -199
  589. package/src/sdk/threedmodelassets.ts +38 -195
  590. package/src/sdk/types/constdatetime.ts +15 -0
  591. package/src/sdk/types/fp.ts +50 -0
  592. package/src/sdk/types/index.ts +5 -4
  593. package/src/sdk/types/operations.ts +81 -7
  594. package/src/sdk/types/streams.ts +21 -0
  595. package/src/sdk/user.ts +16 -92
  596. package/src/sdk/variation.ts +90 -433
package/src/lib/http.ts CHANGED
@@ -2,40 +2,38 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
- import { never as znever } from "zod";
6
- import { parse } from "./schemas.js";
7
- import { isPlainObject } from "./is-plain-object.js";
8
- import { SDKError } from "../sdk/models/errors/sdkerror.js";
9
-
10
- export type Fetcher = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
5
+ export type Fetcher = (
6
+ input: RequestInfo | URL,
7
+ init?: RequestInit,
8
+ ) => Promise<Response>;
11
9
 
12
10
  export type Awaitable<T> = T | Promise<T>;
13
11
 
14
12
  const DEFAULT_FETCHER: Fetcher = (input, init) => {
15
- // If input is a Request and init is undefined, Bun will discard the method,
16
- // headers, body and other options that were set on the request object.
17
- // Node.js and browers would ignore an undefined init value. This check is
18
- // therefore needed for interop with Bun.
19
- if (init == null) {
20
- return fetch(input);
21
- } else {
22
- return fetch(input, init);
23
- }
13
+ // If input is a Request and init is undefined, Bun will discard the method,
14
+ // headers, body and other options that were set on the request object.
15
+ // Node.js and browers would ignore an undefined init value. This check is
16
+ // therefore needed for interop with Bun.
17
+ if (init == null) {
18
+ return fetch(input);
19
+ } else {
20
+ return fetch(input, init);
21
+ }
24
22
  };
25
23
 
26
24
  export type RequestInput = {
27
- /**
28
- * The URL the request will use.
29
- */
30
- url: URL;
31
- /**
32
- * Options used to create a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request).
33
- */
34
- options?: RequestInit | undefined;
25
+ /**
26
+ * The URL the request will use.
27
+ */
28
+ url: URL;
29
+ /**
30
+ * Options used to create a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request).
31
+ */
32
+ options?: RequestInit | undefined;
35
33
  };
36
34
 
37
35
  export interface HTTPClientOptions {
38
- fetcher?: Fetcher;
36
+ fetcher?: Fetcher;
39
37
  }
40
38
 
41
39
  export type BeforeRequestHook = (req: Request) => Awaitable<Request | void>;
@@ -43,114 +41,114 @@ export type RequestErrorHook = (err: unknown, req: Request) => Awaitable<void>;
43
41
  export type ResponseHook = (res: Response, req: Request) => Awaitable<void>;
44
42
 
45
43
  export class HTTPClient {
46
- private fetcher: Fetcher;
47
- private requestHooks: BeforeRequestHook[] = [];
48
- private requestErrorHooks: RequestErrorHook[] = [];
49
- private responseHooks: ResponseHook[] = [];
50
-
51
- constructor(private options: HTTPClientOptions = {}) {
52
- this.fetcher = options.fetcher || DEFAULT_FETCHER;
44
+ private fetcher: Fetcher;
45
+ private requestHooks: BeforeRequestHook[] = [];
46
+ private requestErrorHooks: RequestErrorHook[] = [];
47
+ private responseHooks: ResponseHook[] = [];
48
+
49
+ constructor(private options: HTTPClientOptions = {}) {
50
+ this.fetcher = options.fetcher || DEFAULT_FETCHER;
51
+ }
52
+
53
+ async request(request: Request): Promise<Response> {
54
+ let req = request;
55
+ for (const hook of this.requestHooks) {
56
+ const nextRequest = await hook(req);
57
+ if (nextRequest) {
58
+ req = nextRequest;
59
+ }
53
60
  }
54
61
 
55
- async request(request: Request): Promise<Response> {
56
- let req = request;
57
- for (const hook of this.requestHooks) {
58
- const nextRequest = await hook(req);
59
- if (nextRequest) {
60
- req = nextRequest;
61
- }
62
- }
63
-
64
- try {
65
- const res = await this.fetcher(req);
66
-
67
- for (const hook of this.responseHooks) {
68
- await hook(res, req);
69
- }
70
-
71
- return res;
72
- } catch (err) {
73
- for (const hook of this.requestErrorHooks) {
74
- await hook(err, req);
75
- }
76
-
77
- throw err;
78
- }
79
- }
62
+ try {
63
+ const res = await this.fetcher(req);
64
+
65
+ for (const hook of this.responseHooks) {
66
+ await hook(res, req);
67
+ }
68
+
69
+ return res;
70
+ } catch (err) {
71
+ for (const hook of this.requestErrorHooks) {
72
+ await hook(err, req);
73
+ }
80
74
 
81
- /**
82
- * Registers a hook that is called before a request is made. The hook function
83
- * can mutate the request or return a new request. This may be useful to add
84
- * additional information to request such as request IDs and tracing headers.
85
- */
86
- addHook(hook: "beforeRequest", fn: BeforeRequestHook): this;
87
- /**
88
- * Registers a hook that is called when a request cannot be made due to a
89
- * network error.
90
- */
91
- addHook(hook: "requestError", fn: RequestErrorHook): this;
92
- /**
93
- * Registers a hook that is called when a response has been received from the
94
- * server.
95
- */
96
- addHook(hook: "response", fn: ResponseHook): this;
97
- addHook(
98
- ...args:
99
- | [hook: "beforeRequest", fn: BeforeRequestHook]
100
- | [hook: "requestError", fn: RequestErrorHook]
101
- | [hook: "response", fn: ResponseHook]
102
- ) {
103
- if (args[0] === "beforeRequest") {
104
- this.requestHooks.push(args[1]);
105
- } else if (args[0] === "requestError") {
106
- this.requestErrorHooks.push(args[1]);
107
- } else if (args[0] === "response") {
108
- this.responseHooks.push(args[1]);
109
- } else {
110
- throw new Error(`Invalid hook type: ${args[0]}`);
111
- }
112
- return this;
75
+ throw err;
76
+ }
77
+ }
78
+
79
+ /**
80
+ * Registers a hook that is called before a request is made. The hook function
81
+ * can mutate the request or return a new request. This may be useful to add
82
+ * additional information to request such as request IDs and tracing headers.
83
+ */
84
+ addHook(hook: "beforeRequest", fn: BeforeRequestHook): this;
85
+ /**
86
+ * Registers a hook that is called when a request cannot be made due to a
87
+ * network error.
88
+ */
89
+ addHook(hook: "requestError", fn: RequestErrorHook): this;
90
+ /**
91
+ * Registers a hook that is called when a response has been received from the
92
+ * server.
93
+ */
94
+ addHook(hook: "response", fn: ResponseHook): this;
95
+ addHook(
96
+ ...args:
97
+ | [hook: "beforeRequest", fn: BeforeRequestHook]
98
+ | [hook: "requestError", fn: RequestErrorHook]
99
+ | [hook: "response", fn: ResponseHook]
100
+ ) {
101
+ if (args[0] === "beforeRequest") {
102
+ this.requestHooks.push(args[1]);
103
+ } else if (args[0] === "requestError") {
104
+ this.requestErrorHooks.push(args[1]);
105
+ } else if (args[0] === "response") {
106
+ this.responseHooks.push(args[1]);
107
+ } else {
108
+ throw new Error(`Invalid hook type: ${args[0]}`);
109
+ }
110
+ return this;
111
+ }
112
+
113
+ /** Removes a hook that was previously registered with `addHook`. */
114
+ removeHook(hook: "beforeRequest", fn: BeforeRequestHook): this;
115
+ /** Removes a hook that was previously registered with `addHook`. */
116
+ removeHook(hook: "requestError", fn: RequestErrorHook): this;
117
+ /** Removes a hook that was previously registered with `addHook`. */
118
+ removeHook(hook: "response", fn: ResponseHook): this;
119
+ removeHook(
120
+ ...args:
121
+ | [hook: "beforeRequest", fn: BeforeRequestHook]
122
+ | [hook: "requestError", fn: RequestErrorHook]
123
+ | [hook: "response", fn: ResponseHook]
124
+ ): this {
125
+ let target: unknown[];
126
+ if (args[0] === "beforeRequest") {
127
+ target = this.requestHooks;
128
+ } else if (args[0] === "requestError") {
129
+ target = this.requestErrorHooks;
130
+ } else if (args[0] === "response") {
131
+ target = this.responseHooks;
132
+ } else {
133
+ throw new Error(`Invalid hook type: ${args[0]}`);
113
134
  }
114
135
 
115
- /** Removes a hook that was previously registered with `addHook`. */
116
- removeHook(hook: "beforeRequest", fn: BeforeRequestHook): this;
117
- /** Removes a hook that was previously registered with `addHook`. */
118
- removeHook(hook: "requestError", fn: RequestErrorHook): this;
119
- /** Removes a hook that was previously registered with `addHook`. */
120
- removeHook(hook: "response", fn: ResponseHook): this;
121
- removeHook(
122
- ...args:
123
- | [hook: "beforeRequest", fn: BeforeRequestHook]
124
- | [hook: "requestError", fn: RequestErrorHook]
125
- | [hook: "response", fn: ResponseHook]
126
- ): this {
127
- let target: unknown[];
128
- if (args[0] === "beforeRequest") {
129
- target = this.requestHooks;
130
- } else if (args[0] === "requestError") {
131
- target = this.requestErrorHooks;
132
- } else if (args[0] === "response") {
133
- target = this.responseHooks;
134
- } else {
135
- throw new Error(`Invalid hook type: ${args[0]}`);
136
- }
137
-
138
- const index = target.findIndex((v) => v === args[1]);
139
- if (index >= 0) {
140
- target.splice(index, 1);
141
- }
142
-
143
- return this;
136
+ const index = target.findIndex((v) => v === args[1]);
137
+ if (index >= 0) {
138
+ target.splice(index, 1);
144
139
  }
145
140
 
146
- clone(): HTTPClient {
147
- const child = new HTTPClient(this.options);
148
- child.requestHooks = this.requestHooks.slice();
149
- child.requestErrorHooks = this.requestErrorHooks.slice();
150
- child.responseHooks = this.responseHooks.slice();
141
+ return this;
142
+ }
151
143
 
152
- return child;
153
- }
144
+ clone(): HTTPClient {
145
+ const child = new HTTPClient(this.options);
146
+ child.requestHooks = this.requestHooks.slice();
147
+ child.requestErrorHooks = this.requestErrorHooks.slice();
148
+ child.responseHooks = this.responseHooks.slice();
149
+
150
+ return child;
151
+ }
154
152
  }
155
153
 
156
154
  export type StatusCodePredicate = number | string | (number | string)[];
@@ -159,348 +157,167 @@ export type StatusCodePredicate = number | string | (number | string)[];
159
157
  // segments in a media type string.
160
158
  const mediaParamSeparator = /\s*;\s*/g;
161
159
 
162
- function matchContentType(response: Response, pattern: string): boolean {
163
- // `*` is a special case which means anything is acceptable.
164
- if (pattern === "*") {
165
- return true;
160
+ export function matchContentType(response: Response, pattern: string): boolean {
161
+ // `*` is a special case which means anything is acceptable.
162
+ if (pattern === "*") {
163
+ return true;
164
+ }
165
+
166
+ let contentType =
167
+ response.headers.get("content-type")?.trim() || "application/octet-stream";
168
+ contentType = contentType.toLowerCase();
169
+
170
+ const wantParts = pattern.toLowerCase().trim().split(mediaParamSeparator);
171
+ const [wantType = "", ...wantParams] = wantParts;
172
+
173
+ if (wantType.split("/").length !== 2) {
174
+ return false;
175
+ }
176
+
177
+ const gotParts = contentType.split(mediaParamSeparator);
178
+ const [gotType = "", ...gotParams] = gotParts;
179
+
180
+ const [type = "", subtype = ""] = gotType.split("/");
181
+ if (!type || !subtype) {
182
+ return false;
183
+ }
184
+
185
+ if (
186
+ wantType !== "*/*" &&
187
+ gotType !== wantType &&
188
+ `${type}/*` !== wantType &&
189
+ `*/${subtype}` !== wantType
190
+ ) {
191
+ return false;
192
+ }
193
+
194
+ if (gotParams.length < wantParams.length) {
195
+ return false;
196
+ }
197
+
198
+ const params = new Set(gotParams);
199
+ for (const wantParam of wantParams) {
200
+ if (!params.has(wantParam)) {
201
+ return false;
166
202
  }
203
+ }
167
204
 
168
- let contentType = response.headers.get("content-type")?.trim() || "application/octet-stream";
169
- contentType = contentType.toLowerCase();
205
+ return true;
206
+ }
170
207
 
171
- const wantParts = pattern.toLowerCase().trim().split(mediaParamSeparator);
172
- const [wantType = "", ...wantParams] = wantParts;
208
+ const codeRangeRE = new RegExp("^[0-9]xx$", "i");
173
209
 
174
- if (wantType.split("/").length !== 2) {
175
- return false;
176
- }
210
+ export function matchStatusCode(
211
+ response: Response,
212
+ codes: StatusCodePredicate,
213
+ ): boolean {
214
+ const actual = `${response.status}`;
215
+ const expectedCodes = Array.isArray(codes) ? codes : [codes];
216
+ if (!expectedCodes.length) {
217
+ return false;
218
+ }
177
219
 
178
- const gotParts = contentType.split(mediaParamSeparator);
179
- const [gotType = "", ...gotParams] = gotParts;
220
+ return expectedCodes.some((ec) => {
221
+ const code = `${ec}`;
180
222
 
181
- const [type = "", subtype = ""] = gotType.split("/");
182
- if (!type || !subtype) {
183
- return false;
223
+ if (code === "default") {
224
+ return true;
184
225
  }
185
226
 
186
- if (
187
- wantType !== "*/*" &&
188
- gotType !== wantType &&
189
- `${type}/*` !== wantType &&
190
- `*/${subtype}` !== wantType
191
- ) {
192
- return false;
227
+ if (!codeRangeRE.test(`${code}`)) {
228
+ return code === actual;
193
229
  }
194
230
 
195
- if (gotParams.length < wantParams.length) {
196
- return false;
231
+ const expectFamily = code.charAt(0);
232
+ if (!expectFamily) {
233
+ throw new Error("Invalid status code range");
197
234
  }
198
235
 
199
- const params = new Set(gotParams);
200
- for (const wantParam of wantParams) {
201
- if (!params.has(wantParam)) {
202
- return false;
203
- }
236
+ const actualFamily = actual.charAt(0);
237
+ if (!actualFamily) {
238
+ throw new Error(`Invalid response status code: ${actual}`);
204
239
  }
205
240
 
206
- return true;
207
- }
208
-
209
- const codeRangeRE = new RegExp("^[0-9]xx$", "i");
210
-
211
- export function matchStatusCode(response: Response, codes: StatusCodePredicate): boolean {
212
- const actual = `${response.status}`;
213
- const expectedCodes = Array.isArray(codes) ? codes : [codes];
214
- if (!expectedCodes.length) {
215
- return false;
216
- }
217
-
218
- return expectedCodes.some((ec) => {
219
- const code = `${ec}`;
220
-
221
- if (code === "default") {
222
- return true;
223
- }
224
-
225
- if (!codeRangeRE.test(`${code}`)) {
226
- return code === actual;
227
- }
228
-
229
- const expectFamily = code.charAt(0);
230
- if (!expectFamily) {
231
- throw new Error("Invalid status code range");
232
- }
233
-
234
- const actualFamily = actual.charAt(0);
235
- if (!actualFamily) {
236
- throw new Error(`Invalid response status code: ${actual}`);
237
- }
238
-
239
- return actualFamily === expectFamily;
240
- });
241
+ return actualFamily === expectFamily;
242
+ });
241
243
  }
242
244
 
243
245
  export function matchResponse(
244
- response: Response,
245
- code: StatusCodePredicate,
246
- contentTypePattern: string
246
+ response: Response,
247
+ code: StatusCodePredicate,
248
+ contentTypePattern: string,
247
249
  ): boolean {
248
- return matchStatusCode(response, code) && matchContentType(response, contentTypePattern);
249
- }
250
-
251
- const headerValRE = /, */;
252
- export function unpackHeaders(headers: Headers): Record<string, string[]> {
253
- const out: Record<string, string[]> = {};
254
-
255
- for (const [k, v] of headers.entries()) {
256
- out[k] = v.split(headerValRE);
257
- }
258
-
259
- return out;
250
+ return (
251
+ matchStatusCode(response, code) &&
252
+ matchContentType(response, contentTypePattern)
253
+ );
260
254
  }
261
255
 
262
- type ResponseMatcherSchema<T> =
263
- | { parse: (data: unknown) => T }
264
- | { inboundSchema: { parse: (data: unknown) => T } };
256
+ /**
257
+ * Uses various heurisitics to determine if an error is a connection error.
258
+ */
259
+ export function isConnectionError(err: unknown): boolean {
260
+ if (typeof err !== "object" || err == null) {
261
+ return false;
262
+ }
265
263
 
266
- type SerializationMethod = "sse" | "json" | "rawBytes" | "rawStream" | "text" | "void" | "fail";
264
+ // Covers fetch in Deno as well
265
+ const isBrowserErr =
266
+ err instanceof TypeError &&
267
+ err.message.toLowerCase().startsWith("failed to fetch");
267
268
 
268
- const defaultContentTypes: Record<SerializationMethod, string> = {
269
- sse: "text/event-stream",
270
- json: "application/json",
271
- rawBytes: "application/octet-stream",
272
- rawStream: "application/octet-stream",
273
- text: "text/plain",
274
- void: "",
275
- fail: "",
276
- };
269
+ const isNodeErr =
270
+ err instanceof TypeError &&
271
+ err.message.toLowerCase().startsWith("fetch failed");
277
272
 
278
- type ResponsePredicateMatch<Result> = {
279
- method: SerializationMethod;
280
- codes: StatusCodePredicate;
281
- ctype: string;
282
- schema: ResponseMatcherSchema<Result | Error>;
283
- hdrs: boolean;
284
- key: string | undefined;
285
- err: boolean;
286
- fail: boolean;
287
- sseSentinel?: string | undefined;
288
- };
273
+ const isBunErr = "name" in err && err.name === "ConnectionError";
289
274
 
290
- type ResponsePredicateOptions = {
291
- /** Content type to match on. */
292
- ctype?: string;
293
- /** Pass HTTP headers to deserializer. */
294
- hdrs?: boolean;
295
- /** A value for an SSE event's data field that indicates a stream should be terminated. */
296
- sseSentinel?: string;
297
- } & (
298
- | {
299
- /** The result key to store the deserialized value into. */
300
- key?: string;
301
- fail?: never;
302
- err?: never;
303
- }
304
- | {
305
- /** Indicates the matched response must throw the built-in error. */
306
- fail: true;
307
- key?: never;
308
- err?: never;
309
- }
310
- | {
311
- /** Indicates the matched response is a custom error. */
312
- err: true;
313
- key?: never;
314
- fail?: never;
315
- }
316
- );
317
-
318
- export class ResponseMatcher<Result> {
319
- private predicates: ResponsePredicateMatch<Result>[] = [];
320
-
321
- #any<T extends Result | Error>(
322
- method: SerializationMethod,
323
- codes: StatusCodePredicate,
324
- schema: ResponseMatcherSchema<T>,
325
- opts?: ResponsePredicateOptions
326
- ) {
327
- const ctype = opts?.ctype || defaultContentTypes[method];
328
- const hdrs = !!opts?.hdrs;
329
- const key = opts?.key;
330
- const err = !!opts?.err;
331
- const fail = !!opts?.fail;
332
- const sseSentinel = opts?.sseSentinel;
333
- this.predicates.push({
334
- method,
335
- codes,
336
- ctype,
337
- schema,
338
- hdrs,
339
- key,
340
- err,
341
- fail,
342
- sseSentinel,
343
- });
344
- return this;
345
- }
275
+ const isGenericErr =
276
+ "code" in err &&
277
+ typeof err.code === "string" &&
278
+ err.code.toLowerCase() === "econnreset";
346
279
 
347
- json<T extends Result | Error>(
348
- codes: StatusCodePredicate,
349
- schema: ResponseMatcherSchema<T>,
350
- opts?: ResponsePredicateOptions
351
- ): this {
352
- return this.#any("json", codes, schema, opts);
353
- }
354
- bytes<T extends Result | Error>(
355
- codes: StatusCodePredicate,
356
- schema: ResponseMatcherSchema<T>,
357
- opts?: ResponsePredicateOptions
358
- ): this {
359
- return this.#any("rawBytes", codes, schema, opts);
360
- }
361
- stream<T extends Result | Error>(
362
- codes: StatusCodePredicate,
363
- schema: ResponseMatcherSchema<T>,
364
- opts?: ResponsePredicateOptions
365
- ): this {
366
- return this.#any("rawStream", codes, schema, opts);
367
- }
368
- text<T extends Result | Error>(
369
- codes: StatusCodePredicate,
370
- schema: ResponseMatcherSchema<T>,
371
- opts?: ResponsePredicateOptions
372
- ): this {
373
- return this.#any("text", codes, schema, opts);
374
- }
375
- sse<T extends Result | Error>(
376
- codes: StatusCodePredicate,
377
- schema: ResponseMatcherSchema<T>,
378
- opts?: Omit<ResponsePredicateOptions, "err" | "fail">
379
- ): this {
380
- return this.#any("sse", codes, schema, opts);
381
- }
382
- void<T extends Result | Error>(
383
- codes: StatusCodePredicate,
384
- schema: ResponseMatcherSchema<T>,
385
- opts?: Pick<ResponsePredicateOptions, "hdrs">
386
- ): this {
387
- return this.#any("void", codes, schema, opts);
388
- }
389
- fail(codes: StatusCodePredicate): this {
390
- return this.#any("fail", codes, znever(), { fail: true });
391
- }
392
-
393
- async match(
394
- response: Response,
395
- // envelope
396
- options?: {
397
- resultKey?: string;
398
- extraFields?: Record<string, unknown>;
399
- }
400
- ): Promise<[result: Result, rawData: unknown]> {
401
- let pred: ResponsePredicateMatch<Result> | undefined;
402
- for (const predicate of this.predicates) {
403
- const { codes, ctype } = predicate;
404
- if (ctype && matchResponse(response, codes, ctype)) {
405
- pred = predicate;
406
- break;
407
- } else if (!ctype && matchStatusCode(response, codes)) {
408
- pred = predicate;
409
- break;
410
- }
411
- }
412
- if (pred == null) {
413
- const responseBody = await response.text();
414
- throw new SDKError(
415
- "Unexpected API response status or content-type",
416
- response,
417
- responseBody
418
- );
419
- }
420
-
421
- const { method, schema } = pred;
422
-
423
- let raw: unknown;
424
- switch (method) {
425
- case "json":
426
- raw = await response.json();
427
- break;
428
- case "rawBytes":
429
- raw = await response.arrayBuffer();
430
- break;
431
- case "rawStream":
432
- raw = response.body;
433
- break;
434
- case "text":
435
- raw = await response.text();
436
- break;
437
- case "sse":
438
- raw = response.body;
439
- break;
440
- case "void":
441
- raw = await discardResponseBody(response);
442
- break;
443
- case "fail":
444
- raw = await response.text();
445
- break;
446
- default:
447
- method satisfies never;
448
- throw new Error(`Unsupported response type: ${method}`);
449
- }
450
-
451
- const resultKey = pred.key || options?.resultKey;
452
- let data: unknown;
453
- if (pred.fail) {
454
- throw new SDKError("API error occurred", response, typeof raw === "string" ? raw : "");
455
- } else if (pred.err) {
456
- data = {
457
- ...options?.extraFields,
458
- ...(pred.hdrs ? { Headers: unpackHeaders(response.headers) } : null),
459
- ...(isPlainObject(raw) ? raw : null),
460
- };
461
- } else if (resultKey) {
462
- data = {
463
- ...options?.extraFields,
464
- ...(pred.hdrs ? { Headers: unpackHeaders(response.headers) } : null),
465
- [resultKey]: raw,
466
- };
467
- } else {
468
- data = {
469
- ...options?.extraFields,
470
- ...(pred.hdrs ? { Headers: unpackHeaders(response.headers) } : null),
471
- };
472
- }
473
-
474
- const parser = "inboundSchema" in schema ? schema.inboundSchema : schema;
475
- const body = parse(data, (v: unknown) => parser.parse(v), "Response validation failed");
476
-
477
- if (body instanceof Error) {
478
- throw body;
479
- }
480
-
481
- return [body, raw];
482
- }
280
+ return isBrowserErr || isNodeErr || isGenericErr || isBunErr;
483
281
  }
484
282
 
485
283
  /**
486
- * Discards the response body to free up resources.
487
- *
488
- * To learn why this is need, see the undici docs:
489
- * https://undici.nodejs.org/#/?id=garbage-collection
284
+ * Uses various heurisitics to determine if an error is a timeout error.
490
285
  */
491
- export async function discardResponseBody(res: Response) {
492
- const reader = res.body?.getReader();
493
- if (reader == null) {
494
- return;
495
- }
286
+ export function isTimeoutError(err: unknown): boolean {
287
+ if (typeof err !== "object" || err == null) {
288
+ return false;
289
+ }
290
+
291
+ // Fetch in browser, Node.js, Bun, Deno
292
+ const isNative = "name" in err && err.name === "TimeoutError";
293
+ const isLegacyNative = "code" in err && err.code === 23;
294
+
295
+ // Node.js HTTP client and Axios
296
+ const isGenericErr =
297
+ "code" in err &&
298
+ typeof err.code === "string" &&
299
+ err.code.toLowerCase() === "econnaborted";
300
+
301
+ return isNative || isLegacyNative || isGenericErr;
302
+ }
496
303
 
497
- try {
498
- let done = false;
499
- while (!done) {
500
- const res = await reader.read();
501
- done = res.done;
502
- }
503
- } finally {
504
- reader.releaseLock();
505
- }
304
+ /**
305
+ * Uses various heurisitics to determine if an error is a abort error.
306
+ */
307
+ export function isAbortError(err: unknown): boolean {
308
+ if (typeof err !== "object" || err == null) {
309
+ return false;
310
+ }
311
+
312
+ // Fetch in browser, Node.js, Bun, Deno
313
+ const isNative = "name" in err && err.name === "AbortError";
314
+ const isLegacyNative = "code" in err && err.code === 20;
315
+
316
+ // Node.js HTTP client and Axios
317
+ const isGenericErr =
318
+ "code" in err &&
319
+ typeof err.code === "string" &&
320
+ err.code.toLowerCase() === "econnaborted";
321
+
322
+ return isNative || isLegacyNative || isGenericErr;
506
323
  }