@giveitsmaller/contracts 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 (89) hide show
  1. package/asyncapi/ErrorCode.ts +19 -0
  2. package/asyncapi/MergeOutputType.ts +9 -0
  3. package/asyncapi/NotificationsOperationsQueue.ts +4 -0
  4. package/asyncapi/OperationMetrics.ts +12 -0
  5. package/asyncapi/OperationProgress.ts +12 -0
  6. package/asyncapi/OperationRequest.ts +21 -0
  7. package/asyncapi/OperationResult.ts +20 -0
  8. package/asyncapi/OperationType.ts +10 -0
  9. package/asyncapi/ProgressStatus.ts +8 -0
  10. package/asyncapi/README.md +16 -0
  11. package/asyncapi/ResultStatus.ts +6 -0
  12. package/asyncapi/SourceEntry.ts +9 -0
  13. package/asyncapi/index.ts +11 -0
  14. package/index.ts +5 -0
  15. package/openapi/.openapi-generator-ignore +26 -0
  16. package/openapi/README.md +17 -0
  17. package/openapi/index.ts +4 -0
  18. package/openapi/models/CallbackEventType.ts +60 -0
  19. package/openapi/models/ContactRequest.ts +113 -0
  20. package/openapi/models/ContactSubject.ts +62 -0
  21. package/openapi/models/ContactValidationErrorResponse.ts +67 -0
  22. package/openapi/models/ErrorEnvelope.ts +85 -0
  23. package/openapi/models/ExportConfig.ts +108 -0
  24. package/openapi/models/JobDefinition.ts +56 -0
  25. package/openapi/models/JobDownload.ts +92 -0
  26. package/openapi/models/JobInput.ts +89 -0
  27. package/openapi/models/JobResponse.ts +119 -0
  28. package/openapi/models/JobSource.ts +79 -0
  29. package/openapi/models/JobStatus.ts +62 -0
  30. package/openapi/models/JobType.ts +60 -0
  31. package/openapi/models/LivenessResponse.ts +66 -0
  32. package/openapi/models/MetadataResponse.ts +223 -0
  33. package/openapi/models/MetadataResponseDimensions.ts +73 -0
  34. package/openapi/models/MetadataResponseExif.ts +97 -0
  35. package/openapi/models/MetadataResponseExifGps.ts +73 -0
  36. package/openapi/models/MetadataSuccessEnvelope.ts +93 -0
  37. package/openapi/models/MimeGroupSchema.ts +91 -0
  38. package/openapi/models/MultipartCompleteRequest.ts +85 -0
  39. package/openapi/models/MultipartCompleteRequestPartsInner.ts +75 -0
  40. package/openapi/models/MultipartInitiateResponse.ts +137 -0
  41. package/openapi/models/MultipartInitiateSuccessEnvelope.ts +93 -0
  42. package/openapi/models/OperationDefinition.ts +91 -0
  43. package/openapi/models/OperationDownload.ts +102 -0
  44. package/openapi/models/OperationInputModel.ts +56 -0
  45. package/openapi/models/OperationResponse.ts +124 -0
  46. package/openapi/models/OperationResult.ts +100 -0
  47. package/openapi/models/OperationResultMetrics.ts +73 -0
  48. package/openapi/models/OperationSchemaDefinition.ts +163 -0
  49. package/openapi/models/OperationStatus.ts +62 -0
  50. package/openapi/models/OperationType.ts +64 -0
  51. package/openapi/models/OperationsSchemaResponse.ts +90 -0
  52. package/openapi/models/OptionSchema.ts +160 -0
  53. package/openapi/models/PresignedUrlPart.ts +86 -0
  54. package/openapi/models/ReadinessResponse.ts +73 -0
  55. package/openapi/models/ResponseEnvelope.ts +70 -0
  56. package/openapi/models/RetryResponse.ts +94 -0
  57. package/openapi/models/RetrySuccessEnvelope.ts +93 -0
  58. package/openapi/models/SseEventType.ts +68 -0
  59. package/openapi/models/SseJobCompletedData.ts +94 -0
  60. package/openapi/models/SseJobFailedData.ts +94 -0
  61. package/openapi/models/SseOperationCompletedData.ts +143 -0
  62. package/openapi/models/SseOperationFailedData.ts +129 -0
  63. package/openapi/models/SseOperationProgressData.ts +103 -0
  64. package/openapi/models/SseWorkflowTerminalData.ts +89 -0
  65. package/openapi/models/UploadResponse.ts +93 -0
  66. package/openapi/models/UploadSuccessEnvelope.ts +93 -0
  67. package/openapi/models/ValidationErrorEnvelope.ts +104 -0
  68. package/openapi/models/ValidationErrorEnvelopeDetailsInner.ts +90 -0
  69. package/openapi/models/WebhookOperationContext.ts +77 -0
  70. package/openapi/models/WebhookPayload.ts +132 -0
  71. package/openapi/models/WorkflowCreateRequest.ts +143 -0
  72. package/openapi/models/WorkflowCreateResponse.ts +114 -0
  73. package/openapi/models/WorkflowCreateSuccessEnvelope.ts +93 -0
  74. package/openapi/models/WorkflowDownloadResponse.ts +74 -0
  75. package/openapi/models/WorkflowDownloadSuccessEnvelope.ts +93 -0
  76. package/openapi/models/WorkflowEdge.ts +77 -0
  77. package/openapi/models/WorkflowStatus.ts +62 -0
  78. package/openapi/models/WorkflowStatusResponse.ts +101 -0
  79. package/openapi/models/WorkflowStatusSuccessEnvelope.ts +93 -0
  80. package/openapi/models/index.ts +64 -0
  81. package/openapi/runtime.ts +432 -0
  82. package/operations/README.md +17 -0
  83. package/operations/archive.ts +16 -0
  84. package/operations/compress.ts +177 -0
  85. package/operations/convert.ts +69 -0
  86. package/operations/index.ts +7 -0
  87. package/operations/merge.ts +95 -0
  88. package/operations/thumbnail.ts +66 -0
  89. package/package.json +19 -0
@@ -0,0 +1,68 @@
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
+
15
+
16
+ /**
17
+ * Server-Sent Event types pushed on the /events endpoint:
18
+ * - operation.progress: Progress update for an operation
19
+ * - operation.completed: Operation finished successfully
20
+ * - operation.failed: Operation encountered an error
21
+ * - job.completed: All operations in a job completed
22
+ * - job.failed: Job failed
23
+ * - workflow.completed: All jobs completed successfully
24
+ * - workflow.failed: All jobs finished, at least one failed
25
+ * - workflow.partially_failed: Some succeeded, some failed
26
+ *
27
+ * @export
28
+ */
29
+ export const SseEventType = {
30
+ operation_progress: 'operation.progress',
31
+ operation_completed: 'operation.completed',
32
+ operation_failed: 'operation.failed',
33
+ job_completed: 'job.completed',
34
+ job_failed: 'job.failed',
35
+ workflow_completed: 'workflow.completed',
36
+ workflow_failed: 'workflow.failed',
37
+ workflow_partially_failed: 'workflow.partially_failed'
38
+ } as const;
39
+ export type SseEventType = typeof SseEventType[keyof typeof SseEventType];
40
+
41
+
42
+ export function instanceOfSseEventType(value: any): boolean {
43
+ for (const key in SseEventType) {
44
+ if (Object.prototype.hasOwnProperty.call(SseEventType, key)) {
45
+ if (SseEventType[key as keyof typeof SseEventType] === value) {
46
+ return true;
47
+ }
48
+ }
49
+ }
50
+ return false;
51
+ }
52
+
53
+ export function SseEventTypeFromJSON(json: any): SseEventType {
54
+ return SseEventTypeFromJSONTyped(json, false);
55
+ }
56
+
57
+ export function SseEventTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SseEventType {
58
+ return json as SseEventType;
59
+ }
60
+
61
+ export function SseEventTypeToJSON(value?: SseEventType | null): any {
62
+ return value as any;
63
+ }
64
+
65
+ export function SseEventTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): SseEventType {
66
+ return value as SseEventType;
67
+ }
68
+
@@ -0,0 +1,94 @@
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
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Payload for `job.completed` events
18
+ * @export
19
+ * @interface SseJobCompletedData
20
+ */
21
+ export interface SseJobCompletedData {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof SseJobCompletedData
26
+ */
27
+ jobRef: string;
28
+ /**
29
+ * UUID v7 format identifier (time-ordered)
30
+ * @type {string}
31
+ * @memberof SseJobCompletedData
32
+ */
33
+ jobId: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof SseJobCompletedData
38
+ */
39
+ status: SseJobCompletedDataStatusEnum;
40
+ }
41
+
42
+
43
+ /**
44
+ * @export
45
+ */
46
+ export const SseJobCompletedDataStatusEnum = {
47
+ completed: 'completed'
48
+ } as const;
49
+ export type SseJobCompletedDataStatusEnum = typeof SseJobCompletedDataStatusEnum[keyof typeof SseJobCompletedDataStatusEnum];
50
+
51
+
52
+ /**
53
+ * Check if a given object implements the SseJobCompletedData interface.
54
+ */
55
+ export function instanceOfSseJobCompletedData(value: object): value is SseJobCompletedData {
56
+ if (!('jobRef' in value) || value['jobRef'] === undefined) return false;
57
+ if (!('jobId' in value) || value['jobId'] === undefined) return false;
58
+ if (!('status' in value) || value['status'] === undefined) return false;
59
+ return true;
60
+ }
61
+
62
+ export function SseJobCompletedDataFromJSON(json: any): SseJobCompletedData {
63
+ return SseJobCompletedDataFromJSONTyped(json, false);
64
+ }
65
+
66
+ export function SseJobCompletedDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SseJobCompletedData {
67
+ if (json == null) {
68
+ return json;
69
+ }
70
+ return {
71
+
72
+ 'jobRef': json['job_ref'],
73
+ 'jobId': json['job_id'],
74
+ 'status': json['status'],
75
+ };
76
+ }
77
+
78
+ export function SseJobCompletedDataToJSON(json: any): SseJobCompletedData {
79
+ return SseJobCompletedDataToJSONTyped(json, false);
80
+ }
81
+
82
+ export function SseJobCompletedDataToJSONTyped(value?: SseJobCompletedData | null, ignoreDiscriminator: boolean = false): any {
83
+ if (value == null) {
84
+ return value;
85
+ }
86
+
87
+ return {
88
+
89
+ 'job_ref': value['jobRef'],
90
+ 'job_id': value['jobId'],
91
+ 'status': value['status'],
92
+ };
93
+ }
94
+
@@ -0,0 +1,94 @@
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
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Payload for `job.failed` events
18
+ * @export
19
+ * @interface SseJobFailedData
20
+ */
21
+ export interface SseJobFailedData {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof SseJobFailedData
26
+ */
27
+ jobRef: string;
28
+ /**
29
+ * UUID v7 format identifier (time-ordered)
30
+ * @type {string}
31
+ * @memberof SseJobFailedData
32
+ */
33
+ jobId: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof SseJobFailedData
38
+ */
39
+ status: SseJobFailedDataStatusEnum;
40
+ }
41
+
42
+
43
+ /**
44
+ * @export
45
+ */
46
+ export const SseJobFailedDataStatusEnum = {
47
+ failed: 'failed'
48
+ } as const;
49
+ export type SseJobFailedDataStatusEnum = typeof SseJobFailedDataStatusEnum[keyof typeof SseJobFailedDataStatusEnum];
50
+
51
+
52
+ /**
53
+ * Check if a given object implements the SseJobFailedData interface.
54
+ */
55
+ export function instanceOfSseJobFailedData(value: object): value is SseJobFailedData {
56
+ if (!('jobRef' in value) || value['jobRef'] === undefined) return false;
57
+ if (!('jobId' in value) || value['jobId'] === undefined) return false;
58
+ if (!('status' in value) || value['status'] === undefined) return false;
59
+ return true;
60
+ }
61
+
62
+ export function SseJobFailedDataFromJSON(json: any): SseJobFailedData {
63
+ return SseJobFailedDataFromJSONTyped(json, false);
64
+ }
65
+
66
+ export function SseJobFailedDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SseJobFailedData {
67
+ if (json == null) {
68
+ return json;
69
+ }
70
+ return {
71
+
72
+ 'jobRef': json['job_ref'],
73
+ 'jobId': json['job_id'],
74
+ 'status': json['status'],
75
+ };
76
+ }
77
+
78
+ export function SseJobFailedDataToJSON(json: any): SseJobFailedData {
79
+ return SseJobFailedDataToJSONTyped(json, false);
80
+ }
81
+
82
+ export function SseJobFailedDataToJSONTyped(value?: SseJobFailedData | null, ignoreDiscriminator: boolean = false): any {
83
+ if (value == null) {
84
+ return value;
85
+ }
86
+
87
+ return {
88
+
89
+ 'job_ref': value['jobRef'],
90
+ 'job_id': value['jobId'],
91
+ 'status': value['status'],
92
+ };
93
+ }
94
+
@@ -0,0 +1,143 @@
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
+
15
+ import { mapValues } from '../runtime';
16
+ import type { OperationResult } from './OperationResult';
17
+ import {
18
+ OperationResultFromJSON,
19
+ OperationResultFromJSONTyped,
20
+ OperationResultToJSON,
21
+ OperationResultToJSONTyped,
22
+ } from './OperationResult';
23
+ import type { OperationType } from './OperationType';
24
+ import {
25
+ OperationTypeFromJSON,
26
+ OperationTypeFromJSONTyped,
27
+ OperationTypeToJSON,
28
+ OperationTypeToJSONTyped,
29
+ } from './OperationType';
30
+
31
+ /**
32
+ * Payload for `operation.completed` events
33
+ * @export
34
+ * @interface SseOperationCompletedData
35
+ */
36
+ export interface SseOperationCompletedData {
37
+ /**
38
+ *
39
+ * @type {string}
40
+ * @memberof SseOperationCompletedData
41
+ */
42
+ jobRef: string;
43
+ /**
44
+ * UUID v7 format identifier (time-ordered)
45
+ * @type {string}
46
+ * @memberof SseOperationCompletedData
47
+ */
48
+ operationId: string;
49
+ /**
50
+ *
51
+ * @type {OperationType}
52
+ * @memberof SseOperationCompletedData
53
+ */
54
+ type: OperationType;
55
+ /**
56
+ *
57
+ * @type {string}
58
+ * @memberof SseOperationCompletedData
59
+ */
60
+ status: SseOperationCompletedDataStatusEnum;
61
+ /**
62
+ *
63
+ * @type {number}
64
+ * @memberof SseOperationCompletedData
65
+ */
66
+ progress: SseOperationCompletedDataProgressEnum;
67
+ /**
68
+ *
69
+ * @type {OperationResult}
70
+ * @memberof SseOperationCompletedData
71
+ */
72
+ result?: OperationResult;
73
+ }
74
+
75
+
76
+ /**
77
+ * @export
78
+ */
79
+ export const SseOperationCompletedDataStatusEnum = {
80
+ completed: 'completed'
81
+ } as const;
82
+ export type SseOperationCompletedDataStatusEnum = typeof SseOperationCompletedDataStatusEnum[keyof typeof SseOperationCompletedDataStatusEnum];
83
+
84
+ /**
85
+ * @export
86
+ */
87
+ export const SseOperationCompletedDataProgressEnum = {
88
+ NUMBER_100: 100
89
+ } as const;
90
+ export type SseOperationCompletedDataProgressEnum = typeof SseOperationCompletedDataProgressEnum[keyof typeof SseOperationCompletedDataProgressEnum];
91
+
92
+
93
+ /**
94
+ * Check if a given object implements the SseOperationCompletedData interface.
95
+ */
96
+ export function instanceOfSseOperationCompletedData(value: object): value is SseOperationCompletedData {
97
+ if (!('jobRef' in value) || value['jobRef'] === undefined) return false;
98
+ if (!('operationId' in value) || value['operationId'] === undefined) return false;
99
+ if (!('type' in value) || value['type'] === undefined) return false;
100
+ if (!('status' in value) || value['status'] === undefined) return false;
101
+ if (!('progress' in value) || value['progress'] === undefined) return false;
102
+ return true;
103
+ }
104
+
105
+ export function SseOperationCompletedDataFromJSON(json: any): SseOperationCompletedData {
106
+ return SseOperationCompletedDataFromJSONTyped(json, false);
107
+ }
108
+
109
+ export function SseOperationCompletedDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SseOperationCompletedData {
110
+ if (json == null) {
111
+ return json;
112
+ }
113
+ return {
114
+
115
+ 'jobRef': json['job_ref'],
116
+ 'operationId': json['operation_id'],
117
+ 'type': OperationTypeFromJSON(json['type']),
118
+ 'status': json['status'],
119
+ 'progress': json['progress'],
120
+ 'result': json['result'] == null ? undefined : OperationResultFromJSON(json['result']),
121
+ };
122
+ }
123
+
124
+ export function SseOperationCompletedDataToJSON(json: any): SseOperationCompletedData {
125
+ return SseOperationCompletedDataToJSONTyped(json, false);
126
+ }
127
+
128
+ export function SseOperationCompletedDataToJSONTyped(value?: SseOperationCompletedData | null, ignoreDiscriminator: boolean = false): any {
129
+ if (value == null) {
130
+ return value;
131
+ }
132
+
133
+ return {
134
+
135
+ 'job_ref': value['jobRef'],
136
+ 'operation_id': value['operationId'],
137
+ 'type': OperationTypeToJSON(value['type']),
138
+ 'status': value['status'],
139
+ 'progress': value['progress'],
140
+ 'result': OperationResultToJSON(value['result']),
141
+ };
142
+ }
143
+
@@ -0,0 +1,129 @@
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
+
15
+ import { mapValues } from '../runtime';
16
+ import type { OperationType } from './OperationType';
17
+ import {
18
+ OperationTypeFromJSON,
19
+ OperationTypeFromJSONTyped,
20
+ OperationTypeToJSON,
21
+ OperationTypeToJSONTyped,
22
+ } from './OperationType';
23
+
24
+ /**
25
+ * Payload for `operation.failed` events
26
+ * @export
27
+ * @interface SseOperationFailedData
28
+ */
29
+ export interface SseOperationFailedData {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof SseOperationFailedData
34
+ */
35
+ jobRef: string;
36
+ /**
37
+ * UUID v7 format identifier (time-ordered)
38
+ * @type {string}
39
+ * @memberof SseOperationFailedData
40
+ */
41
+ operationId: string;
42
+ /**
43
+ *
44
+ * @type {OperationType}
45
+ * @memberof SseOperationFailedData
46
+ */
47
+ type: OperationType;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof SseOperationFailedData
52
+ */
53
+ status: SseOperationFailedDataStatusEnum;
54
+ /**
55
+ *
56
+ * @type {string}
57
+ * @memberof SseOperationFailedData
58
+ */
59
+ errorCode: string;
60
+ /**
61
+ *
62
+ * @type {string}
63
+ * @memberof SseOperationFailedData
64
+ */
65
+ errorMessage: string;
66
+ }
67
+
68
+
69
+ /**
70
+ * @export
71
+ */
72
+ export const SseOperationFailedDataStatusEnum = {
73
+ failed: 'failed'
74
+ } as const;
75
+ export type SseOperationFailedDataStatusEnum = typeof SseOperationFailedDataStatusEnum[keyof typeof SseOperationFailedDataStatusEnum];
76
+
77
+
78
+ /**
79
+ * Check if a given object implements the SseOperationFailedData interface.
80
+ */
81
+ export function instanceOfSseOperationFailedData(value: object): value is SseOperationFailedData {
82
+ if (!('jobRef' in value) || value['jobRef'] === undefined) return false;
83
+ if (!('operationId' in value) || value['operationId'] === undefined) return false;
84
+ if (!('type' in value) || value['type'] === undefined) return false;
85
+ if (!('status' in value) || value['status'] === undefined) return false;
86
+ if (!('errorCode' in value) || value['errorCode'] === undefined) return false;
87
+ if (!('errorMessage' in value) || value['errorMessage'] === undefined) return false;
88
+ return true;
89
+ }
90
+
91
+ export function SseOperationFailedDataFromJSON(json: any): SseOperationFailedData {
92
+ return SseOperationFailedDataFromJSONTyped(json, false);
93
+ }
94
+
95
+ export function SseOperationFailedDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SseOperationFailedData {
96
+ if (json == null) {
97
+ return json;
98
+ }
99
+ return {
100
+
101
+ 'jobRef': json['job_ref'],
102
+ 'operationId': json['operation_id'],
103
+ 'type': OperationTypeFromJSON(json['type']),
104
+ 'status': json['status'],
105
+ 'errorCode': json['error_code'],
106
+ 'errorMessage': json['error_message'],
107
+ };
108
+ }
109
+
110
+ export function SseOperationFailedDataToJSON(json: any): SseOperationFailedData {
111
+ return SseOperationFailedDataToJSONTyped(json, false);
112
+ }
113
+
114
+ export function SseOperationFailedDataToJSONTyped(value?: SseOperationFailedData | null, ignoreDiscriminator: boolean = false): any {
115
+ if (value == null) {
116
+ return value;
117
+ }
118
+
119
+ return {
120
+
121
+ 'job_ref': value['jobRef'],
122
+ 'operation_id': value['operationId'],
123
+ 'type': OperationTypeToJSON(value['type']),
124
+ 'status': value['status'],
125
+ 'error_code': value['errorCode'],
126
+ 'error_message': value['errorMessage'],
127
+ };
128
+ }
129
+
@@ -0,0 +1,103 @@
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
+
15
+ import { mapValues } from '../runtime';
16
+ import type { OperationType } from './OperationType';
17
+ import {
18
+ OperationTypeFromJSON,
19
+ OperationTypeFromJSONTyped,
20
+ OperationTypeToJSON,
21
+ OperationTypeToJSONTyped,
22
+ } from './OperationType';
23
+
24
+ /**
25
+ * Payload for `operation.progress` events
26
+ * @export
27
+ * @interface SseOperationProgressData
28
+ */
29
+ export interface SseOperationProgressData {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof SseOperationProgressData
34
+ */
35
+ jobRef: string;
36
+ /**
37
+ * UUID v7 format identifier (time-ordered)
38
+ * @type {string}
39
+ * @memberof SseOperationProgressData
40
+ */
41
+ operationId: string;
42
+ /**
43
+ *
44
+ * @type {OperationType}
45
+ * @memberof SseOperationProgressData
46
+ */
47
+ type: OperationType;
48
+ /**
49
+ *
50
+ * @type {number}
51
+ * @memberof SseOperationProgressData
52
+ */
53
+ progress: number;
54
+ }
55
+
56
+
57
+
58
+ /**
59
+ * Check if a given object implements the SseOperationProgressData interface.
60
+ */
61
+ export function instanceOfSseOperationProgressData(value: object): value is SseOperationProgressData {
62
+ if (!('jobRef' in value) || value['jobRef'] === undefined) return false;
63
+ if (!('operationId' in value) || value['operationId'] === undefined) return false;
64
+ if (!('type' in value) || value['type'] === undefined) return false;
65
+ if (!('progress' in value) || value['progress'] === undefined) return false;
66
+ return true;
67
+ }
68
+
69
+ export function SseOperationProgressDataFromJSON(json: any): SseOperationProgressData {
70
+ return SseOperationProgressDataFromJSONTyped(json, false);
71
+ }
72
+
73
+ export function SseOperationProgressDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SseOperationProgressData {
74
+ if (json == null) {
75
+ return json;
76
+ }
77
+ return {
78
+
79
+ 'jobRef': json['job_ref'],
80
+ 'operationId': json['operation_id'],
81
+ 'type': OperationTypeFromJSON(json['type']),
82
+ 'progress': json['progress'],
83
+ };
84
+ }
85
+
86
+ export function SseOperationProgressDataToJSON(json: any): SseOperationProgressData {
87
+ return SseOperationProgressDataToJSONTyped(json, false);
88
+ }
89
+
90
+ export function SseOperationProgressDataToJSONTyped(value?: SseOperationProgressData | null, ignoreDiscriminator: boolean = false): any {
91
+ if (value == null) {
92
+ return value;
93
+ }
94
+
95
+ return {
96
+
97
+ 'job_ref': value['jobRef'],
98
+ 'operation_id': value['operationId'],
99
+ 'type': OperationTypeToJSON(value['type']),
100
+ 'progress': value['progress'],
101
+ };
102
+ }
103
+