@giveitsmaller/contracts 0.1.0 → 0.1.1

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 (207) hide show
  1. package/dist/asyncapi/ErrorCode.d.ts +18 -0
  2. package/dist/asyncapi/ErrorCode.js +19 -0
  3. package/dist/asyncapi/MergeOutputType.d.ts +8 -0
  4. package/dist/asyncapi/MergeOutputType.js +9 -0
  5. package/{asyncapi/NotificationsOperationsQueue.ts → dist/asyncapi/NotificationsOperationsQueue.d.ts} +2 -2
  6. package/dist/asyncapi/NotificationsOperationsQueue.js +1 -0
  7. package/dist/asyncapi/OperationMetrics.d.ts +11 -0
  8. package/dist/asyncapi/OperationMetrics.js +1 -0
  9. package/dist/asyncapi/OperationProgress.d.ts +12 -0
  10. package/dist/asyncapi/OperationProgress.js +1 -0
  11. package/dist/asyncapi/OperationRequest.d.ts +21 -0
  12. package/dist/asyncapi/OperationRequest.js +1 -0
  13. package/dist/asyncapi/OperationResult.d.ts +20 -0
  14. package/dist/asyncapi/OperationResult.js +1 -0
  15. package/dist/asyncapi/OperationType.d.ts +9 -0
  16. package/dist/asyncapi/OperationType.js +10 -0
  17. package/dist/asyncapi/ProgressStatus.d.ts +7 -0
  18. package/dist/asyncapi/ProgressStatus.js +8 -0
  19. package/dist/asyncapi/ResultStatus.d.ts +5 -0
  20. package/dist/asyncapi/ResultStatus.js +6 -0
  21. package/dist/asyncapi/SourceEntry.d.ts +8 -0
  22. package/dist/asyncapi/SourceEntry.js +1 -0
  23. package/dist/asyncapi/index.d.ts +11 -0
  24. package/dist/asyncapi/index.js +5 -0
  25. package/dist/index.d.ts +3 -0
  26. package/dist/index.js +4 -0
  27. package/dist/openapi/index.d.ts +2 -0
  28. package/dist/openapi/index.js +4 -0
  29. package/dist/openapi/models/CallbackEventType.d.ts +32 -0
  30. package/{openapi/models/CallbackEventType.ts → dist/openapi/models/CallbackEventType.js} +13 -23
  31. package/dist/openapi/models/ContactRequest.d.ts +60 -0
  32. package/{openapi/models/ContactRequest.ts → dist/openapi/models/ContactRequest.js} +14 -71
  33. package/dist/openapi/models/ContactSubject.d.ts +34 -0
  34. package/{openapi/models/ContactSubject.ts → dist/openapi/models/ContactSubject.js} +13 -23
  35. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +35 -0
  36. package/{openapi/models/ContactValidationErrorResponse.ts → dist/openapi/models/ContactValidationErrorResponse.js} +9 -33
  37. package/dist/openapi/models/ErrorEnvelope.d.ts +45 -0
  38. package/{openapi/models/ErrorEnvelope.ts → dist/openapi/models/ErrorEnvelope.js} +12 -44
  39. package/{openapi/models/ExportConfig.ts → dist/openapi/models/ExportConfig.d.ts} +12 -57
  40. package/dist/openapi/models/ExportConfig.js +59 -0
  41. package/{openapi/models/JobDefinition.ts → dist/openapi/models/JobDefinition.d.ts} +9 -33
  42. package/dist/openapi/models/JobDefinition.js +31 -0
  43. package/dist/openapi/models/JobDownload.d.ts +45 -0
  44. package/dist/openapi/models/JobDownload.js +52 -0
  45. package/{openapi/models/JobInput.ts → dist/openapi/models/JobInput.d.ts} +13 -49
  46. package/dist/openapi/models/JobInput.js +47 -0
  47. package/dist/openapi/models/JobResponse.d.ts +58 -0
  48. package/dist/openapi/models/JobResponse.js +61 -0
  49. package/{openapi/models/JobSource.ts → dist/openapi/models/JobSource.d.ts} +9 -45
  50. package/dist/openapi/models/JobSource.js +45 -0
  51. package/dist/openapi/models/JobStatus.d.ts +34 -0
  52. package/{openapi/models/JobStatus.ts → dist/openapi/models/JobStatus.js} +13 -23
  53. package/dist/openapi/models/JobType.d.ts +32 -0
  54. package/{openapi/models/JobType.ts → dist/openapi/models/JobType.js} +13 -23
  55. package/dist/openapi/models/LivenessResponse.d.ts +32 -0
  56. package/{openapi/models/LivenessResponse.ts → dist/openapi/models/LivenessResponse.js} +9 -32
  57. package/dist/openapi/models/MetadataResponse.d.ts +139 -0
  58. package/dist/openapi/models/MetadataResponse.js +85 -0
  59. package/dist/openapi/models/MetadataResponseDimensions.d.ts +38 -0
  60. package/{openapi/models/MetadataResponseDimensions.ts → dist/openapi/models/MetadataResponseDimensions.js} +7 -37
  61. package/dist/openapi/models/MetadataResponseExif.d.ts +51 -0
  62. package/{openapi/models/MetadataResponseExif.ts → dist/openapi/models/MetadataResponseExif.js} +8 -57
  63. package/dist/openapi/models/MetadataResponseExifGps.d.ts +38 -0
  64. package/{openapi/models/MetadataResponseExifGps.ts → dist/openapi/models/MetadataResponseExifGps.js} +7 -37
  65. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +46 -0
  66. package/{openapi/models/MetadataSuccessEnvelope.ts → dist/openapi/models/MetadataSuccessEnvelope.js} +13 -52
  67. package/dist/openapi/models/MimeGroupSchema.d.ts +49 -0
  68. package/{openapi/models/MimeGroupSchema.ts → dist/openapi/models/MimeGroupSchema.js} +13 -53
  69. package/dist/openapi/models/MultipartCompleteRequest.d.ts +41 -0
  70. package/dist/openapi/models/MultipartCompleteRequest.js +48 -0
  71. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +38 -0
  72. package/{openapi/models/MultipartCompleteRequestPartsInner.ts → dist/openapi/models/MultipartCompleteRequestPartsInner.js} +11 -39
  73. package/dist/openapi/models/MultipartInitiateResponse.d.ts +78 -0
  74. package/dist/openapi/models/MultipartInitiateResponse.js +68 -0
  75. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +46 -0
  76. package/{openapi/models/MultipartInitiateSuccessEnvelope.ts → dist/openapi/models/MultipartInitiateSuccessEnvelope.js} +13 -52
  77. package/{openapi/models/OperationDefinition.ts → dist/openapi/models/OperationDefinition.d.ts} +14 -57
  78. package/dist/openapi/models/OperationDefinition.js +46 -0
  79. package/dist/openapi/models/OperationDownload.d.ts +56 -0
  80. package/{openapi/models/OperationDownload.ts → dist/openapi/models/OperationDownload.js} +17 -60
  81. package/dist/openapi/models/OperationInputModel.d.ts +28 -0
  82. package/{openapi/models/OperationInputModel.ts → dist/openapi/models/OperationInputModel.js} +13 -23
  83. package/dist/openapi/models/OperationResponse.d.ts +59 -0
  84. package/dist/openapi/models/OperationResponse.js +58 -0
  85. package/dist/openapi/models/OperationResult.d.ts +52 -0
  86. package/{openapi/models/OperationResult.ts → dist/openapi/models/OperationResult.js} +12 -60
  87. package/dist/openapi/models/OperationResultMetrics.d.ts +38 -0
  88. package/{openapi/models/OperationResultMetrics.ts → dist/openapi/models/OperationResultMetrics.js} +7 -37
  89. package/dist/openapi/models/OperationSchemaDefinition.d.ts +96 -0
  90. package/dist/openapi/models/OperationSchemaDefinition.js +67 -0
  91. package/dist/openapi/models/OperationStatus.d.ts +34 -0
  92. package/{openapi/models/OperationStatus.ts → dist/openapi/models/OperationStatus.js} +13 -23
  93. package/dist/openapi/models/OperationType.d.ts +36 -0
  94. package/{openapi/models/OperationType.ts → dist/openapi/models/OperationType.js} +13 -23
  95. package/{openapi/models/OperationsSchemaResponse.ts → dist/openapi/models/OperationsSchemaResponse.d.ts} +13 -55
  96. package/dist/openapi/models/OperationsSchemaResponse.js +49 -0
  97. package/{openapi/models/OptionSchema.ts → dist/openapi/models/OptionSchema.d.ts} +24 -76
  98. package/dist/openapi/models/OptionSchema.js +76 -0
  99. package/dist/openapi/models/PresignedUrlPart.d.ts +46 -0
  100. package/{openapi/models/PresignedUrlPart.ts → dist/openapi/models/PresignedUrlPart.js} +13 -48
  101. package/dist/openapi/models/ReadinessResponse.d.ts +38 -0
  102. package/{openapi/models/ReadinessResponse.ts → dist/openapi/models/ReadinessResponse.js} +7 -37
  103. package/dist/openapi/models/ResponseEnvelope.d.ts +36 -0
  104. package/{openapi/models/ResponseEnvelope.ts → dist/openapi/models/ResponseEnvelope.js} +9 -36
  105. package/dist/openapi/models/RetryResponse.d.ts +51 -0
  106. package/{openapi/models/RetryResponse.ts → dist/openapi/models/RetryResponse.js} +14 -51
  107. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +46 -0
  108. package/{openapi/models/RetrySuccessEnvelope.ts → dist/openapi/models/RetrySuccessEnvelope.js} +13 -52
  109. package/dist/openapi/models/SseEventType.d.ts +40 -0
  110. package/{openapi/models/SseEventType.ts → dist/openapi/models/SseEventType.js} +13 -23
  111. package/{openapi/models/SseJobCompletedData.ts → dist/openapi/models/SseJobCompletedData.d.ts} +12 -55
  112. package/dist/openapi/models/SseJobCompletedData.js +57 -0
  113. package/dist/openapi/models/SseJobFailedData.d.ts +51 -0
  114. package/{openapi/models/SseJobFailedData.ts → dist/openapi/models/SseJobFailedData.js} +14 -51
  115. package/dist/openapi/models/SseOperationCompletedData.d.ts +78 -0
  116. package/dist/openapi/models/SseOperationCompletedData.js +75 -0
  117. package/dist/openapi/models/SseOperationFailedData.d.ts +70 -0
  118. package/dist/openapi/models/SseOperationFailedData.js +70 -0
  119. package/dist/openapi/models/SseOperationProgressData.d.ts +51 -0
  120. package/{openapi/models/SseOperationProgressData.ts → dist/openapi/models/SseOperationProgressData.js} +16 -63
  121. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +49 -0
  122. package/{openapi/models/SseWorkflowTerminalData.ts → dist/openapi/models/SseWorkflowTerminalData.js} +12 -46
  123. package/dist/openapi/models/UploadResponse.d.ts +50 -0
  124. package/{openapi/models/UploadResponse.ts → dist/openapi/models/UploadResponse.js} +15 -53
  125. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +46 -0
  126. package/{openapi/models/UploadSuccessEnvelope.ts → dist/openapi/models/UploadSuccessEnvelope.js} +13 -52
  127. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +54 -0
  128. package/dist/openapi/models/ValidationErrorEnvelope.js +58 -0
  129. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +50 -0
  130. package/{openapi/models/ValidationErrorEnvelopeDetailsInner.ts → dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js} +9 -50
  131. package/dist/openapi/models/WebhookOperationContext.d.ts +40 -0
  132. package/{openapi/models/WebhookOperationContext.ts → dist/openapi/models/WebhookOperationContext.js} +11 -41
  133. package/dist/openapi/models/WebhookPayload.d.ts +66 -0
  134. package/dist/openapi/models/WebhookPayload.js +60 -0
  135. package/dist/openapi/models/WorkflowCreateRequest.d.ts +76 -0
  136. package/dist/openapi/models/WorkflowCreateRequest.js +55 -0
  137. package/dist/openapi/models/WorkflowCreateResponse.d.ts +58 -0
  138. package/dist/openapi/models/WorkflowCreateResponse.js +54 -0
  139. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +46 -0
  140. package/{openapi/models/WorkflowCreateSuccessEnvelope.ts → dist/openapi/models/WorkflowCreateSuccessEnvelope.js} +13 -52
  141. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +33 -0
  142. package/{openapi/models/WorkflowDownloadResponse.ts → dist/openapi/models/WorkflowDownloadResponse.js} +12 -42
  143. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +46 -0
  144. package/{openapi/models/WorkflowDownloadSuccessEnvelope.ts → dist/openapi/models/WorkflowDownloadSuccessEnvelope.js} +13 -52
  145. package/{openapi/models/WorkflowEdge.ts → dist/openapi/models/WorkflowEdge.d.ts} +8 -45
  146. package/dist/openapi/models/WorkflowEdge.js +47 -0
  147. package/dist/openapi/models/WorkflowStatus.d.ts +34 -0
  148. package/{openapi/models/WorkflowStatus.ts → dist/openapi/models/WorkflowStatus.js} +13 -23
  149. package/dist/openapi/models/WorkflowStatusResponse.d.ts +46 -0
  150. package/dist/openapi/models/WorkflowStatusResponse.js +53 -0
  151. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +46 -0
  152. package/{openapi/models/WorkflowStatusSuccessEnvelope.ts → dist/openapi/models/WorkflowStatusSuccessEnvelope.js} +13 -52
  153. package/dist/openapi/models/index.d.ts +62 -0
  154. package/dist/openapi/models/index.js +64 -0
  155. package/dist/openapi/runtime.d.ts +184 -0
  156. package/{openapi/runtime.ts → dist/openapi/runtime.js} +107 -206
  157. package/dist/operations/archive.d.ts +12 -0
  158. package/dist/operations/archive.js +11 -0
  159. package/dist/operations/compress.d.ts +154 -0
  160. package/dist/operations/compress.js +112 -0
  161. package/dist/operations/convert.d.ts +58 -0
  162. package/dist/operations/convert.js +46 -0
  163. package/dist/operations/index.d.ts +5 -0
  164. package/dist/operations/index.js +6 -0
  165. package/dist/operations/merge.d.ts +79 -0
  166. package/dist/operations/merge.js +46 -0
  167. package/dist/operations/thumbnail.d.ts +55 -0
  168. package/dist/operations/thumbnail.js +42 -0
  169. package/package.json +29 -11
  170. package/asyncapi/ErrorCode.ts +0 -19
  171. package/asyncapi/MergeOutputType.ts +0 -9
  172. package/asyncapi/OperationMetrics.ts +0 -12
  173. package/asyncapi/OperationProgress.ts +0 -12
  174. package/asyncapi/OperationRequest.ts +0 -21
  175. package/asyncapi/OperationResult.ts +0 -20
  176. package/asyncapi/OperationType.ts +0 -10
  177. package/asyncapi/ProgressStatus.ts +0 -8
  178. package/asyncapi/README.md +0 -16
  179. package/asyncapi/ResultStatus.ts +0 -6
  180. package/asyncapi/SourceEntry.ts +0 -9
  181. package/asyncapi/index.ts +0 -11
  182. package/index.ts +0 -5
  183. package/openapi/.openapi-generator-ignore +0 -26
  184. package/openapi/README.md +0 -17
  185. package/openapi/index.ts +0 -4
  186. package/openapi/models/JobDownload.ts +0 -92
  187. package/openapi/models/JobResponse.ts +0 -119
  188. package/openapi/models/MetadataResponse.ts +0 -223
  189. package/openapi/models/MultipartCompleteRequest.ts +0 -85
  190. package/openapi/models/MultipartInitiateResponse.ts +0 -137
  191. package/openapi/models/OperationResponse.ts +0 -124
  192. package/openapi/models/OperationSchemaDefinition.ts +0 -163
  193. package/openapi/models/SseOperationCompletedData.ts +0 -143
  194. package/openapi/models/SseOperationFailedData.ts +0 -129
  195. package/openapi/models/ValidationErrorEnvelope.ts +0 -104
  196. package/openapi/models/WebhookPayload.ts +0 -132
  197. package/openapi/models/WorkflowCreateRequest.ts +0 -143
  198. package/openapi/models/WorkflowCreateResponse.ts +0 -114
  199. package/openapi/models/WorkflowStatusResponse.ts +0 -101
  200. package/openapi/models/index.ts +0 -64
  201. package/operations/README.md +0 -17
  202. package/operations/archive.ts +0 -16
  203. package/operations/compress.ts +0 -177
  204. package/operations/convert.ts +0 -69
  205. package/operations/index.ts +0 -7
  206. package/operations/merge.ts +0 -95
  207. package/operations/thumbnail.ts +0 -66
@@ -2,55 +2,45 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * GISL Compression API
5
- * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
6
  *
7
7
  * The version of the OpenAPI document: 2.0.0
8
- *
8
+ *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
-
15
-
16
14
  /**
17
15
  * Whether the operation accepts a single file or multiple files:
18
16
  * - single: One input file (compress, thumbnail, watermark, convert)
19
17
  * - multi: Multiple input files (merge, archive)
20
- *
18
+ *
21
19
  * @export
22
20
  */
23
21
  export const OperationInputModel = {
24
22
  single: 'single',
25
23
  multi: 'multi'
26
- } as const;
27
- export type OperationInputModel = typeof OperationInputModel[keyof typeof OperationInputModel];
28
-
29
-
30
- export function instanceOfOperationInputModel(value: any): boolean {
24
+ };
25
+ export function instanceOfOperationInputModel(value) {
31
26
  for (const key in OperationInputModel) {
32
27
  if (Object.prototype.hasOwnProperty.call(OperationInputModel, key)) {
33
- if (OperationInputModel[key as keyof typeof OperationInputModel] === value) {
28
+ if (OperationInputModel[key] === value) {
34
29
  return true;
35
30
  }
36
31
  }
37
32
  }
38
33
  return false;
39
34
  }
40
-
41
- export function OperationInputModelFromJSON(json: any): OperationInputModel {
35
+ export function OperationInputModelFromJSON(json) {
42
36
  return OperationInputModelFromJSONTyped(json, false);
43
37
  }
44
-
45
- export function OperationInputModelFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationInputModel {
46
- return json as OperationInputModel;
38
+ export function OperationInputModelFromJSONTyped(json, ignoreDiscriminator) {
39
+ return json;
47
40
  }
48
-
49
- export function OperationInputModelToJSON(value?: OperationInputModel | null): any {
50
- return value as any;
41
+ export function OperationInputModelToJSON(value) {
42
+ return value;
51
43
  }
52
-
53
- export function OperationInputModelToJSONTyped(value: any, ignoreDiscriminator: boolean): OperationInputModel {
54
- return value as OperationInputModel;
44
+ export function OperationInputModelToJSONTyped(value, ignoreDiscriminator) {
45
+ return value;
55
46
  }
56
-
@@ -0,0 +1,59 @@
1
+ /**
2
+ * GISL Compression API
3
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
4
+ *
5
+ * The version of the OpenAPI document: 2.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 { OperationStatus } from './OperationStatus.js';
13
+ import type { OperationResult } from './OperationResult.js';
14
+ import type { OperationType } from './OperationType.js';
15
+ /**
16
+ * Operation status within a job response
17
+ * @export
18
+ * @interface OperationResponse
19
+ */
20
+ export interface OperationResponse {
21
+ /**
22
+ * UUID v7 format identifier (time-ordered)
23
+ * @type {string}
24
+ * @memberof OperationResponse
25
+ */
26
+ id: string;
27
+ /**
28
+ *
29
+ * @type {OperationType}
30
+ * @memberof OperationResponse
31
+ */
32
+ type: OperationType;
33
+ /**
34
+ *
35
+ * @type {OperationStatus}
36
+ * @memberof OperationResponse
37
+ */
38
+ status: OperationStatus;
39
+ /**
40
+ * Progress percentage (0-100). Present when in_progress or completed.
41
+ * @type {number}
42
+ * @memberof OperationResponse
43
+ */
44
+ progress?: number;
45
+ /**
46
+ *
47
+ * @type {OperationResult}
48
+ * @memberof OperationResponse
49
+ */
50
+ result?: OperationResult;
51
+ }
52
+ /**
53
+ * Check if a given object implements the OperationResponse interface.
54
+ */
55
+ export declare function instanceOfOperationResponse(value: object): value is OperationResponse;
56
+ export declare function OperationResponseFromJSON(json: any): OperationResponse;
57
+ export declare function OperationResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationResponse;
58
+ export declare function OperationResponseToJSON(json: any): OperationResponse;
59
+ export declare function OperationResponseToJSONTyped(value?: OperationResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,58 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
+ *
7
+ * The version of the OpenAPI document: 2.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
+ import { OperationStatusFromJSON, OperationStatusToJSON, } from './OperationStatus.js';
15
+ import { OperationResultFromJSON, OperationResultToJSON, } from './OperationResult.js';
16
+ import { OperationTypeFromJSON, OperationTypeToJSON, } from './OperationType.js';
17
+ /**
18
+ * Check if a given object implements the OperationResponse interface.
19
+ */
20
+ export function instanceOfOperationResponse(value) {
21
+ if (!('id' in value) || value['id'] === undefined)
22
+ return false;
23
+ if (!('type' in value) || value['type'] === undefined)
24
+ return false;
25
+ if (!('status' in value) || value['status'] === undefined)
26
+ return false;
27
+ return true;
28
+ }
29
+ export function OperationResponseFromJSON(json) {
30
+ return OperationResponseFromJSONTyped(json, false);
31
+ }
32
+ export function OperationResponseFromJSONTyped(json, ignoreDiscriminator) {
33
+ if (json == null) {
34
+ return json;
35
+ }
36
+ return {
37
+ 'id': json['id'],
38
+ 'type': OperationTypeFromJSON(json['type']),
39
+ 'status': OperationStatusFromJSON(json['status']),
40
+ 'progress': json['progress'] == null ? undefined : json['progress'],
41
+ 'result': json['result'] == null ? undefined : OperationResultFromJSON(json['result']),
42
+ };
43
+ }
44
+ export function OperationResponseToJSON(json) {
45
+ return OperationResponseToJSONTyped(json, false);
46
+ }
47
+ export function OperationResponseToJSONTyped(value, ignoreDiscriminator = false) {
48
+ if (value == null) {
49
+ return value;
50
+ }
51
+ return {
52
+ 'id': value['id'],
53
+ 'type': OperationTypeToJSON(value['type']),
54
+ 'status': OperationStatusToJSON(value['status']),
55
+ 'progress': value['progress'],
56
+ 'result': OperationResultToJSON(value['result']),
57
+ };
58
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * GISL Compression API
3
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
4
+ *
5
+ * The version of the OpenAPI document: 2.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 { OperationResultMetrics } from './OperationResultMetrics.js';
13
+ /**
14
+ * Result of a completed operation. Present only when operation status is `completed`.
15
+ *
16
+ * @export
17
+ * @interface OperationResult
18
+ */
19
+ export interface OperationResult {
20
+ /**
21
+ * Pre-signed download URL for the operation output
22
+ * @type {string}
23
+ * @memberof OperationResult
24
+ */
25
+ downloadUrl: string;
26
+ /**
27
+ * Output file size in bytes
28
+ * @type {number}
29
+ * @memberof OperationResult
30
+ */
31
+ sizeBytes: number;
32
+ /**
33
+ * Key in the customer's export destination (if export configured)
34
+ * @type {string}
35
+ * @memberof OperationResult
36
+ */
37
+ exportKey?: string;
38
+ /**
39
+ *
40
+ * @type {OperationResultMetrics}
41
+ * @memberof OperationResult
42
+ */
43
+ metrics?: OperationResultMetrics;
44
+ }
45
+ /**
46
+ * Check if a given object implements the OperationResult interface.
47
+ */
48
+ export declare function instanceOfOperationResult(value: object): value is OperationResult;
49
+ export declare function OperationResultFromJSON(json: any): OperationResult;
50
+ export declare function OperationResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationResult;
51
+ export declare function OperationResultToJSON(json: any): OperationResult;
52
+ export declare function OperationResultToJSONTyped(value?: OperationResult | null, ignoreDiscriminator?: boolean): any;
@@ -2,99 +2,51 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * GISL Compression API
5
- * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
6
  *
7
7
  * The version of the OpenAPI document: 2.0.0
8
- *
8
+ *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
-
15
- import { mapValues } from '../runtime';
16
- import type { OperationResultMetrics } from './OperationResultMetrics';
17
- import {
18
- OperationResultMetricsFromJSON,
19
- OperationResultMetricsFromJSONTyped,
20
- OperationResultMetricsToJSON,
21
- OperationResultMetricsToJSONTyped,
22
- } from './OperationResultMetrics';
23
-
24
- /**
25
- * Result of a completed operation. Present only when operation status is `completed`.
26
- *
27
- * @export
28
- * @interface OperationResult
29
- */
30
- export interface OperationResult {
31
- /**
32
- * Pre-signed download URL for the operation output
33
- * @type {string}
34
- * @memberof OperationResult
35
- */
36
- downloadUrl: string;
37
- /**
38
- * Output file size in bytes
39
- * @type {number}
40
- * @memberof OperationResult
41
- */
42
- sizeBytes: number;
43
- /**
44
- * Key in the customer's export destination (if export configured)
45
- * @type {string}
46
- * @memberof OperationResult
47
- */
48
- exportKey?: string;
49
- /**
50
- *
51
- * @type {OperationResultMetrics}
52
- * @memberof OperationResult
53
- */
54
- metrics?: OperationResultMetrics;
55
- }
56
-
14
+ import { OperationResultMetricsFromJSON, OperationResultMetricsToJSON, } from './OperationResultMetrics.js';
57
15
  /**
58
16
  * Check if a given object implements the OperationResult interface.
59
17
  */
60
- export function instanceOfOperationResult(value: object): value is OperationResult {
61
- if (!('downloadUrl' in value) || value['downloadUrl'] === undefined) return false;
62
- if (!('sizeBytes' in value) || value['sizeBytes'] === undefined) return false;
18
+ export function instanceOfOperationResult(value) {
19
+ if (!('downloadUrl' in value) || value['downloadUrl'] === undefined)
20
+ return false;
21
+ if (!('sizeBytes' in value) || value['sizeBytes'] === undefined)
22
+ return false;
63
23
  return true;
64
24
  }
65
-
66
- export function OperationResultFromJSON(json: any): OperationResult {
25
+ export function OperationResultFromJSON(json) {
67
26
  return OperationResultFromJSONTyped(json, false);
68
27
  }
69
-
70
- export function OperationResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationResult {
28
+ export function OperationResultFromJSONTyped(json, ignoreDiscriminator) {
71
29
  if (json == null) {
72
30
  return json;
73
31
  }
74
32
  return {
75
-
76
33
  'downloadUrl': json['download_url'],
77
34
  'sizeBytes': json['size_bytes'],
78
35
  'exportKey': json['export_key'] == null ? undefined : json['export_key'],
79
36
  'metrics': json['metrics'] == null ? undefined : OperationResultMetricsFromJSON(json['metrics']),
80
37
  };
81
38
  }
82
-
83
- export function OperationResultToJSON(json: any): OperationResult {
39
+ export function OperationResultToJSON(json) {
84
40
  return OperationResultToJSONTyped(json, false);
85
41
  }
86
-
87
- export function OperationResultToJSONTyped(value?: OperationResult | null, ignoreDiscriminator: boolean = false): any {
42
+ export function OperationResultToJSONTyped(value, ignoreDiscriminator = false) {
88
43
  if (value == null) {
89
44
  return value;
90
45
  }
91
-
92
46
  return {
93
-
94
47
  'download_url': value['downloadUrl'],
95
48
  'size_bytes': value['sizeBytes'],
96
49
  'export_key': value['exportKey'],
97
50
  'metrics': OperationResultMetricsToJSON(value['metrics']),
98
51
  };
99
52
  }
100
-
@@ -0,0 +1,38 @@
1
+ /**
2
+ * GISL Compression API
3
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
4
+ *
5
+ * The version of the OpenAPI document: 2.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
+ * Operation-specific performance metrics
14
+ * @export
15
+ * @interface OperationResultMetrics
16
+ */
17
+ export interface OperationResultMetrics {
18
+ /**
19
+ * Ratio of output size to input size (e.g. 0.45 = 55% reduction)
20
+ * @type {number}
21
+ * @memberof OperationResultMetrics
22
+ */
23
+ compressionRatio?: number;
24
+ /**
25
+ * Processing time in milliseconds
26
+ * @type {number}
27
+ * @memberof OperationResultMetrics
28
+ */
29
+ durationMs?: number;
30
+ }
31
+ /**
32
+ * Check if a given object implements the OperationResultMetrics interface.
33
+ */
34
+ export declare function instanceOfOperationResultMetrics(value: object): value is OperationResultMetrics;
35
+ export declare function OperationResultMetricsFromJSON(json: any): OperationResultMetrics;
36
+ export declare function OperationResultMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationResultMetrics;
37
+ export declare function OperationResultMetricsToJSON(json: any): OperationResultMetrics;
38
+ export declare function OperationResultMetricsToJSONTyped(value?: OperationResultMetrics | null, ignoreDiscriminator?: boolean): any;
@@ -2,72 +2,42 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * GISL Compression API
5
- * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
6
  *
7
7
  * The version of the OpenAPI document: 2.0.0
8
- *
8
+ *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
-
15
- import { mapValues } from '../runtime';
16
- /**
17
- * Operation-specific performance metrics
18
- * @export
19
- * @interface OperationResultMetrics
20
- */
21
- export interface OperationResultMetrics {
22
- /**
23
- * Ratio of output size to input size (e.g. 0.45 = 55% reduction)
24
- * @type {number}
25
- * @memberof OperationResultMetrics
26
- */
27
- compressionRatio?: number;
28
- /**
29
- * Processing time in milliseconds
30
- * @type {number}
31
- * @memberof OperationResultMetrics
32
- */
33
- durationMs?: number;
34
- }
35
-
36
14
  /**
37
15
  * Check if a given object implements the OperationResultMetrics interface.
38
16
  */
39
- export function instanceOfOperationResultMetrics(value: object): value is OperationResultMetrics {
17
+ export function instanceOfOperationResultMetrics(value) {
40
18
  return true;
41
19
  }
42
-
43
- export function OperationResultMetricsFromJSON(json: any): OperationResultMetrics {
20
+ export function OperationResultMetricsFromJSON(json) {
44
21
  return OperationResultMetricsFromJSONTyped(json, false);
45
22
  }
46
-
47
- export function OperationResultMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationResultMetrics {
23
+ export function OperationResultMetricsFromJSONTyped(json, ignoreDiscriminator) {
48
24
  if (json == null) {
49
25
  return json;
50
26
  }
51
27
  return {
52
-
53
28
  'compressionRatio': json['compression_ratio'] == null ? undefined : json['compression_ratio'],
54
29
  'durationMs': json['duration_ms'] == null ? undefined : json['duration_ms'],
55
30
  };
56
31
  }
57
-
58
- export function OperationResultMetricsToJSON(json: any): OperationResultMetrics {
32
+ export function OperationResultMetricsToJSON(json) {
59
33
  return OperationResultMetricsToJSONTyped(json, false);
60
34
  }
61
-
62
- export function OperationResultMetricsToJSONTyped(value?: OperationResultMetrics | null, ignoreDiscriminator: boolean = false): any {
35
+ export function OperationResultMetricsToJSONTyped(value, ignoreDiscriminator = false) {
63
36
  if (value == null) {
64
37
  return value;
65
38
  }
66
-
67
39
  return {
68
-
69
40
  'compression_ratio': value['compressionRatio'],
70
41
  'duration_ms': value['durationMs'],
71
42
  };
72
43
  }
73
-
@@ -0,0 +1,96 @@
1
+ /**
2
+ * GISL Compression API
3
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
4
+ *
5
+ * The version of the OpenAPI document: 2.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 { MimeGroupSchema } from './MimeGroupSchema.js';
13
+ import type { OperationInputModel } from './OperationInputModel.js';
14
+ import type { OptionSchema } from './OptionSchema.js';
15
+ /**
16
+ * Schema for a single operation type
17
+ * @export
18
+ * @interface OperationSchemaDefinition
19
+ */
20
+ export interface OperationSchemaDefinition {
21
+ /**
22
+ * Human-readable description of what the operation does
23
+ * @type {string}
24
+ * @memberof OperationSchemaDefinition
25
+ */
26
+ description: string;
27
+ /**
28
+ * Whether this is the default operation when none specified
29
+ * @type {boolean}
30
+ * @memberof OperationSchemaDefinition
31
+ */
32
+ _default?: boolean;
33
+ /**
34
+ *
35
+ * @type {OperationInputModel}
36
+ * @memberof OperationSchemaDefinition
37
+ */
38
+ inputModel: OperationInputModel;
39
+ /**
40
+ * Minimum number of inputs (multi-input operations only)
41
+ * @type {number}
42
+ * @memberof OperationSchemaDefinition
43
+ */
44
+ minInputs?: number;
45
+ /**
46
+ * Maximum number of inputs (multi-input operations only)
47
+ * @type {number}
48
+ * @memberof OperationSchemaDefinition
49
+ */
50
+ maxInputs?: number;
51
+ /**
52
+ * Whether mixed MIME types are allowed (archive only)
53
+ * @type {boolean}
54
+ * @memberof OperationSchemaDefinition
55
+ */
56
+ acceptsMixedTypes?: boolean;
57
+ /**
58
+ * MIME-type-specific option schemas. When present, options are grouped
59
+ * by MIME category (image, video, audio, document). Each group lists
60
+ * the supported MIME types and group-specific options.
61
+ *
62
+ * @type {{ [key: string]: MimeGroupSchema; }}
63
+ * @memberof OperationSchemaDefinition
64
+ */
65
+ mimeGroups?: {
66
+ [key: string]: MimeGroupSchema;
67
+ };
68
+ /**
69
+ * Global options applicable regardless of MIME type, keyed by option name.
70
+ * For operations with mime_groups, these are the common options.
71
+ *
72
+ * @type {{ [key: string]: OptionSchema; }}
73
+ * @memberof OperationSchemaDefinition
74
+ */
75
+ options: {
76
+ [key: string]: OptionSchema;
77
+ };
78
+ /**
79
+ * Options that can be overridden per-input for multi-input operations,
80
+ * keyed by option name. For merge: per-join-point transition overrides.
81
+ *
82
+ * @type {{ [key: string]: OptionSchema; }}
83
+ * @memberof OperationSchemaDefinition
84
+ */
85
+ perInputOptions?: {
86
+ [key: string]: OptionSchema;
87
+ };
88
+ }
89
+ /**
90
+ * Check if a given object implements the OperationSchemaDefinition interface.
91
+ */
92
+ export declare function instanceOfOperationSchemaDefinition(value: object): value is OperationSchemaDefinition;
93
+ export declare function OperationSchemaDefinitionFromJSON(json: any): OperationSchemaDefinition;
94
+ export declare function OperationSchemaDefinitionFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationSchemaDefinition;
95
+ export declare function OperationSchemaDefinitionToJSON(json: any): OperationSchemaDefinition;
96
+ export declare function OperationSchemaDefinitionToJSONTyped(value?: OperationSchemaDefinition | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,67 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
6
+ *
7
+ * The version of the OpenAPI document: 2.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
+ import { mapValues } from '../runtime.js';
15
+ import { MimeGroupSchemaFromJSON, MimeGroupSchemaToJSON, } from './MimeGroupSchema.js';
16
+ import { OperationInputModelFromJSON, OperationInputModelToJSON, } from './OperationInputModel.js';
17
+ import { OptionSchemaFromJSON, OptionSchemaToJSON, } from './OptionSchema.js';
18
+ /**
19
+ * Check if a given object implements the OperationSchemaDefinition interface.
20
+ */
21
+ export function instanceOfOperationSchemaDefinition(value) {
22
+ if (!('description' in value) || value['description'] === undefined)
23
+ return false;
24
+ if (!('inputModel' in value) || value['inputModel'] === undefined)
25
+ return false;
26
+ if (!('options' in value) || value['options'] === undefined)
27
+ return false;
28
+ return true;
29
+ }
30
+ export function OperationSchemaDefinitionFromJSON(json) {
31
+ return OperationSchemaDefinitionFromJSONTyped(json, false);
32
+ }
33
+ export function OperationSchemaDefinitionFromJSONTyped(json, ignoreDiscriminator) {
34
+ if (json == null) {
35
+ return json;
36
+ }
37
+ return {
38
+ 'description': json['description'],
39
+ '_default': json['default'] == null ? undefined : json['default'],
40
+ 'inputModel': OperationInputModelFromJSON(json['input_model']),
41
+ 'minInputs': json['min_inputs'] == null ? undefined : json['min_inputs'],
42
+ 'maxInputs': json['max_inputs'] == null ? undefined : json['max_inputs'],
43
+ 'acceptsMixedTypes': json['accepts_mixed_types'] == null ? undefined : json['accepts_mixed_types'],
44
+ 'mimeGroups': json['mime_groups'] == null ? undefined : (mapValues(json['mime_groups'], MimeGroupSchemaFromJSON)),
45
+ 'options': (mapValues(json['options'], OptionSchemaFromJSON)),
46
+ 'perInputOptions': json['per_input_options'] == null ? undefined : (mapValues(json['per_input_options'], OptionSchemaFromJSON)),
47
+ };
48
+ }
49
+ export function OperationSchemaDefinitionToJSON(json) {
50
+ return OperationSchemaDefinitionToJSONTyped(json, false);
51
+ }
52
+ export function OperationSchemaDefinitionToJSONTyped(value, ignoreDiscriminator = false) {
53
+ if (value == null) {
54
+ return value;
55
+ }
56
+ return {
57
+ 'description': value['description'],
58
+ 'default': value['_default'],
59
+ 'input_model': OperationInputModelToJSON(value['inputModel']),
60
+ 'min_inputs': value['minInputs'],
61
+ 'max_inputs': value['maxInputs'],
62
+ 'accepts_mixed_types': value['acceptsMixedTypes'],
63
+ 'mime_groups': value['mimeGroups'] == null ? undefined : (mapValues(value['mimeGroups'], MimeGroupSchemaToJSON)),
64
+ 'options': (mapValues(value['options'], OptionSchemaToJSON)),
65
+ 'per_input_options': value['perInputOptions'] == null ? undefined : (mapValues(value['perInputOptions'], OptionSchemaToJSON)),
66
+ };
67
+ }