@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,80 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * SOPHON Encoding API
6
+ * 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.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.JobOutputInfoStateEnum = void 0;
17
+ exports.instanceOfJobOutputInfo = instanceOfJobOutputInfo;
18
+ exports.JobOutputInfoFromJSON = JobOutputInfoFromJSON;
19
+ exports.JobOutputInfoFromJSONTyped = JobOutputInfoFromJSONTyped;
20
+ exports.JobOutputInfoToJSON = JobOutputInfoToJSON;
21
+ exports.JobOutputInfoToJSONTyped = JobOutputInfoToJSONTyped;
22
+ /**
23
+ * @export
24
+ * @enum {string}
25
+ */
26
+ var JobOutputInfoStateEnum;
27
+ (function (JobOutputInfoStateEnum) {
28
+ JobOutputInfoStateEnum["PENDING"] = "pending";
29
+ JobOutputInfoStateEnum["AVAILABLE"] = "available";
30
+ })(JobOutputInfoStateEnum || (exports.JobOutputInfoStateEnum = JobOutputInfoStateEnum = {}));
31
+ /**
32
+ * Check if a given object implements the JobOutputInfo interface.
33
+ */
34
+ function instanceOfJobOutputInfo(value) {
35
+ if (!('state' in value) || value['state'] === undefined)
36
+ return false;
37
+ if (!('container' in value) || value['container'] === undefined)
38
+ return false;
39
+ if (!('audio' in value) || value['audio'] === undefined)
40
+ return false;
41
+ return true;
42
+ }
43
+ function JobOutputInfoFromJSON(json) {
44
+ return JobOutputInfoFromJSONTyped(json, false);
45
+ }
46
+ function JobOutputInfoFromJSONTyped(json, ignoreDiscriminator) {
47
+ if (json == null) {
48
+ return json;
49
+ }
50
+ return {
51
+ 'state': json['state'],
52
+ 'container': json['container'],
53
+ 'audio': json['audio'],
54
+ 'target_height': json['target_height'] == null ? undefined : json['target_height'],
55
+ 'width': json['width'] == null ? undefined : json['width'],
56
+ 'height': json['height'] == null ? undefined : json['height'],
57
+ 'bytes': json['bytes'] == null ? undefined : json['bytes'],
58
+ 'sha256': json['sha256'] == null ? undefined : json['sha256'],
59
+ 'retention_expires_at': json['retention_expires_at'] == null ? undefined : (new Date(json['retention_expires_at'])),
60
+ };
61
+ }
62
+ function JobOutputInfoToJSON(json) {
63
+ return JobOutputInfoToJSONTyped(json, false);
64
+ }
65
+ function JobOutputInfoToJSONTyped(value, ignoreDiscriminator = false) {
66
+ if (value == null) {
67
+ return value;
68
+ }
69
+ return {
70
+ 'state': value['state'],
71
+ 'container': value['container'],
72
+ 'audio': value['audio'],
73
+ 'target_height': value['target_height'],
74
+ 'width': value['width'],
75
+ 'height': value['height'],
76
+ 'bytes': value['bytes'],
77
+ 'sha256': value['sha256'],
78
+ 'retention_expires_at': value['retention_expires_at'] == null ? value['retention_expires_at'] : value['retention_expires_at'].toISOString(),
79
+ };
80
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * SOPHON Encoding API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Encoding profile ID. Coffee-themed naming: prep time maps to encode speed,
14
+ * bare name is the 8-bit default (universal decoder compatibility),
15
+ * `-10bit` suffix opts into HEVC Main10 for higher-quality playback on
16
+ * newer decoders.
17
+ *
18
+ * **8-bit (default):**
19
+ * - `sophon-espresso` — fastest, lowest compression
20
+ * - `sophon-cortado` — balanced speed and quality
21
+ * - `sophon-americano` — slowest, highest compression
22
+ *
23
+ * **10-bit (HEVC Main10):**
24
+ * - `sophon-espresso-10bit`
25
+ * - `sophon-cortado-10bit`
26
+ * - `sophon-americano-10bit`
27
+ *
28
+ * **Adaptive dispatcher:**
29
+ * - `sophon-auto` — public opt-in profile. The worker classifies
30
+ * the source and records the concrete `effective_profile_id` on
31
+ * the job once dispatch resolves.
32
+ *
33
+ * @export
34
+ * @enum {string}
35
+ */
36
+ export declare enum JobProfile {
37
+ SOPHON_ESPRESSO = "sophon-espresso",
38
+ SOPHON_CORTADO = "sophon-cortado",
39
+ SOPHON_AMERICANO = "sophon-americano",
40
+ SOPHON_ESPRESSO_10BIT = "sophon-espresso-10bit",
41
+ SOPHON_CORTADO_10BIT = "sophon-cortado-10bit",
42
+ SOPHON_AMERICANO_10BIT = "sophon-americano-10bit",
43
+ SOPHON_AUTO = "sophon-auto"
44
+ }
45
+ export declare function instanceOfJobProfile(value: any): boolean;
46
+ export declare function JobProfileFromJSON(json: any): JobProfile;
47
+ export declare function JobProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobProfile;
48
+ export declare function JobProfileToJSON(value?: JobProfile | null): any;
49
+ export declare function JobProfileToJSONTyped(value: any, ignoreDiscriminator: boolean): JobProfile;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * SOPHON Encoding API
6
+ * 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.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.JobProfile = void 0;
17
+ exports.instanceOfJobProfile = instanceOfJobProfile;
18
+ exports.JobProfileFromJSON = JobProfileFromJSON;
19
+ exports.JobProfileFromJSONTyped = JobProfileFromJSONTyped;
20
+ exports.JobProfileToJSON = JobProfileToJSON;
21
+ exports.JobProfileToJSONTyped = JobProfileToJSONTyped;
22
+ /**
23
+ * Encoding profile ID. Coffee-themed naming: prep time maps to encode speed,
24
+ * bare name is the 8-bit default (universal decoder compatibility),
25
+ * `-10bit` suffix opts into HEVC Main10 for higher-quality playback on
26
+ * newer decoders.
27
+ *
28
+ * **8-bit (default):**
29
+ * - `sophon-espresso` — fastest, lowest compression
30
+ * - `sophon-cortado` — balanced speed and quality
31
+ * - `sophon-americano` — slowest, highest compression
32
+ *
33
+ * **10-bit (HEVC Main10):**
34
+ * - `sophon-espresso-10bit`
35
+ * - `sophon-cortado-10bit`
36
+ * - `sophon-americano-10bit`
37
+ *
38
+ * **Adaptive dispatcher:**
39
+ * - `sophon-auto` — public opt-in profile. The worker classifies
40
+ * the source and records the concrete `effective_profile_id` on
41
+ * the job once dispatch resolves.
42
+ *
43
+ * @export
44
+ * @enum {string}
45
+ */
46
+ var JobProfile;
47
+ (function (JobProfile) {
48
+ JobProfile["SOPHON_ESPRESSO"] = "sophon-espresso";
49
+ JobProfile["SOPHON_CORTADO"] = "sophon-cortado";
50
+ JobProfile["SOPHON_AMERICANO"] = "sophon-americano";
51
+ JobProfile["SOPHON_ESPRESSO_10BIT"] = "sophon-espresso-10bit";
52
+ JobProfile["SOPHON_CORTADO_10BIT"] = "sophon-cortado-10bit";
53
+ JobProfile["SOPHON_AMERICANO_10BIT"] = "sophon-americano-10bit";
54
+ JobProfile["SOPHON_AUTO"] = "sophon-auto";
55
+ })(JobProfile || (exports.JobProfile = JobProfile = {}));
56
+ function instanceOfJobProfile(value) {
57
+ for (const key in JobProfile) {
58
+ if (Object.prototype.hasOwnProperty.call(JobProfile, key)) {
59
+ if (JobProfile[key] === value) {
60
+ return true;
61
+ }
62
+ }
63
+ }
64
+ return false;
65
+ }
66
+ function JobProfileFromJSON(json) {
67
+ return JobProfileFromJSONTyped(json, false);
68
+ }
69
+ function JobProfileFromJSONTyped(json, ignoreDiscriminator) {
70
+ return json;
71
+ }
72
+ function JobProfileToJSON(value) {
73
+ return value;
74
+ }
75
+ function JobProfileToJSONTyped(value, ignoreDiscriminator) {
76
+ return value;
77
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * SOPHON Encoding API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { JobStatus } from './JobStatus';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface JobProgress
17
+ */
18
+ export interface JobProgress {
19
+ /**
20
+ * Current processing stage label (e.g. "probing", "encoding", "muxing").
21
+ * @type {string}
22
+ * @memberof JobProgress
23
+ */
24
+ stage?: string;
25
+ /**
26
+ * Canonical pipeline phase used for progress semantics.
27
+ * @type {JobStatus}
28
+ * @memberof JobProgress
29
+ */
30
+ phase: JobStatus;
31
+ /**
32
+ *
33
+ * @type {number}
34
+ * @memberof JobProgress
35
+ */
36
+ percent: number;
37
+ /**
38
+ * Progress within the current phase. Null before active processing.
39
+ * @type {number}
40
+ * @memberof JobProgress
41
+ */
42
+ phase_percent?: number;
43
+ /**
44
+ *
45
+ * @type {number}
46
+ * @memberof JobProgress
47
+ */
48
+ fps?: number;
49
+ /**
50
+ *
51
+ * @type {number}
52
+ * @memberof JobProgress
53
+ */
54
+ eta_seconds?: number;
55
+ /**
56
+ *
57
+ * @type {number}
58
+ * @memberof JobProgress
59
+ */
60
+ frames_done?: number;
61
+ /**
62
+ *
63
+ * @type {number}
64
+ * @memberof JobProgress
65
+ */
66
+ frames_total?: number;
67
+ }
68
+ /**
69
+ * Check if a given object implements the JobProgress interface.
70
+ */
71
+ export declare function instanceOfJobProgress(value: object): value is JobProgress;
72
+ export declare function JobProgressFromJSON(json: any): JobProgress;
73
+ export declare function JobProgressFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobProgress;
74
+ export declare function JobProgressToJSON(json: any): JobProgress;
75
+ export declare function JobProgressToJSONTyped(value?: JobProgress | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * SOPHON Encoding API
6
+ * 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.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfJobProgress = instanceOfJobProgress;
17
+ exports.JobProgressFromJSON = JobProgressFromJSON;
18
+ exports.JobProgressFromJSONTyped = JobProgressFromJSONTyped;
19
+ exports.JobProgressToJSON = JobProgressToJSON;
20
+ exports.JobProgressToJSONTyped = JobProgressToJSONTyped;
21
+ const JobStatus_1 = require("./JobStatus");
22
+ /**
23
+ * Check if a given object implements the JobProgress interface.
24
+ */
25
+ function instanceOfJobProgress(value) {
26
+ if (!('phase' in value) || value['phase'] === undefined)
27
+ return false;
28
+ if (!('percent' in value) || value['percent'] === undefined)
29
+ return false;
30
+ return true;
31
+ }
32
+ function JobProgressFromJSON(json) {
33
+ return JobProgressFromJSONTyped(json, false);
34
+ }
35
+ function JobProgressFromJSONTyped(json, ignoreDiscriminator) {
36
+ if (json == null) {
37
+ return json;
38
+ }
39
+ return {
40
+ 'stage': json['stage'] == null ? undefined : json['stage'],
41
+ 'phase': (0, JobStatus_1.JobStatusFromJSON)(json['phase']),
42
+ 'percent': json['percent'],
43
+ 'phase_percent': json['phase_percent'] == null ? undefined : json['phase_percent'],
44
+ 'fps': json['fps'] == null ? undefined : json['fps'],
45
+ 'eta_seconds': json['eta_seconds'] == null ? undefined : json['eta_seconds'],
46
+ 'frames_done': json['frames_done'] == null ? undefined : json['frames_done'],
47
+ 'frames_total': json['frames_total'] == null ? undefined : json['frames_total'],
48
+ };
49
+ }
50
+ function JobProgressToJSON(json) {
51
+ return JobProgressToJSONTyped(json, false);
52
+ }
53
+ function JobProgressToJSONTyped(value, ignoreDiscriminator = false) {
54
+ if (value == null) {
55
+ return value;
56
+ }
57
+ return {
58
+ 'stage': value['stage'],
59
+ 'phase': (0, JobStatus_1.JobStatusToJSON)(value['phase']),
60
+ 'percent': value['percent'],
61
+ 'phase_percent': value['phase_percent'],
62
+ 'fps': value['fps'],
63
+ 'eta_seconds': value['eta_seconds'],
64
+ 'frames_done': value['frames_done'],
65
+ 'frames_total': value['frames_total'],
66
+ };
67
+ }
@@ -0,0 +1,134 @@
1
+ /**
2
+ * SOPHON Encoding API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { JobStatus } from './JobStatus';
13
+ import type { JobSourceInfo } from './JobSourceInfo';
14
+ import type { JobProfile } from './JobProfile';
15
+ import type { JobOutputInfo } from './JobOutputInfo';
16
+ import type { JobProgress } from './JobProgress';
17
+ /**
18
+ *
19
+ * @export
20
+ * @interface JobResponse
21
+ */
22
+ export interface JobResponse {
23
+ /**
24
+ *
25
+ * @type {string}
26
+ * @memberof JobResponse
27
+ */
28
+ id: string;
29
+ /**
30
+ *
31
+ * @type {JobStatus}
32
+ * @memberof JobResponse
33
+ */
34
+ status: JobStatus;
35
+ /**
36
+ *
37
+ * @type {string}
38
+ * @memberof JobResponse
39
+ */
40
+ status_reason?: string;
41
+ /**
42
+ *
43
+ * @type {number}
44
+ * @memberof JobResponse
45
+ */
46
+ attempt: number;
47
+ /**
48
+ * Whether the job can still be retried (attempt < max_attempts and not terminal).
49
+ * @type {boolean}
50
+ * @memberof JobResponse
51
+ */
52
+ retryable: boolean;
53
+ /**
54
+ * Public profile ID submitted by the customer. For adaptive jobs this
55
+ * stays `sophon-auto`; see `effective_profile_id` for the worker's
56
+ * resolved concrete profile.
57
+ *
58
+ * @type {JobProfile}
59
+ * @memberof JobResponse
60
+ */
61
+ profile: JobProfile;
62
+ /**
63
+ * Concrete profile resolved by the worker. Omitted until dispatch
64
+ * resolves. On explicit-profile jobs this equals `profile`; on
65
+ * `sophon-auto` jobs it is an internal adaptive profile ID.
66
+ *
67
+ * @type {string}
68
+ * @memberof JobResponse
69
+ */
70
+ effective_profile_id?: string;
71
+ /**
72
+ *
73
+ * @type {JobSourceInfo}
74
+ * @memberof JobResponse
75
+ */
76
+ source: JobSourceInfo;
77
+ /**
78
+ *
79
+ * @type {JobProgress}
80
+ * @memberof JobResponse
81
+ */
82
+ progress: JobProgress;
83
+ /**
84
+ *
85
+ * @type {JobOutputInfo}
86
+ * @memberof JobResponse
87
+ */
88
+ output: JobOutputInfo;
89
+ /**
90
+ * Arbitrary JSON object attached to a job. Keys and values are passed
91
+ * through unchanged to webhook deliveries and echoed on job reads. The
92
+ * serialized representation must not exceed 16 KiB. Free-form; SDKs
93
+ * surface this as a `Record<string, unknown>` / `dict[str, Any]` /
94
+ * `map[string]interface{}` depending on language.
95
+ *
96
+ * @type {{ [key: string]: any; }}
97
+ * @memberof JobResponse
98
+ */
99
+ metadata: {
100
+ [key: string]: any;
101
+ };
102
+ /**
103
+ *
104
+ * @type {Date}
105
+ * @memberof JobResponse
106
+ */
107
+ created_at: Date;
108
+ /**
109
+ *
110
+ * @type {Date}
111
+ * @memberof JobResponse
112
+ */
113
+ started_at?: Date;
114
+ /**
115
+ *
116
+ * @type {Date}
117
+ * @memberof JobResponse
118
+ */
119
+ completed_at?: Date;
120
+ /**
121
+ *
122
+ * @type {string}
123
+ * @memberof JobResponse
124
+ */
125
+ error?: string;
126
+ }
127
+ /**
128
+ * Check if a given object implements the JobResponse interface.
129
+ */
130
+ export declare function instanceOfJobResponse(value: object): value is JobResponse;
131
+ export declare function JobResponseFromJSON(json: any): JobResponse;
132
+ export declare function JobResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobResponse;
133
+ export declare function JobResponseToJSON(json: any): JobResponse;
134
+ export declare function JobResponseToJSONTyped(value?: JobResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * SOPHON Encoding API
6
+ * 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.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfJobResponse = instanceOfJobResponse;
17
+ exports.JobResponseFromJSON = JobResponseFromJSON;
18
+ exports.JobResponseFromJSONTyped = JobResponseFromJSONTyped;
19
+ exports.JobResponseToJSON = JobResponseToJSON;
20
+ exports.JobResponseToJSONTyped = JobResponseToJSONTyped;
21
+ const JobStatus_1 = require("./JobStatus");
22
+ const JobSourceInfo_1 = require("./JobSourceInfo");
23
+ const JobProfile_1 = require("./JobProfile");
24
+ const JobOutputInfo_1 = require("./JobOutputInfo");
25
+ const JobProgress_1 = require("./JobProgress");
26
+ /**
27
+ * Check if a given object implements the JobResponse interface.
28
+ */
29
+ function instanceOfJobResponse(value) {
30
+ if (!('id' in value) || value['id'] === undefined)
31
+ return false;
32
+ if (!('status' in value) || value['status'] === undefined)
33
+ return false;
34
+ if (!('attempt' in value) || value['attempt'] === undefined)
35
+ return false;
36
+ if (!('retryable' in value) || value['retryable'] === undefined)
37
+ return false;
38
+ if (!('profile' in value) || value['profile'] === undefined)
39
+ return false;
40
+ if (!('source' in value) || value['source'] === undefined)
41
+ return false;
42
+ if (!('progress' in value) || value['progress'] === undefined)
43
+ return false;
44
+ if (!('output' in value) || value['output'] === undefined)
45
+ return false;
46
+ if (!('metadata' in value) || value['metadata'] === undefined)
47
+ return false;
48
+ if (!('created_at' in value) || value['created_at'] === undefined)
49
+ return false;
50
+ return true;
51
+ }
52
+ function JobResponseFromJSON(json) {
53
+ return JobResponseFromJSONTyped(json, false);
54
+ }
55
+ function JobResponseFromJSONTyped(json, ignoreDiscriminator) {
56
+ if (json == null) {
57
+ return json;
58
+ }
59
+ return {
60
+ 'id': json['id'],
61
+ 'status': (0, JobStatus_1.JobStatusFromJSON)(json['status']),
62
+ 'status_reason': json['status_reason'] == null ? undefined : json['status_reason'],
63
+ 'attempt': json['attempt'],
64
+ 'retryable': json['retryable'],
65
+ 'profile': (0, JobProfile_1.JobProfileFromJSON)(json['profile']),
66
+ 'effective_profile_id': json['effective_profile_id'] == null ? undefined : json['effective_profile_id'],
67
+ 'source': (0, JobSourceInfo_1.JobSourceInfoFromJSON)(json['source']),
68
+ 'progress': (0, JobProgress_1.JobProgressFromJSON)(json['progress']),
69
+ 'output': (0, JobOutputInfo_1.JobOutputInfoFromJSON)(json['output']),
70
+ 'metadata': json['metadata'],
71
+ 'created_at': (new Date(json['created_at'])),
72
+ 'started_at': json['started_at'] == null ? undefined : (new Date(json['started_at'])),
73
+ 'completed_at': json['completed_at'] == null ? undefined : (new Date(json['completed_at'])),
74
+ 'error': json['error'] == null ? undefined : json['error'],
75
+ };
76
+ }
77
+ function JobResponseToJSON(json) {
78
+ return JobResponseToJSONTyped(json, false);
79
+ }
80
+ function JobResponseToJSONTyped(value, ignoreDiscriminator = false) {
81
+ if (value == null) {
82
+ return value;
83
+ }
84
+ return {
85
+ 'id': value['id'],
86
+ 'status': (0, JobStatus_1.JobStatusToJSON)(value['status']),
87
+ 'status_reason': value['status_reason'],
88
+ 'attempt': value['attempt'],
89
+ 'retryable': value['retryable'],
90
+ 'profile': (0, JobProfile_1.JobProfileToJSON)(value['profile']),
91
+ 'effective_profile_id': value['effective_profile_id'],
92
+ 'source': (0, JobSourceInfo_1.JobSourceInfoToJSON)(value['source']),
93
+ 'progress': (0, JobProgress_1.JobProgressToJSON)(value['progress']),
94
+ 'output': (0, JobOutputInfo_1.JobOutputInfoToJSON)(value['output']),
95
+ 'metadata': value['metadata'],
96
+ 'created_at': value['created_at'].toISOString(),
97
+ 'started_at': value['started_at'] == null ? value['started_at'] : value['started_at'].toISOString(),
98
+ 'completed_at': value['completed_at'] == null ? value['completed_at'] : value['completed_at'].toISOString(),
99
+ 'error': value['error'],
100
+ };
101
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * SOPHON Encoding API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface JobSourceInfo
16
+ */
17
+ export interface JobSourceInfo {
18
+ /**
19
+ * Original file name of the source.
20
+ * @type {string}
21
+ * @memberof JobSourceInfo
22
+ */
23
+ name?: string;
24
+ /**
25
+ *
26
+ * @type {number}
27
+ * @memberof JobSourceInfo
28
+ */
29
+ bytes?: number;
30
+ /**
31
+ * SHA-256 hex digest of the source file.
32
+ * @type {string}
33
+ * @memberof JobSourceInfo
34
+ */
35
+ sha256: string;
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof JobSourceInfo
40
+ */
41
+ duration_seconds?: number;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof JobSourceInfo
46
+ */
47
+ resolution?: string;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof JobSourceInfo
52
+ */
53
+ frame_rate?: string;
54
+ }
55
+ /**
56
+ * Check if a given object implements the JobSourceInfo interface.
57
+ */
58
+ export declare function instanceOfJobSourceInfo(value: object): value is JobSourceInfo;
59
+ export declare function JobSourceInfoFromJSON(json: any): JobSourceInfo;
60
+ export declare function JobSourceInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobSourceInfo;
61
+ export declare function JobSourceInfoToJSON(json: any): JobSourceInfo;
62
+ export declare function JobSourceInfoToJSONTyped(value?: JobSourceInfo | null, ignoreDiscriminator?: boolean): any;