@liqhtworks/sophon-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/.github/workflows/publish.yml +56 -0
  2. package/.openapi-generator/FILES +73 -0
  3. package/.openapi-generator/VERSION +1 -0
  4. package/.openapi-generator-ignore +23 -0
  5. package/LICENSE +12 -0
  6. package/README.md +164 -0
  7. package/dist/apis/DownloadsApi.d.ts +63 -0
  8. package/dist/apis/DownloadsApi.js +58 -0
  9. package/dist/apis/HealthApi.d.ts +92 -0
  10. package/dist/apis/HealthApi.js +85 -0
  11. package/dist/apis/JobsApi.d.ts +225 -0
  12. package/dist/apis/JobsApi.js +245 -0
  13. package/dist/apis/UploadsApi.d.ts +228 -0
  14. package/dist/apis/UploadsApi.js +255 -0
  15. package/dist/apis/WebhooksApi.d.ts +138 -0
  16. package/dist/apis/WebhooksApi.js +152 -0
  17. package/dist/apis/index.d.ts +5 -0
  18. package/dist/apis/index.js +23 -0
  19. package/dist/esm/apis/DownloadsApi.d.ts +63 -0
  20. package/dist/esm/apis/DownloadsApi.js +54 -0
  21. package/dist/esm/apis/HealthApi.d.ts +92 -0
  22. package/dist/esm/apis/HealthApi.js +81 -0
  23. package/dist/esm/apis/JobsApi.d.ts +225 -0
  24. package/dist/esm/apis/JobsApi.js +241 -0
  25. package/dist/esm/apis/UploadsApi.d.ts +228 -0
  26. package/dist/esm/apis/UploadsApi.js +251 -0
  27. package/dist/esm/apis/WebhooksApi.d.ts +138 -0
  28. package/dist/esm/apis/WebhooksApi.js +148 -0
  29. package/dist/esm/apis/index.d.ts +5 -0
  30. package/dist/esm/apis/index.js +7 -0
  31. package/dist/esm/helpers/index.d.ts +3 -0
  32. package/dist/esm/helpers/index.js +3 -0
  33. package/dist/esm/helpers/jobs.d.ts +48 -0
  34. package/dist/esm/helpers/jobs.js +61 -0
  35. package/dist/esm/helpers/uploads.d.ts +71 -0
  36. package/dist/esm/helpers/uploads.js +146 -0
  37. package/dist/esm/helpers/webhooks.d.ts +23 -0
  38. package/dist/esm/helpers/webhooks.js +84 -0
  39. package/dist/esm/index.d.ts +4 -0
  40. package/dist/esm/index.js +6 -0
  41. package/dist/esm/models/CompleteUploadResponse.d.ts +57 -0
  42. package/dist/esm/models/CompleteUploadResponse.js +63 -0
  43. package/dist/esm/models/CreateJobOutputOptions.d.ts +55 -0
  44. package/dist/esm/models/CreateJobOutputOptions.js +46 -0
  45. package/dist/esm/models/CreateJobRequest.d.ts +61 -0
  46. package/dist/esm/models/CreateJobRequest.js +56 -0
  47. package/dist/esm/models/CreateUploadRequest.d.ts +44 -0
  48. package/dist/esm/models/CreateUploadRequest.js +51 -0
  49. package/dist/esm/models/CreateUploadResponse.d.ts +52 -0
  50. package/dist/esm/models/CreateUploadResponse.js +55 -0
  51. package/dist/esm/models/CreateWebhookRequest.d.ts +40 -0
  52. package/dist/esm/models/CreateWebhookRequest.js +45 -0
  53. package/dist/esm/models/ErrorBody.d.ts +72 -0
  54. package/dist/esm/models/ErrorBody.js +74 -0
  55. package/dist/esm/models/ErrorEnvelope.d.ts +33 -0
  56. package/dist/esm/models/ErrorEnvelope.js +44 -0
  57. package/dist/esm/models/JobOutputInfo.d.ts +95 -0
  58. package/dist/esm/models/JobOutputInfo.js +72 -0
  59. package/dist/esm/models/JobProfile.d.ts +49 -0
  60. package/dist/esm/models/JobProfile.js +69 -0
  61. package/dist/esm/models/JobProgress.d.ts +75 -0
  62. package/dist/esm/models/JobProgress.js +60 -0
  63. package/dist/esm/models/JobResponse.d.ts +134 -0
  64. package/dist/esm/models/JobResponse.js +94 -0
  65. package/dist/esm/models/JobSourceInfo.d.ts +62 -0
  66. package/dist/esm/models/JobSourceInfo.js +53 -0
  67. package/dist/esm/models/JobSourceType.d.ts +24 -0
  68. package/dist/esm/models/JobSourceType.js +44 -0
  69. package/dist/esm/models/JobStatus.d.ts +31 -0
  70. package/dist/esm/models/JobStatus.js +51 -0
  71. package/dist/esm/models/ListJobsResponse.d.ts +45 -0
  72. package/dist/esm/models/ListJobsResponse.js +50 -0
  73. package/dist/esm/models/OutputContainer.d.ts +27 -0
  74. package/dist/esm/models/OutputContainer.js +47 -0
  75. package/dist/esm/models/ReadyResponse.d.ts +38 -0
  76. package/dist/esm/models/ReadyResponse.js +45 -0
  77. package/dist/esm/models/UploadJobSource.d.ts +39 -0
  78. package/dist/esm/models/UploadJobSource.js +48 -0
  79. package/dist/esm/models/UploadPartResponse.d.ts +38 -0
  80. package/dist/esm/models/UploadPartResponse.js +47 -0
  81. package/dist/esm/models/UploadStatusResponse.d.ts +96 -0
  82. package/dist/esm/models/UploadStatusResponse.js +80 -0
  83. package/dist/esm/models/WebhookDeliveryPayload.d.ts +85 -0
  84. package/dist/esm/models/WebhookDeliveryPayload.js +83 -0
  85. package/dist/esm/models/WebhookListItem.d.ts +50 -0
  86. package/dist/esm/models/WebhookListItem.js +55 -0
  87. package/dist/esm/models/WebhookListResponse.d.ts +33 -0
  88. package/dist/esm/models/WebhookListResponse.js +44 -0
  89. package/dist/esm/models/WebhookResponse.d.ts +58 -0
  90. package/dist/esm/models/WebhookResponse.js +59 -0
  91. package/dist/esm/models/index.d.ts +25 -0
  92. package/dist/esm/models/index.js +27 -0
  93. package/dist/esm/runtime.d.ts +184 -0
  94. package/dist/esm/runtime.js +348 -0
  95. package/dist/helpers/index.d.ts +3 -0
  96. package/dist/helpers/index.js +19 -0
  97. package/dist/helpers/jobs.d.ts +48 -0
  98. package/dist/helpers/jobs.js +67 -0
  99. package/dist/helpers/uploads.d.ts +71 -0
  100. package/dist/helpers/uploads.js +149 -0
  101. package/dist/helpers/webhooks.d.ts +23 -0
  102. package/dist/helpers/webhooks.js +89 -0
  103. package/dist/index.d.ts +4 -0
  104. package/dist/index.js +22 -0
  105. package/dist/models/CompleteUploadResponse.d.ts +57 -0
  106. package/dist/models/CompleteUploadResponse.js +71 -0
  107. package/dist/models/CreateJobOutputOptions.d.ts +55 -0
  108. package/dist/models/CreateJobOutputOptions.js +53 -0
  109. package/dist/models/CreateJobRequest.d.ts +61 -0
  110. package/dist/models/CreateJobRequest.js +63 -0
  111. package/dist/models/CreateUploadRequest.d.ts +44 -0
  112. package/dist/models/CreateUploadRequest.js +58 -0
  113. package/dist/models/CreateUploadResponse.d.ts +52 -0
  114. package/dist/models/CreateUploadResponse.js +62 -0
  115. package/dist/models/CreateWebhookRequest.d.ts +40 -0
  116. package/dist/models/CreateWebhookRequest.js +52 -0
  117. package/dist/models/ErrorBody.d.ts +72 -0
  118. package/dist/models/ErrorBody.js +82 -0
  119. package/dist/models/ErrorEnvelope.d.ts +33 -0
  120. package/dist/models/ErrorEnvelope.js +51 -0
  121. package/dist/models/JobOutputInfo.d.ts +95 -0
  122. package/dist/models/JobOutputInfo.js +80 -0
  123. package/dist/models/JobProfile.d.ts +49 -0
  124. package/dist/models/JobProfile.js +77 -0
  125. package/dist/models/JobProgress.d.ts +75 -0
  126. package/dist/models/JobProgress.js +67 -0
  127. package/dist/models/JobResponse.d.ts +134 -0
  128. package/dist/models/JobResponse.js +101 -0
  129. package/dist/models/JobSourceInfo.d.ts +62 -0
  130. package/dist/models/JobSourceInfo.js +60 -0
  131. package/dist/models/JobSourceType.d.ts +24 -0
  132. package/dist/models/JobSourceType.js +52 -0
  133. package/dist/models/JobStatus.d.ts +31 -0
  134. package/dist/models/JobStatus.js +59 -0
  135. package/dist/models/ListJobsResponse.d.ts +45 -0
  136. package/dist/models/ListJobsResponse.js +57 -0
  137. package/dist/models/OutputContainer.d.ts +27 -0
  138. package/dist/models/OutputContainer.js +55 -0
  139. package/dist/models/ReadyResponse.d.ts +38 -0
  140. package/dist/models/ReadyResponse.js +52 -0
  141. package/dist/models/UploadJobSource.d.ts +39 -0
  142. package/dist/models/UploadJobSource.js +55 -0
  143. package/dist/models/UploadPartResponse.d.ts +38 -0
  144. package/dist/models/UploadPartResponse.js +54 -0
  145. package/dist/models/UploadStatusResponse.d.ts +96 -0
  146. package/dist/models/UploadStatusResponse.js +88 -0
  147. package/dist/models/WebhookDeliveryPayload.d.ts +85 -0
  148. package/dist/models/WebhookDeliveryPayload.js +91 -0
  149. package/dist/models/WebhookListItem.d.ts +50 -0
  150. package/dist/models/WebhookListItem.js +62 -0
  151. package/dist/models/WebhookListResponse.d.ts +33 -0
  152. package/dist/models/WebhookListResponse.js +51 -0
  153. package/dist/models/WebhookResponse.d.ts +58 -0
  154. package/dist/models/WebhookResponse.js +66 -0
  155. package/dist/models/index.d.ts +25 -0
  156. package/dist/models/index.js +43 -0
  157. package/dist/runtime.d.ts +184 -0
  158. package/dist/runtime.js +364 -0
  159. package/docs/CompleteUploadResponse.md +40 -0
  160. package/docs/CreateJobOutputOptions.md +39 -0
  161. package/docs/CreateJobRequest.md +42 -0
  162. package/docs/CreateUploadRequest.md +38 -0
  163. package/docs/CreateUploadResponse.md +40 -0
  164. package/docs/CreateWebhookRequest.md +36 -0
  165. package/docs/DownloadsApi.md +78 -0
  166. package/docs/ErrorBody.md +40 -0
  167. package/docs/ErrorEnvelope.md +34 -0
  168. package/docs/HealthApi.md +129 -0
  169. package/docs/JobOutputInfo.md +50 -0
  170. package/docs/JobProfile.md +33 -0
  171. package/docs/JobProgress.md +48 -0
  172. package/docs/JobResponse.md +62 -0
  173. package/docs/JobSourceInfo.md +44 -0
  174. package/docs/JobSourceType.md +33 -0
  175. package/docs/JobStatus.md +33 -0
  176. package/docs/JobsApi.md +407 -0
  177. package/docs/ListJobsResponse.md +38 -0
  178. package/docs/OutputContainer.md +33 -0
  179. package/docs/ReadyResponse.md +36 -0
  180. package/docs/UploadJobSource.md +37 -0
  181. package/docs/UploadPartResponse.md +36 -0
  182. package/docs/UploadStatusResponse.md +50 -0
  183. package/docs/UploadsApi.md +415 -0
  184. package/docs/WebhookDeliveryPayload.md +45 -0
  185. package/docs/WebhookEventsApi.md +91 -0
  186. package/docs/WebhookListItem.md +40 -0
  187. package/docs/WebhookListResponse.md +34 -0
  188. package/docs/WebhookResponse.md +42 -0
  189. package/docs/WebhooksApi.md +235 -0
  190. package/package.json +24 -0
  191. package/src/apis/DownloadsApi.ts +114 -0
  192. package/src/apis/HealthApi.ts +160 -0
  193. package/src/apis/JobsApi.ts +491 -0
  194. package/src/apis/UploadsApi.ts +522 -0
  195. package/src/apis/WebhooksApi.ts +298 -0
  196. package/src/apis/index.ts +7 -0
  197. package/src/helpers/index.ts +3 -0
  198. package/src/helpers/jobs.ts +112 -0
  199. package/src/helpers/uploads.ts +243 -0
  200. package/src/helpers/webhooks.ts +134 -0
  201. package/src/index.ts +7 -0
  202. package/src/models/CompleteUploadResponse.ts +102 -0
  203. package/src/models/CreateJobOutputOptions.ts +101 -0
  204. package/src/models/CreateJobRequest.ts +123 -0
  205. package/src/models/CreateUploadRequest.ts +84 -0
  206. package/src/models/CreateUploadResponse.ts +95 -0
  207. package/src/models/CreateWebhookRequest.ts +76 -0
  208. package/src/models/ErrorBody.ts +116 -0
  209. package/src/models/ErrorEnvelope.ts +74 -0
  210. package/src/models/JobOutputInfo.ts +149 -0
  211. package/src/models/JobProfile.ts +76 -0
  212. package/src/models/JobProgress.ts +133 -0
  213. package/src/models/JobResponse.ts +236 -0
  214. package/src/models/JobSourceInfo.ts +106 -0
  215. package/src/models/JobSourceType.ts +51 -0
  216. package/src/models/JobStatus.ts +58 -0
  217. package/src/models/ListJobsResponse.ts +91 -0
  218. package/src/models/OutputContainer.ts +54 -0
  219. package/src/models/ReadyResponse.ts +74 -0
  220. package/src/models/UploadJobSource.ts +85 -0
  221. package/src/models/UploadPartResponse.ts +75 -0
  222. package/src/models/UploadStatusResponse.ts +153 -0
  223. package/src/models/WebhookDeliveryPayload.ts +134 -0
  224. package/src/models/WebhookListItem.ts +93 -0
  225. package/src/models/WebhookListResponse.ts +74 -0
  226. package/src/models/WebhookResponse.ts +104 -0
  227. package/src/models/index.ts +27 -0
  228. package/src/runtime.ts +450 -0
  229. package/tsconfig.esm.json +7 -0
  230. package/tsconfig.json +20 -0
@@ -0,0 +1,85 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * SOPHON Encoding API
5
+ * REST API for submitting, monitoring, and retrieving SOPHON encoding jobs. Authentication is via Bearer API key or session cookie. All POST endpoints require an Idempotency-Key header. List endpoints use opaque cursor-based pagination.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { JobSourceType } from './JobSourceType';
17
+ import {
18
+ JobSourceTypeFromJSON,
19
+ JobSourceTypeFromJSONTyped,
20
+ JobSourceTypeToJSON,
21
+ JobSourceTypeToJSONTyped,
22
+ } from './JobSourceType';
23
+
24
+ /**
25
+ * Source backed by a completed chunked upload session.
26
+ * @export
27
+ * @interface UploadJobSource
28
+ */
29
+ export interface UploadJobSource {
30
+ /**
31
+ *
32
+ * @type {JobSourceType}
33
+ * @memberof UploadJobSource
34
+ */
35
+ type: JobSourceType;
36
+ /**
37
+ * ID of a completed upload session.
38
+ * @type {string}
39
+ * @memberof UploadJobSource
40
+ */
41
+ upload_id: string;
42
+ }
43
+
44
+
45
+
46
+ /**
47
+ * Check if a given object implements the UploadJobSource interface.
48
+ */
49
+ export function instanceOfUploadJobSource(value: object): value is UploadJobSource {
50
+ if (!('type' in value) || value['type'] === undefined) return false;
51
+ if (!('upload_id' in value) || value['upload_id'] === undefined) return false;
52
+ return true;
53
+ }
54
+
55
+ export function UploadJobSourceFromJSON(json: any): UploadJobSource {
56
+ return UploadJobSourceFromJSONTyped(json, false);
57
+ }
58
+
59
+ export function UploadJobSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadJobSource {
60
+ if (json == null) {
61
+ return json;
62
+ }
63
+ return {
64
+
65
+ 'type': JobSourceTypeFromJSON(json['type']),
66
+ 'upload_id': json['upload_id'],
67
+ };
68
+ }
69
+
70
+ export function UploadJobSourceToJSON(json: any): UploadJobSource {
71
+ return UploadJobSourceToJSONTyped(json, false);
72
+ }
73
+
74
+ export function UploadJobSourceToJSONTyped(value?: UploadJobSource | null, ignoreDiscriminator: boolean = false): any {
75
+ if (value == null) {
76
+ return value;
77
+ }
78
+
79
+ return {
80
+
81
+ 'type': JobSourceTypeToJSON(value['type']),
82
+ 'upload_id': value['upload_id'],
83
+ };
84
+ }
85
+
@@ -0,0 +1,75 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * SOPHON Encoding API
5
+ * REST API for submitting, monitoring, and retrieving SOPHON encoding jobs. Authentication is via Bearer API key or session cookie. All POST endpoints require an Idempotency-Key header. List endpoints use opaque cursor-based pagination.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface UploadPartResponse
20
+ */
21
+ export interface UploadPartResponse {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof UploadPartResponse
26
+ */
27
+ part_number: number;
28
+ /**
29
+ *
30
+ * @type {boolean}
31
+ * @memberof UploadPartResponse
32
+ */
33
+ received: boolean;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the UploadPartResponse interface.
38
+ */
39
+ export function instanceOfUploadPartResponse(value: object): value is UploadPartResponse {
40
+ if (!('part_number' in value) || value['part_number'] === undefined) return false;
41
+ if (!('received' in value) || value['received'] === undefined) return false;
42
+ return true;
43
+ }
44
+
45
+ export function UploadPartResponseFromJSON(json: any): UploadPartResponse {
46
+ return UploadPartResponseFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function UploadPartResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadPartResponse {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'part_number': json['part_number'],
56
+ 'received': json['received'],
57
+ };
58
+ }
59
+
60
+ export function UploadPartResponseToJSON(json: any): UploadPartResponse {
61
+ return UploadPartResponseToJSONTyped(json, false);
62
+ }
63
+
64
+ export function UploadPartResponseToJSONTyped(value?: UploadPartResponse | null, ignoreDiscriminator: boolean = false): any {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+
69
+ return {
70
+
71
+ 'part_number': value['part_number'],
72
+ 'received': value['received'],
73
+ };
74
+ }
75
+
@@ -0,0 +1,153 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * SOPHON Encoding API
5
+ * REST API for submitting, monitoring, and retrieving SOPHON encoding jobs. Authentication is via Bearer API key or session cookie. All POST endpoints require an Idempotency-Key header. List endpoints use opaque cursor-based pagination.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface UploadStatusResponse
20
+ */
21
+ export interface UploadStatusResponse {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof UploadStatusResponse
26
+ */
27
+ id: string;
28
+ /**
29
+ *
30
+ * @type {UploadStatusResponseStatusEnum}
31
+ * @memberof UploadStatusResponse
32
+ */
33
+ status: UploadStatusResponseStatusEnum;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof UploadStatusResponse
38
+ */
39
+ file_name: string;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof UploadStatusResponse
44
+ */
45
+ total_chunks: number;
46
+ /**
47
+ * Array of 0-indexed part numbers that have been received.
48
+ * @type {Array<number>}
49
+ * @memberof UploadStatusResponse
50
+ */
51
+ received_chunks: Array<number>;
52
+ /**
53
+ *
54
+ * @type {Date}
55
+ * @memberof UploadStatusResponse
56
+ */
57
+ expires_at: Date;
58
+ /**
59
+ * Source media width in pixels, populated from ffprobe after upload
60
+ * assembly. Null for uploads in `initiated`/`uploading` state or
61
+ * when probe failed.
62
+ *
63
+ * @type {number}
64
+ * @memberof UploadStatusResponse
65
+ */
66
+ source_width?: number;
67
+ /**
68
+ * Source media height in pixels. See `source_width`.
69
+ * @type {number}
70
+ * @memberof UploadStatusResponse
71
+ */
72
+ source_height?: number;
73
+ /**
74
+ * Source media duration in seconds, from ffprobe after upload
75
+ * assembly. Used by the webapp free-tier budget check to compute
76
+ * realistic billable_seconds (5-second ceiling rounding).
77
+ *
78
+ * @type {number}
79
+ * @memberof UploadStatusResponse
80
+ */
81
+ source_duration_seconds?: number;
82
+ }
83
+
84
+ /**
85
+ * @export
86
+ * @enum {string}
87
+ */
88
+ export enum UploadStatusResponseStatusEnum {
89
+ UPLOADING = 'uploading',
90
+ ASSEMBLING = 'assembling',
91
+ COMPLETED = 'completed',
92
+ CANCELED = 'canceled'
93
+ }
94
+
95
+
96
+ /**
97
+ * Check if a given object implements the UploadStatusResponse interface.
98
+ */
99
+ export function instanceOfUploadStatusResponse(value: object): value is UploadStatusResponse {
100
+ if (!('id' in value) || value['id'] === undefined) return false;
101
+ if (!('status' in value) || value['status'] === undefined) return false;
102
+ if (!('file_name' in value) || value['file_name'] === undefined) return false;
103
+ if (!('total_chunks' in value) || value['total_chunks'] === undefined) return false;
104
+ if (!('received_chunks' in value) || value['received_chunks'] === undefined) return false;
105
+ if (!('expires_at' in value) || value['expires_at'] === undefined) return false;
106
+ return true;
107
+ }
108
+
109
+ export function UploadStatusResponseFromJSON(json: any): UploadStatusResponse {
110
+ return UploadStatusResponseFromJSONTyped(json, false);
111
+ }
112
+
113
+ export function UploadStatusResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadStatusResponse {
114
+ if (json == null) {
115
+ return json;
116
+ }
117
+ return {
118
+
119
+ 'id': json['id'],
120
+ 'status': json['status'],
121
+ 'file_name': json['file_name'],
122
+ 'total_chunks': json['total_chunks'],
123
+ 'received_chunks': json['received_chunks'],
124
+ 'expires_at': (new Date(json['expires_at'])),
125
+ 'source_width': json['source_width'] == null ? undefined : json['source_width'],
126
+ 'source_height': json['source_height'] == null ? undefined : json['source_height'],
127
+ 'source_duration_seconds': json['source_duration_seconds'] == null ? undefined : json['source_duration_seconds'],
128
+ };
129
+ }
130
+
131
+ export function UploadStatusResponseToJSON(json: any): UploadStatusResponse {
132
+ return UploadStatusResponseToJSONTyped(json, false);
133
+ }
134
+
135
+ export function UploadStatusResponseToJSONTyped(value?: UploadStatusResponse | null, ignoreDiscriminator: boolean = false): any {
136
+ if (value == null) {
137
+ return value;
138
+ }
139
+
140
+ return {
141
+
142
+ 'id': value['id'],
143
+ 'status': value['status'],
144
+ 'file_name': value['file_name'],
145
+ 'total_chunks': value['total_chunks'],
146
+ 'received_chunks': value['received_chunks'],
147
+ 'expires_at': value['expires_at'].toISOString(),
148
+ 'source_width': value['source_width'],
149
+ 'source_height': value['source_height'],
150
+ 'source_duration_seconds': value['source_duration_seconds'],
151
+ };
152
+ }
153
+
@@ -0,0 +1,134 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * SOPHON Encoding API
5
+ * REST API for submitting, monitoring, and retrieving SOPHON encoding jobs. Authentication is via Bearer API key or session cookie. All POST endpoints require an Idempotency-Key header. List endpoints use opaque cursor-based pagination.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Payload delivered to registered webhook endpoints on terminal job events.
18
+ * Signed with HMAC-SHA256 over `"{timestamp}.{raw_body}"` using the
19
+ * per-webhook secret. Consumers must verify the signature before processing.
20
+ *
21
+ * @export
22
+ * @interface WebhookDeliveryPayload
23
+ */
24
+ export interface WebhookDeliveryPayload {
25
+ /**
26
+ * Unique delivery event ID for deduplication.
27
+ * @type {string}
28
+ * @memberof WebhookDeliveryPayload
29
+ */
30
+ event_id: string;
31
+ /**
32
+ * Event type.
33
+ * @type {WebhookDeliveryPayloadTypeEnum}
34
+ * @memberof WebhookDeliveryPayload
35
+ */
36
+ type: WebhookDeliveryPayloadTypeEnum;
37
+ /**
38
+ * ISO 8601 timestamp of the event.
39
+ * @type {Date}
40
+ * @memberof WebhookDeliveryPayload
41
+ */
42
+ timestamp: Date;
43
+ /**
44
+ * The job that reached a terminal state.
45
+ * @type {string}
46
+ * @memberof WebhookDeliveryPayload
47
+ */
48
+ job_id: string;
49
+ /**
50
+ * Terminal job status.
51
+ * @type {WebhookDeliveryPayloadStatusEnum}
52
+ * @memberof WebhookDeliveryPayload
53
+ */
54
+ status: WebhookDeliveryPayloadStatusEnum;
55
+ /**
56
+ * Opaque metadata from the original job submission.
57
+ * @type {{ [key: string]: any; }}
58
+ * @memberof WebhookDeliveryPayload
59
+ */
60
+ metadata: { [key: string]: any; };
61
+ }
62
+
63
+ /**
64
+ * @export
65
+ * @enum {string}
66
+ */
67
+ export enum WebhookDeliveryPayloadTypeEnum {
68
+ JOB_COMPLETED = 'job.completed',
69
+ JOB_FAILED = 'job.failed',
70
+ JOB_CANCELED = 'job.canceled'
71
+ }
72
+ /**
73
+ * @export
74
+ * @enum {string}
75
+ */
76
+ export enum WebhookDeliveryPayloadStatusEnum {
77
+ COMPLETED = 'completed',
78
+ FAILED = 'failed',
79
+ CANCELED = 'canceled'
80
+ }
81
+
82
+
83
+ /**
84
+ * Check if a given object implements the WebhookDeliveryPayload interface.
85
+ */
86
+ export function instanceOfWebhookDeliveryPayload(value: object): value is WebhookDeliveryPayload {
87
+ if (!('event_id' in value) || value['event_id'] === undefined) return false;
88
+ if (!('type' in value) || value['type'] === undefined) return false;
89
+ if (!('timestamp' in value) || value['timestamp'] === undefined) return false;
90
+ if (!('job_id' in value) || value['job_id'] === undefined) return false;
91
+ if (!('status' in value) || value['status'] === undefined) return false;
92
+ if (!('metadata' in value) || value['metadata'] === undefined) return false;
93
+ return true;
94
+ }
95
+
96
+ export function WebhookDeliveryPayloadFromJSON(json: any): WebhookDeliveryPayload {
97
+ return WebhookDeliveryPayloadFromJSONTyped(json, false);
98
+ }
99
+
100
+ export function WebhookDeliveryPayloadFromJSONTyped(json: any, ignoreDiscriminator: boolean): WebhookDeliveryPayload {
101
+ if (json == null) {
102
+ return json;
103
+ }
104
+ return {
105
+
106
+ 'event_id': json['event_id'],
107
+ 'type': json['type'],
108
+ 'timestamp': (new Date(json['timestamp'])),
109
+ 'job_id': json['job_id'],
110
+ 'status': json['status'],
111
+ 'metadata': json['metadata'],
112
+ };
113
+ }
114
+
115
+ export function WebhookDeliveryPayloadToJSON(json: any): WebhookDeliveryPayload {
116
+ return WebhookDeliveryPayloadToJSONTyped(json, false);
117
+ }
118
+
119
+ export function WebhookDeliveryPayloadToJSONTyped(value?: WebhookDeliveryPayload | null, ignoreDiscriminator: boolean = false): any {
120
+ if (value == null) {
121
+ return value;
122
+ }
123
+
124
+ return {
125
+
126
+ 'event_id': value['event_id'],
127
+ 'type': value['type'],
128
+ 'timestamp': value['timestamp'].toISOString(),
129
+ 'job_id': value['job_id'],
130
+ 'status': value['status'],
131
+ 'metadata': value['metadata'],
132
+ };
133
+ }
134
+
@@ -0,0 +1,93 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * SOPHON Encoding API
5
+ * REST API for submitting, monitoring, and retrieving SOPHON encoding jobs. Authentication is via Bearer API key or session cookie. All POST endpoints require an Idempotency-Key header. List endpoints use opaque cursor-based pagination.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface WebhookListItem
20
+ */
21
+ export interface WebhookListItem {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof WebhookListItem
26
+ */
27
+ id: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof WebhookListItem
32
+ */
33
+ url: string;
34
+ /**
35
+ *
36
+ * @type {boolean}
37
+ * @memberof WebhookListItem
38
+ */
39
+ active: boolean;
40
+ /**
41
+ *
42
+ * @type {Date}
43
+ * @memberof WebhookListItem
44
+ */
45
+ created_at: Date;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the WebhookListItem interface.
50
+ */
51
+ export function instanceOfWebhookListItem(value: object): value is WebhookListItem {
52
+ if (!('id' in value) || value['id'] === undefined) return false;
53
+ if (!('url' in value) || value['url'] === undefined) return false;
54
+ if (!('active' in value) || value['active'] === undefined) return false;
55
+ if (!('created_at' in value) || value['created_at'] === undefined) return false;
56
+ return true;
57
+ }
58
+
59
+ export function WebhookListItemFromJSON(json: any): WebhookListItem {
60
+ return WebhookListItemFromJSONTyped(json, false);
61
+ }
62
+
63
+ export function WebhookListItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): WebhookListItem {
64
+ if (json == null) {
65
+ return json;
66
+ }
67
+ return {
68
+
69
+ 'id': json['id'],
70
+ 'url': json['url'],
71
+ 'active': json['active'],
72
+ 'created_at': (new Date(json['created_at'])),
73
+ };
74
+ }
75
+
76
+ export function WebhookListItemToJSON(json: any): WebhookListItem {
77
+ return WebhookListItemToJSONTyped(json, false);
78
+ }
79
+
80
+ export function WebhookListItemToJSONTyped(value?: WebhookListItem | null, ignoreDiscriminator: boolean = false): any {
81
+ if (value == null) {
82
+ return value;
83
+ }
84
+
85
+ return {
86
+
87
+ 'id': value['id'],
88
+ 'url': value['url'],
89
+ 'active': value['active'],
90
+ 'created_at': value['created_at'].toISOString(),
91
+ };
92
+ }
93
+
@@ -0,0 +1,74 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * SOPHON Encoding API
5
+ * REST API for submitting, monitoring, and retrieving SOPHON encoding jobs. Authentication is via Bearer API key or session cookie. All POST endpoints require an Idempotency-Key header. List endpoints use opaque cursor-based pagination.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { WebhookListItem } from './WebhookListItem';
17
+ import {
18
+ WebhookListItemFromJSON,
19
+ WebhookListItemFromJSONTyped,
20
+ WebhookListItemToJSON,
21
+ WebhookListItemToJSONTyped,
22
+ } from './WebhookListItem';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface WebhookListResponse
28
+ */
29
+ export interface WebhookListResponse {
30
+ /**
31
+ *
32
+ * @type {Array<WebhookListItem>}
33
+ * @memberof WebhookListResponse
34
+ */
35
+ webhooks: Array<WebhookListItem>;
36
+ }
37
+
38
+ /**
39
+ * Check if a given object implements the WebhookListResponse interface.
40
+ */
41
+ export function instanceOfWebhookListResponse(value: object): value is WebhookListResponse {
42
+ if (!('webhooks' in value) || value['webhooks'] === undefined) return false;
43
+ return true;
44
+ }
45
+
46
+ export function WebhookListResponseFromJSON(json: any): WebhookListResponse {
47
+ return WebhookListResponseFromJSONTyped(json, false);
48
+ }
49
+
50
+ export function WebhookListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): WebhookListResponse {
51
+ if (json == null) {
52
+ return json;
53
+ }
54
+ return {
55
+
56
+ 'webhooks': ((json['webhooks'] as Array<any>).map(WebhookListItemFromJSON)),
57
+ };
58
+ }
59
+
60
+ export function WebhookListResponseToJSON(json: any): WebhookListResponse {
61
+ return WebhookListResponseToJSONTyped(json, false);
62
+ }
63
+
64
+ export function WebhookListResponseToJSONTyped(value?: WebhookListResponse | null, ignoreDiscriminator: boolean = false): any {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+
69
+ return {
70
+
71
+ 'webhooks': ((value['webhooks'] as Array<any>).map(WebhookListItemToJSON)),
72
+ };
73
+ }
74
+