@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.
- package/FUNCTIONS.md +104 -0
- package/README.md +26 -47
- package/RUNTIMES.md +22 -0
- package/docs/sdks/elements/README.md +227 -0
- package/docs/sdks/leonardo/README.md +3 -1
- package/funcs/datasetCreateDataset.d.ts.map +1 -1
- package/funcs/datasetCreateDataset.js +8 -4
- package/funcs/datasetCreateDataset.js.map +1 -1
- package/funcs/datasetDeleteDatasetById.d.ts.map +1 -1
- package/funcs/datasetDeleteDatasetById.js +8 -4
- package/funcs/datasetDeleteDatasetById.js.map +1 -1
- package/funcs/datasetGetDatasetById.d.ts.map +1 -1
- package/funcs/datasetGetDatasetById.js +8 -4
- package/funcs/datasetGetDatasetById.js.map +1 -1
- package/funcs/datasetUploadDatasetImage.d.ts.map +1 -1
- package/funcs/datasetUploadDatasetImage.js +8 -4
- package/funcs/datasetUploadDatasetImage.js.map +1 -1
- package/funcs/datasetUploadDatasetImageFromGen.d.ts.map +1 -1
- package/funcs/datasetUploadDatasetImageFromGen.js +8 -4
- package/funcs/datasetUploadDatasetImageFromGen.js.map +1 -1
- package/funcs/elementsCreateElement.d.ts +15 -0
- package/funcs/elementsCreateElement.d.ts.map +1 -0
- package/funcs/elementsCreateElement.js +105 -0
- package/funcs/elementsCreateElement.js.map +1 -0
- package/funcs/elementsDeleteElementById.d.ts +15 -0
- package/funcs/elementsDeleteElementById.d.ts.map +1 -0
- package/funcs/elementsDeleteElementById.js +113 -0
- package/funcs/elementsDeleteElementById.js.map +1 -0
- package/funcs/elementsGetElementById.d.ts +15 -0
- package/funcs/elementsGetElementById.d.ts.map +1 -0
- package/funcs/elementsGetElementById.js +113 -0
- package/funcs/elementsGetElementById.js.map +1 -0
- package/funcs/elementsListElements.d.ts.map +1 -1
- package/funcs/elementsListElements.js +8 -4
- package/funcs/elementsListElements.js.map +1 -1
- package/funcs/imageCreateGeneration.d.ts.map +1 -1
- package/funcs/imageCreateGeneration.js +8 -4
- package/funcs/imageCreateGeneration.js.map +1 -1
- package/funcs/imageDeleteGenerationById.d.ts.map +1 -1
- package/funcs/imageDeleteGenerationById.js +8 -4
- package/funcs/imageDeleteGenerationById.js.map +1 -1
- package/funcs/imageGetGenerationById.d.ts.map +1 -1
- package/funcs/imageGetGenerationById.js +8 -4
- package/funcs/imageGetGenerationById.js.map +1 -1
- package/funcs/imageGetGenerationsByUserId.d.ts.map +1 -1
- package/funcs/imageGetGenerationsByUserId.js +8 -4
- package/funcs/imageGetGenerationsByUserId.js.map +1 -1
- package/funcs/initImagesDeleteInitImageById.d.ts.map +1 -1
- package/funcs/initImagesDeleteInitImageById.js +8 -4
- package/funcs/initImagesDeleteInitImageById.js.map +1 -1
- package/funcs/initImagesGetInitImageById.d.ts.map +1 -1
- package/funcs/initImagesGetInitImageById.js +8 -4
- package/funcs/initImagesGetInitImageById.js.map +1 -1
- package/funcs/initImagesUploadCanvasInitImage.d.ts.map +1 -1
- package/funcs/initImagesUploadCanvasInitImage.js +8 -4
- package/funcs/initImagesUploadCanvasInitImage.js.map +1 -1
- package/funcs/initImagesUploadInitImage.d.ts.map +1 -1
- package/funcs/initImagesUploadInitImage.js +8 -4
- package/funcs/initImagesUploadInitImage.js.map +1 -1
- package/funcs/modelsCreateModel.d.ts.map +1 -1
- package/funcs/modelsCreateModel.js +8 -4
- package/funcs/modelsCreateModel.js.map +1 -1
- package/funcs/modelsDeleteModelById.d.ts.map +1 -1
- package/funcs/modelsDeleteModelById.js +8 -4
- package/funcs/modelsDeleteModelById.js.map +1 -1
- package/funcs/modelsGetModelById.d.ts.map +1 -1
- package/funcs/modelsGetModelById.js +8 -4
- package/funcs/modelsGetModelById.js.map +1 -1
- package/funcs/modelsListPlatformModels.d.ts.map +1 -1
- package/funcs/modelsListPlatformModels.js +8 -4
- package/funcs/modelsListPlatformModels.js.map +1 -1
- package/funcs/motionCreateSVDMotionGeneration.d.ts.map +1 -1
- package/funcs/motionCreateSVDMotionGeneration.js +8 -4
- package/funcs/motionCreateSVDMotionGeneration.js.map +1 -1
- package/funcs/pricingCalculatorPricingCalculator.d.ts.map +1 -1
- package/funcs/pricingCalculatorPricingCalculator.js +8 -4
- package/funcs/pricingCalculatorPricingCalculator.js.map +1 -1
- package/funcs/promptPromptImprove.d.ts.map +1 -1
- package/funcs/promptPromptImprove.js +8 -4
- package/funcs/promptPromptImprove.js.map +1 -1
- package/funcs/promptPromptRandom.d.ts.map +1 -1
- package/funcs/promptPromptRandom.js +8 -4
- package/funcs/promptPromptRandom.js.map +1 -1
- package/funcs/realtimeCanvasCreateLCMGeneration.d.ts.map +1 -1
- package/funcs/realtimeCanvasCreateLCMGeneration.js +8 -4
- package/funcs/realtimeCanvasCreateLCMGeneration.js.map +1 -1
- package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.d.ts.map +1 -1
- package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.js +8 -4
- package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.js.map +1 -1
- package/funcs/realtimeCanvasPerformInpaintingLCM.d.ts.map +1 -1
- package/funcs/realtimeCanvasPerformInpaintingLCM.js +8 -4
- package/funcs/realtimeCanvasPerformInpaintingLCM.js.map +1 -1
- package/funcs/realtimeCanvasPerformInstantRefine.d.ts.map +1 -1
- package/funcs/realtimeCanvasPerformInstantRefine.js +8 -4
- package/funcs/realtimeCanvasPerformInstantRefine.js.map +1 -1
- package/funcs/textureCreateTextureGeneration.d.ts.map +1 -1
- package/funcs/textureCreateTextureGeneration.js +8 -4
- package/funcs/textureCreateTextureGeneration.js.map +1 -1
- package/funcs/textureDeleteTextureGenerationById.d.ts.map +1 -1
- package/funcs/textureDeleteTextureGenerationById.js +8 -4
- package/funcs/textureDeleteTextureGenerationById.js.map +1 -1
- package/funcs/threeDModelAssetsDelete3DModelById.d.ts.map +1 -1
- package/funcs/threeDModelAssetsDelete3DModelById.js +8 -4
- package/funcs/threeDModelAssetsDelete3DModelById.js.map +1 -1
- package/funcs/threeDModelAssetsUploadModelAsset.d.ts.map +1 -1
- package/funcs/threeDModelAssetsUploadModelAsset.js +8 -4
- package/funcs/threeDModelAssetsUploadModelAsset.js.map +1 -1
- package/funcs/userGetUserSelf.d.ts.map +1 -1
- package/funcs/userGetUserSelf.js +8 -4
- package/funcs/userGetUserSelf.js.map +1 -1
- package/funcs/variationCreateUniversalUpscalerJob.d.ts.map +1 -1
- package/funcs/variationCreateUniversalUpscalerJob.js +8 -4
- package/funcs/variationCreateUniversalUpscalerJob.js.map +1 -1
- package/funcs/variationCreateVariationNoBG.d.ts.map +1 -1
- package/funcs/variationCreateVariationNoBG.js +8 -4
- package/funcs/variationCreateVariationNoBG.js.map +1 -1
- package/funcs/variationCreateVariationUnzoom.d.ts.map +1 -1
- package/funcs/variationCreateVariationUnzoom.js +8 -4
- package/funcs/variationCreateVariationUnzoom.js.map +1 -1
- package/funcs/variationCreateVariationUpscale.d.ts.map +1 -1
- package/funcs/variationCreateVariationUpscale.js +8 -4
- package/funcs/variationCreateVariationUpscale.js.map +1 -1
- package/funcs/variationGetVariationById.d.ts.map +1 -1
- package/funcs/variationGetVariationById.js +8 -4
- package/funcs/variationGetVariationById.js.map +1 -1
- package/hooks/types.d.ts +4 -0
- package/hooks/types.d.ts.map +1 -1
- package/lib/config.d.ts +3 -3
- package/lib/config.js +3 -3
- package/lib/matchers.js +1 -1
- package/lib/matchers.js.map +1 -1
- package/lib/primitives.d.ts +6 -0
- package/lib/primitives.d.ts.map +1 -1
- package/lib/primitives.js +66 -1
- package/lib/primitives.js.map +1 -1
- package/lib/retries.d.ts +20 -0
- package/lib/retries.d.ts.map +1 -1
- package/lib/retries.js +51 -27
- package/lib/retries.js.map +1 -1
- package/lib/sdks.d.ts +2 -2
- package/lib/sdks.d.ts.map +1 -1
- package/lib/sdks.js +14 -12
- package/lib/sdks.js.map +1 -1
- package/lib/security.d.ts +20 -1
- package/lib/security.d.ts.map +1 -1
- package/lib/security.js +11 -1
- package/lib/security.js.map +1 -1
- package/package.json +3 -1
- package/sdk/elements.d.ts +21 -0
- package/sdk/elements.d.ts.map +1 -1
- package/sdk/elements.js +30 -0
- package/sdk/elements.js.map +1 -1
- package/sdk/models/operations/createdataset.d.ts +10 -0
- package/sdk/models/operations/createdataset.d.ts.map +1 -1
- package/sdk/models/operations/createdataset.js +34 -1
- package/sdk/models/operations/createdataset.js.map +1 -1
- package/sdk/models/operations/createelement.d.ts +182 -0
- package/sdk/models/operations/createelement.d.ts.map +1 -0
- package/sdk/models/operations/createelement.js +200 -0
- package/sdk/models/operations/createelement.js.map +1 -0
- package/sdk/models/operations/creategeneration.d.ts +10 -0
- package/sdk/models/operations/creategeneration.d.ts.map +1 -1
- package/sdk/models/operations/creategeneration.js +34 -1
- package/sdk/models/operations/creategeneration.js.map +1 -1
- package/sdk/models/operations/createlcmgeneration.d.ts +10 -0
- package/sdk/models/operations/createlcmgeneration.d.ts.map +1 -1
- package/sdk/models/operations/createlcmgeneration.js +34 -1
- package/sdk/models/operations/createlcmgeneration.js.map +1 -1
- package/sdk/models/operations/createmodel.d.ts +23 -13
- package/sdk/models/operations/createmodel.d.ts.map +1 -1
- package/sdk/models/operations/createmodel.js +45 -14
- package/sdk/models/operations/createmodel.js.map +1 -1
- package/sdk/models/operations/createsvdmotiongeneration.d.ts +10 -0
- package/sdk/models/operations/createsvdmotiongeneration.d.ts.map +1 -1
- package/sdk/models/operations/createsvdmotiongeneration.js +34 -1
- package/sdk/models/operations/createsvdmotiongeneration.js.map +1 -1
- package/sdk/models/operations/createtexturegeneration.d.ts +10 -0
- package/sdk/models/operations/createtexturegeneration.d.ts.map +1 -1
- package/sdk/models/operations/createtexturegeneration.js +34 -1
- package/sdk/models/operations/createtexturegeneration.js.map +1 -1
- package/sdk/models/operations/createuniversalupscalerjob.d.ts +10 -0
- package/sdk/models/operations/createuniversalupscalerjob.d.ts.map +1 -1
- package/sdk/models/operations/createuniversalupscalerjob.js +34 -1
- package/sdk/models/operations/createuniversalupscalerjob.js.map +1 -1
- package/sdk/models/operations/createvariationnobg.d.ts +10 -0
- package/sdk/models/operations/createvariationnobg.d.ts.map +1 -1
- package/sdk/models/operations/createvariationnobg.js +34 -1
- package/sdk/models/operations/createvariationnobg.js.map +1 -1
- package/sdk/models/operations/createvariationunzoom.d.ts +10 -0
- package/sdk/models/operations/createvariationunzoom.d.ts.map +1 -1
- package/sdk/models/operations/createvariationunzoom.js +34 -1
- package/sdk/models/operations/createvariationunzoom.js.map +1 -1
- package/sdk/models/operations/createvariationupscale.d.ts +10 -0
- package/sdk/models/operations/createvariationupscale.d.ts.map +1 -1
- package/sdk/models/operations/createvariationupscale.js +34 -1
- package/sdk/models/operations/createvariationupscale.js.map +1 -1
- package/sdk/models/operations/delete3dmodelbyid.d.ts +12 -0
- package/sdk/models/operations/delete3dmodelbyid.d.ts.map +1 -1
- package/sdk/models/operations/delete3dmodelbyid.js +42 -1
- package/sdk/models/operations/delete3dmodelbyid.js.map +1 -1
- package/sdk/models/operations/deletedatasetbyid.d.ts +10 -0
- package/sdk/models/operations/deletedatasetbyid.d.ts.map +1 -1
- package/sdk/models/operations/deletedatasetbyid.js +34 -1
- package/sdk/models/operations/deletedatasetbyid.js.map +1 -1
- package/sdk/models/operations/deleteelementbyid.d.ts +134 -0
- package/sdk/models/operations/deleteelementbyid.d.ts.map +1 -0
- package/sdk/models/operations/deleteelementbyid.js +171 -0
- package/sdk/models/operations/deleteelementbyid.js.map +1 -0
- package/sdk/models/operations/deletegenerationbyid.d.ts +10 -0
- package/sdk/models/operations/deletegenerationbyid.d.ts.map +1 -1
- package/sdk/models/operations/deletegenerationbyid.js +34 -1
- package/sdk/models/operations/deletegenerationbyid.js.map +1 -1
- package/sdk/models/operations/deleteinitimagebyid.d.ts +10 -0
- package/sdk/models/operations/deleteinitimagebyid.d.ts.map +1 -1
- package/sdk/models/operations/deleteinitimagebyid.js +34 -1
- package/sdk/models/operations/deleteinitimagebyid.js.map +1 -1
- package/sdk/models/operations/deletemodelbyid.d.ts +10 -0
- package/sdk/models/operations/deletemodelbyid.d.ts.map +1 -1
- package/sdk/models/operations/deletemodelbyid.js +34 -1
- package/sdk/models/operations/deletemodelbyid.js.map +1 -1
- package/sdk/models/operations/deletetexturegenerationbyid.d.ts +12 -0
- package/sdk/models/operations/deletetexturegenerationbyid.d.ts.map +1 -1
- package/sdk/models/operations/deletetexturegenerationbyid.js +42 -1
- package/sdk/models/operations/deletetexturegenerationbyid.js.map +1 -1
- package/sdk/models/operations/getdatasetbyid.d.ts +12 -0
- package/sdk/models/operations/getdatasetbyid.d.ts.map +1 -1
- package/sdk/models/operations/getdatasetbyid.js +42 -1
- package/sdk/models/operations/getdatasetbyid.js.map +1 -1
- package/sdk/models/operations/getelementbyid.d.ts +162 -0
- package/sdk/models/operations/getelementbyid.d.ts.map +1 -0
- package/sdk/models/operations/getelementbyid.js +194 -0
- package/sdk/models/operations/getelementbyid.js.map +1 -0
- package/sdk/models/operations/getgenerationbyid.d.ts +18 -0
- package/sdk/models/operations/getgenerationbyid.d.ts.map +1 -1
- package/sdk/models/operations/getgenerationbyid.js +66 -1
- package/sdk/models/operations/getgenerationbyid.js.map +1 -1
- package/sdk/models/operations/getgenerationsbyuserid.d.ts +18 -0
- package/sdk/models/operations/getgenerationsbyuserid.d.ts.map +1 -1
- package/sdk/models/operations/getgenerationsbyuserid.js +66 -1
- package/sdk/models/operations/getgenerationsbyuserid.js.map +1 -1
- package/sdk/models/operations/getinitimagebyid.d.ts +10 -0
- package/sdk/models/operations/getinitimagebyid.d.ts.map +1 -1
- package/sdk/models/operations/getinitimagebyid.js +34 -1
- package/sdk/models/operations/getinitimagebyid.js.map +1 -1
- package/sdk/models/operations/getmodelbyid.d.ts +10 -0
- package/sdk/models/operations/getmodelbyid.d.ts.map +1 -1
- package/sdk/models/operations/getmodelbyid.js +34 -1
- package/sdk/models/operations/getmodelbyid.js.map +1 -1
- package/sdk/models/operations/getuserself.d.ts +10 -0
- package/sdk/models/operations/getuserself.d.ts.map +1 -1
- package/sdk/models/operations/getuserself.js +34 -1
- package/sdk/models/operations/getuserself.js.map +1 -1
- package/sdk/models/operations/getvariationbyid.d.ts +10 -0
- package/sdk/models/operations/getvariationbyid.d.ts.map +1 -1
- package/sdk/models/operations/getvariationbyid.js +34 -1
- package/sdk/models/operations/getvariationbyid.js.map +1 -1
- package/sdk/models/operations/index.d.ts +3 -0
- package/sdk/models/operations/index.d.ts.map +1 -1
- package/sdk/models/operations/index.js +3 -0
- package/sdk/models/operations/index.js.map +1 -1
- package/sdk/models/operations/listelements.d.ts +11 -3
- package/sdk/models/operations/listelements.d.ts.map +1 -1
- package/sdk/models/operations/listelements.js +26 -1
- package/sdk/models/operations/listelements.js.map +1 -1
- package/sdk/models/operations/listplatformmodels.d.ts +10 -0
- package/sdk/models/operations/listplatformmodels.d.ts.map +1 -1
- package/sdk/models/operations/listplatformmodels.js +34 -1
- package/sdk/models/operations/listplatformmodels.js.map +1 -1
- package/sdk/models/operations/performalchemyupscalelcm.d.ts +10 -0
- package/sdk/models/operations/performalchemyupscalelcm.d.ts.map +1 -1
- package/sdk/models/operations/performalchemyupscalelcm.js +34 -1
- package/sdk/models/operations/performalchemyupscalelcm.js.map +1 -1
- package/sdk/models/operations/performinpaintinglcm.d.ts +10 -0
- package/sdk/models/operations/performinpaintinglcm.d.ts.map +1 -1
- package/sdk/models/operations/performinpaintinglcm.js +34 -1
- package/sdk/models/operations/performinpaintinglcm.js.map +1 -1
- package/sdk/models/operations/performinstantrefine.d.ts +10 -0
- package/sdk/models/operations/performinstantrefine.d.ts.map +1 -1
- package/sdk/models/operations/performinstantrefine.js +34 -1
- package/sdk/models/operations/performinstantrefine.js.map +1 -1
- package/sdk/models/operations/pricingcalculator.d.ts +28 -0
- package/sdk/models/operations/pricingcalculator.d.ts.map +1 -1
- package/sdk/models/operations/pricingcalculator.js +117 -1
- package/sdk/models/operations/pricingcalculator.js.map +1 -1
- package/sdk/models/operations/promptimprove.d.ts +10 -0
- package/sdk/models/operations/promptimprove.d.ts.map +1 -1
- package/sdk/models/operations/promptimprove.js +34 -1
- package/sdk/models/operations/promptimprove.js.map +1 -1
- package/sdk/models/operations/promptrandom.d.ts +8 -0
- package/sdk/models/operations/promptrandom.d.ts.map +1 -1
- package/sdk/models/operations/promptrandom.js +26 -1
- package/sdk/models/operations/promptrandom.js.map +1 -1
- package/sdk/models/operations/uploadcanvasinitimage.d.ts +10 -0
- package/sdk/models/operations/uploadcanvasinitimage.d.ts.map +1 -1
- package/sdk/models/operations/uploadcanvasinitimage.js +34 -1
- package/sdk/models/operations/uploadcanvasinitimage.js.map +1 -1
- package/sdk/models/operations/uploaddatasetimage.d.ts +12 -0
- package/sdk/models/operations/uploaddatasetimage.d.ts.map +1 -1
- package/sdk/models/operations/uploaddatasetimage.js +42 -1
- package/sdk/models/operations/uploaddatasetimage.js.map +1 -1
- package/sdk/models/operations/uploaddatasetimagefromgen.d.ts +12 -0
- package/sdk/models/operations/uploaddatasetimagefromgen.d.ts.map +1 -1
- package/sdk/models/operations/uploaddatasetimagefromgen.js +42 -1
- package/sdk/models/operations/uploaddatasetimagefromgen.js.map +1 -1
- package/sdk/models/operations/uploadinitimage.d.ts +10 -0
- package/sdk/models/operations/uploadinitimage.d.ts.map +1 -1
- package/sdk/models/operations/uploadinitimage.js +34 -1
- package/sdk/models/operations/uploadinitimage.js.map +1 -1
- package/sdk/models/operations/uploadmodelasset.d.ts +10 -0
- package/sdk/models/operations/uploadmodelasset.d.ts.map +1 -1
- package/sdk/models/operations/uploadmodelasset.js +34 -1
- package/sdk/models/operations/uploadmodelasset.js.map +1 -1
- package/sdk/models/shared/controlnetinput.d.ts +4 -0
- package/sdk/models/shared/controlnetinput.d.ts.map +1 -1
- package/sdk/models/shared/controlnetinput.js +10 -1
- package/sdk/models/shared/controlnetinput.js.map +1 -1
- package/sdk/models/shared/elementinput.d.ts +4 -0
- package/sdk/models/shared/elementinput.d.ts.map +1 -1
- package/sdk/models/shared/elementinput.js +10 -1
- package/sdk/models/shared/elementinput.js.map +1 -1
- package/sdk/models/shared/sdversions.d.ts +2 -1
- package/sdk/models/shared/sdversions.d.ts.map +1 -1
- package/sdk/models/shared/sdversions.js +1 -0
- package/sdk/models/shared/sdversions.js.map +1 -1
- package/sdk/models/shared/security.d.ts +4 -0
- package/sdk/models/shared/security.d.ts.map +1 -1
- package/sdk/models/shared/security.js +10 -1
- package/sdk/models/shared/security.js.map +1 -1
- package/sdk/types/operations.d.ts +5 -3
- package/sdk/types/operations.d.ts.map +1 -1
- package/sdk/types/operations.js +3 -1
- package/sdk/types/operations.js.map +1 -1
- package/src/funcs/datasetCreateDataset.ts +11 -4
- package/src/funcs/datasetDeleteDatasetById.ts +11 -4
- package/src/funcs/datasetGetDatasetById.ts +11 -4
- package/src/funcs/datasetUploadDatasetImage.ts +11 -4
- package/src/funcs/datasetUploadDatasetImageFromGen.ts +11 -4
- package/src/funcs/elementsCreateElement.ts +132 -0
- package/src/funcs/elementsDeleteElementById.ts +142 -0
- package/src/funcs/elementsGetElementById.ts +142 -0
- package/src/funcs/elementsListElements.ts +11 -4
- package/src/funcs/imageCreateGeneration.ts +11 -4
- package/src/funcs/imageDeleteGenerationById.ts +11 -4
- package/src/funcs/imageGetGenerationById.ts +11 -4
- package/src/funcs/imageGetGenerationsByUserId.ts +11 -4
- package/src/funcs/initImagesDeleteInitImageById.ts +11 -4
- package/src/funcs/initImagesGetInitImageById.ts +11 -4
- package/src/funcs/initImagesUploadCanvasInitImage.ts +11 -4
- package/src/funcs/initImagesUploadInitImage.ts +11 -4
- package/src/funcs/modelsCreateModel.ts +11 -4
- package/src/funcs/modelsDeleteModelById.ts +11 -4
- package/src/funcs/modelsGetModelById.ts +11 -4
- package/src/funcs/modelsListPlatformModels.ts +11 -4
- package/src/funcs/motionCreateSVDMotionGeneration.ts +11 -4
- package/src/funcs/pricingCalculatorPricingCalculator.ts +11 -4
- package/src/funcs/promptPromptImprove.ts +11 -4
- package/src/funcs/promptPromptRandom.ts +11 -4
- package/src/funcs/realtimeCanvasCreateLCMGeneration.ts +11 -4
- package/src/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.ts +11 -4
- package/src/funcs/realtimeCanvasPerformInpaintingLCM.ts +11 -4
- package/src/funcs/realtimeCanvasPerformInstantRefine.ts +11 -4
- package/src/funcs/textureCreateTextureGeneration.ts +11 -4
- package/src/funcs/textureDeleteTextureGenerationById.ts +11 -4
- package/src/funcs/threeDModelAssetsDelete3DModelById.ts +11 -4
- package/src/funcs/threeDModelAssetsUploadModelAsset.ts +11 -4
- package/src/funcs/userGetUserSelf.ts +11 -4
- package/src/funcs/variationCreateUniversalUpscalerJob.ts +11 -4
- package/src/funcs/variationCreateVariationNoBG.ts +11 -4
- package/src/funcs/variationCreateVariationUnzoom.ts +11 -4
- package/src/funcs/variationCreateVariationUpscale.ts +11 -4
- package/src/funcs/variationGetVariationById.ts +11 -4
- package/src/hooks/types.ts +4 -0
- package/src/lib/config.ts +3 -3
- package/src/lib/matchers.ts +1 -1
- package/src/lib/primitives.ts +82 -0
- package/src/lib/retries.ts +63 -31
- package/src/lib/sdks.ts +19 -15
- package/src/lib/security.ts +39 -3
- package/src/sdk/elements.ts +54 -0
- package/src/sdk/models/operations/createdataset.ts +71 -0
- package/src/sdk/models/operations/createelement.ts +377 -0
- package/src/sdk/models/operations/creategeneration.ts +79 -0
- package/src/sdk/models/operations/createlcmgeneration.ts +81 -0
- package/src/sdk/models/operations/createmodel.ts +99 -20
- package/src/sdk/models/operations/createsvdmotiongeneration.ts +83 -0
- package/src/sdk/models/operations/createtexturegeneration.ts +83 -0
- package/src/sdk/models/operations/createuniversalupscalerjob.ts +85 -0
- package/src/sdk/models/operations/createvariationnobg.ts +81 -0
- package/src/sdk/models/operations/createvariationunzoom.ts +77 -0
- package/src/sdk/models/operations/createvariationupscale.ts +91 -0
- package/src/sdk/models/operations/delete3dmodelbyid.ts +93 -0
- package/src/sdk/models/operations/deletedatasetbyid.ts +77 -0
- package/src/sdk/models/operations/deleteelementbyid.ts +299 -0
- package/src/sdk/models/operations/deletegenerationbyid.ts +77 -0
- package/src/sdk/models/operations/deleteinitimagebyid.ts +75 -0
- package/src/sdk/models/operations/deletemodelbyid.ts +73 -0
- package/src/sdk/models/operations/deletetexturegenerationbyid.ts +114 -0
- package/src/sdk/models/operations/getdatasetbyid.ts +89 -0
- package/src/sdk/models/operations/getelementbyid.ts +355 -0
- package/src/sdk/models/operations/getgenerationbyid.ts +158 -0
- package/src/sdk/models/operations/getgenerationsbyuserid.ts +173 -0
- package/src/sdk/models/operations/getinitimagebyid.ts +77 -0
- package/src/sdk/models/operations/getmodelbyid.ts +75 -0
- package/src/sdk/models/operations/getuserself.ts +67 -0
- package/src/sdk/models/operations/getvariationbyid.ts +79 -0
- package/src/sdk/models/operations/index.ts +3 -0
- package/src/sdk/models/operations/listelements.ts +56 -3
- package/src/sdk/models/operations/listplatformmodels.ts +81 -0
- package/src/sdk/models/operations/performalchemyupscalelcm.ts +92 -0
- package/src/sdk/models/operations/performinpaintinglcm.ts +90 -0
- package/src/sdk/models/operations/performinstantrefine.ts +90 -0
- package/src/sdk/models/operations/pricingcalculator.ts +300 -0
- package/src/sdk/models/operations/promptimprove.ts +75 -0
- package/src/sdk/models/operations/promptrandom.ts +60 -0
- package/src/sdk/models/operations/uploadcanvasinitimage.ts +83 -0
- package/src/sdk/models/operations/uploaddatasetimage.ts +97 -0
- package/src/sdk/models/operations/uploaddatasetimagefromgen.ts +103 -0
- package/src/sdk/models/operations/uploadinitimage.ts +77 -0
- package/src/sdk/models/operations/uploadmodelasset.ts +79 -0
- package/src/sdk/models/shared/controlnetinput.ts +19 -0
- package/src/sdk/models/shared/elementinput.ts +17 -0
- package/src/sdk/models/shared/sdversions.ts +1 -0
- package/src/sdk/models/shared/security.ts +17 -0
- 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:
|
|
95
|
-
|
|
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:
|
|
74
|
-
|
|
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:
|
|
93
|
-
|
|
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:
|
|
91
|
-
|
|
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:
|
|
94
|
-
|
|
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:
|
|
94
|
-
|
|
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:
|
|
100
|
-
|
|
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;
|
package/src/hooks/types.ts
CHANGED
|
@@ -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.
|
|
61
|
-
genVersion: "2.
|
|
62
|
-
userAgent: "speakeasy-sdk/typescript 4.
|
|
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;
|
package/src/lib/matchers.ts
CHANGED
package/src/lib/primitives.ts
CHANGED
|
@@ -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
|
+
}
|
package/src/lib/retries.ts
CHANGED
|
@@ -26,23 +26,44 @@ export type RetryConfig =
|
|
|
26
26
|
retryConnectionErrors?: boolean;
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
41
|
-
|
|
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(
|
|
44
|
-
super(
|
|
45
|
-
this.
|
|
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(
|
|
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.
|
|
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.
|
|
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
|
|
157
|
-
|
|
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
|
|
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
|
|
224
|
-
retryCodes
|
|
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
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
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
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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) => {
|
package/src/lib/security.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
213
|
+
spec:
|
|
214
|
+
| SecurityInputBearer
|
|
215
|
+
| SecurityInputOAuth2
|
|
216
|
+
| SecurityInputOIDC
|
|
217
|
+
| SecurityInputOAuth2PasswordCredentials,
|
|
183
218
|
) {
|
|
184
|
-
if (spec.value
|
|
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 {
|