@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/sdks.ts CHANGED
@@ -2,209 +2,383 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
- import { ResponseMatcher, HTTPClient, matchStatusCode } from "./http.js";
6
- import { SecurityState, resolveSecurity, resolveGlobalSecurity } from "./security.js";
7
- import { retry, RetryConfig } from "./retries.js";
8
- import { pathToFunc } from "./url.js";
9
- import { encodeForm } from "./encodings.js";
10
- import { stringToBase64 } from "./base64.js";
11
- import { SDK_METADATA } from "./config.js";
12
5
  import { SDKHooks } from "../hooks/hooks.js";
13
6
  import { HookContext } from "../hooks/types.js";
7
+ import {
8
+ ConnectionError,
9
+ InvalidRequestError,
10
+ RequestAbortedError,
11
+ RequestTimeoutError,
12
+ UnexpectedClientError,
13
+ } from "../sdk/models/errors/httpclienterrors.js";
14
+ import { ERR, OK, Result } from "../sdk/types/fp.js";
15
+ import { stringToBase64 } from "./base64.js";
16
+ import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "./config.js";
17
+ import { encodeForm } from "./encodings.js";
18
+ import {
19
+ HTTPClient,
20
+ isAbortError,
21
+ isConnectionError,
22
+ isTimeoutError,
23
+ matchContentType,
24
+ matchStatusCode,
25
+ } from "./http.js";
26
+ import { Logger } from "./logger.js";
27
+ import { retry, RetryConfig } from "./retries.js";
28
+ import { SecurityState } from "./security.js";
14
29
 
15
30
  export type RequestOptions = {
16
- /**
17
- * Sets a timeout, in milliseconds, on HTTP requests made by an SDK method. If
18
- * `fetchOptions.signal` is set then it will take precedence over this option.
19
- */
20
- timeoutMs?: number;
21
- /**
22
- * Set or override a retry policy on HTTP calls.
23
- */
24
- retries?: RetryConfig;
25
- /**
26
- * Specifies the status codes which should be retried using the given retry policy.
27
- */
28
- retryCodes?: string[];
29
- /**
30
- * Sets various request options on the `fetch` call made by an SDK method.
31
- *
32
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options|Request}
33
- */
34
- fetchOptions?: Omit<RequestInit, "method" | "body">;
31
+ /**
32
+ * Sets a timeout, in milliseconds, on HTTP requests made by an SDK method. If
33
+ * `fetchOptions.signal` is set then it will take precedence over this option.
34
+ */
35
+ timeoutMs?: number;
36
+ /**
37
+ * Set or override a retry policy on HTTP calls.
38
+ */
39
+ retries?: RetryConfig;
40
+ /**
41
+ * Specifies the status codes which should be retried using the given retry policy.
42
+ */
43
+ retryCodes?: string[];
44
+ /**
45
+ * Sets various request options on the `fetch` call made by an SDK method.
46
+ *
47
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options|Request}
48
+ */
49
+ fetchOptions?: Omit<RequestInit, "method" | "body">;
35
50
  };
36
51
 
37
52
  type RequestConfig = {
38
- method: string;
39
- path: string;
40
- baseURL?: string | URL;
41
- query?: string;
42
- body?: RequestInit["body"];
43
- headers?: HeadersInit;
44
- security?: SecurityState | null;
45
- uaHeader?: string;
46
- timeoutMs?: number;
53
+ method: string;
54
+ path: string;
55
+ baseURL?: string | URL;
56
+ query?: string;
57
+ body?: RequestInit["body"];
58
+ headers?: HeadersInit;
59
+ security?: SecurityState | null;
60
+ uaHeader?: string;
61
+ timeoutMs?: number;
47
62
  };
48
63
 
49
64
  const gt: unknown = typeof globalThis === "undefined" ? null : globalThis;
50
- const webWorkerLike =
51
- typeof gt === "object" &&
52
- gt != null &&
53
- "importScripts" in gt &&
54
- typeof gt["importScripts"] === "function";
55
- const isBrowserLike =
56
- webWorkerLike ||
57
- (typeof navigator !== "undefined" && "serviceWorker" in navigator) ||
58
- (typeof window === "object" && typeof window.document !== "undefined");
65
+ const webWorkerLike = typeof gt === "object"
66
+ && gt != null
67
+ && "importScripts" in gt
68
+ && typeof gt["importScripts"] === "function";
69
+ const isBrowserLike = webWorkerLike
70
+ || (typeof navigator !== "undefined" && "serviceWorker" in navigator)
71
+ || (typeof window === "object" && typeof window.document !== "undefined");
59
72
 
60
73
  export class ClientSDK {
61
- private readonly client: HTTPClient;
62
- protected readonly baseURL: URL | null;
63
- protected readonly hooks$: SDKHooks;
64
-
65
- constructor(init: { client: HTTPClient; baseURL: URL | null; hooks: SDKHooks }) {
66
- const url = init.baseURL;
67
- if (url) {
68
- url.pathname = url.pathname.replace(/\/+$/, "") + "/";
69
- }
74
+ private readonly httpClient: HTTPClient;
75
+ protected readonly baseURL: URL | null;
76
+ protected readonly hooks$: SDKHooks;
77
+ protected readonly logger?: Logger | undefined;
78
+ public readonly options$: SDKOptions & { hooks?: SDKHooks };
70
79
 
71
- this.hooks$ = init.hooks;
72
- const { baseURL, client } = this.hooks$.sdkInit({ baseURL: url, client: init.client });
73
- this.baseURL = baseURL;
74
- this.client = client;
80
+ constructor(options: SDKOptions = {}) {
81
+ const opt = options as unknown;
82
+ if (
83
+ typeof opt === "object"
84
+ && opt != null
85
+ && "hooks" in opt
86
+ && opt.hooks instanceof SDKHooks
87
+ ) {
88
+ this.hooks$ = opt.hooks;
89
+ } else {
90
+ this.hooks$ = new SDKHooks();
75
91
  }
92
+ this.options$ = { ...options, hooks: this.hooks$ };
76
93
 
77
- protected createRequest$(
78
- context: HookContext,
79
- conf: RequestConfig,
80
- options?: RequestOptions
81
- ): Request {
82
- const { method, path, query, headers: opHeaders, security } = conf;
94
+ const url = serverURLFromOptions(options);
95
+ if (url) {
96
+ url.pathname = url.pathname.replace(/\/+$/, "") + "/";
97
+ }
98
+ const { baseURL, client } = this.hooks$.sdkInit({
99
+ baseURL: url,
100
+ client: options.httpClient || new HTTPClient(),
101
+ });
102
+ this.baseURL = baseURL;
103
+ this.httpClient = client;
104
+ this.logger = options.debugLogger;
105
+ }
83
106
 
84
- const base = conf.baseURL ?? this.baseURL;
85
- if (!base) {
86
- throw new TypeError("No base URL provided for operation");
87
- }
88
- const reqURL = new URL(base);
89
- const inputURL = new URL(path, reqURL);
107
+ public createRequest$(
108
+ context: HookContext,
109
+ conf: RequestConfig,
110
+ options?: RequestOptions,
111
+ ): Result<Request, InvalidRequestError | UnexpectedClientError> {
112
+ const { method, path, query, headers: opHeaders, security } = conf;
90
113
 
91
- if (path) {
92
- reqURL.pathname += inputURL.pathname.replace(/^\/+/, "");
93
- }
114
+ const base = conf.baseURL ?? this.baseURL;
115
+ if (!base) {
116
+ return ERR(new InvalidRequestError("No base URL provided for operation"));
117
+ }
118
+ const reqURL = new URL(base);
119
+ const inputURL = new URL(path, reqURL);
94
120
 
95
- let finalQuery = query || "";
121
+ if (path) {
122
+ reqURL.pathname += inputURL.pathname.replace(/^\/+/, "");
123
+ }
96
124
 
97
- const secQuery: string[] = [];
98
- for (const [k, v] of Object.entries(security?.queryParams || {})) {
99
- secQuery.push(encodeForm(k, v, { charEncoding: "percent" }));
100
- }
101
- if (secQuery.length) {
102
- finalQuery += `&${secQuery.join("&")}`;
103
- }
125
+ let finalQuery = query || "";
104
126
 
105
- if (finalQuery) {
106
- const q = finalQuery.startsWith("&") ? finalQuery.slice(1) : finalQuery;
107
- reqURL.search = `?${q}`;
108
- }
127
+ const secQuery: string[] = [];
128
+ for (const [k, v] of Object.entries(security?.queryParams || {})) {
129
+ secQuery.push(encodeForm(k, v, { charEncoding: "percent" }));
130
+ }
131
+ if (secQuery.length) {
132
+ finalQuery += `&${secQuery.join("&")}`;
133
+ }
109
134
 
110
- const headers = new Headers(opHeaders);
135
+ if (finalQuery) {
136
+ const q = finalQuery.startsWith("&") ? finalQuery.slice(1) : finalQuery;
137
+ reqURL.search = `?${q}`;
138
+ }
111
139
 
112
- const username = security?.basic.username;
113
- const password = security?.basic.password;
114
- if (username != null || password != null) {
115
- const encoded = stringToBase64([username || "", password || ""].join(":"));
116
- headers.set("Authorization", `Basic ${encoded}`);
117
- }
140
+ const headers = new Headers(opHeaders);
118
141
 
119
- const securityHeaders = new Headers(security?.headers || {});
120
- for (const [k, v] of securityHeaders) {
121
- headers.set(k, v);
122
- }
142
+ const username = security?.basic.username;
143
+ const password = security?.basic.password;
144
+ if (username != null || password != null) {
145
+ const encoded = stringToBase64(
146
+ [username || "", password || ""].join(":"),
147
+ );
148
+ headers.set("Authorization", `Basic ${encoded}`);
149
+ }
123
150
 
124
- let cookie = headers.get("cookie") || "";
125
- for (const [k, v] of Object.entries(security?.cookies || {})) {
126
- cookie += `; ${k}=${v}`;
127
- }
128
- cookie = cookie.startsWith("; ") ? cookie.slice(2) : cookie;
129
- headers.set("cookie", cookie);
151
+ const securityHeaders = new Headers(security?.headers || {});
152
+ for (const [k, v] of securityHeaders) {
153
+ headers.set(k, v);
154
+ }
130
155
 
131
- const userHeaders = new Headers(options?.fetchOptions?.headers);
132
- for (const [k, v] of userHeaders) {
133
- headers.set(k, v);
134
- }
156
+ let cookie = headers.get("cookie") || "";
157
+ for (const [k, v] of Object.entries(security?.cookies || {})) {
158
+ cookie += `; ${k}=${v}`;
159
+ }
160
+ cookie = cookie.startsWith("; ") ? cookie.slice(2) : cookie;
161
+ headers.set("cookie", cookie);
135
162
 
136
- // Only set user agent header in non-browser-like environments since CORS
137
- // policy disallows setting it in browsers e.g. Chrome throws an error.
138
- if (!isBrowserLike) {
139
- headers.set(conf.uaHeader ?? "user-agent", SDK_METADATA.userAgent);
140
- }
163
+ const userHeaders = new Headers(options?.fetchOptions?.headers);
164
+ for (const [k, v] of userHeaders) {
165
+ headers.set(k, v);
166
+ }
141
167
 
142
- let fetchOptions = options?.fetchOptions;
143
- if (!fetchOptions?.signal && conf.timeoutMs && conf.timeoutMs > 0) {
144
- const timeoutSignal = AbortSignal.timeout(conf.timeoutMs);
145
- if (!fetchOptions) {
146
- fetchOptions = { signal: timeoutSignal };
147
- } else {
148
- fetchOptions.signal = timeoutSignal;
149
- }
150
- }
168
+ // Only set user agent header in non-browser-like environments since CORS
169
+ // policy disallows setting it in browsers e.g. Chrome throws an error.
170
+ if (!isBrowserLike) {
171
+ headers.set(conf.uaHeader ?? "user-agent", SDK_METADATA.userAgent);
172
+ }
151
173
 
152
- const input = this.hooks$.beforeCreateRequest(context, {
153
- url: reqURL,
154
- options: {
155
- ...fetchOptions,
156
- body: conf.body ?? null,
157
- headers,
158
- method,
159
- },
160
- });
174
+ let fetchOptions = options?.fetchOptions;
175
+ if (!fetchOptions?.signal && conf.timeoutMs && conf.timeoutMs > 0) {
176
+ const timeoutSignal = AbortSignal.timeout(conf.timeoutMs);
177
+ if (!fetchOptions) {
178
+ fetchOptions = { signal: timeoutSignal };
179
+ } else {
180
+ fetchOptions.signal = timeoutSignal;
181
+ }
182
+ }
161
183
 
162
- return new Request(input.url, input.options);
184
+ if (conf.body instanceof ReadableStream) {
185
+ if (!fetchOptions) {
186
+ fetchOptions = {
187
+ // @ts-expect-error see https://github.com/node-fetch/node-fetch/issues/1769
188
+ duplex: "half",
189
+ };
190
+ } else {
191
+ // @ts-expect-error see https://github.com/node-fetch/node-fetch/issues/1769
192
+ fetchOptions.duplex = "half";
193
+ }
163
194
  }
164
195
 
165
- protected async do$(
166
- request: Request,
196
+ let input;
197
+ try {
198
+ input = this.hooks$.beforeCreateRequest(context, {
199
+ url: reqURL,
167
200
  options: {
168
- context: HookContext;
169
- errorCodes: number | string | (number | string)[];
170
- retryConfig?: RetryConfig | undefined;
171
- retryCodes?: string[] | undefined;
172
- }
173
- ): Promise<Response> {
174
- const { context, errorCodes } = options;
175
- const retryConfig = options.retryConfig || { strategy: "none" };
176
- const retryCodes = options.retryCodes || [];
177
-
178
- return retry(
179
- async () => {
180
- const req = request.clone();
181
-
182
- let response = await this.client.request(
183
- await this.hooks$.beforeRequest(context, req)
184
- );
185
-
186
- if (matchStatusCode(response, errorCodes)) {
187
- const result = await this.hooks$.afterError(context, response, null);
188
- if (result.error) {
189
- throw result.error;
190
- }
191
- response = result.response || response;
192
- } else {
193
- response = await this.hooks$.afterSuccess(context, response);
194
- }
195
-
196
- return response;
197
- },
198
- { config: retryConfig, statusCodes: retryCodes }
199
- );
201
+ ...fetchOptions,
202
+ body: conf.body ?? null,
203
+ headers,
204
+ method,
205
+ },
206
+ });
207
+ } catch (err: unknown) {
208
+ return ERR(
209
+ new UnexpectedClientError("Create request hook failed to execute", {
210
+ cause: err,
211
+ }),
212
+ );
200
213
  }
201
214
 
202
- protected matcher<Result>(): ResponseMatcher<Result> {
203
- return new ResponseMatcher<Result>();
215
+ return OK(new Request(input.url, input.options));
216
+ }
217
+
218
+ public async do$(
219
+ request: Request,
220
+ options: {
221
+ context: HookContext;
222
+ errorCodes: number | string | (number | string)[];
223
+ retryConfig?: RetryConfig | undefined;
224
+ retryCodes?: string[] | undefined;
225
+ },
226
+ ): Promise<
227
+ Result<
228
+ Response,
229
+ | RequestAbortedError
230
+ | RequestTimeoutError
231
+ | ConnectionError
232
+ | UnexpectedClientError
233
+ >
234
+ > {
235
+ const { context, errorCodes } = options;
236
+ const retryConfig = options.retryConfig || { strategy: "none" };
237
+ const retryCodes = options.retryCodes || [];
238
+
239
+ return retry(
240
+ async () => {
241
+ const req = await this.hooks$.beforeRequest(context, request.clone());
242
+ await logRequest(this.logger, req).catch((e) =>
243
+ this.logger?.log("Failed to log request:", e)
244
+ );
245
+
246
+ let response = await this.httpClient.request(req);
247
+
248
+ if (matchStatusCode(response, errorCodes)) {
249
+ const result = await this.hooks$.afterError(context, response, null);
250
+ if (result.error) {
251
+ throw result.error;
252
+ }
253
+ response = result.response || response;
254
+ } else {
255
+ response = await this.hooks$.afterSuccess(context, response);
256
+ }
257
+
258
+ await logResponse(this.logger, response, req)
259
+ .catch(e => this.logger?.log("Failed to log response:", e));
260
+
261
+ return response;
262
+ },
263
+ { config: retryConfig, statusCodes: retryCodes },
264
+ ).then(
265
+ (r) => OK(r),
266
+ (err) => {
267
+ switch (true) {
268
+ case isAbortError(err):
269
+ return ERR(
270
+ new RequestAbortedError("Request aborted by client", {
271
+ cause: err,
272
+ }),
273
+ );
274
+ case isTimeoutError(err):
275
+ return ERR(
276
+ new RequestTimeoutError("Request timed out", { cause: err }),
277
+ );
278
+ case isConnectionError(err):
279
+ return ERR(
280
+ new ConnectionError("Unable to make request", { cause: err }),
281
+ );
282
+ default:
283
+ return ERR(
284
+ new UnexpectedClientError("Unexpected HTTP client error", {
285
+ cause: err,
286
+ }),
287
+ );
288
+ }
289
+ },
290
+ );
291
+ }
292
+ }
293
+
294
+ const jsonLikeContentTypeRE = /^application\/(?:.{0,100}\+)?json/;
295
+ async function logRequest(logger: Logger | undefined, req: Request) {
296
+ if (!logger) {
297
+ return;
298
+ }
299
+
300
+ const contentType = req.headers.get("content-type");
301
+ const ct = contentType?.split(";")[0] || "";
302
+
303
+ logger.group(`> Request: ${req.method} ${req.url}`);
304
+
305
+ logger.group("Headers:");
306
+ for (const [k, v] of req.headers.entries()) {
307
+ logger.log(`${k}: ${v}`);
308
+ }
309
+ logger.groupEnd();
310
+
311
+ logger.group("Body:");
312
+ switch (true) {
313
+ case jsonLikeContentTypeRE.test(ct):
314
+ logger.log(await req.clone().json());
315
+ break;
316
+ case ct.startsWith("text/"):
317
+ logger.log(await req.clone().text());
318
+ break;
319
+ case ct === "multipart/form-data": {
320
+ const body = await req.clone().formData();
321
+ for (const [k, v] of body) {
322
+ const vlabel = v instanceof Blob ? "<Blob>" : v;
323
+ logger.log(`${k}: ${vlabel}`);
324
+ }
325
+ break;
204
326
  }
327
+ default:
328
+ logger.log(`<${contentType}>`);
329
+ break;
330
+ }
331
+ logger.groupEnd();
205
332
 
206
- protected templateURLComponent = pathToFunc;
333
+ logger.groupEnd();
334
+ }
335
+
336
+ async function logResponse(
337
+ logger: Logger | undefined,
338
+ res: Response,
339
+ req: Request,
340
+ ) {
341
+ if (!logger) {
342
+ return;
343
+ }
344
+
345
+ const contentType = res.headers.get("content-type");
346
+ const ct = contentType?.split(";")[0] || "";
347
+
348
+ logger.group(`< Response: ${req.method} ${req.url}`);
349
+ logger.log("Status Code:", res.status, res.statusText);
350
+
351
+ logger.group("Headers:");
352
+ for (const [k, v] of res.headers.entries()) {
353
+ logger.log(`${k}: ${v}`);
354
+ }
355
+ logger.groupEnd();
356
+
357
+ logger.group("Body:");
358
+ switch (true) {
359
+ case matchContentType(res, "application/json")
360
+ || jsonLikeContentTypeRE.test(ct):
361
+ logger.log(await res.clone().json());
362
+ break;
363
+ case matchContentType(res, "text/event-stream"):
364
+ logger.log(`<${contentType}>`);
365
+ break;
366
+ case matchContentType(res, "text/*"):
367
+ logger.log(await res.clone().text());
368
+ break;
369
+ case matchContentType(res, "multipart/form-data"): {
370
+ const body = await res.clone().formData();
371
+ for (const [k, v] of body) {
372
+ const vlabel = v instanceof Blob ? "<Blob>" : v;
373
+ logger.log(`${k}: ${vlabel}`);
374
+ }
375
+ break;
376
+ }
377
+ default:
378
+ logger.log(`<${contentType}>`);
379
+ break;
380
+ }
381
+ logger.groupEnd();
207
382
 
208
- protected resolveSecurity = resolveSecurity;
209
- protected resolveGlobalSecurity = resolveGlobalSecurity;
383
+ logger.groupEnd();
210
384
  }