@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.
- package/asyncapi/ErrorCode.ts +19 -0
- package/asyncapi/MergeOutputType.ts +9 -0
- package/asyncapi/NotificationsOperationsQueue.ts +4 -0
- package/asyncapi/OperationMetrics.ts +12 -0
- package/asyncapi/OperationProgress.ts +12 -0
- package/asyncapi/OperationRequest.ts +21 -0
- package/asyncapi/OperationResult.ts +20 -0
- package/asyncapi/OperationType.ts +10 -0
- package/asyncapi/ProgressStatus.ts +8 -0
- package/asyncapi/README.md +16 -0
- package/asyncapi/ResultStatus.ts +6 -0
- package/asyncapi/SourceEntry.ts +9 -0
- package/asyncapi/index.ts +11 -0
- package/index.ts +5 -0
- package/openapi/.openapi-generator-ignore +26 -0
- package/openapi/README.md +17 -0
- package/openapi/index.ts +4 -0
- package/openapi/models/CallbackEventType.ts +60 -0
- package/openapi/models/ContactRequest.ts +113 -0
- package/openapi/models/ContactSubject.ts +62 -0
- package/openapi/models/ContactValidationErrorResponse.ts +67 -0
- package/openapi/models/ErrorEnvelope.ts +85 -0
- package/openapi/models/ExportConfig.ts +108 -0
- package/openapi/models/JobDefinition.ts +56 -0
- package/openapi/models/JobDownload.ts +92 -0
- package/openapi/models/JobInput.ts +89 -0
- package/openapi/models/JobResponse.ts +119 -0
- package/openapi/models/JobSource.ts +79 -0
- package/openapi/models/JobStatus.ts +62 -0
- package/openapi/models/JobType.ts +60 -0
- package/openapi/models/LivenessResponse.ts +66 -0
- package/openapi/models/MetadataResponse.ts +223 -0
- package/openapi/models/MetadataResponseDimensions.ts +73 -0
- package/openapi/models/MetadataResponseExif.ts +97 -0
- package/openapi/models/MetadataResponseExifGps.ts +73 -0
- package/openapi/models/MetadataSuccessEnvelope.ts +93 -0
- package/openapi/models/MimeGroupSchema.ts +91 -0
- package/openapi/models/MultipartCompleteRequest.ts +85 -0
- package/openapi/models/MultipartCompleteRequestPartsInner.ts +75 -0
- package/openapi/models/MultipartInitiateResponse.ts +137 -0
- package/openapi/models/MultipartInitiateSuccessEnvelope.ts +93 -0
- package/openapi/models/OperationDefinition.ts +91 -0
- package/openapi/models/OperationDownload.ts +102 -0
- package/openapi/models/OperationInputModel.ts +56 -0
- package/openapi/models/OperationResponse.ts +124 -0
- package/openapi/models/OperationResult.ts +100 -0
- package/openapi/models/OperationResultMetrics.ts +73 -0
- package/openapi/models/OperationSchemaDefinition.ts +163 -0
- package/openapi/models/OperationStatus.ts +62 -0
- package/openapi/models/OperationType.ts +64 -0
- package/openapi/models/OperationsSchemaResponse.ts +90 -0
- package/openapi/models/OptionSchema.ts +160 -0
- package/openapi/models/PresignedUrlPart.ts +86 -0
- package/openapi/models/ReadinessResponse.ts +73 -0
- package/openapi/models/ResponseEnvelope.ts +70 -0
- package/openapi/models/RetryResponse.ts +94 -0
- package/openapi/models/RetrySuccessEnvelope.ts +93 -0
- package/openapi/models/SseEventType.ts +68 -0
- package/openapi/models/SseJobCompletedData.ts +94 -0
- package/openapi/models/SseJobFailedData.ts +94 -0
- package/openapi/models/SseOperationCompletedData.ts +143 -0
- package/openapi/models/SseOperationFailedData.ts +129 -0
- package/openapi/models/SseOperationProgressData.ts +103 -0
- package/openapi/models/SseWorkflowTerminalData.ts +89 -0
- package/openapi/models/UploadResponse.ts +93 -0
- package/openapi/models/UploadSuccessEnvelope.ts +93 -0
- package/openapi/models/ValidationErrorEnvelope.ts +104 -0
- package/openapi/models/ValidationErrorEnvelopeDetailsInner.ts +90 -0
- package/openapi/models/WebhookOperationContext.ts +77 -0
- package/openapi/models/WebhookPayload.ts +132 -0
- package/openapi/models/WorkflowCreateRequest.ts +143 -0
- package/openapi/models/WorkflowCreateResponse.ts +114 -0
- package/openapi/models/WorkflowCreateSuccessEnvelope.ts +93 -0
- package/openapi/models/WorkflowDownloadResponse.ts +74 -0
- package/openapi/models/WorkflowDownloadSuccessEnvelope.ts +93 -0
- package/openapi/models/WorkflowEdge.ts +77 -0
- package/openapi/models/WorkflowStatus.ts +62 -0
- package/openapi/models/WorkflowStatusResponse.ts +101 -0
- package/openapi/models/WorkflowStatusSuccessEnvelope.ts +93 -0
- package/openapi/models/index.ts +64 -0
- package/openapi/runtime.ts +432 -0
- package/operations/README.md +17 -0
- package/operations/archive.ts +16 -0
- package/operations/compress.ts +177 -0
- package/operations/convert.ts +69 -0
- package/operations/index.ts +7 -0
- package/operations/merge.ts +95 -0
- package/operations/thumbnail.ts +66 -0
- package/package.json +19 -0
|
@@ -0,0 +1,108 @@
|
|
|
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
|
+
* Export configuration. When set, all operation outputs are copied to the
|
|
18
|
+
* customer's destination in addition to GISL's own S3 storage.
|
|
19
|
+
* Currently supports AWS S3 via cross-account AssumeRole.
|
|
20
|
+
*
|
|
21
|
+
* @export
|
|
22
|
+
* @interface ExportConfig
|
|
23
|
+
*/
|
|
24
|
+
export interface ExportConfig {
|
|
25
|
+
/**
|
|
26
|
+
* Destination service
|
|
27
|
+
* @type {string}
|
|
28
|
+
* @memberof ExportConfig
|
|
29
|
+
*/
|
|
30
|
+
service: ExportConfigServiceEnum;
|
|
31
|
+
/**
|
|
32
|
+
* Destination bucket name
|
|
33
|
+
* @type {string}
|
|
34
|
+
* @memberof ExportConfig
|
|
35
|
+
*/
|
|
36
|
+
bucket: string;
|
|
37
|
+
/**
|
|
38
|
+
* Key prefix for exported files
|
|
39
|
+
* @type {string}
|
|
40
|
+
* @memberof ExportConfig
|
|
41
|
+
*/
|
|
42
|
+
keyPrefix?: string;
|
|
43
|
+
/**
|
|
44
|
+
* IAM role ARN in the customer's AWS account. GISL's Lambda assumes this
|
|
45
|
+
* role to write to the customer's bucket. The customer must configure a
|
|
46
|
+
* trust policy allowing GISL's execution role to assume it.
|
|
47
|
+
*
|
|
48
|
+
* @type {string}
|
|
49
|
+
* @memberof ExportConfig
|
|
50
|
+
*/
|
|
51
|
+
roleArn: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @export
|
|
57
|
+
*/
|
|
58
|
+
export const ExportConfigServiceEnum = {
|
|
59
|
+
s3: 's3'
|
|
60
|
+
} as const;
|
|
61
|
+
export type ExportConfigServiceEnum = typeof ExportConfigServiceEnum[keyof typeof ExportConfigServiceEnum];
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Check if a given object implements the ExportConfig interface.
|
|
66
|
+
*/
|
|
67
|
+
export function instanceOfExportConfig(value: object): value is ExportConfig {
|
|
68
|
+
if (!('service' in value) || value['service'] === undefined) return false;
|
|
69
|
+
if (!('bucket' in value) || value['bucket'] === undefined) return false;
|
|
70
|
+
if (!('roleArn' in value) || value['roleArn'] === undefined) return false;
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function ExportConfigFromJSON(json: any): ExportConfig {
|
|
75
|
+
return ExportConfigFromJSONTyped(json, false);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function ExportConfigFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExportConfig {
|
|
79
|
+
if (json == null) {
|
|
80
|
+
return json;
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
|
|
84
|
+
'service': json['service'],
|
|
85
|
+
'bucket': json['bucket'],
|
|
86
|
+
'keyPrefix': json['key_prefix'] == null ? undefined : json['key_prefix'],
|
|
87
|
+
'roleArn': json['role_arn'],
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export function ExportConfigToJSON(json: any): ExportConfig {
|
|
92
|
+
return ExportConfigToJSONTyped(json, false);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function ExportConfigToJSONTyped(value?: ExportConfig | null, ignoreDiscriminator: boolean = false): any {
|
|
96
|
+
if (value == null) {
|
|
97
|
+
return value;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return {
|
|
101
|
+
|
|
102
|
+
'service': value['service'],
|
|
103
|
+
'bucket': value['bucket'],
|
|
104
|
+
'key_prefix': value['keyPrefix'],
|
|
105
|
+
'role_arn': value['roleArn'],
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
* @type JobDefinition
|
|
17
|
+
* A job within a workflow. Each job must have exactly one source:
|
|
18
|
+
* - `file_id`: Direct reference to an uploaded file
|
|
19
|
+
* - `source`: Reference another job's output (single-input downstream)
|
|
20
|
+
* - `inputs`: Reference multiple job outputs (multi-input: merge/archive)
|
|
21
|
+
*
|
|
22
|
+
* Future versions will add `url` and `import` source types for external
|
|
23
|
+
* file references (V2).
|
|
24
|
+
*
|
|
25
|
+
* For single-input jobs with `file_id`, `operations` defaults to
|
|
26
|
+
* `[{ "type": "compress" }]` if omitted. Multi-input jobs must specify
|
|
27
|
+
* operations explicitly.
|
|
28
|
+
*
|
|
29
|
+
* @export
|
|
30
|
+
*/
|
|
31
|
+
export type JobDefinition = any;
|
|
32
|
+
|
|
33
|
+
export function JobDefinitionFromJSON(json: any): JobDefinition {
|
|
34
|
+
return JobDefinitionFromJSONTyped(json, false);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function JobDefinitionFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobDefinition {
|
|
38
|
+
if (json == null) {
|
|
39
|
+
return json;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return {} as any;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function JobDefinitionToJSON(json: any): any {
|
|
46
|
+
return JobDefinitionToJSONTyped(json, false);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function JobDefinitionToJSONTyped(value?: JobDefinition | null, ignoreDiscriminator: boolean = false): any {
|
|
50
|
+
if (value == null) {
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return {};
|
|
55
|
+
}
|
|
56
|
+
|
|
@@ -0,0 +1,92 @@
|
|
|
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 { OperationDownload } from './OperationDownload';
|
|
17
|
+
import {
|
|
18
|
+
OperationDownloadFromJSON,
|
|
19
|
+
OperationDownloadFromJSONTyped,
|
|
20
|
+
OperationDownloadToJSON,
|
|
21
|
+
OperationDownloadToJSONTyped,
|
|
22
|
+
} from './OperationDownload';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface JobDownload
|
|
28
|
+
*/
|
|
29
|
+
export interface JobDownload {
|
|
30
|
+
/**
|
|
31
|
+
* Job reference label
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof JobDownload
|
|
34
|
+
*/
|
|
35
|
+
ref: string;
|
|
36
|
+
/**
|
|
37
|
+
* UUID v7 format identifier (time-ordered)
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof JobDownload
|
|
40
|
+
*/
|
|
41
|
+
jobId: string;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {Array<OperationDownload>}
|
|
45
|
+
* @memberof JobDownload
|
|
46
|
+
*/
|
|
47
|
+
files: Array<OperationDownload>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Check if a given object implements the JobDownload interface.
|
|
52
|
+
*/
|
|
53
|
+
export function instanceOfJobDownload(value: object): value is JobDownload {
|
|
54
|
+
if (!('ref' in value) || value['ref'] === undefined) return false;
|
|
55
|
+
if (!('jobId' in value) || value['jobId'] === undefined) return false;
|
|
56
|
+
if (!('files' in value) || value['files'] === undefined) return false;
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function JobDownloadFromJSON(json: any): JobDownload {
|
|
61
|
+
return JobDownloadFromJSONTyped(json, false);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function JobDownloadFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobDownload {
|
|
65
|
+
if (json == null) {
|
|
66
|
+
return json;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
|
|
70
|
+
'ref': json['ref'],
|
|
71
|
+
'jobId': json['job_id'],
|
|
72
|
+
'files': ((json['files'] as Array<any>).map(OperationDownloadFromJSON)),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function JobDownloadToJSON(json: any): JobDownload {
|
|
77
|
+
return JobDownloadToJSONTyped(json, false);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export function JobDownloadToJSONTyped(value?: JobDownload | null, ignoreDiscriminator: boolean = false): any {
|
|
81
|
+
if (value == null) {
|
|
82
|
+
return value;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return {
|
|
86
|
+
|
|
87
|
+
'ref': value['ref'],
|
|
88
|
+
'job_id': value['jobId'],
|
|
89
|
+
'files': ((value['files'] as Array<any>).map(OperationDownloadToJSON)),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
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
|
+
* Single input reference for multi-input operations. Each references a
|
|
18
|
+
* specific job and optionally a specific operation output from that job.
|
|
19
|
+
*
|
|
20
|
+
* @export
|
|
21
|
+
* @interface JobInput
|
|
22
|
+
*/
|
|
23
|
+
export interface JobInput {
|
|
24
|
+
/**
|
|
25
|
+
* Reference label of the upstream job
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof JobInput
|
|
28
|
+
*/
|
|
29
|
+
ref: string;
|
|
30
|
+
/**
|
|
31
|
+
* Specific operation output to use. If omitted, uses the last
|
|
32
|
+
* operation's output.
|
|
33
|
+
*
|
|
34
|
+
* @type {string}
|
|
35
|
+
* @memberof JobInput
|
|
36
|
+
*/
|
|
37
|
+
operation?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Per-input option overrides. For merge operations, individual inputs
|
|
40
|
+
* can override global transition settings for the join point preceding
|
|
41
|
+
* this input. Keys are option names, values are the override values.
|
|
42
|
+
*
|
|
43
|
+
* @type {{ [key: string]: any; }}
|
|
44
|
+
* @memberof JobInput
|
|
45
|
+
*/
|
|
46
|
+
perInputOptions?: { [key: string]: any; };
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Check if a given object implements the JobInput interface.
|
|
51
|
+
*/
|
|
52
|
+
export function instanceOfJobInput(value: object): value is JobInput {
|
|
53
|
+
if (!('ref' in value) || value['ref'] === undefined) return false;
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function JobInputFromJSON(json: any): JobInput {
|
|
58
|
+
return JobInputFromJSONTyped(json, false);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function JobInputFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobInput {
|
|
62
|
+
if (json == null) {
|
|
63
|
+
return json;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
|
|
67
|
+
'ref': json['ref'],
|
|
68
|
+
'operation': json['operation'] == null ? undefined : json['operation'],
|
|
69
|
+
'perInputOptions': json['per_input_options'] == null ? undefined : json['per_input_options'],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function JobInputToJSON(json: any): JobInput {
|
|
74
|
+
return JobInputToJSONTyped(json, false);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function JobInputToJSONTyped(value?: JobInput | null, ignoreDiscriminator: boolean = false): any {
|
|
78
|
+
if (value == null) {
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return {
|
|
83
|
+
|
|
84
|
+
'ref': value['ref'],
|
|
85
|
+
'operation': value['operation'],
|
|
86
|
+
'per_input_options': value['perInputOptions'],
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
|
|
@@ -0,0 +1,119 @@
|
|
|
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 { JobStatus } from './JobStatus';
|
|
17
|
+
import {
|
|
18
|
+
JobStatusFromJSON,
|
|
19
|
+
JobStatusFromJSONTyped,
|
|
20
|
+
JobStatusToJSON,
|
|
21
|
+
JobStatusToJSONTyped,
|
|
22
|
+
} from './JobStatus';
|
|
23
|
+
import type { OperationResponse } from './OperationResponse';
|
|
24
|
+
import {
|
|
25
|
+
OperationResponseFromJSON,
|
|
26
|
+
OperationResponseFromJSONTyped,
|
|
27
|
+
OperationResponseToJSON,
|
|
28
|
+
OperationResponseToJSONTyped,
|
|
29
|
+
} from './OperationResponse';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Job status within a workflow response
|
|
33
|
+
* @export
|
|
34
|
+
* @interface JobResponse
|
|
35
|
+
*/
|
|
36
|
+
export interface JobResponse {
|
|
37
|
+
/**
|
|
38
|
+
* Job reference label
|
|
39
|
+
* @type {string}
|
|
40
|
+
* @memberof JobResponse
|
|
41
|
+
*/
|
|
42
|
+
ref: string;
|
|
43
|
+
/**
|
|
44
|
+
* UUID v7 format identifier (time-ordered)
|
|
45
|
+
* @type {string}
|
|
46
|
+
* @memberof JobResponse
|
|
47
|
+
*/
|
|
48
|
+
jobId: string;
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @type {JobStatus}
|
|
52
|
+
* @memberof JobResponse
|
|
53
|
+
*/
|
|
54
|
+
status: JobStatus;
|
|
55
|
+
/**
|
|
56
|
+
* List of upstream job refs this job depends on
|
|
57
|
+
* @type {Array<string>}
|
|
58
|
+
* @memberof JobResponse
|
|
59
|
+
*/
|
|
60
|
+
dependsOn: Array<string>;
|
|
61
|
+
/**
|
|
62
|
+
*
|
|
63
|
+
* @type {Array<OperationResponse>}
|
|
64
|
+
* @memberof JobResponse
|
|
65
|
+
*/
|
|
66
|
+
operations: Array<OperationResponse>;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Check if a given object implements the JobResponse interface.
|
|
73
|
+
*/
|
|
74
|
+
export function instanceOfJobResponse(value: object): value is JobResponse {
|
|
75
|
+
if (!('ref' in value) || value['ref'] === undefined) return false;
|
|
76
|
+
if (!('jobId' in value) || value['jobId'] === undefined) return false;
|
|
77
|
+
if (!('status' in value) || value['status'] === undefined) return false;
|
|
78
|
+
if (!('dependsOn' in value) || value['dependsOn'] === undefined) return false;
|
|
79
|
+
if (!('operations' in value) || value['operations'] === undefined) return false;
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export function JobResponseFromJSON(json: any): JobResponse {
|
|
84
|
+
return JobResponseFromJSONTyped(json, false);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export function JobResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobResponse {
|
|
88
|
+
if (json == null) {
|
|
89
|
+
return json;
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
|
|
93
|
+
'ref': json['ref'],
|
|
94
|
+
'jobId': json['job_id'],
|
|
95
|
+
'status': JobStatusFromJSON(json['status']),
|
|
96
|
+
'dependsOn': json['depends_on'],
|
|
97
|
+
'operations': ((json['operations'] as Array<any>).map(OperationResponseFromJSON)),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export function JobResponseToJSON(json: any): JobResponse {
|
|
102
|
+
return JobResponseToJSONTyped(json, false);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export function JobResponseToJSONTyped(value?: JobResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
106
|
+
if (value == null) {
|
|
107
|
+
return value;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return {
|
|
111
|
+
|
|
112
|
+
'ref': value['ref'],
|
|
113
|
+
'job_id': value['jobId'],
|
|
114
|
+
'status': JobStatusToJSON(value['status']),
|
|
115
|
+
'depends_on': value['dependsOn'],
|
|
116
|
+
'operations': ((value['operations'] as Array<any>).map(OperationResponseToJSON)),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
@@ -0,0 +1,79 @@
|
|
|
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
|
+
* Reference to another job's output for single-input downstream jobs.
|
|
18
|
+
* The input is the referenced job's output, resolved via the incoming
|
|
19
|
+
* workflow edge.
|
|
20
|
+
*
|
|
21
|
+
* @export
|
|
22
|
+
* @interface JobSource
|
|
23
|
+
*/
|
|
24
|
+
export interface JobSource {
|
|
25
|
+
/**
|
|
26
|
+
* Reference label of the upstream job
|
|
27
|
+
* @type {string}
|
|
28
|
+
* @memberof JobSource
|
|
29
|
+
*/
|
|
30
|
+
ref: string;
|
|
31
|
+
/**
|
|
32
|
+
* Specific operation output to use from the upstream job.
|
|
33
|
+
* If omitted, uses the last operation's output.
|
|
34
|
+
*
|
|
35
|
+
* @type {string}
|
|
36
|
+
* @memberof JobSource
|
|
37
|
+
*/
|
|
38
|
+
operation?: string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Check if a given object implements the JobSource interface.
|
|
43
|
+
*/
|
|
44
|
+
export function instanceOfJobSource(value: object): value is JobSource {
|
|
45
|
+
if (!('ref' in value) || value['ref'] === undefined) return false;
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function JobSourceFromJSON(json: any): JobSource {
|
|
50
|
+
return JobSourceFromJSONTyped(json, false);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function JobSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobSource {
|
|
54
|
+
if (json == null) {
|
|
55
|
+
return json;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
|
|
59
|
+
'ref': json['ref'],
|
|
60
|
+
'operation': json['operation'] == null ? undefined : json['operation'],
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function JobSourceToJSON(json: any): JobSource {
|
|
65
|
+
return JobSourceToJSONTyped(json, false);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function JobSourceToJSONTyped(value?: JobSource | null, ignoreDiscriminator: boolean = false): any {
|
|
69
|
+
if (value == null) {
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return {
|
|
74
|
+
|
|
75
|
+
'ref': value['ref'],
|
|
76
|
+
'operation': value['operation'],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
+
* Job lifecycle status:
|
|
18
|
+
* - pending: Created, waiting to be scheduled
|
|
19
|
+
* - waiting: Blocked by upstream job dependencies (workflow_edges)
|
|
20
|
+
* - in_progress: At least one operation is running
|
|
21
|
+
* - completed: All operations completed successfully
|
|
22
|
+
* - failed: Job failed (at least one operation failed)
|
|
23
|
+
*
|
|
24
|
+
* @export
|
|
25
|
+
*/
|
|
26
|
+
export const JobStatus = {
|
|
27
|
+
pending: 'pending',
|
|
28
|
+
waiting: 'waiting',
|
|
29
|
+
in_progress: 'in_progress',
|
|
30
|
+
completed: 'completed',
|
|
31
|
+
failed: 'failed'
|
|
32
|
+
} as const;
|
|
33
|
+
export type JobStatus = typeof JobStatus[keyof typeof JobStatus];
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
export function instanceOfJobStatus(value: any): boolean {
|
|
37
|
+
for (const key in JobStatus) {
|
|
38
|
+
if (Object.prototype.hasOwnProperty.call(JobStatus, key)) {
|
|
39
|
+
if (JobStatus[key as keyof typeof JobStatus] === value) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function JobStatusFromJSON(json: any): JobStatus {
|
|
48
|
+
return JobStatusFromJSONTyped(json, false);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function JobStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobStatus {
|
|
52
|
+
return json as JobStatus;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function JobStatusToJSON(value?: JobStatus | null): any {
|
|
56
|
+
return value as any;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function JobStatusToJSONTyped(value: any, ignoreDiscriminator: boolean): JobStatus {
|
|
60
|
+
return value as JobStatus;
|
|
61
|
+
}
|
|
62
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
* Media type category derived from MIME type. Used for SNS routing:
|
|
18
|
+
* - image/* -> image
|
|
19
|
+
* - video/* -> video
|
|
20
|
+
* - audio/* -> audio
|
|
21
|
+
* - document types -> document (PDF, DOCX, XLSX, PPTX, ODT, ODS, ODP, EPUB)
|
|
22
|
+
*
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
export const JobType = {
|
|
26
|
+
image: 'image',
|
|
27
|
+
video: 'video',
|
|
28
|
+
audio: 'audio',
|
|
29
|
+
document: 'document'
|
|
30
|
+
} as const;
|
|
31
|
+
export type JobType = typeof JobType[keyof typeof JobType];
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
export function instanceOfJobType(value: any): boolean {
|
|
35
|
+
for (const key in JobType) {
|
|
36
|
+
if (Object.prototype.hasOwnProperty.call(JobType, key)) {
|
|
37
|
+
if (JobType[key as keyof typeof JobType] === value) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function JobTypeFromJSON(json: any): JobType {
|
|
46
|
+
return JobTypeFromJSONTyped(json, false);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function JobTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobType {
|
|
50
|
+
return json as JobType;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function JobTypeToJSON(value?: JobType | null): any {
|
|
54
|
+
return value as any;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function JobTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): JobType {
|
|
58
|
+
return value as JobType;
|
|
59
|
+
}
|
|
60
|
+
|