@leonardo-ai/sdk 4.21.1 → 4.21.2

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 (131) hide show
  1. package/README.md +9 -0
  2. package/funcs/blueprintsGetBlueprintById.js.map +1 -1
  3. package/funcs/blueprintsGetBlueprintExecution.js.map +1 -1
  4. package/funcs/blueprintsGetBlueprintExecutionGenerations.js.map +1 -1
  5. package/funcs/blueprintsGetBlueprintVersionsByBlueprintId.js.map +1 -1
  6. package/funcs/datasetDeleteDatasetById.js.map +1 -1
  7. package/funcs/datasetGetDatasetById.js.map +1 -1
  8. package/funcs/datasetUploadDatasetImage.js.map +1 -1
  9. package/funcs/datasetUploadDatasetImageFromGen.js.map +1 -1
  10. package/funcs/elementsDeleteElementById.js.map +1 -1
  11. package/funcs/elementsGetCustomElementsByUserId.js.map +1 -1
  12. package/funcs/elementsGetElementById.js.map +1 -1
  13. package/funcs/imageDeleteGenerationById.js.map +1 -1
  14. package/funcs/imageGetGenerationById.js.map +1 -1
  15. package/funcs/imageGetGenerationsByUserId.js.map +1 -1
  16. package/funcs/initImagesDeleteInitImageById.js.map +1 -1
  17. package/funcs/initImagesGetInitImageById.js.map +1 -1
  18. package/funcs/mediaDeleteUploadedMediaById.d.ts +17 -0
  19. package/funcs/mediaDeleteUploadedMediaById.d.ts.map +1 -0
  20. package/funcs/mediaDeleteUploadedMediaById.js +131 -0
  21. package/funcs/mediaDeleteUploadedMediaById.js.map +1 -0
  22. package/funcs/mediaGetUploadedMediaById.d.ts +17 -0
  23. package/funcs/mediaGetUploadedMediaById.d.ts.map +1 -0
  24. package/funcs/mediaGetUploadedMediaById.js +131 -0
  25. package/funcs/mediaGetUploadedMediaById.js.map +1 -0
  26. package/funcs/mediaUploadMedia.d.ts +17 -0
  27. package/funcs/mediaUploadMedia.d.ts.map +1 -0
  28. package/funcs/mediaUploadMedia.js +123 -0
  29. package/funcs/mediaUploadMedia.js.map +1 -0
  30. package/funcs/modelsDeleteModelById.js.map +1 -1
  31. package/funcs/modelsGetCustomModelsByUserId.js.map +1 -1
  32. package/funcs/modelsGetModelById.js.map +1 -1
  33. package/funcs/textureDeleteTextureGenerationById.js.map +1 -1
  34. package/funcs/threeDModelAssetsDelete3DModelById.js.map +1 -1
  35. package/funcs/variationGetMotionVariationById.js.map +1 -1
  36. package/funcs/variationGetVariationById.js.map +1 -1
  37. package/jsr.json +1 -1
  38. package/lib/config.d.ts +3 -3
  39. package/lib/config.js +3 -3
  40. package/lib/config.js.map +1 -1
  41. package/lib/encodings.d.ts +1 -0
  42. package/lib/encodings.d.ts.map +1 -1
  43. package/lib/encodings.js +27 -5
  44. package/lib/encodings.js.map +1 -1
  45. package/lib/files.d.ts +13 -0
  46. package/lib/files.d.ts.map +1 -1
  47. package/lib/files.js +19 -0
  48. package/lib/files.js.map +1 -1
  49. package/lib/matchers.d.ts.map +1 -1
  50. package/lib/matchers.js +0 -1
  51. package/lib/matchers.js.map +1 -1
  52. package/lib/sdks.d.ts.map +1 -1
  53. package/lib/sdks.js +8 -4
  54. package/lib/sdks.js.map +1 -1
  55. package/lib/security.d.ts +1 -1
  56. package/lib/security.d.ts.map +1 -1
  57. package/lib/security.js +20 -10
  58. package/lib/security.js.map +1 -1
  59. package/lib/url.d.ts.map +1 -1
  60. package/lib/url.js +4 -2
  61. package/lib/url.js.map +1 -1
  62. package/package.json +1 -1
  63. package/sdk/media.d.ts +26 -0
  64. package/sdk/media.d.ts.map +1 -0
  65. package/sdk/media.js +42 -0
  66. package/sdk/media.js.map +1 -0
  67. package/sdk/models/operations/deleteuploadedmediabyid.d.ts +53 -0
  68. package/sdk/models/operations/deleteuploadedmediabyid.d.ts.map +1 -0
  69. package/sdk/models/operations/deleteuploadedmediabyid.js +89 -0
  70. package/sdk/models/operations/deleteuploadedmediabyid.js.map +1 -0
  71. package/sdk/models/operations/getuploadedmediabyid.d.ts +63 -0
  72. package/sdk/models/operations/getuploadedmediabyid.d.ts.map +1 -0
  73. package/sdk/models/operations/getuploadedmediabyid.js +103 -0
  74. package/sdk/models/operations/getuploadedmediabyid.js.map +1 -0
  75. package/sdk/models/operations/index.d.ts +3 -0
  76. package/sdk/models/operations/index.d.ts.map +1 -1
  77. package/sdk/models/operations/index.js +3 -0
  78. package/sdk/models/operations/index.js.map +1 -1
  79. package/sdk/models/operations/uploadmedia.d.ts +58 -0
  80. package/sdk/models/operations/uploadmedia.d.ts.map +1 -0
  81. package/sdk/models/operations/uploadmedia.js +87 -0
  82. package/sdk/models/operations/uploadmedia.js.map +1 -0
  83. package/sdk/sdk.d.ts +3 -0
  84. package/sdk/sdk.d.ts.map +1 -1
  85. package/sdk/sdk.js +4 -0
  86. package/sdk/sdk.js.map +1 -1
  87. package/src/funcs/blueprintsGetBlueprintById.ts +0 -1
  88. package/src/funcs/blueprintsGetBlueprintExecution.ts +0 -1
  89. package/src/funcs/blueprintsGetBlueprintExecutionGenerations.ts +0 -1
  90. package/src/funcs/blueprintsGetBlueprintVersionsByBlueprintId.ts +0 -1
  91. package/src/funcs/datasetDeleteDatasetById.ts +0 -1
  92. package/src/funcs/datasetGetDatasetById.ts +0 -1
  93. package/src/funcs/datasetUploadDatasetImage.ts +0 -1
  94. package/src/funcs/datasetUploadDatasetImageFromGen.ts +0 -1
  95. package/src/funcs/elementsDeleteElementById.ts +0 -1
  96. package/src/funcs/elementsGetCustomElementsByUserId.ts +0 -1
  97. package/src/funcs/elementsGetElementById.ts +0 -1
  98. package/src/funcs/imageDeleteGenerationById.ts +0 -1
  99. package/src/funcs/imageGetGenerationById.ts +0 -1
  100. package/src/funcs/imageGetGenerationsByUserId.ts +0 -1
  101. package/src/funcs/initImagesDeleteInitImageById.ts +0 -1
  102. package/src/funcs/initImagesGetInitImageById.ts +0 -1
  103. package/src/funcs/mediaDeleteUploadedMediaById.ts +178 -0
  104. package/src/funcs/mediaGetUploadedMediaById.ts +178 -0
  105. package/src/funcs/mediaUploadMedia.ts +168 -0
  106. package/src/funcs/modelsDeleteModelById.ts +0 -1
  107. package/src/funcs/modelsGetCustomModelsByUserId.ts +0 -1
  108. package/src/funcs/modelsGetModelById.ts +0 -1
  109. package/src/funcs/textureDeleteTextureGenerationById.ts +0 -1
  110. package/src/funcs/threeDModelAssetsDelete3DModelById.ts +0 -1
  111. package/src/funcs/variationGetMotionVariationById.ts +0 -1
  112. package/src/funcs/variationGetVariationById.ts +0 -1
  113. package/src/lib/config.ts +3 -3
  114. package/src/lib/encodings.ts +32 -4
  115. package/src/lib/files.ts +22 -0
  116. package/src/lib/matchers.ts +3 -2
  117. package/src/lib/sdks.ts +7 -5
  118. package/src/lib/security.ts +15 -4
  119. package/src/lib/url.ts +16 -14
  120. package/src/sdk/media.ts +63 -0
  121. package/src/sdk/models/operations/deleteuploadedmediabyid.ts +144 -0
  122. package/src/sdk/models/operations/getuploadedmediabyid.ts +167 -0
  123. package/src/sdk/models/operations/index.ts +3 -0
  124. package/src/sdk/models/operations/uploadmedia.ts +142 -0
  125. package/src/sdk/sdk.ts +6 -0
  126. package/.devcontainer/devcontainer.json +0 -45
  127. package/_speakeasy/.github/action-inputs-config.json +0 -53
  128. package/_speakeasy/.github/action-security-config.json +0 -88
  129. package/examples/package-lock.json +0 -610
  130. package/examples/package.json +0 -18
  131. package/tsconfig.json +0 -40
package/src/lib/sdks.ts CHANGED
@@ -124,13 +124,15 @@ export class ClientSDK {
124
124
  if (!base) {
125
125
  return ERR(new InvalidRequestError("No base URL provided for operation"));
126
126
  }
127
- const reqURL = new URL(base);
128
- const inputURL = new URL(path, reqURL);
129
-
127
+ const baseURL = new URL(base);
128
+ let reqURL: URL;
130
129
  if (path) {
131
- reqURL.pathname += reqURL.pathname.endsWith("/") ? "" : "/";
132
- reqURL.pathname += inputURL.pathname.replace(/^\/+/, "");
130
+ baseURL.pathname = baseURL.pathname.replace(/\/+$/, "") + "/";
131
+ reqURL = new URL(path, baseURL);
132
+ } else {
133
+ reqURL = baseURL;
133
134
  }
135
+ reqURL.hash = "";
134
136
 
135
137
  let finalQuery = query || "";
136
138
 
@@ -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
+ }
@@ -23,6 +23,7 @@ export * from "./deletegenerationbyid.js";
23
23
  export * from "./deleteinitimagebyid.js";
24
24
  export * from "./deletemodelbyid.js";
25
25
  export * from "./deletetexturegenerationbyid.js";
26
+ export * from "./deleteuploadedmediabyid.js";
26
27
  export * from "./executeblueprint.js";
27
28
  export * from "./getblueprintbyid.js";
28
29
  export * from "./getblueprintexecution.js";
@@ -37,6 +38,7 @@ export * from "./getgenerationsbyuserid.js";
37
38
  export * from "./getinitimagebyid.js";
38
39
  export * from "./getmodelbyid.js";
39
40
  export * from "./getmotionvariationbyid.js";
41
+ export * from "./getuploadedmediabyid.js";
40
42
  export * from "./getuserself.js";
41
43
  export * from "./getvariationbyid.js";
42
44
  export * from "./listelements.js";
@@ -51,4 +53,5 @@ export * from "./uploadcanvasinitimage.js";
51
53
  export * from "./uploaddatasetimage.js";
52
54
  export * from "./uploaddatasetimagefromgen.js";
53
55
  export * from "./uploadinitimage.js";
56
+ export * from "./uploadmedia.js";
54
57
  export * from "./uploadmodelasset.js";
@@ -0,0 +1,142 @@
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
+ /**
12
+ * Query parameters provided in the request body as a JSON object
13
+ */
14
+ export type UploadMediaRequestBody = {
15
+ /**
16
+ * The file extension of the media file to upload. Supported extensions: mp4, mov.
17
+ */
18
+ extension: string;
19
+ };
20
+
21
+ export type MediaUploadOutput = {
22
+ fields?: string | null | undefined;
23
+ uploadId?: string | null | undefined;
24
+ url?: string | null | undefined;
25
+ };
26
+
27
+ /**
28
+ * Responses for POST /media
29
+ */
30
+ export type UploadMediaResponseBody = {
31
+ uploadMedia?: MediaUploadOutput | null | undefined;
32
+ };
33
+
34
+ export type UploadMediaResponse = {
35
+ /**
36
+ * HTTP response content type for this operation
37
+ */
38
+ contentType: string;
39
+ /**
40
+ * HTTP response status code for this operation
41
+ */
42
+ statusCode: number;
43
+ /**
44
+ * Raw HTTP response; suitable for custom response parsing
45
+ */
46
+ rawResponse: Response;
47
+ /**
48
+ * Responses for POST /media
49
+ */
50
+ object?: UploadMediaResponseBody | undefined;
51
+ };
52
+
53
+ /** @internal */
54
+ export type UploadMediaRequestBody$Outbound = {
55
+ extension: string;
56
+ };
57
+
58
+ /** @internal */
59
+ export const UploadMediaRequestBody$outboundSchema: z.ZodType<
60
+ UploadMediaRequestBody$Outbound,
61
+ z.ZodTypeDef,
62
+ UploadMediaRequestBody
63
+ > = z.object({
64
+ extension: z.string(),
65
+ });
66
+
67
+ export function uploadMediaRequestBodyToJSON(
68
+ uploadMediaRequestBody: UploadMediaRequestBody,
69
+ ): string {
70
+ return JSON.stringify(
71
+ UploadMediaRequestBody$outboundSchema.parse(uploadMediaRequestBody),
72
+ );
73
+ }
74
+
75
+ /** @internal */
76
+ export const MediaUploadOutput$inboundSchema: z.ZodType<
77
+ MediaUploadOutput,
78
+ z.ZodTypeDef,
79
+ unknown
80
+ > = z.object({
81
+ fields: z.nullable(z.string()).optional(),
82
+ uploadId: z.nullable(z.string()).optional(),
83
+ url: z.nullable(z.string()).optional(),
84
+ });
85
+
86
+ export function mediaUploadOutputFromJSON(
87
+ jsonString: string,
88
+ ): SafeParseResult<MediaUploadOutput, SDKValidationError> {
89
+ return safeParse(
90
+ jsonString,
91
+ (x) => MediaUploadOutput$inboundSchema.parse(JSON.parse(x)),
92
+ `Failed to parse 'MediaUploadOutput' from JSON`,
93
+ );
94
+ }
95
+
96
+ /** @internal */
97
+ export const UploadMediaResponseBody$inboundSchema: z.ZodType<
98
+ UploadMediaResponseBody,
99
+ z.ZodTypeDef,
100
+ unknown
101
+ > = z.object({
102
+ uploadMedia: z.nullable(z.lazy(() => MediaUploadOutput$inboundSchema))
103
+ .optional(),
104
+ });
105
+
106
+ export function uploadMediaResponseBodyFromJSON(
107
+ jsonString: string,
108
+ ): SafeParseResult<UploadMediaResponseBody, SDKValidationError> {
109
+ return safeParse(
110
+ jsonString,
111
+ (x) => UploadMediaResponseBody$inboundSchema.parse(JSON.parse(x)),
112
+ `Failed to parse 'UploadMediaResponseBody' from JSON`,
113
+ );
114
+ }
115
+
116
+ /** @internal */
117
+ export const UploadMediaResponse$inboundSchema: z.ZodType<
118
+ UploadMediaResponse,
119
+ z.ZodTypeDef,
120
+ unknown
121
+ > = z.object({
122
+ ContentType: z.string(),
123
+ StatusCode: z.number().int(),
124
+ RawResponse: z.instanceof(Response),
125
+ object: z.lazy(() => UploadMediaResponseBody$inboundSchema).optional(),
126
+ }).transform((v) => {
127
+ return remap$(v, {
128
+ "ContentType": "contentType",
129
+ "StatusCode": "statusCode",
130
+ "RawResponse": "rawResponse",
131
+ });
132
+ });
133
+
134
+ export function uploadMediaResponseFromJSON(
135
+ jsonString: string,
136
+ ): SafeParseResult<UploadMediaResponse, SDKValidationError> {
137
+ return safeParse(
138
+ jsonString,
139
+ (x) => UploadMediaResponse$inboundSchema.parse(JSON.parse(x)),
140
+ `Failed to parse 'UploadMediaResponse' from JSON`,
141
+ );
142
+ }
package/src/sdk/sdk.ts CHANGED
@@ -8,6 +8,7 @@ import { Dataset } from "./dataset.js";
8
8
  import { Elements } from "./elements.js";
9
9
  import { Image } from "./image.js";
10
10
  import { InitImages } from "./initimages.js";
11
+ import { Media } from "./media.js";
11
12
  import { Models } from "./models.js";
12
13
  import { Motion } from "./motion.js";
13
14
  import { PricingCalculator } from "./pricingcalculator.js";
@@ -64,6 +65,11 @@ export class Leonardo extends ClientSDK {
64
65
  return (this._user ??= new User(this._options));
65
66
  }
66
67
 
68
+ private _media?: Media;
69
+ get media(): Media {
70
+ return (this._media ??= new Media(this._options));
71
+ }
72
+
67
73
  private _models?: Models;
68
74
  get models(): Models {
69
75
  return (this._models ??= new Models(this._options));