@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,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 { WorkflowEdge } from './WorkflowEdge';
|
|
17
|
+
import {
|
|
18
|
+
WorkflowEdgeFromJSON,
|
|
19
|
+
WorkflowEdgeFromJSONTyped,
|
|
20
|
+
WorkflowEdgeToJSON,
|
|
21
|
+
WorkflowEdgeToJSONTyped,
|
|
22
|
+
} from './WorkflowEdge';
|
|
23
|
+
import type { CallbackEventType } from './CallbackEventType';
|
|
24
|
+
import {
|
|
25
|
+
CallbackEventTypeFromJSON,
|
|
26
|
+
CallbackEventTypeFromJSONTyped,
|
|
27
|
+
CallbackEventTypeToJSON,
|
|
28
|
+
CallbackEventTypeToJSONTyped,
|
|
29
|
+
} from './CallbackEventType';
|
|
30
|
+
import type { ExportConfig } from './ExportConfig';
|
|
31
|
+
import {
|
|
32
|
+
ExportConfigFromJSON,
|
|
33
|
+
ExportConfigFromJSONTyped,
|
|
34
|
+
ExportConfigToJSON,
|
|
35
|
+
ExportConfigToJSONTyped,
|
|
36
|
+
} from './ExportConfig';
|
|
37
|
+
import type { JobDefinition } from './JobDefinition';
|
|
38
|
+
import {
|
|
39
|
+
JobDefinitionFromJSON,
|
|
40
|
+
JobDefinitionFromJSONTyped,
|
|
41
|
+
JobDefinitionToJSON,
|
|
42
|
+
JobDefinitionToJSONTyped,
|
|
43
|
+
} from './JobDefinition';
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
*
|
|
47
|
+
* @export
|
|
48
|
+
* @interface WorkflowCreateRequest
|
|
49
|
+
*/
|
|
50
|
+
export interface WorkflowCreateRequest {
|
|
51
|
+
/**
|
|
52
|
+
* List of jobs in this workflow
|
|
53
|
+
* @type {Array<JobDefinition>}
|
|
54
|
+
* @memberof WorkflowCreateRequest
|
|
55
|
+
*/
|
|
56
|
+
jobs: Array<JobDefinition>;
|
|
57
|
+
/**
|
|
58
|
+
* DAG dependency edges between jobs. Each edge defines that a downstream
|
|
59
|
+
* job depends on an upstream job's output. Jobs with no incoming edges
|
|
60
|
+
* start immediately. Jobs with dependencies wait for all upstream jobs.
|
|
61
|
+
*
|
|
62
|
+
* @type {Array<WorkflowEdge>}
|
|
63
|
+
* @memberof WorkflowCreateRequest
|
|
64
|
+
*/
|
|
65
|
+
workflowEdges?: Array<WorkflowEdge>;
|
|
66
|
+
/**
|
|
67
|
+
* Webhook URL (HTTPS only). The API POSTs a `WebhookPayload` JSON body to
|
|
68
|
+
* this URL when matching events occur. The payload includes event type,
|
|
69
|
+
* delivery ID, timestamp, and full workflow state with job results and
|
|
70
|
+
* download URLs. Must use HTTPS to prevent credential leakage and SSRF
|
|
71
|
+
* against internal endpoints.
|
|
72
|
+
*
|
|
73
|
+
* **Signature verification:**
|
|
74
|
+
* Each request includes an `X-GIS-Signature` header containing an
|
|
75
|
+
* HMAC-SHA256 hex digest of the raw request body, using the per-workflow
|
|
76
|
+
* `webhook_secret` (returned in the workflow creation response) as the key.
|
|
77
|
+
* Header format: `sha256=<hex(hmac-sha256(webhook_secret, raw_body))>`.
|
|
78
|
+
* Consumers MUST verify the signature before processing the payload.
|
|
79
|
+
*
|
|
80
|
+
* @type {string}
|
|
81
|
+
* @memberof WorkflowCreateRequest
|
|
82
|
+
*/
|
|
83
|
+
callbackUrl?: string | null;
|
|
84
|
+
/**
|
|
85
|
+
* Which events trigger the webhook callback. Defaults to terminal events only.
|
|
86
|
+
*
|
|
87
|
+
* @type {Array<CallbackEventType>}
|
|
88
|
+
* @memberof WorkflowCreateRequest
|
|
89
|
+
*/
|
|
90
|
+
callbackEvents?: Array<CallbackEventType>;
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
* @type {ExportConfig}
|
|
94
|
+
* @memberof WorkflowCreateRequest
|
|
95
|
+
*/
|
|
96
|
+
_export?: ExportConfig;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Check if a given object implements the WorkflowCreateRequest interface.
|
|
101
|
+
*/
|
|
102
|
+
export function instanceOfWorkflowCreateRequest(value: object): value is WorkflowCreateRequest {
|
|
103
|
+
if (!('jobs' in value) || value['jobs'] === undefined) return false;
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export function WorkflowCreateRequestFromJSON(json: any): WorkflowCreateRequest {
|
|
108
|
+
return WorkflowCreateRequestFromJSONTyped(json, false);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function WorkflowCreateRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WorkflowCreateRequest {
|
|
112
|
+
if (json == null) {
|
|
113
|
+
return json;
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
|
|
117
|
+
'jobs': ((json['jobs'] as Array<any>).map(JobDefinitionFromJSON)),
|
|
118
|
+
'workflowEdges': json['workflow_edges'] == null ? undefined : ((json['workflow_edges'] as Array<any>).map(WorkflowEdgeFromJSON)),
|
|
119
|
+
'callbackUrl': json['callback_url'] == null ? undefined : json['callback_url'],
|
|
120
|
+
'callbackEvents': json['callback_events'] == null ? undefined : ((json['callback_events'] as Array<any>).map(CallbackEventTypeFromJSON)),
|
|
121
|
+
'_export': json['export'] == null ? undefined : ExportConfigFromJSON(json['export']),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export function WorkflowCreateRequestToJSON(json: any): WorkflowCreateRequest {
|
|
126
|
+
return WorkflowCreateRequestToJSONTyped(json, false);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export function WorkflowCreateRequestToJSONTyped(value?: WorkflowCreateRequest | null, ignoreDiscriminator: boolean = false): any {
|
|
130
|
+
if (value == null) {
|
|
131
|
+
return value;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return {
|
|
135
|
+
|
|
136
|
+
'jobs': ((value['jobs'] as Array<any>).map(JobDefinitionToJSON)),
|
|
137
|
+
'workflow_edges': value['workflowEdges'] == null ? undefined : ((value['workflowEdges'] as Array<any>).map(WorkflowEdgeToJSON)),
|
|
138
|
+
'callback_url': value['callbackUrl'],
|
|
139
|
+
'callback_events': value['callbackEvents'] == null ? undefined : ((value['callbackEvents'] as Array<any>).map(CallbackEventTypeToJSON)),
|
|
140
|
+
'export': ExportConfigToJSON(value['_export']),
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
|
|
@@ -0,0 +1,114 @@
|
|
|
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 { JobResponse } from './JobResponse';
|
|
17
|
+
import {
|
|
18
|
+
JobResponseFromJSON,
|
|
19
|
+
JobResponseFromJSONTyped,
|
|
20
|
+
JobResponseToJSON,
|
|
21
|
+
JobResponseToJSONTyped,
|
|
22
|
+
} from './JobResponse';
|
|
23
|
+
import type { WorkflowStatus } from './WorkflowStatus';
|
|
24
|
+
import {
|
|
25
|
+
WorkflowStatusFromJSON,
|
|
26
|
+
WorkflowStatusFromJSONTyped,
|
|
27
|
+
WorkflowStatusToJSON,
|
|
28
|
+
WorkflowStatusToJSONTyped,
|
|
29
|
+
} from './WorkflowStatus';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @export
|
|
34
|
+
* @interface WorkflowCreateResponse
|
|
35
|
+
*/
|
|
36
|
+
export interface WorkflowCreateResponse {
|
|
37
|
+
/**
|
|
38
|
+
* UUID v7 format identifier (time-ordered)
|
|
39
|
+
* @type {string}
|
|
40
|
+
* @memberof WorkflowCreateResponse
|
|
41
|
+
*/
|
|
42
|
+
workflowId: string;
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @type {WorkflowStatus}
|
|
46
|
+
* @memberof WorkflowCreateResponse
|
|
47
|
+
*/
|
|
48
|
+
status: WorkflowStatus;
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @type {Array<JobResponse>}
|
|
52
|
+
* @memberof WorkflowCreateResponse
|
|
53
|
+
*/
|
|
54
|
+
jobs: Array<JobResponse>;
|
|
55
|
+
/**
|
|
56
|
+
* HMAC-SHA256 signing key for webhook verification. Present only when
|
|
57
|
+
* `callback_url` was provided in the request. This is the only time the
|
|
58
|
+
* secret is exposed — it does not appear in status queries.
|
|
59
|
+
*
|
|
60
|
+
* Use this key to verify the `X-GIS-Signature` header on incoming webhook
|
|
61
|
+
* requests: `sha256=<hex(hmac-sha256(webhook_secret, raw_body))>`.
|
|
62
|
+
*
|
|
63
|
+
* @type {string}
|
|
64
|
+
* @memberof WorkflowCreateResponse
|
|
65
|
+
*/
|
|
66
|
+
readonly webhookSecret?: string | null;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Check if a given object implements the WorkflowCreateResponse interface.
|
|
73
|
+
*/
|
|
74
|
+
export function instanceOfWorkflowCreateResponse(value: object): value is WorkflowCreateResponse {
|
|
75
|
+
if (!('workflowId' in value) || value['workflowId'] === undefined) return false;
|
|
76
|
+
if (!('status' in value) || value['status'] === undefined) return false;
|
|
77
|
+
if (!('jobs' in value) || value['jobs'] === undefined) return false;
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function WorkflowCreateResponseFromJSON(json: any): WorkflowCreateResponse {
|
|
82
|
+
return WorkflowCreateResponseFromJSONTyped(json, false);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export function WorkflowCreateResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): WorkflowCreateResponse {
|
|
86
|
+
if (json == null) {
|
|
87
|
+
return json;
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
|
|
91
|
+
'workflowId': json['workflow_id'],
|
|
92
|
+
'status': WorkflowStatusFromJSON(json['status']),
|
|
93
|
+
'jobs': ((json['jobs'] as Array<any>).map(JobResponseFromJSON)),
|
|
94
|
+
'webhookSecret': json['webhook_secret'] == null ? undefined : json['webhook_secret'],
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export function WorkflowCreateResponseToJSON(json: any): WorkflowCreateResponse {
|
|
99
|
+
return WorkflowCreateResponseToJSONTyped(json, false);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export function WorkflowCreateResponseToJSONTyped(value?: Omit<WorkflowCreateResponse, 'webhook_secret'> | null, ignoreDiscriminator: boolean = false): any {
|
|
103
|
+
if (value == null) {
|
|
104
|
+
return value;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return {
|
|
108
|
+
|
|
109
|
+
'workflow_id': value['workflowId'],
|
|
110
|
+
'status': WorkflowStatusToJSON(value['status']),
|
|
111
|
+
'jobs': ((value['jobs'] as Array<any>).map(JobResponseToJSON)),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
@@ -0,0 +1,93 @@
|
|
|
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 { WorkflowCreateResponse } from './WorkflowCreateResponse';
|
|
17
|
+
import {
|
|
18
|
+
WorkflowCreateResponseFromJSON,
|
|
19
|
+
WorkflowCreateResponseFromJSONTyped,
|
|
20
|
+
WorkflowCreateResponseToJSON,
|
|
21
|
+
WorkflowCreateResponseToJSONTyped,
|
|
22
|
+
} from './WorkflowCreateResponse';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface WorkflowCreateSuccessEnvelope
|
|
28
|
+
*/
|
|
29
|
+
export interface WorkflowCreateSuccessEnvelope {
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {boolean}
|
|
33
|
+
* @memberof WorkflowCreateSuccessEnvelope
|
|
34
|
+
*/
|
|
35
|
+
success: WorkflowCreateSuccessEnvelopeSuccessEnum;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {WorkflowCreateResponse}
|
|
39
|
+
* @memberof WorkflowCreateSuccessEnvelope
|
|
40
|
+
*/
|
|
41
|
+
data: WorkflowCreateResponse;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @export
|
|
47
|
+
*/
|
|
48
|
+
export const WorkflowCreateSuccessEnvelopeSuccessEnum = {
|
|
49
|
+
true: true
|
|
50
|
+
} as const;
|
|
51
|
+
export type WorkflowCreateSuccessEnvelopeSuccessEnum = typeof WorkflowCreateSuccessEnvelopeSuccessEnum[keyof typeof WorkflowCreateSuccessEnvelopeSuccessEnum];
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Check if a given object implements the WorkflowCreateSuccessEnvelope interface.
|
|
56
|
+
*/
|
|
57
|
+
export function instanceOfWorkflowCreateSuccessEnvelope(value: object): value is WorkflowCreateSuccessEnvelope {
|
|
58
|
+
if (!('success' in value) || value['success'] === undefined) return false;
|
|
59
|
+
if (!('data' in value) || value['data'] === undefined) return false;
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function WorkflowCreateSuccessEnvelopeFromJSON(json: any): WorkflowCreateSuccessEnvelope {
|
|
64
|
+
return WorkflowCreateSuccessEnvelopeFromJSONTyped(json, false);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function WorkflowCreateSuccessEnvelopeFromJSONTyped(json: any, ignoreDiscriminator: boolean): WorkflowCreateSuccessEnvelope {
|
|
68
|
+
if (json == null) {
|
|
69
|
+
return json;
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
|
|
73
|
+
'success': json['success'],
|
|
74
|
+
'data': WorkflowCreateResponseFromJSON(json['data']),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function WorkflowCreateSuccessEnvelopeToJSON(json: any): WorkflowCreateSuccessEnvelope {
|
|
79
|
+
return WorkflowCreateSuccessEnvelopeToJSONTyped(json, false);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export function WorkflowCreateSuccessEnvelopeToJSONTyped(value?: WorkflowCreateSuccessEnvelope | null, ignoreDiscriminator: boolean = false): any {
|
|
83
|
+
if (value == null) {
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return {
|
|
88
|
+
|
|
89
|
+
'success': value['success'],
|
|
90
|
+
'data': WorkflowCreateResponseToJSON(value['data']),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
@@ -0,0 +1,74 @@
|
|
|
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 { JobDownload } from './JobDownload';
|
|
17
|
+
import {
|
|
18
|
+
JobDownloadFromJSON,
|
|
19
|
+
JobDownloadFromJSONTyped,
|
|
20
|
+
JobDownloadToJSON,
|
|
21
|
+
JobDownloadToJSONTyped,
|
|
22
|
+
} from './JobDownload';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface WorkflowDownloadResponse
|
|
28
|
+
*/
|
|
29
|
+
export interface WorkflowDownloadResponse {
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {Array<JobDownload>}
|
|
33
|
+
* @memberof WorkflowDownloadResponse
|
|
34
|
+
*/
|
|
35
|
+
downloads: Array<JobDownload>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Check if a given object implements the WorkflowDownloadResponse interface.
|
|
40
|
+
*/
|
|
41
|
+
export function instanceOfWorkflowDownloadResponse(value: object): value is WorkflowDownloadResponse {
|
|
42
|
+
if (!('downloads' in value) || value['downloads'] === undefined) return false;
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function WorkflowDownloadResponseFromJSON(json: any): WorkflowDownloadResponse {
|
|
47
|
+
return WorkflowDownloadResponseFromJSONTyped(json, false);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function WorkflowDownloadResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): WorkflowDownloadResponse {
|
|
51
|
+
if (json == null) {
|
|
52
|
+
return json;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
|
|
56
|
+
'downloads': ((json['downloads'] as Array<any>).map(JobDownloadFromJSON)),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function WorkflowDownloadResponseToJSON(json: any): WorkflowDownloadResponse {
|
|
61
|
+
return WorkflowDownloadResponseToJSONTyped(json, false);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function WorkflowDownloadResponseToJSONTyped(value?: WorkflowDownloadResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
65
|
+
if (value == null) {
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return {
|
|
70
|
+
|
|
71
|
+
'downloads': ((value['downloads'] as Array<any>).map(JobDownloadToJSON)),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
@@ -0,0 +1,93 @@
|
|
|
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 { WorkflowDownloadResponse } from './WorkflowDownloadResponse';
|
|
17
|
+
import {
|
|
18
|
+
WorkflowDownloadResponseFromJSON,
|
|
19
|
+
WorkflowDownloadResponseFromJSONTyped,
|
|
20
|
+
WorkflowDownloadResponseToJSON,
|
|
21
|
+
WorkflowDownloadResponseToJSONTyped,
|
|
22
|
+
} from './WorkflowDownloadResponse';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface WorkflowDownloadSuccessEnvelope
|
|
28
|
+
*/
|
|
29
|
+
export interface WorkflowDownloadSuccessEnvelope {
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {boolean}
|
|
33
|
+
* @memberof WorkflowDownloadSuccessEnvelope
|
|
34
|
+
*/
|
|
35
|
+
success: WorkflowDownloadSuccessEnvelopeSuccessEnum;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {WorkflowDownloadResponse}
|
|
39
|
+
* @memberof WorkflowDownloadSuccessEnvelope
|
|
40
|
+
*/
|
|
41
|
+
data: WorkflowDownloadResponse;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @export
|
|
47
|
+
*/
|
|
48
|
+
export const WorkflowDownloadSuccessEnvelopeSuccessEnum = {
|
|
49
|
+
true: true
|
|
50
|
+
} as const;
|
|
51
|
+
export type WorkflowDownloadSuccessEnvelopeSuccessEnum = typeof WorkflowDownloadSuccessEnvelopeSuccessEnum[keyof typeof WorkflowDownloadSuccessEnvelopeSuccessEnum];
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Check if a given object implements the WorkflowDownloadSuccessEnvelope interface.
|
|
56
|
+
*/
|
|
57
|
+
export function instanceOfWorkflowDownloadSuccessEnvelope(value: object): value is WorkflowDownloadSuccessEnvelope {
|
|
58
|
+
if (!('success' in value) || value['success'] === undefined) return false;
|
|
59
|
+
if (!('data' in value) || value['data'] === undefined) return false;
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function WorkflowDownloadSuccessEnvelopeFromJSON(json: any): WorkflowDownloadSuccessEnvelope {
|
|
64
|
+
return WorkflowDownloadSuccessEnvelopeFromJSONTyped(json, false);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function WorkflowDownloadSuccessEnvelopeFromJSONTyped(json: any, ignoreDiscriminator: boolean): WorkflowDownloadSuccessEnvelope {
|
|
68
|
+
if (json == null) {
|
|
69
|
+
return json;
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
|
|
73
|
+
'success': json['success'],
|
|
74
|
+
'data': WorkflowDownloadResponseFromJSON(json['data']),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function WorkflowDownloadSuccessEnvelopeToJSON(json: any): WorkflowDownloadSuccessEnvelope {
|
|
79
|
+
return WorkflowDownloadSuccessEnvelopeToJSONTyped(json, false);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export function WorkflowDownloadSuccessEnvelopeToJSONTyped(value?: WorkflowDownloadSuccessEnvelope | null, ignoreDiscriminator: boolean = false): any {
|
|
83
|
+
if (value == null) {
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return {
|
|
88
|
+
|
|
89
|
+
'success': value['success'],
|
|
90
|
+
'data': WorkflowDownloadResponseToJSON(value['data']),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
@@ -0,0 +1,77 @@
|
|
|
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
|
+
* Directed edge in the workflow DAG. Defines that the downstream job
|
|
18
|
+
* depends on the upstream job completing successfully.
|
|
19
|
+
*
|
|
20
|
+
* @export
|
|
21
|
+
* @interface WorkflowEdge
|
|
22
|
+
*/
|
|
23
|
+
export interface WorkflowEdge {
|
|
24
|
+
/**
|
|
25
|
+
* Reference label of the upstream job
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof WorkflowEdge
|
|
28
|
+
*/
|
|
29
|
+
from: string;
|
|
30
|
+
/**
|
|
31
|
+
* Reference label of the downstream job
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof WorkflowEdge
|
|
34
|
+
*/
|
|
35
|
+
to: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Check if a given object implements the WorkflowEdge interface.
|
|
40
|
+
*/
|
|
41
|
+
export function instanceOfWorkflowEdge(value: object): value is WorkflowEdge {
|
|
42
|
+
if (!('from' in value) || value['from'] === undefined) return false;
|
|
43
|
+
if (!('to' in value) || value['to'] === undefined) return false;
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function WorkflowEdgeFromJSON(json: any): WorkflowEdge {
|
|
48
|
+
return WorkflowEdgeFromJSONTyped(json, false);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function WorkflowEdgeFromJSONTyped(json: any, ignoreDiscriminator: boolean): WorkflowEdge {
|
|
52
|
+
if (json == null) {
|
|
53
|
+
return json;
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
|
|
57
|
+
'from': json['from'],
|
|
58
|
+
'to': json['to'],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export function WorkflowEdgeToJSON(json: any): WorkflowEdge {
|
|
63
|
+
return WorkflowEdgeToJSONTyped(json, false);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export function WorkflowEdgeToJSONTyped(value?: WorkflowEdge | null, ignoreDiscriminator: boolean = false): any {
|
|
67
|
+
if (value == null) {
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return {
|
|
72
|
+
|
|
73
|
+
'from': value['from'],
|
|
74
|
+
'to': value['to'],
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
@@ -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
|
+
* Workflow lifecycle status:
|
|
18
|
+
* - pending: Created but no jobs have started
|
|
19
|
+
* - in_progress: At least one job is running
|
|
20
|
+
* - completed: All jobs completed successfully
|
|
21
|
+
* - failed: All jobs finished, at least one failed, none succeeded
|
|
22
|
+
* - partially_failed: Some jobs succeeded, some failed
|
|
23
|
+
*
|
|
24
|
+
* @export
|
|
25
|
+
*/
|
|
26
|
+
export const WorkflowStatus = {
|
|
27
|
+
pending: 'pending',
|
|
28
|
+
in_progress: 'in_progress',
|
|
29
|
+
completed: 'completed',
|
|
30
|
+
failed: 'failed',
|
|
31
|
+
partially_failed: 'partially_failed'
|
|
32
|
+
} as const;
|
|
33
|
+
export type WorkflowStatus = typeof WorkflowStatus[keyof typeof WorkflowStatus];
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
export function instanceOfWorkflowStatus(value: any): boolean {
|
|
37
|
+
for (const key in WorkflowStatus) {
|
|
38
|
+
if (Object.prototype.hasOwnProperty.call(WorkflowStatus, key)) {
|
|
39
|
+
if (WorkflowStatus[key as keyof typeof WorkflowStatus] === value) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function WorkflowStatusFromJSON(json: any): WorkflowStatus {
|
|
48
|
+
return WorkflowStatusFromJSONTyped(json, false);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function WorkflowStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): WorkflowStatus {
|
|
52
|
+
return json as WorkflowStatus;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function WorkflowStatusToJSON(value?: WorkflowStatus | null): any {
|
|
56
|
+
return value as any;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function WorkflowStatusToJSONTyped(value: any, ignoreDiscriminator: boolean): WorkflowStatus {
|
|
60
|
+
return value as WorkflowStatus;
|
|
61
|
+
}
|
|
62
|
+
|