@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,236 @@
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 { JobStatus } from './JobStatus';
17
+ import {
18
+ JobStatusFromJSON,
19
+ JobStatusFromJSONTyped,
20
+ JobStatusToJSON,
21
+ JobStatusToJSONTyped,
22
+ } from './JobStatus';
23
+ import type { JobSourceInfo } from './JobSourceInfo';
24
+ import {
25
+ JobSourceInfoFromJSON,
26
+ JobSourceInfoFromJSONTyped,
27
+ JobSourceInfoToJSON,
28
+ JobSourceInfoToJSONTyped,
29
+ } from './JobSourceInfo';
30
+ import type { JobProfile } from './JobProfile';
31
+ import {
32
+ JobProfileFromJSON,
33
+ JobProfileFromJSONTyped,
34
+ JobProfileToJSON,
35
+ JobProfileToJSONTyped,
36
+ } from './JobProfile';
37
+ import type { JobOutputInfo } from './JobOutputInfo';
38
+ import {
39
+ JobOutputInfoFromJSON,
40
+ JobOutputInfoFromJSONTyped,
41
+ JobOutputInfoToJSON,
42
+ JobOutputInfoToJSONTyped,
43
+ } from './JobOutputInfo';
44
+ import type { JobProgress } from './JobProgress';
45
+ import {
46
+ JobProgressFromJSON,
47
+ JobProgressFromJSONTyped,
48
+ JobProgressToJSON,
49
+ JobProgressToJSONTyped,
50
+ } from './JobProgress';
51
+
52
+ /**
53
+ *
54
+ * @export
55
+ * @interface JobResponse
56
+ */
57
+ export interface JobResponse {
58
+ /**
59
+ *
60
+ * @type {string}
61
+ * @memberof JobResponse
62
+ */
63
+ id: string;
64
+ /**
65
+ *
66
+ * @type {JobStatus}
67
+ * @memberof JobResponse
68
+ */
69
+ status: JobStatus;
70
+ /**
71
+ *
72
+ * @type {string}
73
+ * @memberof JobResponse
74
+ */
75
+ status_reason?: string;
76
+ /**
77
+ *
78
+ * @type {number}
79
+ * @memberof JobResponse
80
+ */
81
+ attempt: number;
82
+ /**
83
+ * Whether the job can still be retried (attempt < max_attempts and not terminal).
84
+ * @type {boolean}
85
+ * @memberof JobResponse
86
+ */
87
+ retryable: boolean;
88
+ /**
89
+ * Public profile ID submitted by the customer. For adaptive jobs this
90
+ * stays `sophon-auto`; see `effective_profile_id` for the worker's
91
+ * resolved concrete profile.
92
+ *
93
+ * @type {JobProfile}
94
+ * @memberof JobResponse
95
+ */
96
+ profile: JobProfile;
97
+ /**
98
+ * Concrete profile resolved by the worker. Omitted until dispatch
99
+ * resolves. On explicit-profile jobs this equals `profile`; on
100
+ * `sophon-auto` jobs it is an internal adaptive profile ID.
101
+ *
102
+ * @type {string}
103
+ * @memberof JobResponse
104
+ */
105
+ effective_profile_id?: string;
106
+ /**
107
+ *
108
+ * @type {JobSourceInfo}
109
+ * @memberof JobResponse
110
+ */
111
+ source: JobSourceInfo;
112
+ /**
113
+ *
114
+ * @type {JobProgress}
115
+ * @memberof JobResponse
116
+ */
117
+ progress: JobProgress;
118
+ /**
119
+ *
120
+ * @type {JobOutputInfo}
121
+ * @memberof JobResponse
122
+ */
123
+ output: JobOutputInfo;
124
+ /**
125
+ * Arbitrary JSON object attached to a job. Keys and values are passed
126
+ * through unchanged to webhook deliveries and echoed on job reads. The
127
+ * serialized representation must not exceed 16 KiB. Free-form; SDKs
128
+ * surface this as a `Record<string, unknown>` / `dict[str, Any]` /
129
+ * `map[string]interface{}` depending on language.
130
+ *
131
+ * @type {{ [key: string]: any; }}
132
+ * @memberof JobResponse
133
+ */
134
+ metadata: { [key: string]: any; };
135
+ /**
136
+ *
137
+ * @type {Date}
138
+ * @memberof JobResponse
139
+ */
140
+ created_at: Date;
141
+ /**
142
+ *
143
+ * @type {Date}
144
+ * @memberof JobResponse
145
+ */
146
+ started_at?: Date;
147
+ /**
148
+ *
149
+ * @type {Date}
150
+ * @memberof JobResponse
151
+ */
152
+ completed_at?: Date;
153
+ /**
154
+ *
155
+ * @type {string}
156
+ * @memberof JobResponse
157
+ */
158
+ error?: string;
159
+ }
160
+
161
+
162
+
163
+ /**
164
+ * Check if a given object implements the JobResponse interface.
165
+ */
166
+ export function instanceOfJobResponse(value: object): value is JobResponse {
167
+ if (!('id' in value) || value['id'] === undefined) return false;
168
+ if (!('status' in value) || value['status'] === undefined) return false;
169
+ if (!('attempt' in value) || value['attempt'] === undefined) return false;
170
+ if (!('retryable' in value) || value['retryable'] === undefined) return false;
171
+ if (!('profile' in value) || value['profile'] === undefined) return false;
172
+ if (!('source' in value) || value['source'] === undefined) return false;
173
+ if (!('progress' in value) || value['progress'] === undefined) return false;
174
+ if (!('output' in value) || value['output'] === undefined) return false;
175
+ if (!('metadata' in value) || value['metadata'] === undefined) return false;
176
+ if (!('created_at' in value) || value['created_at'] === undefined) return false;
177
+ return true;
178
+ }
179
+
180
+ export function JobResponseFromJSON(json: any): JobResponse {
181
+ return JobResponseFromJSONTyped(json, false);
182
+ }
183
+
184
+ export function JobResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobResponse {
185
+ if (json == null) {
186
+ return json;
187
+ }
188
+ return {
189
+
190
+ 'id': json['id'],
191
+ 'status': JobStatusFromJSON(json['status']),
192
+ 'status_reason': json['status_reason'] == null ? undefined : json['status_reason'],
193
+ 'attempt': json['attempt'],
194
+ 'retryable': json['retryable'],
195
+ 'profile': JobProfileFromJSON(json['profile']),
196
+ 'effective_profile_id': json['effective_profile_id'] == null ? undefined : json['effective_profile_id'],
197
+ 'source': JobSourceInfoFromJSON(json['source']),
198
+ 'progress': JobProgressFromJSON(json['progress']),
199
+ 'output': JobOutputInfoFromJSON(json['output']),
200
+ 'metadata': json['metadata'],
201
+ 'created_at': (new Date(json['created_at'])),
202
+ 'started_at': json['started_at'] == null ? undefined : (new Date(json['started_at'])),
203
+ 'completed_at': json['completed_at'] == null ? undefined : (new Date(json['completed_at'])),
204
+ 'error': json['error'] == null ? undefined : json['error'],
205
+ };
206
+ }
207
+
208
+ export function JobResponseToJSON(json: any): JobResponse {
209
+ return JobResponseToJSONTyped(json, false);
210
+ }
211
+
212
+ export function JobResponseToJSONTyped(value?: JobResponse | null, ignoreDiscriminator: boolean = false): any {
213
+ if (value == null) {
214
+ return value;
215
+ }
216
+
217
+ return {
218
+
219
+ 'id': value['id'],
220
+ 'status': JobStatusToJSON(value['status']),
221
+ 'status_reason': value['status_reason'],
222
+ 'attempt': value['attempt'],
223
+ 'retryable': value['retryable'],
224
+ 'profile': JobProfileToJSON(value['profile']),
225
+ 'effective_profile_id': value['effective_profile_id'],
226
+ 'source': JobSourceInfoToJSON(value['source']),
227
+ 'progress': JobProgressToJSON(value['progress']),
228
+ 'output': JobOutputInfoToJSON(value['output']),
229
+ 'metadata': value['metadata'],
230
+ 'created_at': value['created_at'].toISOString(),
231
+ 'started_at': value['started_at'] == null ? value['started_at'] : value['started_at'].toISOString(),
232
+ 'completed_at': value['completed_at'] == null ? value['completed_at'] : value['completed_at'].toISOString(),
233
+ 'error': value['error'],
234
+ };
235
+ }
236
+
@@ -0,0 +1,106 @@
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 JobSourceInfo
20
+ */
21
+ export interface JobSourceInfo {
22
+ /**
23
+ * Original file name of the source.
24
+ * @type {string}
25
+ * @memberof JobSourceInfo
26
+ */
27
+ name?: string;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof JobSourceInfo
32
+ */
33
+ bytes?: number;
34
+ /**
35
+ * SHA-256 hex digest of the source file.
36
+ * @type {string}
37
+ * @memberof JobSourceInfo
38
+ */
39
+ sha256: string;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof JobSourceInfo
44
+ */
45
+ duration_seconds?: number;
46
+ /**
47
+ *
48
+ * @type {string}
49
+ * @memberof JobSourceInfo
50
+ */
51
+ resolution?: string;
52
+ /**
53
+ *
54
+ * @type {string}
55
+ * @memberof JobSourceInfo
56
+ */
57
+ frame_rate?: string;
58
+ }
59
+
60
+ /**
61
+ * Check if a given object implements the JobSourceInfo interface.
62
+ */
63
+ export function instanceOfJobSourceInfo(value: object): value is JobSourceInfo {
64
+ if (!('sha256' in value) || value['sha256'] === undefined) return false;
65
+ return true;
66
+ }
67
+
68
+ export function JobSourceInfoFromJSON(json: any): JobSourceInfo {
69
+ return JobSourceInfoFromJSONTyped(json, false);
70
+ }
71
+
72
+ export function JobSourceInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobSourceInfo {
73
+ if (json == null) {
74
+ return json;
75
+ }
76
+ return {
77
+
78
+ 'name': json['name'] == null ? undefined : json['name'],
79
+ 'bytes': json['bytes'] == null ? undefined : json['bytes'],
80
+ 'sha256': json['sha256'],
81
+ 'duration_seconds': json['duration_seconds'] == null ? undefined : json['duration_seconds'],
82
+ 'resolution': json['resolution'] == null ? undefined : json['resolution'],
83
+ 'frame_rate': json['frame_rate'] == null ? undefined : json['frame_rate'],
84
+ };
85
+ }
86
+
87
+ export function JobSourceInfoToJSON(json: any): JobSourceInfo {
88
+ return JobSourceInfoToJSONTyped(json, false);
89
+ }
90
+
91
+ export function JobSourceInfoToJSONTyped(value?: JobSourceInfo | null, ignoreDiscriminator: boolean = false): any {
92
+ if (value == null) {
93
+ return value;
94
+ }
95
+
96
+ return {
97
+
98
+ 'name': value['name'],
99
+ 'bytes': value['bytes'],
100
+ 'sha256': value['sha256'],
101
+ 'duration_seconds': value['duration_seconds'],
102
+ 'resolution': value['resolution'],
103
+ 'frame_rate': value['frame_rate'],
104
+ };
105
+ }
106
+
@@ -0,0 +1,51 @@
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
+ /**
16
+ * Discriminator for `JobSource` variants.
17
+ * @export
18
+ * @enum {string}
19
+ */
20
+ export enum JobSourceType {
21
+ UPLOAD = 'upload'
22
+ }
23
+
24
+
25
+ export function instanceOfJobSourceType(value: any): boolean {
26
+ for (const key in JobSourceType) {
27
+ if (Object.prototype.hasOwnProperty.call(JobSourceType, key)) {
28
+ if (JobSourceType[key as keyof typeof JobSourceType] === value) {
29
+ return true;
30
+ }
31
+ }
32
+ }
33
+ return false;
34
+ }
35
+
36
+ export function JobSourceTypeFromJSON(json: any): JobSourceType {
37
+ return JobSourceTypeFromJSONTyped(json, false);
38
+ }
39
+
40
+ export function JobSourceTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobSourceType {
41
+ return json as JobSourceType;
42
+ }
43
+
44
+ export function JobSourceTypeToJSON(value?: JobSourceType | null): any {
45
+ return value as any;
46
+ }
47
+
48
+ export function JobSourceTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): JobSourceType {
49
+ return value as JobSourceType;
50
+ }
51
+
@@ -0,0 +1,58 @@
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
+ /**
16
+ * Lifecycle status for an encoding job.
17
+ * @export
18
+ * @enum {string}
19
+ */
20
+ export enum JobStatus {
21
+ QUEUED = 'queued',
22
+ PROBING = 'probing',
23
+ ENCODING = 'encoding',
24
+ MUXING = 'muxing',
25
+ UPLOADING_OUTPUT = 'uploading_output',
26
+ COMPLETED = 'completed',
27
+ FAILED = 'failed',
28
+ CANCELED = 'canceled'
29
+ }
30
+
31
+
32
+ export function instanceOfJobStatus(value: any): boolean {
33
+ for (const key in JobStatus) {
34
+ if (Object.prototype.hasOwnProperty.call(JobStatus, key)) {
35
+ if (JobStatus[key as keyof typeof JobStatus] === value) {
36
+ return true;
37
+ }
38
+ }
39
+ }
40
+ return false;
41
+ }
42
+
43
+ export function JobStatusFromJSON(json: any): JobStatus {
44
+ return JobStatusFromJSONTyped(json, false);
45
+ }
46
+
47
+ export function JobStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobStatus {
48
+ return json as JobStatus;
49
+ }
50
+
51
+ export function JobStatusToJSON(value?: JobStatus | null): any {
52
+ return value as any;
53
+ }
54
+
55
+ export function JobStatusToJSONTyped(value: any, ignoreDiscriminator: boolean): JobStatus {
56
+ return value as JobStatus;
57
+ }
58
+
@@ -0,0 +1,91 @@
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 { JobResponse } from './JobResponse';
17
+ import {
18
+ JobResponseFromJSON,
19
+ JobResponseFromJSONTyped,
20
+ JobResponseToJSON,
21
+ JobResponseToJSONTyped,
22
+ } from './JobResponse';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface ListJobsResponse
28
+ */
29
+ export interface ListJobsResponse {
30
+ /**
31
+ *
32
+ * @type {Array<JobResponse>}
33
+ * @memberof ListJobsResponse
34
+ */
35
+ jobs: Array<JobResponse>;
36
+ /**
37
+ * Opaque cursor for the next page. Null when no more results.
38
+ * @type {string}
39
+ * @memberof ListJobsResponse
40
+ */
41
+ next_cursor?: string;
42
+ /**
43
+ *
44
+ * @type {boolean}
45
+ * @memberof ListJobsResponse
46
+ */
47
+ has_more: boolean;
48
+ }
49
+
50
+ /**
51
+ * Check if a given object implements the ListJobsResponse interface.
52
+ */
53
+ export function instanceOfListJobsResponse(value: object): value is ListJobsResponse {
54
+ if (!('jobs' in value) || value['jobs'] === undefined) return false;
55
+ if (!('has_more' in value) || value['has_more'] === undefined) return false;
56
+ return true;
57
+ }
58
+
59
+ export function ListJobsResponseFromJSON(json: any): ListJobsResponse {
60
+ return ListJobsResponseFromJSONTyped(json, false);
61
+ }
62
+
63
+ export function ListJobsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListJobsResponse {
64
+ if (json == null) {
65
+ return json;
66
+ }
67
+ return {
68
+
69
+ 'jobs': ((json['jobs'] as Array<any>).map(JobResponseFromJSON)),
70
+ 'next_cursor': json['next_cursor'] == null ? undefined : json['next_cursor'],
71
+ 'has_more': json['has_more'],
72
+ };
73
+ }
74
+
75
+ export function ListJobsResponseToJSON(json: any): ListJobsResponse {
76
+ return ListJobsResponseToJSONTyped(json, false);
77
+ }
78
+
79
+ export function ListJobsResponseToJSONTyped(value?: ListJobsResponse | null, ignoreDiscriminator: boolean = false): any {
80
+ if (value == null) {
81
+ return value;
82
+ }
83
+
84
+ return {
85
+
86
+ 'jobs': ((value['jobs'] as Array<any>).map(JobResponseToJSON)),
87
+ 'next_cursor': value['next_cursor'],
88
+ 'has_more': value['has_more'],
89
+ };
90
+ }
91
+
@@ -0,0 +1,54 @@
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
+ /**
16
+ * Output container format. MP4 is widely compatible; MKV
17
+ * supports a broader range of audio codecs for passthrough.
18
+ *
19
+ * @export
20
+ * @enum {string}
21
+ */
22
+ export enum OutputContainer {
23
+ MP4 = 'mp4',
24
+ MKV = 'mkv'
25
+ }
26
+
27
+
28
+ export function instanceOfOutputContainer(value: any): boolean {
29
+ for (const key in OutputContainer) {
30
+ if (Object.prototype.hasOwnProperty.call(OutputContainer, key)) {
31
+ if (OutputContainer[key as keyof typeof OutputContainer] === value) {
32
+ return true;
33
+ }
34
+ }
35
+ }
36
+ return false;
37
+ }
38
+
39
+ export function OutputContainerFromJSON(json: any): OutputContainer {
40
+ return OutputContainerFromJSONTyped(json, false);
41
+ }
42
+
43
+ export function OutputContainerFromJSONTyped(json: any, ignoreDiscriminator: boolean): OutputContainer {
44
+ return json as OutputContainer;
45
+ }
46
+
47
+ export function OutputContainerToJSON(value?: OutputContainer | null): any {
48
+ return value as any;
49
+ }
50
+
51
+ export function OutputContainerToJSONTyped(value: any, ignoreDiscriminator: boolean): OutputContainer {
52
+ return value as OutputContainer;
53
+ }
54
+
@@ -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
+ /**
17
+ *
18
+ * @export
19
+ * @interface ReadyResponse
20
+ */
21
+ export interface ReadyResponse {
22
+ /**
23
+ *
24
+ * @type {boolean}
25
+ * @memberof ReadyResponse
26
+ */
27
+ ready: boolean;
28
+ /**
29
+ * Names of failed readiness checks (database, disk_critical, draining, workers_dead).
30
+ * @type {Array<string>}
31
+ * @memberof ReadyResponse
32
+ */
33
+ checks_failed?: Array<string>;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the ReadyResponse interface.
38
+ */
39
+ export function instanceOfReadyResponse(value: object): value is ReadyResponse {
40
+ if (!('ready' in value) || value['ready'] === undefined) return false;
41
+ return true;
42
+ }
43
+
44
+ export function ReadyResponseFromJSON(json: any): ReadyResponse {
45
+ return ReadyResponseFromJSONTyped(json, false);
46
+ }
47
+
48
+ export function ReadyResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReadyResponse {
49
+ if (json == null) {
50
+ return json;
51
+ }
52
+ return {
53
+
54
+ 'ready': json['ready'],
55
+ 'checks_failed': json['checks_failed'] == null ? undefined : json['checks_failed'],
56
+ };
57
+ }
58
+
59
+ export function ReadyResponseToJSON(json: any): ReadyResponse {
60
+ return ReadyResponseToJSONTyped(json, false);
61
+ }
62
+
63
+ export function ReadyResponseToJSONTyped(value?: ReadyResponse | null, ignoreDiscriminator: boolean = false): any {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+
68
+ return {
69
+
70
+ 'ready': value['ready'],
71
+ 'checks_failed': value['checks_failed'],
72
+ };
73
+ }
74
+