@leonardo-ai/sdk 4.21.1 → 4.21.3

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 (296) hide show
  1. package/README.md +9 -7
  2. package/funcs/blueprintsExecuteBlueprint.d.ts.map +1 -1
  3. package/funcs/blueprintsExecuteBlueprint.js +2 -1
  4. package/funcs/blueprintsExecuteBlueprint.js.map +1 -1
  5. package/funcs/blueprintsGetBlueprintById.d.ts.map +1 -1
  6. package/funcs/blueprintsGetBlueprintById.js +2 -1
  7. package/funcs/blueprintsGetBlueprintById.js.map +1 -1
  8. package/funcs/blueprintsGetBlueprintExecution.d.ts.map +1 -1
  9. package/funcs/blueprintsGetBlueprintExecution.js +2 -1
  10. package/funcs/blueprintsGetBlueprintExecution.js.map +1 -1
  11. package/funcs/blueprintsGetBlueprintExecutionGenerations.d.ts.map +1 -1
  12. package/funcs/blueprintsGetBlueprintExecutionGenerations.js +2 -1
  13. package/funcs/blueprintsGetBlueprintExecutionGenerations.js.map +1 -1
  14. package/funcs/blueprintsGetBlueprintVersionsByBlueprintId.d.ts.map +1 -1
  15. package/funcs/blueprintsGetBlueprintVersionsByBlueprintId.js +2 -1
  16. package/funcs/blueprintsGetBlueprintVersionsByBlueprintId.js.map +1 -1
  17. package/funcs/datasetCreateDataset.d.ts.map +1 -1
  18. package/funcs/datasetCreateDataset.js +2 -1
  19. package/funcs/datasetCreateDataset.js.map +1 -1
  20. package/funcs/datasetDeleteDatasetById.d.ts.map +1 -1
  21. package/funcs/datasetDeleteDatasetById.js +2 -1
  22. package/funcs/datasetDeleteDatasetById.js.map +1 -1
  23. package/funcs/datasetGetDatasetById.d.ts.map +1 -1
  24. package/funcs/datasetGetDatasetById.js +2 -1
  25. package/funcs/datasetGetDatasetById.js.map +1 -1
  26. package/funcs/datasetUploadDatasetImage.d.ts.map +1 -1
  27. package/funcs/datasetUploadDatasetImage.js +2 -1
  28. package/funcs/datasetUploadDatasetImage.js.map +1 -1
  29. package/funcs/datasetUploadDatasetImageFromGen.d.ts.map +1 -1
  30. package/funcs/datasetUploadDatasetImageFromGen.js +2 -1
  31. package/funcs/datasetUploadDatasetImageFromGen.js.map +1 -1
  32. package/funcs/elementsCreateElement.d.ts.map +1 -1
  33. package/funcs/elementsCreateElement.js +2 -1
  34. package/funcs/elementsCreateElement.js.map +1 -1
  35. package/funcs/elementsDeleteElementById.d.ts.map +1 -1
  36. package/funcs/elementsDeleteElementById.js +2 -1
  37. package/funcs/elementsDeleteElementById.js.map +1 -1
  38. package/funcs/elementsGetCustomElementsByUserId.d.ts.map +1 -1
  39. package/funcs/elementsGetCustomElementsByUserId.js +2 -1
  40. package/funcs/elementsGetCustomElementsByUserId.js.map +1 -1
  41. package/funcs/elementsGetElementById.d.ts.map +1 -1
  42. package/funcs/elementsGetElementById.js +2 -1
  43. package/funcs/elementsGetElementById.js.map +1 -1
  44. package/funcs/elementsListElements.d.ts.map +1 -1
  45. package/funcs/elementsListElements.js +2 -1
  46. package/funcs/elementsListElements.js.map +1 -1
  47. package/funcs/imageCreateGeneration.d.ts.map +1 -1
  48. package/funcs/imageCreateGeneration.js +2 -1
  49. package/funcs/imageCreateGeneration.js.map +1 -1
  50. package/funcs/imageDeleteGenerationById.d.ts.map +1 -1
  51. package/funcs/imageDeleteGenerationById.js +2 -1
  52. package/funcs/imageDeleteGenerationById.js.map +1 -1
  53. package/funcs/imageGetGenerationById.d.ts.map +1 -1
  54. package/funcs/imageGetGenerationById.js +2 -1
  55. package/funcs/imageGetGenerationById.js.map +1 -1
  56. package/funcs/imageGetGenerationsByUserId.d.ts.map +1 -1
  57. package/funcs/imageGetGenerationsByUserId.js +2 -1
  58. package/funcs/imageGetGenerationsByUserId.js.map +1 -1
  59. package/funcs/initImagesDeleteInitImageById.d.ts.map +1 -1
  60. package/funcs/initImagesDeleteInitImageById.js +2 -1
  61. package/funcs/initImagesDeleteInitImageById.js.map +1 -1
  62. package/funcs/initImagesGetInitImageById.d.ts.map +1 -1
  63. package/funcs/initImagesGetInitImageById.js +2 -1
  64. package/funcs/initImagesGetInitImageById.js.map +1 -1
  65. package/funcs/initImagesUploadCanvasInitImage.d.ts.map +1 -1
  66. package/funcs/initImagesUploadCanvasInitImage.js +2 -1
  67. package/funcs/initImagesUploadCanvasInitImage.js.map +1 -1
  68. package/funcs/initImagesUploadInitImage.d.ts.map +1 -1
  69. package/funcs/initImagesUploadInitImage.js +2 -1
  70. package/funcs/initImagesUploadInitImage.js.map +1 -1
  71. package/funcs/{textureCreateTextureGeneration.d.ts → mediaDeleteUploadedMediaById.d.ts} +4 -4
  72. package/funcs/mediaDeleteUploadedMediaById.d.ts.map +1 -0
  73. package/funcs/{textureDeleteTextureGenerationById.js → mediaDeleteUploadedMediaById.js} +14 -15
  74. package/funcs/mediaDeleteUploadedMediaById.js.map +1 -0
  75. package/funcs/{textureDeleteTextureGenerationById.d.ts → mediaGetUploadedMediaById.d.ts} +4 -4
  76. package/funcs/mediaGetUploadedMediaById.d.ts.map +1 -0
  77. package/funcs/mediaGetUploadedMediaById.js +132 -0
  78. package/funcs/mediaGetUploadedMediaById.js.map +1 -0
  79. package/funcs/mediaUploadMedia.d.ts +17 -0
  80. package/funcs/mediaUploadMedia.d.ts.map +1 -0
  81. package/funcs/{textureCreateTextureGeneration.js → mediaUploadMedia.js} +12 -14
  82. package/funcs/mediaUploadMedia.js.map +1 -0
  83. package/funcs/modelsCreateModel.d.ts.map +1 -1
  84. package/funcs/modelsCreateModel.js +2 -1
  85. package/funcs/modelsCreateModel.js.map +1 -1
  86. package/funcs/modelsDeleteModelById.d.ts.map +1 -1
  87. package/funcs/modelsDeleteModelById.js +2 -1
  88. package/funcs/modelsDeleteModelById.js.map +1 -1
  89. package/funcs/modelsGetCustomModelsByUserId.d.ts.map +1 -1
  90. package/funcs/modelsGetCustomModelsByUserId.js +2 -1
  91. package/funcs/modelsGetCustomModelsByUserId.js.map +1 -1
  92. package/funcs/modelsGetModelById.d.ts.map +1 -1
  93. package/funcs/modelsGetModelById.js +2 -1
  94. package/funcs/modelsGetModelById.js.map +1 -1
  95. package/funcs/modelsListPlatformModels.d.ts.map +1 -1
  96. package/funcs/modelsListPlatformModels.js +2 -1
  97. package/funcs/modelsListPlatformModels.js.map +1 -1
  98. package/funcs/motionCreateImageToVideoGeneration.d.ts.map +1 -1
  99. package/funcs/motionCreateImageToVideoGeneration.js +2 -1
  100. package/funcs/motionCreateImageToVideoGeneration.js.map +1 -1
  101. package/funcs/motionCreateSVDMotionGeneration.d.ts.map +1 -1
  102. package/funcs/motionCreateSVDMotionGeneration.js +2 -1
  103. package/funcs/motionCreateSVDMotionGeneration.js.map +1 -1
  104. package/funcs/motionCreateTextToVideoGeneration.d.ts.map +1 -1
  105. package/funcs/motionCreateTextToVideoGeneration.js +2 -1
  106. package/funcs/motionCreateTextToVideoGeneration.js.map +1 -1
  107. package/funcs/motionCreateVideoUpscale.d.ts.map +1 -1
  108. package/funcs/motionCreateVideoUpscale.js +2 -1
  109. package/funcs/motionCreateVideoUpscale.js.map +1 -1
  110. package/funcs/pricingCalculatorPricingCalculator.d.ts.map +1 -1
  111. package/funcs/pricingCalculatorPricingCalculator.js +2 -1
  112. package/funcs/pricingCalculatorPricingCalculator.js.map +1 -1
  113. package/funcs/promptPromptImprove.d.ts.map +1 -1
  114. package/funcs/promptPromptImprove.js +2 -1
  115. package/funcs/promptPromptImprove.js.map +1 -1
  116. package/funcs/promptPromptRandom.d.ts.map +1 -1
  117. package/funcs/promptPromptRandom.js +2 -1
  118. package/funcs/promptPromptRandom.js.map +1 -1
  119. package/funcs/realtimeCanvasCreateLCMGeneration.d.ts.map +1 -1
  120. package/funcs/realtimeCanvasCreateLCMGeneration.js +2 -1
  121. package/funcs/realtimeCanvasCreateLCMGeneration.js.map +1 -1
  122. package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.d.ts.map +1 -1
  123. package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.js +2 -1
  124. package/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.js.map +1 -1
  125. package/funcs/realtimeCanvasPerformInpaintingLCM.d.ts.map +1 -1
  126. package/funcs/realtimeCanvasPerformInpaintingLCM.js +2 -1
  127. package/funcs/realtimeCanvasPerformInpaintingLCM.js.map +1 -1
  128. package/funcs/realtimeCanvasPerformInstantRefine.d.ts.map +1 -1
  129. package/funcs/realtimeCanvasPerformInstantRefine.js +2 -1
  130. package/funcs/realtimeCanvasPerformInstantRefine.js.map +1 -1
  131. package/funcs/threeDModelAssetsDelete3DModelById.d.ts.map +1 -1
  132. package/funcs/threeDModelAssetsDelete3DModelById.js +2 -1
  133. package/funcs/threeDModelAssetsDelete3DModelById.js.map +1 -1
  134. package/funcs/threeDModelAssetsUploadModelAsset.d.ts.map +1 -1
  135. package/funcs/threeDModelAssetsUploadModelAsset.js +2 -1
  136. package/funcs/threeDModelAssetsUploadModelAsset.js.map +1 -1
  137. package/funcs/userGetUserSelf.d.ts.map +1 -1
  138. package/funcs/userGetUserSelf.js +2 -1
  139. package/funcs/userGetUserSelf.js.map +1 -1
  140. package/funcs/variationCreateUniversalUpscalerJob.d.ts.map +1 -1
  141. package/funcs/variationCreateUniversalUpscalerJob.js +2 -1
  142. package/funcs/variationCreateUniversalUpscalerJob.js.map +1 -1
  143. package/funcs/variationCreateVariationNoBG.d.ts.map +1 -1
  144. package/funcs/variationCreateVariationNoBG.js +2 -1
  145. package/funcs/variationCreateVariationNoBG.js.map +1 -1
  146. package/funcs/variationCreateVariationUnzoom.d.ts.map +1 -1
  147. package/funcs/variationCreateVariationUnzoom.js +2 -1
  148. package/funcs/variationCreateVariationUnzoom.js.map +1 -1
  149. package/funcs/variationCreateVariationUpscale.d.ts.map +1 -1
  150. package/funcs/variationCreateVariationUpscale.js +2 -1
  151. package/funcs/variationCreateVariationUpscale.js.map +1 -1
  152. package/funcs/variationGetMotionVariationById.d.ts.map +1 -1
  153. package/funcs/variationGetMotionVariationById.js +2 -1
  154. package/funcs/variationGetMotionVariationById.js.map +1 -1
  155. package/funcs/variationGetVariationById.d.ts.map +1 -1
  156. package/funcs/variationGetVariationById.js +2 -1
  157. package/funcs/variationGetVariationById.js.map +1 -1
  158. package/jsr.json +1 -1
  159. package/lib/config.d.ts +3 -3
  160. package/lib/config.js +3 -3
  161. package/lib/encodings.d.ts +1 -0
  162. package/lib/encodings.d.ts.map +1 -1
  163. package/lib/encodings.js +27 -5
  164. package/lib/encodings.js.map +1 -1
  165. package/lib/files.d.ts +13 -0
  166. package/lib/files.d.ts.map +1 -1
  167. package/lib/files.js +19 -0
  168. package/lib/files.js.map +1 -1
  169. package/lib/matchers.d.ts.map +1 -1
  170. package/lib/matchers.js +0 -1
  171. package/lib/matchers.js.map +1 -1
  172. package/lib/sdks.d.ts +1 -1
  173. package/lib/sdks.d.ts.map +1 -1
  174. package/lib/sdks.js +10 -8
  175. package/lib/sdks.js.map +1 -1
  176. package/lib/security.d.ts +1 -1
  177. package/lib/security.d.ts.map +1 -1
  178. package/lib/security.js +20 -10
  179. package/lib/security.js.map +1 -1
  180. package/lib/url.d.ts.map +1 -1
  181. package/lib/url.js +4 -2
  182. package/lib/url.js.map +1 -1
  183. package/package.json +1 -1
  184. package/sdk/media.d.ts +26 -0
  185. package/sdk/media.d.ts.map +1 -0
  186. package/sdk/media.js +42 -0
  187. package/sdk/media.js.map +1 -0
  188. package/sdk/models/operations/deleteuploadedmediabyid.d.ts +53 -0
  189. package/sdk/models/operations/deleteuploadedmediabyid.d.ts.map +1 -0
  190. package/sdk/models/operations/deleteuploadedmediabyid.js +89 -0
  191. package/sdk/models/operations/deleteuploadedmediabyid.js.map +1 -0
  192. package/sdk/models/operations/getuploadedmediabyid.d.ts +63 -0
  193. package/sdk/models/operations/getuploadedmediabyid.d.ts.map +1 -0
  194. package/sdk/models/operations/getuploadedmediabyid.js +103 -0
  195. package/sdk/models/operations/getuploadedmediabyid.js.map +1 -0
  196. package/sdk/models/operations/index.d.ts +3 -2
  197. package/sdk/models/operations/index.d.ts.map +1 -1
  198. package/sdk/models/operations/index.js +3 -2
  199. package/sdk/models/operations/index.js.map +1 -1
  200. package/sdk/models/operations/uploadmedia.d.ts +58 -0
  201. package/sdk/models/operations/uploadmedia.d.ts.map +1 -0
  202. package/sdk/models/operations/uploadmedia.js +87 -0
  203. package/sdk/models/operations/uploadmedia.js.map +1 -0
  204. package/sdk/sdk.d.ts +3 -3
  205. package/sdk/sdk.d.ts.map +1 -1
  206. package/sdk/sdk.js +4 -4
  207. package/sdk/sdk.js.map +1 -1
  208. package/src/funcs/blueprintsExecuteBlueprint.ts +3 -1
  209. package/src/funcs/blueprintsGetBlueprintById.ts +3 -2
  210. package/src/funcs/blueprintsGetBlueprintExecution.ts +3 -2
  211. package/src/funcs/blueprintsGetBlueprintExecutionGenerations.ts +3 -2
  212. package/src/funcs/blueprintsGetBlueprintVersionsByBlueprintId.ts +3 -2
  213. package/src/funcs/datasetCreateDataset.ts +3 -1
  214. package/src/funcs/datasetDeleteDatasetById.ts +3 -2
  215. package/src/funcs/datasetGetDatasetById.ts +3 -2
  216. package/src/funcs/datasetUploadDatasetImage.ts +3 -2
  217. package/src/funcs/datasetUploadDatasetImageFromGen.ts +3 -2
  218. package/src/funcs/elementsCreateElement.ts +3 -1
  219. package/src/funcs/elementsDeleteElementById.ts +3 -2
  220. package/src/funcs/elementsGetCustomElementsByUserId.ts +3 -2
  221. package/src/funcs/elementsGetElementById.ts +3 -2
  222. package/src/funcs/elementsListElements.ts +3 -1
  223. package/src/funcs/imageCreateGeneration.ts +3 -1
  224. package/src/funcs/imageDeleteGenerationById.ts +3 -2
  225. package/src/funcs/imageGetGenerationById.ts +3 -2
  226. package/src/funcs/imageGetGenerationsByUserId.ts +3 -2
  227. package/src/funcs/initImagesDeleteInitImageById.ts +3 -2
  228. package/src/funcs/initImagesGetInitImageById.ts +3 -2
  229. package/src/funcs/initImagesUploadCanvasInitImage.ts +3 -1
  230. package/src/funcs/initImagesUploadInitImage.ts +3 -1
  231. package/src/funcs/{textureDeleteTextureGenerationById.ts → mediaDeleteUploadedMediaById.ts} +16 -20
  232. package/src/funcs/mediaGetUploadedMediaById.ts +180 -0
  233. package/src/funcs/{textureCreateTextureGeneration.ts → mediaUploadMedia.ts} +16 -18
  234. package/src/funcs/modelsCreateModel.ts +3 -1
  235. package/src/funcs/modelsDeleteModelById.ts +3 -2
  236. package/src/funcs/modelsGetCustomModelsByUserId.ts +3 -2
  237. package/src/funcs/modelsGetModelById.ts +3 -2
  238. package/src/funcs/modelsListPlatformModels.ts +3 -1
  239. package/src/funcs/motionCreateImageToVideoGeneration.ts +3 -1
  240. package/src/funcs/motionCreateSVDMotionGeneration.ts +3 -1
  241. package/src/funcs/motionCreateTextToVideoGeneration.ts +3 -1
  242. package/src/funcs/motionCreateVideoUpscale.ts +3 -1
  243. package/src/funcs/pricingCalculatorPricingCalculator.ts +3 -1
  244. package/src/funcs/promptPromptImprove.ts +3 -1
  245. package/src/funcs/promptPromptRandom.ts +3 -1
  246. package/src/funcs/realtimeCanvasCreateLCMGeneration.ts +3 -1
  247. package/src/funcs/realtimeCanvasPerformAlchemyUpscaleLCM.ts +3 -1
  248. package/src/funcs/realtimeCanvasPerformInpaintingLCM.ts +3 -1
  249. package/src/funcs/realtimeCanvasPerformInstantRefine.ts +3 -1
  250. package/src/funcs/threeDModelAssetsDelete3DModelById.ts +3 -2
  251. package/src/funcs/threeDModelAssetsUploadModelAsset.ts +3 -1
  252. package/src/funcs/userGetUserSelf.ts +3 -1
  253. package/src/funcs/variationCreateUniversalUpscalerJob.ts +3 -1
  254. package/src/funcs/variationCreateVariationNoBG.ts +3 -1
  255. package/src/funcs/variationCreateVariationUnzoom.ts +3 -1
  256. package/src/funcs/variationCreateVariationUpscale.ts +3 -1
  257. package/src/funcs/variationGetMotionVariationById.ts +3 -2
  258. package/src/funcs/variationGetVariationById.ts +3 -2
  259. package/src/lib/config.ts +3 -3
  260. package/src/lib/encodings.ts +32 -4
  261. package/src/lib/files.ts +22 -0
  262. package/src/lib/matchers.ts +3 -2
  263. package/src/lib/sdks.ts +10 -11
  264. package/src/lib/security.ts +15 -4
  265. package/src/lib/url.ts +16 -14
  266. package/src/sdk/media.ts +63 -0
  267. package/src/sdk/models/operations/deleteuploadedmediabyid.ts +144 -0
  268. package/src/sdk/models/operations/getuploadedmediabyid.ts +167 -0
  269. package/src/sdk/models/operations/index.ts +3 -2
  270. package/src/sdk/models/operations/uploadmedia.ts +142 -0
  271. package/src/sdk/sdk.ts +6 -6
  272. package/.devcontainer/devcontainer.json +0 -45
  273. package/_speakeasy/.github/action-inputs-config.json +0 -53
  274. package/_speakeasy/.github/action-security-config.json +0 -88
  275. package/examples/package-lock.json +0 -610
  276. package/examples/package.json +0 -18
  277. package/funcs/textureCreateTextureGeneration.d.ts.map +0 -1
  278. package/funcs/textureCreateTextureGeneration.js.map +0 -1
  279. package/funcs/textureDeleteTextureGenerationById.d.ts.map +0 -1
  280. package/funcs/textureDeleteTextureGenerationById.js.map +0 -1
  281. package/sdk/models/operations/createtexturegeneration.d.ts +0 -81
  282. package/sdk/models/operations/createtexturegeneration.d.ts.map +0 -1
  283. package/sdk/models/operations/createtexturegeneration.js +0 -102
  284. package/sdk/models/operations/createtexturegeneration.js.map +0 -1
  285. package/sdk/models/operations/deletetexturegenerationbyid.d.ts +0 -77
  286. package/sdk/models/operations/deletetexturegenerationbyid.d.ts.map +0 -1
  287. package/sdk/models/operations/deletetexturegenerationbyid.js +0 -102
  288. package/sdk/models/operations/deletetexturegenerationbyid.js.map +0 -1
  289. package/sdk/texture.d.ts +0 -19
  290. package/sdk/texture.d.ts.map +0 -1
  291. package/sdk/texture.js +0 -32
  292. package/sdk/texture.js.map +0 -1
  293. package/src/sdk/models/operations/createtexturegeneration.ts +0 -184
  294. package/src/sdk/models/operations/deletetexturegenerationbyid.ts +0 -204
  295. package/src/sdk/texture.ts +0 -47
  296. package/tsconfig.json +0 -40
@@ -479,6 +479,23 @@ export const encodeSpaceDelimitedQuery = queryEncoder(encodeSpaceDelimited);
479
479
  export const encodePipeDelimitedQuery = queryEncoder(encodePipeDelimited);
480
480
  export const encodeDeepObjectQuery = queryEncoder(encodeDeepObject);
481
481
 
482
+ function isBlobLike(val: unknown): val is Blob {
483
+ if (val instanceof Blob) {
484
+ return true;
485
+ }
486
+
487
+ if (typeof val !== "object" || val == null || !(Symbol.toStringTag in val)) {
488
+ return false;
489
+ }
490
+
491
+ const tag = val[Symbol.toStringTag];
492
+ if (tag !== "Blob" && tag !== "File") {
493
+ return false;
494
+ }
495
+
496
+ return "stream" in val && typeof val.stream === "function";
497
+ }
498
+
482
499
  export function appendForm(
483
500
  fd: FormData,
484
501
  key: string,
@@ -487,11 +504,22 @@ export function appendForm(
487
504
  ): void {
488
505
  if (value == null) {
489
506
  return;
490
- } else if (value instanceof Blob && fileName) {
491
- fd.append(key, value, fileName);
492
- } else if (value instanceof Blob) {
493
- fd.append(key, value);
507
+ } else if (isBlobLike(value)) {
508
+ if (fileName) {
509
+ fd.append(key, value as Blob, fileName);
510
+ } else {
511
+ fd.append(key, value as Blob);
512
+ }
494
513
  } else {
495
514
  fd.append(key, String(value));
496
515
  }
497
516
  }
517
+
518
+ export async function normalizeBlob(
519
+ value: Pick<Blob, "arrayBuffer" | "type">,
520
+ ): Promise<Blob> {
521
+ if (value instanceof Blob) {
522
+ return value;
523
+ }
524
+ return new Blob([await value.arrayBuffer()], { type: value.type });
525
+ }
package/src/lib/files.ts CHANGED
@@ -80,3 +80,25 @@ export function getContentTypeFromFileName(fileName: string): string | null {
80
80
 
81
81
  return mimeTypes[ext] || null;
82
82
  }
83
+
84
+ /**
85
+ * Creates a Blob from file content with the given MIME type.
86
+ *
87
+ * Node.js Buffers are Uint8Array subclasses that may share a pooled
88
+ * ArrayBuffer (byteOffset > 0, byteLength < buffer.byteLength). Passing
89
+ * such a Buffer directly to `new Blob([buf])` can include the entire
90
+ * underlying pool on some runtimes, producing a Blob with extra bytes
91
+ * that corrupts multipart uploads.
92
+ *
93
+ * Copying into a standalone Uint8Array ensures the Blob receives only the
94
+ * intended bytes regardless of runtime behaviour.
95
+ */
96
+ export function bytesToBlob(
97
+ content: Uint8Array<ArrayBufferLike> | ArrayBuffer | Blob | string,
98
+ contentType: string,
99
+ ): Blob {
100
+ if (content instanceof Uint8Array) {
101
+ return new Blob([new Uint8Array(content)], { type: contentType });
102
+ }
103
+ return new Blob([content as BlobPart], { type: contentType });
104
+ }
@@ -248,8 +248,9 @@ export function match<T, E>(
248
248
  raw = body;
249
249
  break;
250
250
  default:
251
- encoding satisfies never;
252
- throw new Error(`Unsupported response type: ${encoding}`);
251
+ throw new Error(
252
+ `Unsupported response type: ${encoding satisfies never}`,
253
+ );
253
254
  }
254
255
 
255
256
  if (matcher.enc === "fail") {
package/src/lib/sdks.ts CHANGED
@@ -21,7 +21,6 @@ import {
21
21
  isConnectionError,
22
22
  isTimeoutError,
23
23
  matchContentType,
24
- matchStatusCode,
25
24
  } from "./http.js";
26
25
  import { Logger } from "./logger.js";
27
26
  import { retry, RetryConfig } from "./retries.js";
@@ -124,13 +123,15 @@ export class ClientSDK {
124
123
  if (!base) {
125
124
  return ERR(new InvalidRequestError("No base URL provided for operation"));
126
125
  }
127
- const reqURL = new URL(base);
128
- const inputURL = new URL(path, reqURL);
129
-
126
+ const baseURL = new URL(base);
127
+ let reqURL: URL;
130
128
  if (path) {
131
- reqURL.pathname += reqURL.pathname.endsWith("/") ? "" : "/";
132
- reqURL.pathname += inputURL.pathname.replace(/^\/+/, "");
129
+ baseURL.pathname = baseURL.pathname.replace(/\/+$/, "") + "/";
130
+ reqURL = new URL(path, baseURL);
131
+ } else {
132
+ reqURL = baseURL;
133
133
  }
134
+ reqURL.hash = "";
134
135
 
135
136
  let finalQuery = query || "";
136
137
 
@@ -228,7 +229,7 @@ export class ClientSDK {
228
229
  request: Request,
229
230
  options: {
230
231
  context: HookContext;
231
- errorCodes: number | string | (number | string)[];
232
+ isErrorStatusCode: (statusCode: number) => boolean;
232
233
  retryConfig: RetryConfig;
233
234
  retryCodes: string[];
234
235
  },
@@ -241,7 +242,7 @@ export class ClientSDK {
241
242
  | UnexpectedClientError
242
243
  >
243
244
  > {
244
- const { context, errorCodes } = options;
245
+ const { context, isErrorStatusCode } = options;
245
246
 
246
247
  return retry(
247
248
  async () => {
@@ -253,7 +254,7 @@ export class ClientSDK {
253
254
  let response = await this.#httpClient.request(req);
254
255
 
255
256
  try {
256
- if (matchStatusCode(response, errorCodes)) {
257
+ if (isErrorStatusCode(response.status)) {
257
258
  const result = await this.#hooks.afterError(
258
259
  context,
259
260
  response,
@@ -377,8 +378,6 @@ async function logResponse(
377
378
  break;
378
379
  case matchContentType(res, "application/jsonl")
379
380
  || jsonlLikeContentTypeRE.test(ct):
380
- logger.log(await res.clone().text());
381
- break;
382
381
  case matchContentType(res, "text/event-stream"):
383
382
  logger.log(`<${contentType}>`);
384
383
  break;
@@ -197,8 +197,7 @@ export function resolveSecurity(
197
197
  applyBearer(state, spec);
198
198
  break;
199
199
  default:
200
- spec satisfies never;
201
- throw SecurityError.unrecognizedType(type);
200
+ throw SecurityError.unrecognizedType((spec satisfies never, type));
202
201
  }
203
202
  });
204
203
 
@@ -240,8 +239,9 @@ function applyBearer(
240
239
 
241
240
  export function resolveGlobalSecurity(
242
241
  security: Partial<shared.Security> | null | undefined,
242
+ allowedFields?: number[],
243
243
  ): SecurityState | null {
244
- return resolveSecurity(
244
+ let inputs: SecurityInput[][] = [
245
245
  [
246
246
  {
247
247
  fieldName: "Authorization",
@@ -249,7 +249,18 @@ export function resolveGlobalSecurity(
249
249
  value: security?.bearerAuth,
250
250
  },
251
251
  ],
252
- );
252
+ ];
253
+
254
+ if (allowedFields) {
255
+ inputs = allowedFields.map((i) => {
256
+ if (i < 0 || i >= inputs.length) {
257
+ throw new RangeError(`invalid allowedFields index ${i}`);
258
+ }
259
+ return inputs[i]!;
260
+ });
261
+ }
262
+
263
+ return resolveSecurity(...inputs);
253
264
  }
254
265
 
255
266
  export async function extractSecurity<
package/src/lib/url.ts CHANGED
@@ -13,21 +13,23 @@ export function pathToFunc(
13
13
  const paramRE = /\{([a-zA-Z0-9_][a-zA-Z0-9_-]*?)\}/g;
14
14
 
15
15
  return function buildURLPath(params: Record<string, unknown> = {}): string {
16
- return pathPattern.replace(paramRE, function (_, placeholder) {
17
- if (!hasOwn.call(params, placeholder)) {
18
- throw new Error(`Parameter '${placeholder}' is required`);
19
- }
16
+ return pathPattern
17
+ .replace(paramRE, function (_, placeholder) {
18
+ if (!hasOwn.call(params, placeholder)) {
19
+ throw new Error(`Parameter '${placeholder}' is required`);
20
+ }
20
21
 
21
- const value = params[placeholder];
22
- if (typeof value !== "string" && typeof value !== "number") {
23
- throw new Error(
24
- `Parameter '${placeholder}' must be a string or number`,
25
- );
26
- }
22
+ const value = params[placeholder];
23
+ if (typeof value !== "string" && typeof value !== "number") {
24
+ throw new Error(
25
+ `Parameter '${placeholder}' must be a string or number`,
26
+ );
27
+ }
27
28
 
28
- return options?.charEncoding === "percent"
29
- ? encodeURIComponent(`${value}`)
30
- : `${value}`;
31
- });
29
+ return options?.charEncoding === "percent"
30
+ ? encodeURIComponent(`${value}`)
31
+ : `${value}`;
32
+ })
33
+ .replace(/^\/+/, "");
32
34
  };
33
35
  }
@@ -0,0 +1,63 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { mediaDeleteUploadedMediaById } from "../funcs/mediaDeleteUploadedMediaById.js";
6
+ import { mediaGetUploadedMediaById } from "../funcs/mediaGetUploadedMediaById.js";
7
+ import { mediaUploadMedia } from "../funcs/mediaUploadMedia.js";
8
+ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
9
+ import * as operations from "./models/operations/index.js";
10
+ import { unwrapAsync } from "./types/fp.js";
11
+
12
+ export class Media extends ClientSDK {
13
+ /**
14
+ * Delete uploaded media
15
+ *
16
+ * @remarks
17
+ * This endpoint deletes an uploaded media record and removes the associated file from S3
18
+ */
19
+ async deleteUploadedMediaById(
20
+ id: string,
21
+ options?: RequestOptions,
22
+ ): Promise<operations.DeleteUploadedMediaByIdResponse> {
23
+ return unwrapAsync(mediaDeleteUploadedMediaById(
24
+ this,
25
+ id,
26
+ options,
27
+ ));
28
+ }
29
+
30
+ /**
31
+ * Get uploaded media
32
+ *
33
+ * @remarks
34
+ * This endpoint returns details of an uploaded media record
35
+ */
36
+ async getUploadedMediaById(
37
+ id: string,
38
+ options?: RequestOptions,
39
+ ): Promise<operations.GetUploadedMediaByIdResponse> {
40
+ return unwrapAsync(mediaGetUploadedMediaById(
41
+ this,
42
+ id,
43
+ options,
44
+ ));
45
+ }
46
+
47
+ /**
48
+ * Upload media
49
+ *
50
+ * @remarks
51
+ * This endpoint returns presigned details to upload a media file to S3
52
+ */
53
+ async uploadMedia(
54
+ request: operations.UploadMediaRequestBody,
55
+ options?: RequestOptions,
56
+ ): Promise<operations.UploadMediaResponse> {
57
+ return unwrapAsync(mediaUploadMedia(
58
+ this,
59
+ request,
60
+ options,
61
+ ));
62
+ }
63
+ }
@@ -0,0 +1,144 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../../lib/primitives.js";
7
+ import { safeParse } from "../../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+
11
+ export type DeleteUploadedMediaByIdRequest = {
12
+ /**
13
+ * _"id" is required_
14
+ */
15
+ id: string;
16
+ };
17
+
18
+ export type UploadedMedia = {
19
+ id?: string | null | undefined;
20
+ };
21
+
22
+ /**
23
+ * Responses for DELETE /media/{id}
24
+ */
25
+ export type DeleteUploadedMediaByIdResponseBody = {
26
+ deleteUploadedMediaByPk?: UploadedMedia | null | undefined;
27
+ };
28
+
29
+ export type DeleteUploadedMediaByIdResponse = {
30
+ /**
31
+ * HTTP response content type for this operation
32
+ */
33
+ contentType: string;
34
+ /**
35
+ * HTTP response status code for this operation
36
+ */
37
+ statusCode: number;
38
+ /**
39
+ * Raw HTTP response; suitable for custom response parsing
40
+ */
41
+ rawResponse: Response;
42
+ /**
43
+ * Responses for DELETE /media/{id}
44
+ */
45
+ object?: DeleteUploadedMediaByIdResponseBody | undefined;
46
+ };
47
+
48
+ /** @internal */
49
+ export type DeleteUploadedMediaByIdRequest$Outbound = {
50
+ id: string;
51
+ };
52
+
53
+ /** @internal */
54
+ export const DeleteUploadedMediaByIdRequest$outboundSchema: z.ZodType<
55
+ DeleteUploadedMediaByIdRequest$Outbound,
56
+ z.ZodTypeDef,
57
+ DeleteUploadedMediaByIdRequest
58
+ > = z.object({
59
+ id: z.string(),
60
+ });
61
+
62
+ export function deleteUploadedMediaByIdRequestToJSON(
63
+ deleteUploadedMediaByIdRequest: DeleteUploadedMediaByIdRequest,
64
+ ): string {
65
+ return JSON.stringify(
66
+ DeleteUploadedMediaByIdRequest$outboundSchema.parse(
67
+ deleteUploadedMediaByIdRequest,
68
+ ),
69
+ );
70
+ }
71
+
72
+ /** @internal */
73
+ export const UploadedMedia$inboundSchema: z.ZodType<
74
+ UploadedMedia,
75
+ z.ZodTypeDef,
76
+ unknown
77
+ > = z.object({
78
+ id: z.nullable(z.string()).optional(),
79
+ });
80
+
81
+ export function uploadedMediaFromJSON(
82
+ jsonString: string,
83
+ ): SafeParseResult<UploadedMedia, SDKValidationError> {
84
+ return safeParse(
85
+ jsonString,
86
+ (x) => UploadedMedia$inboundSchema.parse(JSON.parse(x)),
87
+ `Failed to parse 'UploadedMedia' from JSON`,
88
+ );
89
+ }
90
+
91
+ /** @internal */
92
+ export const DeleteUploadedMediaByIdResponseBody$inboundSchema: z.ZodType<
93
+ DeleteUploadedMediaByIdResponseBody,
94
+ z.ZodTypeDef,
95
+ unknown
96
+ > = z.object({
97
+ delete_uploaded_media_by_pk: z.nullable(
98
+ z.lazy(() => UploadedMedia$inboundSchema),
99
+ ).optional(),
100
+ }).transform((v) => {
101
+ return remap$(v, {
102
+ "delete_uploaded_media_by_pk": "deleteUploadedMediaByPk",
103
+ });
104
+ });
105
+
106
+ export function deleteUploadedMediaByIdResponseBodyFromJSON(
107
+ jsonString: string,
108
+ ): SafeParseResult<DeleteUploadedMediaByIdResponseBody, SDKValidationError> {
109
+ return safeParse(
110
+ jsonString,
111
+ (x) =>
112
+ DeleteUploadedMediaByIdResponseBody$inboundSchema.parse(JSON.parse(x)),
113
+ `Failed to parse 'DeleteUploadedMediaByIdResponseBody' from JSON`,
114
+ );
115
+ }
116
+
117
+ /** @internal */
118
+ export const DeleteUploadedMediaByIdResponse$inboundSchema: z.ZodType<
119
+ DeleteUploadedMediaByIdResponse,
120
+ z.ZodTypeDef,
121
+ unknown
122
+ > = z.object({
123
+ ContentType: z.string(),
124
+ StatusCode: z.number().int(),
125
+ RawResponse: z.instanceof(Response),
126
+ object: z.lazy(() => DeleteUploadedMediaByIdResponseBody$inboundSchema)
127
+ .optional(),
128
+ }).transform((v) => {
129
+ return remap$(v, {
130
+ "ContentType": "contentType",
131
+ "StatusCode": "statusCode",
132
+ "RawResponse": "rawResponse",
133
+ });
134
+ });
135
+
136
+ export function deleteUploadedMediaByIdResponseFromJSON(
137
+ jsonString: string,
138
+ ): SafeParseResult<DeleteUploadedMediaByIdResponse, SDKValidationError> {
139
+ return safeParse(
140
+ jsonString,
141
+ (x) => DeleteUploadedMediaByIdResponse$inboundSchema.parse(JSON.parse(x)),
142
+ `Failed to parse 'DeleteUploadedMediaByIdResponse' from JSON`,
143
+ );
144
+ }
@@ -0,0 +1,167 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../../lib/primitives.js";
7
+ import { safeParse } from "../../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+
11
+ export type GetUploadedMediaByIdRequest = {
12
+ /**
13
+ * _"id" is required_
14
+ */
15
+ id: string;
16
+ };
17
+
18
+ export type GetUploadedMediaByIdUploadedMedia = {
19
+ createdAt?: string | null | undefined;
20
+ duration?: number | null | undefined;
21
+ height?: number | null | undefined;
22
+ id?: string | null | undefined;
23
+ mediaType?: string | null | undefined;
24
+ status?: string | null | undefined;
25
+ statusReason?: string | null | undefined;
26
+ thumbnailUrl?: string | null | undefined;
27
+ url?: string | null | undefined;
28
+ videoFps?: number | null | undefined;
29
+ width?: number | null | undefined;
30
+ };
31
+
32
+ /**
33
+ * Responses for GET /media/{id}
34
+ */
35
+ export type GetUploadedMediaByIdResponseBody = {
36
+ uploadedMediaByPk?: GetUploadedMediaByIdUploadedMedia | null | undefined;
37
+ };
38
+
39
+ export type GetUploadedMediaByIdResponse = {
40
+ /**
41
+ * HTTP response content type for this operation
42
+ */
43
+ contentType: string;
44
+ /**
45
+ * HTTP response status code for this operation
46
+ */
47
+ statusCode: number;
48
+ /**
49
+ * Raw HTTP response; suitable for custom response parsing
50
+ */
51
+ rawResponse: Response;
52
+ /**
53
+ * Responses for GET /media/{id}
54
+ */
55
+ object?: GetUploadedMediaByIdResponseBody | undefined;
56
+ };
57
+
58
+ /** @internal */
59
+ export type GetUploadedMediaByIdRequest$Outbound = {
60
+ id: string;
61
+ };
62
+
63
+ /** @internal */
64
+ export const GetUploadedMediaByIdRequest$outboundSchema: z.ZodType<
65
+ GetUploadedMediaByIdRequest$Outbound,
66
+ z.ZodTypeDef,
67
+ GetUploadedMediaByIdRequest
68
+ > = z.object({
69
+ id: z.string(),
70
+ });
71
+
72
+ export function getUploadedMediaByIdRequestToJSON(
73
+ getUploadedMediaByIdRequest: GetUploadedMediaByIdRequest,
74
+ ): string {
75
+ return JSON.stringify(
76
+ GetUploadedMediaByIdRequest$outboundSchema.parse(
77
+ getUploadedMediaByIdRequest,
78
+ ),
79
+ );
80
+ }
81
+
82
+ /** @internal */
83
+ export const GetUploadedMediaByIdUploadedMedia$inboundSchema: z.ZodType<
84
+ GetUploadedMediaByIdUploadedMedia,
85
+ z.ZodTypeDef,
86
+ unknown
87
+ > = z.object({
88
+ createdAt: z.nullable(z.string()).optional(),
89
+ duration: z.nullable(z.number()).optional(),
90
+ height: z.nullable(z.number().int()).optional(),
91
+ id: z.nullable(z.string()).optional(),
92
+ mediaType: z.nullable(z.string()).optional(),
93
+ status: z.nullable(z.string()).optional(),
94
+ statusReason: z.nullable(z.string()).optional(),
95
+ thumbnailUrl: z.nullable(z.string()).optional(),
96
+ url: z.nullable(z.string()).optional(),
97
+ video_fps: z.nullable(z.number()).optional(),
98
+ width: z.nullable(z.number().int()).optional(),
99
+ }).transform((v) => {
100
+ return remap$(v, {
101
+ "video_fps": "videoFps",
102
+ });
103
+ });
104
+
105
+ export function getUploadedMediaByIdUploadedMediaFromJSON(
106
+ jsonString: string,
107
+ ): SafeParseResult<GetUploadedMediaByIdUploadedMedia, SDKValidationError> {
108
+ return safeParse(
109
+ jsonString,
110
+ (x) => GetUploadedMediaByIdUploadedMedia$inboundSchema.parse(JSON.parse(x)),
111
+ `Failed to parse 'GetUploadedMediaByIdUploadedMedia' from JSON`,
112
+ );
113
+ }
114
+
115
+ /** @internal */
116
+ export const GetUploadedMediaByIdResponseBody$inboundSchema: z.ZodType<
117
+ GetUploadedMediaByIdResponseBody,
118
+ z.ZodTypeDef,
119
+ unknown
120
+ > = z.object({
121
+ uploaded_media_by_pk: z.nullable(
122
+ z.lazy(() => GetUploadedMediaByIdUploadedMedia$inboundSchema),
123
+ ).optional(),
124
+ }).transform((v) => {
125
+ return remap$(v, {
126
+ "uploaded_media_by_pk": "uploadedMediaByPk",
127
+ });
128
+ });
129
+
130
+ export function getUploadedMediaByIdResponseBodyFromJSON(
131
+ jsonString: string,
132
+ ): SafeParseResult<GetUploadedMediaByIdResponseBody, SDKValidationError> {
133
+ return safeParse(
134
+ jsonString,
135
+ (x) => GetUploadedMediaByIdResponseBody$inboundSchema.parse(JSON.parse(x)),
136
+ `Failed to parse 'GetUploadedMediaByIdResponseBody' from JSON`,
137
+ );
138
+ }
139
+
140
+ /** @internal */
141
+ export const GetUploadedMediaByIdResponse$inboundSchema: z.ZodType<
142
+ GetUploadedMediaByIdResponse,
143
+ z.ZodTypeDef,
144
+ unknown
145
+ > = z.object({
146
+ ContentType: z.string(),
147
+ StatusCode: z.number().int(),
148
+ RawResponse: z.instanceof(Response),
149
+ object: z.lazy(() => GetUploadedMediaByIdResponseBody$inboundSchema)
150
+ .optional(),
151
+ }).transform((v) => {
152
+ return remap$(v, {
153
+ "ContentType": "contentType",
154
+ "StatusCode": "statusCode",
155
+ "RawResponse": "rawResponse",
156
+ });
157
+ });
158
+
159
+ export function getUploadedMediaByIdResponseFromJSON(
160
+ jsonString: string,
161
+ ): SafeParseResult<GetUploadedMediaByIdResponse, SDKValidationError> {
162
+ return safeParse(
163
+ jsonString,
164
+ (x) => GetUploadedMediaByIdResponse$inboundSchema.parse(JSON.parse(x)),
165
+ `Failed to parse 'GetUploadedMediaByIdResponse' from JSON`,
166
+ );
167
+ }
@@ -10,7 +10,6 @@ export * from "./createlcmgeneration.js";
10
10
  export * from "./createmodel.js";
11
11
  export * from "./createsvdmotiongeneration.js";
12
12
  export * from "./createtexttovideogeneration.js";
13
- export * from "./createtexturegeneration.js";
14
13
  export * from "./createuniversalupscalerjob.js";
15
14
  export * from "./createvariationnobg.js";
16
15
  export * from "./createvariationunzoom.js";
@@ -22,7 +21,7 @@ export * from "./deleteelementbyid.js";
22
21
  export * from "./deletegenerationbyid.js";
23
22
  export * from "./deleteinitimagebyid.js";
24
23
  export * from "./deletemodelbyid.js";
25
- export * from "./deletetexturegenerationbyid.js";
24
+ export * from "./deleteuploadedmediabyid.js";
26
25
  export * from "./executeblueprint.js";
27
26
  export * from "./getblueprintbyid.js";
28
27
  export * from "./getblueprintexecution.js";
@@ -37,6 +36,7 @@ export * from "./getgenerationsbyuserid.js";
37
36
  export * from "./getinitimagebyid.js";
38
37
  export * from "./getmodelbyid.js";
39
38
  export * from "./getmotionvariationbyid.js";
39
+ export * from "./getuploadedmediabyid.js";
40
40
  export * from "./getuserself.js";
41
41
  export * from "./getvariationbyid.js";
42
42
  export * from "./listelements.js";
@@ -51,4 +51,5 @@ export * from "./uploadcanvasinitimage.js";
51
51
  export * from "./uploaddatasetimage.js";
52
52
  export * from "./uploaddatasetimagefromgen.js";
53
53
  export * from "./uploadinitimage.js";
54
+ export * from "./uploadmedia.js";
54
55
  export * from "./uploadmodelasset.js";