@leonardo-ai/sdk 4.18.0 → 4.19.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 (424) hide show
  1. package/FUNCTIONS.md +104 -0
  2. package/README.md +26 -47
  3. package/RUNTIMES.md +22 -0
  4. package/docs/sdks/elements/README.md +227 -0
  5. package/docs/sdks/leonardo/README.md +3 -1
  6. package/funcs/datasetCreateDataset.d.ts.map +1 -1
  7. package/funcs/datasetCreateDataset.js +8 -4
  8. package/funcs/datasetCreateDataset.js.map +1 -1
  9. package/funcs/datasetDeleteDatasetById.d.ts.map +1 -1
  10. package/funcs/datasetDeleteDatasetById.js +8 -4
  11. package/funcs/datasetDeleteDatasetById.js.map +1 -1
  12. package/funcs/datasetGetDatasetById.d.ts.map +1 -1
  13. package/funcs/datasetGetDatasetById.js +8 -4
  14. package/funcs/datasetGetDatasetById.js.map +1 -1
  15. package/funcs/datasetUploadDatasetImage.d.ts.map +1 -1
  16. package/funcs/datasetUploadDatasetImage.js +8 -4
  17. package/funcs/datasetUploadDatasetImage.js.map +1 -1
  18. package/funcs/datasetUploadDatasetImageFromGen.d.ts.map +1 -1
  19. package/funcs/datasetUploadDatasetImageFromGen.js +8 -4
  20. package/funcs/datasetUploadDatasetImageFromGen.js.map +1 -1
  21. package/funcs/elementsCreateElement.d.ts +15 -0
  22. package/funcs/elementsCreateElement.d.ts.map +1 -0
  23. package/funcs/elementsCreateElement.js +105 -0
  24. package/funcs/elementsCreateElement.js.map +1 -0
  25. package/funcs/elementsDeleteElementById.d.ts +15 -0
  26. package/funcs/elementsDeleteElementById.d.ts.map +1 -0
  27. package/funcs/elementsDeleteElementById.js +113 -0
  28. package/funcs/elementsDeleteElementById.js.map +1 -0
  29. package/funcs/elementsGetElementById.d.ts +15 -0
  30. package/funcs/elementsGetElementById.d.ts.map +1 -0
  31. package/funcs/elementsGetElementById.js +113 -0
  32. package/funcs/elementsGetElementById.js.map +1 -0
  33. package/funcs/elementsListElements.d.ts.map +1 -1
  34. package/funcs/elementsListElements.js +8 -4
  35. package/funcs/elementsListElements.js.map +1 -1
  36. package/funcs/imageCreateGeneration.d.ts.map +1 -1
  37. package/funcs/imageCreateGeneration.js +8 -4
  38. package/funcs/imageCreateGeneration.js.map +1 -1
  39. package/funcs/imageDeleteGenerationById.d.ts.map +1 -1
  40. package/funcs/imageDeleteGenerationById.js +8 -4
  41. package/funcs/imageDeleteGenerationById.js.map +1 -1
  42. package/funcs/imageGetGenerationById.d.ts.map +1 -1
  43. package/funcs/imageGetGenerationById.js +8 -4
  44. package/funcs/imageGetGenerationById.js.map +1 -1
  45. package/funcs/imageGetGenerationsByUserId.d.ts.map +1 -1
  46. package/funcs/imageGetGenerationsByUserId.js +8 -4
  47. package/funcs/imageGetGenerationsByUserId.js.map +1 -1
  48. package/funcs/initImagesDeleteInitImageById.d.ts.map +1 -1
  49. package/funcs/initImagesDeleteInitImageById.js +8 -4
  50. package/funcs/initImagesDeleteInitImageById.js.map +1 -1
  51. package/funcs/initImagesGetInitImageById.d.ts.map +1 -1
  52. package/funcs/initImagesGetInitImageById.js +8 -4
  53. package/funcs/initImagesGetInitImageById.js.map +1 -1
  54. package/funcs/initImagesUploadCanvasInitImage.d.ts.map +1 -1
  55. package/funcs/initImagesUploadCanvasInitImage.js +8 -4
  56. package/funcs/initImagesUploadCanvasInitImage.js.map +1 -1
  57. package/funcs/initImagesUploadInitImage.d.ts.map +1 -1
  58. package/funcs/initImagesUploadInitImage.js +8 -4
  59. package/funcs/initImagesUploadInitImage.js.map +1 -1
  60. package/funcs/modelsCreateModel.d.ts.map +1 -1
  61. package/funcs/modelsCreateModel.js +8 -4
  62. package/funcs/modelsCreateModel.js.map +1 -1
  63. package/funcs/modelsDeleteModelById.d.ts.map +1 -1
  64. package/funcs/modelsDeleteModelById.js +8 -4
  65. package/funcs/modelsDeleteModelById.js.map +1 -1
  66. package/funcs/modelsGetModelById.d.ts.map +1 -1
  67. package/funcs/modelsGetModelById.js +8 -4
  68. package/funcs/modelsGetModelById.js.map +1 -1
  69. package/funcs/modelsListPlatformModels.d.ts.map +1 -1
  70. package/funcs/modelsListPlatformModels.js +8 -4
  71. package/funcs/modelsListPlatformModels.js.map +1 -1
  72. package/funcs/motionCreateSVDMotionGeneration.d.ts.map +1 -1
  73. package/funcs/motionCreateSVDMotionGeneration.js +8 -4
  74. package/funcs/motionCreateSVDMotionGeneration.js.map +1 -1
  75. package/funcs/pricingCalculatorPricingCalculator.d.ts.map +1 -1
  76. package/funcs/pricingCalculatorPricingCalculator.js +8 -4
  77. package/funcs/pricingCalculatorPricingCalculator.js.map +1 -1
  78. package/funcs/promptPromptImprove.d.ts.map +1 -1
  79. package/funcs/promptPromptImprove.js +8 -4
  80. package/funcs/promptPromptImprove.js.map +1 -1
  81. package/funcs/promptPromptRandom.d.ts.map +1 -1
  82. package/funcs/promptPromptRandom.js +8 -4
  83. package/funcs/promptPromptRandom.js.map +1 -1
  84. package/funcs/realtimeCanvasCreateLCMGeneration.d.ts.map +1 -1
  85. package/funcs/realtimeCanvasCreateLCMGeneration.js +8 -4
  86. package/funcs/realtimeCanvasCreateLCMGeneration.js.map +1 -1
  87. package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.d.ts.map +1 -1
  88. package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.js +8 -4
  89. package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.js.map +1 -1
  90. package/funcs/realtimeCanvasPerformInpaintingLCM.d.ts.map +1 -1
  91. package/funcs/realtimeCanvasPerformInpaintingLCM.js +8 -4
  92. package/funcs/realtimeCanvasPerformInpaintingLCM.js.map +1 -1
  93. package/funcs/realtimeCanvasPerformInstantRefine.d.ts.map +1 -1
  94. package/funcs/realtimeCanvasPerformInstantRefine.js +8 -4
  95. package/funcs/realtimeCanvasPerformInstantRefine.js.map +1 -1
  96. package/funcs/textureCreateTextureGeneration.d.ts.map +1 -1
  97. package/funcs/textureCreateTextureGeneration.js +8 -4
  98. package/funcs/textureCreateTextureGeneration.js.map +1 -1
  99. package/funcs/textureDeleteTextureGenerationById.d.ts.map +1 -1
  100. package/funcs/textureDeleteTextureGenerationById.js +8 -4
  101. package/funcs/textureDeleteTextureGenerationById.js.map +1 -1
  102. package/funcs/threeDModelAssetsDelete3DModelById.d.ts.map +1 -1
  103. package/funcs/threeDModelAssetsDelete3DModelById.js +8 -4
  104. package/funcs/threeDModelAssetsDelete3DModelById.js.map +1 -1
  105. package/funcs/threeDModelAssetsUploadModelAsset.d.ts.map +1 -1
  106. package/funcs/threeDModelAssetsUploadModelAsset.js +8 -4
  107. package/funcs/threeDModelAssetsUploadModelAsset.js.map +1 -1
  108. package/funcs/userGetUserSelf.d.ts.map +1 -1
  109. package/funcs/userGetUserSelf.js +8 -4
  110. package/funcs/userGetUserSelf.js.map +1 -1
  111. package/funcs/variationCreateUniversalUpscalerJob.d.ts.map +1 -1
  112. package/funcs/variationCreateUniversalUpscalerJob.js +8 -4
  113. package/funcs/variationCreateUniversalUpscalerJob.js.map +1 -1
  114. package/funcs/variationCreateVariationNoBG.d.ts.map +1 -1
  115. package/funcs/variationCreateVariationNoBG.js +8 -4
  116. package/funcs/variationCreateVariationNoBG.js.map +1 -1
  117. package/funcs/variationCreateVariationUnzoom.d.ts.map +1 -1
  118. package/funcs/variationCreateVariationUnzoom.js +8 -4
  119. package/funcs/variationCreateVariationUnzoom.js.map +1 -1
  120. package/funcs/variationCreateVariationUpscale.d.ts.map +1 -1
  121. package/funcs/variationCreateVariationUpscale.js +8 -4
  122. package/funcs/variationCreateVariationUpscale.js.map +1 -1
  123. package/funcs/variationGetVariationById.d.ts.map +1 -1
  124. package/funcs/variationGetVariationById.js +8 -4
  125. package/funcs/variationGetVariationById.js.map +1 -1
  126. package/hooks/types.d.ts +4 -0
  127. package/hooks/types.d.ts.map +1 -1
  128. package/lib/config.d.ts +3 -3
  129. package/lib/config.js +3 -3
  130. package/lib/matchers.js +1 -1
  131. package/lib/matchers.js.map +1 -1
  132. package/lib/primitives.d.ts +6 -0
  133. package/lib/primitives.d.ts.map +1 -1
  134. package/lib/primitives.js +66 -1
  135. package/lib/primitives.js.map +1 -1
  136. package/lib/retries.d.ts +20 -0
  137. package/lib/retries.d.ts.map +1 -1
  138. package/lib/retries.js +51 -27
  139. package/lib/retries.js.map +1 -1
  140. package/lib/sdks.d.ts +2 -2
  141. package/lib/sdks.d.ts.map +1 -1
  142. package/lib/sdks.js +14 -12
  143. package/lib/sdks.js.map +1 -1
  144. package/lib/security.d.ts +20 -1
  145. package/lib/security.d.ts.map +1 -1
  146. package/lib/security.js +11 -1
  147. package/lib/security.js.map +1 -1
  148. package/package.json +3 -1
  149. package/sdk/elements.d.ts +21 -0
  150. package/sdk/elements.d.ts.map +1 -1
  151. package/sdk/elements.js +30 -0
  152. package/sdk/elements.js.map +1 -1
  153. package/sdk/models/operations/createdataset.d.ts +10 -0
  154. package/sdk/models/operations/createdataset.d.ts.map +1 -1
  155. package/sdk/models/operations/createdataset.js +34 -1
  156. package/sdk/models/operations/createdataset.js.map +1 -1
  157. package/sdk/models/operations/createelement.d.ts +182 -0
  158. package/sdk/models/operations/createelement.d.ts.map +1 -0
  159. package/sdk/models/operations/createelement.js +200 -0
  160. package/sdk/models/operations/createelement.js.map +1 -0
  161. package/sdk/models/operations/creategeneration.d.ts +10 -0
  162. package/sdk/models/operations/creategeneration.d.ts.map +1 -1
  163. package/sdk/models/operations/creategeneration.js +34 -1
  164. package/sdk/models/operations/creategeneration.js.map +1 -1
  165. package/sdk/models/operations/createlcmgeneration.d.ts +10 -0
  166. package/sdk/models/operations/createlcmgeneration.d.ts.map +1 -1
  167. package/sdk/models/operations/createlcmgeneration.js +34 -1
  168. package/sdk/models/operations/createlcmgeneration.js.map +1 -1
  169. package/sdk/models/operations/createmodel.d.ts +23 -13
  170. package/sdk/models/operations/createmodel.d.ts.map +1 -1
  171. package/sdk/models/operations/createmodel.js +45 -14
  172. package/sdk/models/operations/createmodel.js.map +1 -1
  173. package/sdk/models/operations/createsvdmotiongeneration.d.ts +10 -0
  174. package/sdk/models/operations/createsvdmotiongeneration.d.ts.map +1 -1
  175. package/sdk/models/operations/createsvdmotiongeneration.js +34 -1
  176. package/sdk/models/operations/createsvdmotiongeneration.js.map +1 -1
  177. package/sdk/models/operations/createtexturegeneration.d.ts +10 -0
  178. package/sdk/models/operations/createtexturegeneration.d.ts.map +1 -1
  179. package/sdk/models/operations/createtexturegeneration.js +34 -1
  180. package/sdk/models/operations/createtexturegeneration.js.map +1 -1
  181. package/sdk/models/operations/createuniversalupscalerjob.d.ts +10 -0
  182. package/sdk/models/operations/createuniversalupscalerjob.d.ts.map +1 -1
  183. package/sdk/models/operations/createuniversalupscalerjob.js +34 -1
  184. package/sdk/models/operations/createuniversalupscalerjob.js.map +1 -1
  185. package/sdk/models/operations/createvariationnobg.d.ts +10 -0
  186. package/sdk/models/operations/createvariationnobg.d.ts.map +1 -1
  187. package/sdk/models/operations/createvariationnobg.js +34 -1
  188. package/sdk/models/operations/createvariationnobg.js.map +1 -1
  189. package/sdk/models/operations/createvariationunzoom.d.ts +10 -0
  190. package/sdk/models/operations/createvariationunzoom.d.ts.map +1 -1
  191. package/sdk/models/operations/createvariationunzoom.js +34 -1
  192. package/sdk/models/operations/createvariationunzoom.js.map +1 -1
  193. package/sdk/models/operations/createvariationupscale.d.ts +10 -0
  194. package/sdk/models/operations/createvariationupscale.d.ts.map +1 -1
  195. package/sdk/models/operations/createvariationupscale.js +34 -1
  196. package/sdk/models/operations/createvariationupscale.js.map +1 -1
  197. package/sdk/models/operations/delete3dmodelbyid.d.ts +12 -0
  198. package/sdk/models/operations/delete3dmodelbyid.d.ts.map +1 -1
  199. package/sdk/models/operations/delete3dmodelbyid.js +42 -1
  200. package/sdk/models/operations/delete3dmodelbyid.js.map +1 -1
  201. package/sdk/models/operations/deletedatasetbyid.d.ts +10 -0
  202. package/sdk/models/operations/deletedatasetbyid.d.ts.map +1 -1
  203. package/sdk/models/operations/deletedatasetbyid.js +34 -1
  204. package/sdk/models/operations/deletedatasetbyid.js.map +1 -1
  205. package/sdk/models/operations/deleteelementbyid.d.ts +134 -0
  206. package/sdk/models/operations/deleteelementbyid.d.ts.map +1 -0
  207. package/sdk/models/operations/deleteelementbyid.js +171 -0
  208. package/sdk/models/operations/deleteelementbyid.js.map +1 -0
  209. package/sdk/models/operations/deletegenerationbyid.d.ts +10 -0
  210. package/sdk/models/operations/deletegenerationbyid.d.ts.map +1 -1
  211. package/sdk/models/operations/deletegenerationbyid.js +34 -1
  212. package/sdk/models/operations/deletegenerationbyid.js.map +1 -1
  213. package/sdk/models/operations/deleteinitimagebyid.d.ts +10 -0
  214. package/sdk/models/operations/deleteinitimagebyid.d.ts.map +1 -1
  215. package/sdk/models/operations/deleteinitimagebyid.js +34 -1
  216. package/sdk/models/operations/deleteinitimagebyid.js.map +1 -1
  217. package/sdk/models/operations/deletemodelbyid.d.ts +10 -0
  218. package/sdk/models/operations/deletemodelbyid.d.ts.map +1 -1
  219. package/sdk/models/operations/deletemodelbyid.js +34 -1
  220. package/sdk/models/operations/deletemodelbyid.js.map +1 -1
  221. package/sdk/models/operations/deletetexturegenerationbyid.d.ts +12 -0
  222. package/sdk/models/operations/deletetexturegenerationbyid.d.ts.map +1 -1
  223. package/sdk/models/operations/deletetexturegenerationbyid.js +42 -1
  224. package/sdk/models/operations/deletetexturegenerationbyid.js.map +1 -1
  225. package/sdk/models/operations/getdatasetbyid.d.ts +12 -0
  226. package/sdk/models/operations/getdatasetbyid.d.ts.map +1 -1
  227. package/sdk/models/operations/getdatasetbyid.js +42 -1
  228. package/sdk/models/operations/getdatasetbyid.js.map +1 -1
  229. package/sdk/models/operations/getelementbyid.d.ts +162 -0
  230. package/sdk/models/operations/getelementbyid.d.ts.map +1 -0
  231. package/sdk/models/operations/getelementbyid.js +194 -0
  232. package/sdk/models/operations/getelementbyid.js.map +1 -0
  233. package/sdk/models/operations/getgenerationbyid.d.ts +18 -0
  234. package/sdk/models/operations/getgenerationbyid.d.ts.map +1 -1
  235. package/sdk/models/operations/getgenerationbyid.js +66 -1
  236. package/sdk/models/operations/getgenerationbyid.js.map +1 -1
  237. package/sdk/models/operations/getgenerationsbyuserid.d.ts +18 -0
  238. package/sdk/models/operations/getgenerationsbyuserid.d.ts.map +1 -1
  239. package/sdk/models/operations/getgenerationsbyuserid.js +66 -1
  240. package/sdk/models/operations/getgenerationsbyuserid.js.map +1 -1
  241. package/sdk/models/operations/getinitimagebyid.d.ts +10 -0
  242. package/sdk/models/operations/getinitimagebyid.d.ts.map +1 -1
  243. package/sdk/models/operations/getinitimagebyid.js +34 -1
  244. package/sdk/models/operations/getinitimagebyid.js.map +1 -1
  245. package/sdk/models/operations/getmodelbyid.d.ts +10 -0
  246. package/sdk/models/operations/getmodelbyid.d.ts.map +1 -1
  247. package/sdk/models/operations/getmodelbyid.js +34 -1
  248. package/sdk/models/operations/getmodelbyid.js.map +1 -1
  249. package/sdk/models/operations/getuserself.d.ts +10 -0
  250. package/sdk/models/operations/getuserself.d.ts.map +1 -1
  251. package/sdk/models/operations/getuserself.js +34 -1
  252. package/sdk/models/operations/getuserself.js.map +1 -1
  253. package/sdk/models/operations/getvariationbyid.d.ts +10 -0
  254. package/sdk/models/operations/getvariationbyid.d.ts.map +1 -1
  255. package/sdk/models/operations/getvariationbyid.js +34 -1
  256. package/sdk/models/operations/getvariationbyid.js.map +1 -1
  257. package/sdk/models/operations/index.d.ts +3 -0
  258. package/sdk/models/operations/index.d.ts.map +1 -1
  259. package/sdk/models/operations/index.js +3 -0
  260. package/sdk/models/operations/index.js.map +1 -1
  261. package/sdk/models/operations/listelements.d.ts +11 -3
  262. package/sdk/models/operations/listelements.d.ts.map +1 -1
  263. package/sdk/models/operations/listelements.js +26 -1
  264. package/sdk/models/operations/listelements.js.map +1 -1
  265. package/sdk/models/operations/listplatformmodels.d.ts +10 -0
  266. package/sdk/models/operations/listplatformmodels.d.ts.map +1 -1
  267. package/sdk/models/operations/listplatformmodels.js +34 -1
  268. package/sdk/models/operations/listplatformmodels.js.map +1 -1
  269. package/sdk/models/operations/performalchemyupscalelcm.d.ts +10 -0
  270. package/sdk/models/operations/performalchemyupscalelcm.d.ts.map +1 -1
  271. package/sdk/models/operations/performalchemyupscalelcm.js +34 -1
  272. package/sdk/models/operations/performalchemyupscalelcm.js.map +1 -1
  273. package/sdk/models/operations/performinpaintinglcm.d.ts +10 -0
  274. package/sdk/models/operations/performinpaintinglcm.d.ts.map +1 -1
  275. package/sdk/models/operations/performinpaintinglcm.js +34 -1
  276. package/sdk/models/operations/performinpaintinglcm.js.map +1 -1
  277. package/sdk/models/operations/performinstantrefine.d.ts +10 -0
  278. package/sdk/models/operations/performinstantrefine.d.ts.map +1 -1
  279. package/sdk/models/operations/performinstantrefine.js +34 -1
  280. package/sdk/models/operations/performinstantrefine.js.map +1 -1
  281. package/sdk/models/operations/pricingcalculator.d.ts +28 -0
  282. package/sdk/models/operations/pricingcalculator.d.ts.map +1 -1
  283. package/sdk/models/operations/pricingcalculator.js +117 -1
  284. package/sdk/models/operations/pricingcalculator.js.map +1 -1
  285. package/sdk/models/operations/promptimprove.d.ts +10 -0
  286. package/sdk/models/operations/promptimprove.d.ts.map +1 -1
  287. package/sdk/models/operations/promptimprove.js +34 -1
  288. package/sdk/models/operations/promptimprove.js.map +1 -1
  289. package/sdk/models/operations/promptrandom.d.ts +8 -0
  290. package/sdk/models/operations/promptrandom.d.ts.map +1 -1
  291. package/sdk/models/operations/promptrandom.js +26 -1
  292. package/sdk/models/operations/promptrandom.js.map +1 -1
  293. package/sdk/models/operations/uploadcanvasinitimage.d.ts +10 -0
  294. package/sdk/models/operations/uploadcanvasinitimage.d.ts.map +1 -1
  295. package/sdk/models/operations/uploadcanvasinitimage.js +34 -1
  296. package/sdk/models/operations/uploadcanvasinitimage.js.map +1 -1
  297. package/sdk/models/operations/uploaddatasetimage.d.ts +12 -0
  298. package/sdk/models/operations/uploaddatasetimage.d.ts.map +1 -1
  299. package/sdk/models/operations/uploaddatasetimage.js +42 -1
  300. package/sdk/models/operations/uploaddatasetimage.js.map +1 -1
  301. package/sdk/models/operations/uploaddatasetimagefromgen.d.ts +12 -0
  302. package/sdk/models/operations/uploaddatasetimagefromgen.d.ts.map +1 -1
  303. package/sdk/models/operations/uploaddatasetimagefromgen.js +42 -1
  304. package/sdk/models/operations/uploaddatasetimagefromgen.js.map +1 -1
  305. package/sdk/models/operations/uploadinitimage.d.ts +10 -0
  306. package/sdk/models/operations/uploadinitimage.d.ts.map +1 -1
  307. package/sdk/models/operations/uploadinitimage.js +34 -1
  308. package/sdk/models/operations/uploadinitimage.js.map +1 -1
  309. package/sdk/models/operations/uploadmodelasset.d.ts +10 -0
  310. package/sdk/models/operations/uploadmodelasset.d.ts.map +1 -1
  311. package/sdk/models/operations/uploadmodelasset.js +34 -1
  312. package/sdk/models/operations/uploadmodelasset.js.map +1 -1
  313. package/sdk/models/shared/controlnetinput.d.ts +4 -0
  314. package/sdk/models/shared/controlnetinput.d.ts.map +1 -1
  315. package/sdk/models/shared/controlnetinput.js +10 -1
  316. package/sdk/models/shared/controlnetinput.js.map +1 -1
  317. package/sdk/models/shared/elementinput.d.ts +4 -0
  318. package/sdk/models/shared/elementinput.d.ts.map +1 -1
  319. package/sdk/models/shared/elementinput.js +10 -1
  320. package/sdk/models/shared/elementinput.js.map +1 -1
  321. package/sdk/models/shared/sdversions.d.ts +2 -1
  322. package/sdk/models/shared/sdversions.d.ts.map +1 -1
  323. package/sdk/models/shared/sdversions.js +1 -0
  324. package/sdk/models/shared/sdversions.js.map +1 -1
  325. package/sdk/models/shared/security.d.ts +4 -0
  326. package/sdk/models/shared/security.d.ts.map +1 -1
  327. package/sdk/models/shared/security.js +10 -1
  328. package/sdk/models/shared/security.js.map +1 -1
  329. package/sdk/types/operations.d.ts +5 -3
  330. package/sdk/types/operations.d.ts.map +1 -1
  331. package/sdk/types/operations.js +3 -1
  332. package/sdk/types/operations.js.map +1 -1
  333. package/src/funcs/datasetCreateDataset.ts +11 -4
  334. package/src/funcs/datasetDeleteDatasetById.ts +11 -4
  335. package/src/funcs/datasetGetDatasetById.ts +11 -4
  336. package/src/funcs/datasetUploadDatasetImage.ts +11 -4
  337. package/src/funcs/datasetUploadDatasetImageFromGen.ts +11 -4
  338. package/src/funcs/elementsCreateElement.ts +132 -0
  339. package/src/funcs/elementsDeleteElementById.ts +142 -0
  340. package/src/funcs/elementsGetElementById.ts +142 -0
  341. package/src/funcs/elementsListElements.ts +11 -4
  342. package/src/funcs/imageCreateGeneration.ts +11 -4
  343. package/src/funcs/imageDeleteGenerationById.ts +11 -4
  344. package/src/funcs/imageGetGenerationById.ts +11 -4
  345. package/src/funcs/imageGetGenerationsByUserId.ts +11 -4
  346. package/src/funcs/initImagesDeleteInitImageById.ts +11 -4
  347. package/src/funcs/initImagesGetInitImageById.ts +11 -4
  348. package/src/funcs/initImagesUploadCanvasInitImage.ts +11 -4
  349. package/src/funcs/initImagesUploadInitImage.ts +11 -4
  350. package/src/funcs/modelsCreateModel.ts +11 -4
  351. package/src/funcs/modelsDeleteModelById.ts +11 -4
  352. package/src/funcs/modelsGetModelById.ts +11 -4
  353. package/src/funcs/modelsListPlatformModels.ts +11 -4
  354. package/src/funcs/motionCreateSVDMotionGeneration.ts +11 -4
  355. package/src/funcs/pricingCalculatorPricingCalculator.ts +11 -4
  356. package/src/funcs/promptPromptImprove.ts +11 -4
  357. package/src/funcs/promptPromptRandom.ts +11 -4
  358. package/src/funcs/realtimeCanvasCreateLCMGeneration.ts +11 -4
  359. package/src/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.ts +11 -4
  360. package/src/funcs/realtimeCanvasPerformInpaintingLCM.ts +11 -4
  361. package/src/funcs/realtimeCanvasPerformInstantRefine.ts +11 -4
  362. package/src/funcs/textureCreateTextureGeneration.ts +11 -4
  363. package/src/funcs/textureDeleteTextureGenerationById.ts +11 -4
  364. package/src/funcs/threeDModelAssetsDelete3DModelById.ts +11 -4
  365. package/src/funcs/threeDModelAssetsUploadModelAsset.ts +11 -4
  366. package/src/funcs/userGetUserSelf.ts +11 -4
  367. package/src/funcs/variationCreateUniversalUpscalerJob.ts +11 -4
  368. package/src/funcs/variationCreateVariationNoBG.ts +11 -4
  369. package/src/funcs/variationCreateVariationUnzoom.ts +11 -4
  370. package/src/funcs/variationCreateVariationUpscale.ts +11 -4
  371. package/src/funcs/variationGetVariationById.ts +11 -4
  372. package/src/hooks/types.ts +4 -0
  373. package/src/lib/config.ts +3 -3
  374. package/src/lib/matchers.ts +1 -1
  375. package/src/lib/primitives.ts +82 -0
  376. package/src/lib/retries.ts +63 -31
  377. package/src/lib/sdks.ts +19 -15
  378. package/src/lib/security.ts +39 -3
  379. package/src/sdk/elements.ts +54 -0
  380. package/src/sdk/models/operations/createdataset.ts +71 -0
  381. package/src/sdk/models/operations/createelement.ts +377 -0
  382. package/src/sdk/models/operations/creategeneration.ts +79 -0
  383. package/src/sdk/models/operations/createlcmgeneration.ts +81 -0
  384. package/src/sdk/models/operations/createmodel.ts +99 -20
  385. package/src/sdk/models/operations/createsvdmotiongeneration.ts +83 -0
  386. package/src/sdk/models/operations/createtexturegeneration.ts +83 -0
  387. package/src/sdk/models/operations/createuniversalupscalerjob.ts +85 -0
  388. package/src/sdk/models/operations/createvariationnobg.ts +81 -0
  389. package/src/sdk/models/operations/createvariationunzoom.ts +77 -0
  390. package/src/sdk/models/operations/createvariationupscale.ts +91 -0
  391. package/src/sdk/models/operations/delete3dmodelbyid.ts +93 -0
  392. package/src/sdk/models/operations/deletedatasetbyid.ts +77 -0
  393. package/src/sdk/models/operations/deleteelementbyid.ts +299 -0
  394. package/src/sdk/models/operations/deletegenerationbyid.ts +77 -0
  395. package/src/sdk/models/operations/deleteinitimagebyid.ts +75 -0
  396. package/src/sdk/models/operations/deletemodelbyid.ts +73 -0
  397. package/src/sdk/models/operations/deletetexturegenerationbyid.ts +114 -0
  398. package/src/sdk/models/operations/getdatasetbyid.ts +89 -0
  399. package/src/sdk/models/operations/getelementbyid.ts +355 -0
  400. package/src/sdk/models/operations/getgenerationbyid.ts +158 -0
  401. package/src/sdk/models/operations/getgenerationsbyuserid.ts +173 -0
  402. package/src/sdk/models/operations/getinitimagebyid.ts +77 -0
  403. package/src/sdk/models/operations/getmodelbyid.ts +75 -0
  404. package/src/sdk/models/operations/getuserself.ts +67 -0
  405. package/src/sdk/models/operations/getvariationbyid.ts +79 -0
  406. package/src/sdk/models/operations/index.ts +3 -0
  407. package/src/sdk/models/operations/listelements.ts +56 -3
  408. package/src/sdk/models/operations/listplatformmodels.ts +81 -0
  409. package/src/sdk/models/operations/performalchemyupscalelcm.ts +92 -0
  410. package/src/sdk/models/operations/performinpaintinglcm.ts +90 -0
  411. package/src/sdk/models/operations/performinstantrefine.ts +90 -0
  412. package/src/sdk/models/operations/pricingcalculator.ts +300 -0
  413. package/src/sdk/models/operations/promptimprove.ts +75 -0
  414. package/src/sdk/models/operations/promptrandom.ts +60 -0
  415. package/src/sdk/models/operations/uploadcanvasinitimage.ts +83 -0
  416. package/src/sdk/models/operations/uploaddatasetimage.ts +97 -0
  417. package/src/sdk/models/operations/uploaddatasetimagefromgen.ts +103 -0
  418. package/src/sdk/models/operations/uploadinitimage.ts +77 -0
  419. package/src/sdk/models/operations/uploadmodelasset.ts +79 -0
  420. package/src/sdk/models/shared/controlnetinput.ts +19 -0
  421. package/src/sdk/models/shared/elementinput.ts +17 -0
  422. package/src/sdk/models/shared/sdversions.ts +1 -0
  423. package/src/sdk/models/shared/security.ts +17 -0
  424. package/src/sdk/types/operations.ts +11 -5
@@ -68,12 +68,20 @@ export async function threeDModelAssetsUploadModelAsset(
68
68
 
69
69
  const secConfig = await extractSecurity(client._options.bearerAuth);
70
70
  const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
71
+ const requestSecurity = resolveGlobalSecurity(securityInput);
72
+
71
73
  const context = {
72
74
  operationID: "uploadModelAsset",
73
75
  oAuth2Scopes: [],
76
+
77
+ resolvedSecurity: requestSecurity,
78
+
74
79
  securitySource: client._options.bearerAuth,
80
+ retryConfig: options?.retries
81
+ || client._options.retryConfig
82
+ || { strategy: "none" },
83
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
75
84
  };
76
- const requestSecurity = resolveGlobalSecurity(securityInput);
77
85
 
78
86
  const requestRes = client._createRequest(context, {
79
87
  security: requestSecurity,
@@ -91,9 +99,8 @@ export async function threeDModelAssetsUploadModelAsset(
91
99
  const doResult = await client._do(req, {
92
100
  context,
93
101
  errorCodes: [],
94
- retryConfig: options?.retries
95
- || client._options.retryConfig,
96
- retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
102
+ retryConfig: context.retryConfig,
103
+ retryCodes: context.retryCodes,
97
104
  });
98
105
  if (!doResult.ok) {
99
106
  return doResult;
@@ -48,12 +48,20 @@ export async function userGetUserSelf(
48
48
 
49
49
  const secConfig = await extractSecurity(client._options.bearerAuth);
50
50
  const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
51
+ const requestSecurity = resolveGlobalSecurity(securityInput);
52
+
51
53
  const context = {
52
54
  operationID: "getUserSelf",
53
55
  oAuth2Scopes: [],
56
+
57
+ resolvedSecurity: requestSecurity,
58
+
54
59
  securitySource: client._options.bearerAuth,
60
+ retryConfig: options?.retries
61
+ || client._options.retryConfig
62
+ || { strategy: "none" },
63
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
55
64
  };
56
- const requestSecurity = resolveGlobalSecurity(securityInput);
57
65
 
58
66
  const requestRes = client._createRequest(context, {
59
67
  security: requestSecurity,
@@ -70,9 +78,8 @@ export async function userGetUserSelf(
70
78
  const doResult = await client._do(req, {
71
79
  context,
72
80
  errorCodes: [],
73
- retryConfig: options?.retries
74
- || client._options.retryConfig,
75
- retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
81
+ retryConfig: context.retryConfig,
82
+ retryCodes: context.retryCodes,
76
83
  });
77
84
  if (!doResult.ok) {
78
85
  return doResult;
@@ -66,12 +66,20 @@ export async function variationCreateUniversalUpscalerJob(
66
66
 
67
67
  const secConfig = await extractSecurity(client._options.bearerAuth);
68
68
  const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
69
+ const requestSecurity = resolveGlobalSecurity(securityInput);
70
+
69
71
  const context = {
70
72
  operationID: "CreateUniversalUpscalerJob",
71
73
  oAuth2Scopes: [],
74
+
75
+ resolvedSecurity: requestSecurity,
76
+
72
77
  securitySource: client._options.bearerAuth,
78
+ retryConfig: options?.retries
79
+ || client._options.retryConfig
80
+ || { strategy: "none" },
81
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
73
82
  };
74
- const requestSecurity = resolveGlobalSecurity(securityInput);
75
83
 
76
84
  const requestRes = client._createRequest(context, {
77
85
  security: requestSecurity,
@@ -89,9 +97,8 @@ export async function variationCreateUniversalUpscalerJob(
89
97
  const doResult = await client._do(req, {
90
98
  context,
91
99
  errorCodes: [],
92
- retryConfig: options?.retries
93
- || client._options.retryConfig,
94
- retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
100
+ retryConfig: context.retryConfig,
101
+ retryCodes: context.retryCodes,
95
102
  });
96
103
  if (!doResult.ok) {
97
104
  return doResult;
@@ -64,12 +64,20 @@ export async function variationCreateVariationNoBG(
64
64
 
65
65
  const secConfig = await extractSecurity(client._options.bearerAuth);
66
66
  const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
67
+ const requestSecurity = resolveGlobalSecurity(securityInput);
68
+
67
69
  const context = {
68
70
  operationID: "createVariationNoBG",
69
71
  oAuth2Scopes: [],
72
+
73
+ resolvedSecurity: requestSecurity,
74
+
70
75
  securitySource: client._options.bearerAuth,
76
+ retryConfig: options?.retries
77
+ || client._options.retryConfig
78
+ || { strategy: "none" },
79
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
71
80
  };
72
- const requestSecurity = resolveGlobalSecurity(securityInput);
73
81
 
74
82
  const requestRes = client._createRequest(context, {
75
83
  security: requestSecurity,
@@ -87,9 +95,8 @@ export async function variationCreateVariationNoBG(
87
95
  const doResult = await client._do(req, {
88
96
  context,
89
97
  errorCodes: [],
90
- retryConfig: options?.retries
91
- || client._options.retryConfig,
92
- retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
98
+ retryConfig: context.retryConfig,
99
+ retryCodes: context.retryCodes,
93
100
  });
94
101
  if (!doResult.ok) {
95
102
  return doResult;
@@ -67,12 +67,20 @@ export async function variationCreateVariationUnzoom(
67
67
 
68
68
  const secConfig = await extractSecurity(client._options.bearerAuth);
69
69
  const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
70
+ const requestSecurity = resolveGlobalSecurity(securityInput);
71
+
70
72
  const context = {
71
73
  operationID: "createVariationUnzoom",
72
74
  oAuth2Scopes: [],
75
+
76
+ resolvedSecurity: requestSecurity,
77
+
73
78
  securitySource: client._options.bearerAuth,
79
+ retryConfig: options?.retries
80
+ || client._options.retryConfig
81
+ || { strategy: "none" },
82
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
74
83
  };
75
- const requestSecurity = resolveGlobalSecurity(securityInput);
76
84
 
77
85
  const requestRes = client._createRequest(context, {
78
86
  security: requestSecurity,
@@ -90,9 +98,8 @@ export async function variationCreateVariationUnzoom(
90
98
  const doResult = await client._do(req, {
91
99
  context,
92
100
  errorCodes: [],
93
- retryConfig: options?.retries
94
- || client._options.retryConfig,
95
- retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
101
+ retryConfig: context.retryConfig,
102
+ retryCodes: context.retryCodes,
96
103
  });
97
104
  if (!doResult.ok) {
98
105
  return doResult;
@@ -67,12 +67,20 @@ export async function variationCreateVariationUpscale(
67
67
 
68
68
  const secConfig = await extractSecurity(client._options.bearerAuth);
69
69
  const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
70
+ const requestSecurity = resolveGlobalSecurity(securityInput);
71
+
70
72
  const context = {
71
73
  operationID: "createVariationUpscale",
72
74
  oAuth2Scopes: [],
75
+
76
+ resolvedSecurity: requestSecurity,
77
+
73
78
  securitySource: client._options.bearerAuth,
79
+ retryConfig: options?.retries
80
+ || client._options.retryConfig
81
+ || { strategy: "none" },
82
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
74
83
  };
75
- const requestSecurity = resolveGlobalSecurity(securityInput);
76
84
 
77
85
  const requestRes = client._createRequest(context, {
78
86
  security: requestSecurity,
@@ -90,9 +98,8 @@ export async function variationCreateVariationUpscale(
90
98
  const doResult = await client._do(req, {
91
99
  context,
92
100
  errorCodes: [],
93
- retryConfig: options?.retries
94
- || client._options.retryConfig,
95
- retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
101
+ retryConfig: context.retryConfig,
102
+ retryCodes: context.retryCodes,
96
103
  });
97
104
  if (!doResult.ok) {
98
105
  return doResult;
@@ -73,12 +73,20 @@ export async function variationGetVariationById(
73
73
 
74
74
  const secConfig = await extractSecurity(client._options.bearerAuth);
75
75
  const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
76
+ const requestSecurity = resolveGlobalSecurity(securityInput);
77
+
76
78
  const context = {
77
79
  operationID: "getVariationById",
78
80
  oAuth2Scopes: [],
81
+
82
+ resolvedSecurity: requestSecurity,
83
+
79
84
  securitySource: client._options.bearerAuth,
85
+ retryConfig: options?.retries
86
+ || client._options.retryConfig
87
+ || { strategy: "none" },
88
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
80
89
  };
81
- const requestSecurity = resolveGlobalSecurity(securityInput);
82
90
 
83
91
  const requestRes = client._createRequest(context, {
84
92
  security: requestSecurity,
@@ -96,9 +104,8 @@ export async function variationGetVariationById(
96
104
  const doResult = await client._do(req, {
97
105
  context,
98
106
  errorCodes: [],
99
- retryConfig: options?.retries
100
- || client._options.retryConfig,
101
- retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
107
+ retryConfig: context.retryConfig,
108
+ retryCodes: context.retryCodes,
102
109
  });
103
110
  if (!doResult.ok) {
104
111
  return doResult;
@@ -3,11 +3,15 @@
3
3
  */
4
4
 
5
5
  import { HTTPClient, RequestInput } from "../lib/http.js";
6
+ import { RetryConfig } from "../lib/retries.js";
7
+ import { SecurityState } from "../lib/security.js";
6
8
 
7
9
  export type HookContext = {
8
10
  operationID: string;
9
11
  oAuth2Scopes?: string[];
10
12
  securitySource?: any | (() => Promise<any>);
13
+ retryConfig: RetryConfig;
14
+ resolvedSecurity: SecurityState | null;
11
15
  };
12
16
 
13
17
  export type Awaitable<T> = T | Promise<T>;
package/src/lib/config.ts CHANGED
@@ -57,7 +57,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
57
57
  export const SDK_METADATA = {
58
58
  language: "typescript",
59
59
  openapiDocVersion: "v1.0.0",
60
- sdkVersion: "4.18.0",
61
- genVersion: "2.436.1",
62
- userAgent: "speakeasy-sdk/typescript 4.18.0 2.436.1 v1.0.0 @leonardo-ai/sdk",
60
+ sdkVersion: "4.19.0",
61
+ genVersion: "2.471.2",
62
+ userAgent: "speakeasy-sdk/typescript 4.19.0 2.471.2 v1.0.0 @leonardo-ai/sdk",
63
63
  } as const;
@@ -205,7 +205,7 @@ export function match<T, E>(
205
205
  raw = await response.json();
206
206
  break;
207
207
  case "bytes":
208
- raw = await response.arrayBuffer();
208
+ raw = new Uint8Array(await response.arrayBuffer());
209
209
  break;
210
210
  case "stream":
211
211
  raw = response.body;
@@ -2,6 +2,26 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
+ class InvariantError extends Error {
6
+ constructor(message: string) {
7
+ super(message);
8
+ this.name = "InvariantError";
9
+ }
10
+ }
11
+
12
+ export function invariant(
13
+ condition: unknown,
14
+ message: string,
15
+ ): asserts condition {
16
+ if (!condition) {
17
+ throw new InvariantError(message);
18
+ }
19
+ }
20
+
21
+ export type ExactPartial<T> = {
22
+ [P in keyof T]?: T[P] | undefined;
23
+ };
24
+
5
25
  export type Remap<Inp, Mapping extends { [k in keyof Inp]?: string | null }> = {
6
26
  [k in keyof Inp as Mapping[k] extends string /* if we have a string mapping for this key then use it */
7
27
  ? Mapping[k]
@@ -38,3 +58,65 @@ export function remap<
38
58
 
39
59
  return out;
40
60
  }
61
+
62
+ export function combineSignals(
63
+ ...signals: Array<AbortSignal | null | undefined>
64
+ ): AbortSignal | null {
65
+ const filtered: AbortSignal[] = [];
66
+ for (const signal of signals) {
67
+ if (signal) {
68
+ filtered.push(signal);
69
+ }
70
+ }
71
+
72
+ switch (filtered.length) {
73
+ case 0:
74
+ case 1:
75
+ return filtered[0] || null;
76
+ default:
77
+ if ("any" in AbortSignal && typeof AbortSignal.any === "function") {
78
+ return AbortSignal.any(filtered);
79
+ }
80
+ return abortSignalAny(filtered);
81
+ }
82
+ }
83
+
84
+ export function abortSignalAny(signals: AbortSignal[]): AbortSignal {
85
+ const controller = new AbortController();
86
+ const result = controller.signal;
87
+ if (!signals.length) {
88
+ return controller.signal;
89
+ }
90
+
91
+ if (signals.length === 1) {
92
+ return signals[0] || controller.signal;
93
+ }
94
+
95
+ for (const signal of signals) {
96
+ if (signal.aborted) {
97
+ return signal;
98
+ }
99
+ }
100
+
101
+ function abort(this: AbortSignal) {
102
+ controller.abort(this.reason);
103
+ clean();
104
+ }
105
+
106
+ const signalRefs: WeakRef<AbortSignal>[] = [];
107
+ function clean() {
108
+ for (const signalRef of signalRefs) {
109
+ const signal = signalRef.deref();
110
+ if (signal) {
111
+ signal.removeEventListener("abort", abort);
112
+ }
113
+ }
114
+ }
115
+
116
+ for (const signal of signals) {
117
+ signalRefs.push(new WeakRef(signal));
118
+ signal.addEventListener("abort", abort);
119
+ }
120
+
121
+ return result;
122
+ }
@@ -26,23 +26,44 @@ export type RetryConfig =
26
26
  retryConnectionErrors?: boolean;
27
27
  };
28
28
 
29
- class PermanentError extends Error {
30
- inner: unknown;
29
+ /**
30
+ * PermanentError is an error that is not recoverable. Throwing this error will
31
+ * cause a retry loop to terminate.
32
+ */
33
+ export class PermanentError extends Error {
34
+ /** The underlying cause of the error. */
35
+ override readonly cause: unknown;
36
+
37
+ constructor(message: string, options?: { cause?: unknown }) {
38
+ let msg = message;
39
+ if (options?.cause) {
40
+ msg += `: ${options.cause}`;
41
+ }
31
42
 
32
- constructor(inner: unknown) {
33
- super("Permanent error");
34
- this.inner = inner;
43
+ super(msg, options);
44
+ this.name = "PermanentError";
45
+ // In older runtimes, the cause field would not have been assigned through
46
+ // the super() call.
47
+ if (typeof this.cause === "undefined") {
48
+ this.cause = options?.cause;
49
+ }
35
50
 
36
51
  Object.setPrototypeOf(this, PermanentError.prototype);
37
52
  }
38
53
  }
39
54
 
40
- class TemporaryError extends Error {
41
- res: Response;
55
+ /**
56
+ * TemporaryError is an error is used to signal that an HTTP request can be
57
+ * retried as part of a retry loop. If retry attempts are exhausted and this
58
+ * error is thrown, the response will be returned to the caller.
59
+ */
60
+ export class TemporaryError extends Error {
61
+ response: Response;
42
62
 
43
- constructor(res: Response) {
44
- super("Temporary error");
45
- this.res = res;
63
+ constructor(message: string, response: Response) {
64
+ super(message);
65
+ this.response = response;
66
+ this.name = "TemporaryError";
46
67
 
47
68
  Object.setPrototypeOf(this, TemporaryError.prototype);
48
69
  }
@@ -80,11 +101,14 @@ function wrapFetcher(
80
101
  try {
81
102
  const res = await fn();
82
103
  if (isRetryableResponse(res, options.statusCodes)) {
83
- throw new TemporaryError(res);
104
+ throw new TemporaryError(
105
+ "Response failed with retryable status code",
106
+ res,
107
+ );
84
108
  }
85
109
 
86
110
  return res;
87
- } catch (err) {
111
+ } catch (err: unknown) {
88
112
  if (err instanceof TemporaryError) {
89
113
  throw err;
90
114
  }
@@ -96,7 +120,7 @@ function wrapFetcher(
96
120
  throw err;
97
121
  }
98
122
 
99
- throw new PermanentError(err);
123
+ throw new PermanentError("Permanent error", { cause: err });
100
124
  }
101
125
  };
102
126
  }
@@ -139,37 +163,25 @@ async function retryBackoff(
139
163
  try {
140
164
  const res = await fn();
141
165
  return res;
142
- } catch (err) {
166
+ } catch (err: unknown) {
143
167
  if (err instanceof PermanentError) {
144
- throw err.inner;
168
+ throw err.cause;
145
169
  }
146
170
  const elapsed = Date.now() - start;
147
171
  if (elapsed > maxElapsedTime) {
148
172
  if (err instanceof TemporaryError) {
149
- return err.res;
173
+ return err.response;
150
174
  }
151
175
 
152
176
  throw err;
153
177
  }
154
178
 
155
179
  let retryInterval = 0;
156
- if (err instanceof TemporaryError && err.res && err.res.headers) {
157
- const retryVal = err.res.headers.get("retry-after") || "";
158
- if (retryVal != "") {
159
- const parsedNumber = Number(retryVal);
160
- if (!isNaN(parsedNumber) && Number.isInteger(parsedNumber)) {
161
- retryInterval = parsedNumber * 1000;
162
- } else {
163
- const parsedDate = Date.parse(retryVal);
164
- if (!isNaN(parsedDate)) {
165
- const deltaMS = parsedDate - Date.now();
166
- retryInterval = deltaMS > 0 ? Math.ceil(deltaMS) : 0;
167
- }
168
- }
169
- }
180
+ if (err instanceof TemporaryError) {
181
+ retryInterval = retryIntervalFromResponse(err.response);
170
182
  }
171
183
 
172
- if (retryInterval == 0) {
184
+ if (retryInterval <= 0) {
173
185
  retryInterval =
174
186
  initialInterval * Math.pow(x, exponent) + Math.random() * 1000;
175
187
  }
@@ -182,6 +194,26 @@ async function retryBackoff(
182
194
  }
183
195
  }
184
196
 
197
+ function retryIntervalFromResponse(res: Response): number {
198
+ const retryVal = res.headers.get("retry-after") || "";
199
+ if (!retryVal) {
200
+ return 0;
201
+ }
202
+
203
+ const parsedNumber = Number(retryVal);
204
+ if (Number.isInteger(parsedNumber)) {
205
+ return parsedNumber * 1000;
206
+ }
207
+
208
+ const parsedDate = Date.parse(retryVal);
209
+ if (Number.isInteger(parsedDate)) {
210
+ const deltaMS = parsedDate - Date.now();
211
+ return deltaMS > 0 ? Math.ceil(deltaMS) : 0;
212
+ }
213
+
214
+ return 0;
215
+ }
216
+
185
217
  async function delay(delay: number): Promise<void> {
186
218
  return new Promise((resolve) => setTimeout(resolve, delay));
187
219
  }
package/src/lib/sdks.ts CHANGED
@@ -220,8 +220,8 @@ export class ClientSDK {
220
220
  options: {
221
221
  context: HookContext;
222
222
  errorCodes: number | string | (number | string)[];
223
- retryConfig?: RetryConfig | undefined;
224
- retryCodes?: string[] | undefined;
223
+ retryConfig: RetryConfig;
224
+ retryCodes: string[];
225
225
  },
226
226
  ): Promise<
227
227
  Result<
@@ -233,8 +233,6 @@ export class ClientSDK {
233
233
  >
234
234
  > {
235
235
  const { context, errorCodes } = options;
236
- const retryConfig = options.retryConfig || { strategy: "none" };
237
- const retryCodes = options.retryCodes || [];
238
236
 
239
237
  return retry(
240
238
  async () => {
@@ -245,22 +243,28 @@ export class ClientSDK {
245
243
 
246
244
  let response = await this.#httpClient.request(req);
247
245
 
248
- if (matchStatusCode(response, errorCodes)) {
249
- const result = await this.#hooks.afterError(context, response, null);
250
- if (result.error) {
251
- throw result.error;
246
+ try {
247
+ if (matchStatusCode(response, errorCodes)) {
248
+ const result = await this.#hooks.afterError(
249
+ context,
250
+ response,
251
+ null,
252
+ );
253
+ if (result.error) {
254
+ throw result.error;
255
+ }
256
+ response = result.response || response;
257
+ } else {
258
+ response = await this.#hooks.afterSuccess(context, response);
252
259
  }
253
- response = result.response || response;
254
- } else {
255
- response = await this.#hooks.afterSuccess(context, response);
260
+ } finally {
261
+ await logResponse(this.#logger, response, req)
262
+ .catch(e => this.#logger?.log("Failed to log response:", e));
256
263
  }
257
264
 
258
- await logResponse(this.#logger, response, req)
259
- .catch(e => this.#logger?.log("Failed to log response:", e));
260
-
261
265
  return response;
262
266
  },
263
- { config: retryConfig, statusCodes: retryCodes },
267
+ { config: options.retryConfig, statusCodes: options.retryCodes },
264
268
  ).then(
265
269
  (r) => OK(r),
266
270
  (err) => {
@@ -4,6 +4,14 @@
4
4
 
5
5
  import * as shared from "../sdk/models/shared/index.js";
6
6
 
7
+ type OAuth2PasswordFlow = {
8
+ username: string;
9
+ password?: string | undefined;
10
+ clientID: string;
11
+ clientSecret?: string | undefined;
12
+ tokenURL: string;
13
+ };
14
+
7
15
  export enum SecurityErrorCode {
8
16
  Incomplete = "incomplete",
9
17
  UnrecognisedSecurityType = "unrecognized_security_type",
@@ -37,6 +45,7 @@ export type SecurityState = {
37
45
  headers: Record<string, string>;
38
46
  queryParams: Record<string, string>;
39
47
  cookies: Record<string, string>;
48
+ oauth2: ({ type: "password" } & OAuth2PasswordFlow) | { type: "none" };
40
49
  };
41
50
 
42
51
  type SecurityInputBasic = {
@@ -73,7 +82,18 @@ type SecurityInputOAuth2 = {
73
82
 
74
83
  type SecurityInputOAuth2ClientCredentials = {
75
84
  type: "oauth2:client_credentials";
76
- value: string | null | undefined;
85
+ value:
86
+ | { clientID?: string | undefined; clientSecret?: string | undefined }
87
+ | null
88
+ | undefined;
89
+ };
90
+
91
+ type SecurityInputOAuth2PasswordCredentials = {
92
+ type: "oauth2:password";
93
+ value:
94
+ | string
95
+ | null
96
+ | undefined;
77
97
  fieldName: string;
78
98
  };
79
99
 
@@ -89,6 +109,7 @@ export type SecurityInput =
89
109
  | SecurityInputAPIKey
90
110
  | SecurityInputOAuth2
91
111
  | SecurityInputOAuth2ClientCredentials
112
+ | SecurityInputOAuth2PasswordCredentials
92
113
  | SecurityInputOIDC
93
114
  | SecurityInputCustom;
94
115
 
@@ -100,6 +121,7 @@ export function resolveSecurity(
100
121
  headers: {},
101
122
  queryParams: {},
102
123
  cookies: {},
124
+ oauth2: { type: "none" },
103
125
  };
104
126
 
105
127
  const option = options.find((opts) => {
@@ -110,6 +132,12 @@ export function resolveSecurity(
110
132
  return o.value.username != null || o.value.password != null;
111
133
  } else if (o.type === "http:custom") {
112
134
  return null;
135
+ } else if (o.type === "oauth2:password") {
136
+ return (
137
+ typeof o.value === "string" && !!o.value
138
+ );
139
+ } else if (o.type === "oauth2:client_credentials") {
140
+ return o.value.clientID != null || o.value.clientSecret != null;
113
141
  } else if (typeof o.value === "string") {
114
142
  return !!o.value;
115
143
  } else {
@@ -152,6 +180,9 @@ export function resolveSecurity(
152
180
  case "oauth2":
153
181
  applyBearer(state, spec);
154
182
  break;
183
+ case "oauth2:password":
184
+ applyBearer(state, spec);
185
+ break;
155
186
  case "oauth2:client_credentials":
156
187
  break;
157
188
  case "openIdConnect":
@@ -179,9 +210,13 @@ function applyBasic(
179
210
 
180
211
  function applyBearer(
181
212
  state: SecurityState,
182
- spec: SecurityInputBearer | SecurityInputOAuth2 | SecurityInputOIDC,
213
+ spec:
214
+ | SecurityInputBearer
215
+ | SecurityInputOAuth2
216
+ | SecurityInputOIDC
217
+ | SecurityInputOAuth2PasswordCredentials,
183
218
  ) {
184
- if (spec.value == null) {
219
+ if (typeof spec.value !== "string" || !spec.value) {
185
220
  return;
186
221
  }
187
222
 
@@ -192,6 +227,7 @@ function applyBearer(
192
227
 
193
228
  state.headers[spec.fieldName] = value;
194
229
  }
230
+
195
231
  export function resolveGlobalSecurity(
196
232
  security: Partial<shared.Security> | null | undefined,
197
233
  ): SecurityState | null {