@stackshift-cloud/sdk 1.0.0 → 1.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/README.md +60 -0
- package/dist/asset-media-v2.d.ts +65 -0
- package/dist/asset-media-v2.js +1 -0
- package/dist/asset-workflows.d.ts +269 -0
- package/dist/asset-workflows.js +69 -0
- package/dist/assets-platform-types.d.ts +218 -0
- package/dist/assets-platform-types.js +1 -0
- package/dist/assets-platform.d.ts +55 -0
- package/dist/assets-platform.js +90 -0
- package/dist/assets.d.ts +16 -0
- package/dist/assets.js +74 -130
- package/dist/client.d.ts +6 -0
- package/dist/client.js +15 -6
- package/dist/generated/assets-contract.d.ts +267 -2
- package/dist/generated/assets-contract.js +53 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +3 -0
- package/dist/types.d.ts +6 -0
- package/dist/upload-controller.d.ts +70 -0
- package/dist/upload-controller.js +223 -0
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type AssetOperationId = 'uploadAsset' | 'createUploadSession' | 'getUploadSession' | 'completeUploadSession' | 'cancelUploadSession' | 'createSignedUploadUrl' | 'createBucket' | 'listBuckets' | 'updateBucket' | 'deleteBucket' | 'getContentPolicy' | 'updateContentPolicy' | 'upsertTransformation' | 'listTransformations' | 'deleteTransformation' | 'createLifecycleRule' | 'listLifecycleRules' | 'deleteLifecycleRule' | 'createDomain' | 'listDomains' | 'verifyDomain' | 'deleteDomain' | 'getAnalytics' | 'getUsageSummary' | 'listEvents' | 'createWebhook' | 'listWebhooks' | 'deleteWebhook' | 'listWebhookDeliveries' | 'retryWebhookDelivery' | 'bulkAssets' | 'listCollections' | 'createCollection' | 'updateCollection' | 'deleteCollection' | 'listSavedSearches' | 'createSavedSearch' | 'updateSavedSearch' | 'deleteSavedSearch' | 'getAIConfig' | 'updateAIConfig' | 'getJob' | 'cancelJob' | 'listAssets' | 'getAsset' | 'patchAsset' | 'getAssetAI' | 'analyzeAsset' | 'moderateAsset' | 'getTranscript' | 'transcribeAsset' | 'smartCropAsset' | 'removeAssetBackground' | 'listAssetVersions' | 'createAssetBranch' | 'restoreAssetVersion' | 'promoteAssetBranch' | 'deleteAsset' | 'replaceAsset' | 'createSignedAssetUrl' | 'createSignedTransformUrl' | 'setAssetTags' | 'patchAssetMetadata' | 'purgeAsset';
|
|
2
|
-
export type AssetAPIScope = 'assets:read' | 'assets:write' | 'assets:process' | 'assets:admin';
|
|
1
|
+
export type AssetOperationId = 'uploadAsset' | 'createUploadSession' | 'getUploadSession' | 'completeUploadSession' | 'cancelUploadSession' | 'createSignedUploadUrl' | 'createBucket' | 'listBuckets' | 'updateBucket' | 'deleteBucket' | 'configureBucketStorage' | 'startBucketRelocation' | 'createAssetConnection' | 'listAssetConnections' | 'getAssetConnection' | 'updateAssetConnection' | 'verifyAssetConnection' | 'deleteAssetConnection' | 'listOwnedS2Buckets' | 'createOwnedS2Bucket' | 'startAssetMigration' | 'listAssetMigrations' | 'getAssetMigration' | 'cancelAssetMigration' | 'retryAssetMigrationItem' | 'downloadAssetMigrationReport' | 'createAssetUploadCapability' | 'getContentPolicy' | 'updateContentPolicy' | 'upsertTransformation' | 'listTransformations' | 'materializeAssetTransform' | 'listAssetDerivatives' | 'generateAsset' | 'getAssetAutomation' | 'assetMCP' | 'getAssetWorkflowCatalog' | 'listAssetWorkflows' | 'createAssetWorkflow' | 'getAssetWorkflow' | 'updateAssetWorkflowDraft' | 'validateAssetWorkflow' | 'publishAssetWorkflow' | 'activateAssetWorkflow' | 'startAssetWorkflowRun' | 'listAssetWorkflowVersions' | 'listAssetWorkflowRuns' | 'getAssetWorkflowRun' | 'cancelAssetWorkflowRun' | 'retryAssetWorkflowRun' | 'listAssetWorkflowApprovals' | 'approveAssetWorkflow' | 'rejectAssetWorkflow' | 'listAssetWorkflowConnections' | 'createAssetWorkflowConnection' | 'rotateAssetWorkflowConnectionCredential' | 'rotateAssetWorkflowInboundHook' | 'receiveAssetWorkflowInboundHook' | 'deleteTransformation' | 'createLifecycleRule' | 'listLifecycleRules' | 'deleteLifecycleRule' | 'createDomain' | 'listDomains' | 'verifyDomain' | 'deleteDomain' | 'getAnalytics' | 'getUsageSummary' | 'listEvents' | 'createWebhook' | 'listWebhooks' | 'deleteWebhook' | 'listWebhookDeliveries' | 'retryWebhookDelivery' | 'bulkAssets' | 'listCollections' | 'createCollection' | 'updateCollection' | 'deleteCollection' | 'listSavedSearches' | 'createSavedSearch' | 'updateSavedSearch' | 'deleteSavedSearch' | 'getAIConfig' | 'updateAIConfig' | 'getJob' | 'cancelJob' | 'listAssets' | 'getAsset' | 'startAssetTextExtraction' | 'getAssetTextExtraction' | 'retryAssetTextExtraction' | 'patchAsset' | 'getAssetAI' | 'analyzeAsset' | 'moderateAsset' | 'getTranscript' | 'transcribeAsset' | 'smartCropAsset' | 'removeAssetBackground' | 'listAssetVersions' | 'createAssetBranch' | 'restoreAssetVersion' | 'promoteAssetBranch' | 'deleteAsset' | 'replaceAsset' | 'createSignedAssetUrl' | 'createSignedTransformUrl' | 'setAssetTags' | 'patchAssetMetadata' | 'purgeAsset' | 'widgetCreateUploadSession' | 'widgetGetUploadSession' | 'widgetUploadPart' | 'widgetCompleteUploadSession' | 'widgetCancelUploadSession' | 'widgetIngestRemoteUrl';
|
|
2
|
+
export type AssetAPIScope = 'assets:read' | 'assets:write' | 'assets:process' | 'assets:generate' | 'assets:publish' | 'assets:admin' | 'assets:any';
|
|
3
3
|
export interface AssetContractOperation {
|
|
4
4
|
readonly id: AssetOperationId;
|
|
5
5
|
readonly method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
@@ -56,6 +56,91 @@ export declare const assetContractOperations: readonly [{
|
|
|
56
56
|
readonly method: "DELETE";
|
|
57
57
|
readonly path: "/api/v1/assets/buckets/{bucketID}";
|
|
58
58
|
readonly scope: "assets:admin";
|
|
59
|
+
}, {
|
|
60
|
+
readonly id: "configureBucketStorage";
|
|
61
|
+
readonly method: "PUT";
|
|
62
|
+
readonly path: "/api/v1/assets/buckets/{bucketID}/storage";
|
|
63
|
+
readonly scope: "assets:write";
|
|
64
|
+
}, {
|
|
65
|
+
readonly id: "startBucketRelocation";
|
|
66
|
+
readonly method: "POST";
|
|
67
|
+
readonly path: "/api/v1/assets/buckets/{bucketID}/relocations";
|
|
68
|
+
readonly scope: "assets:process";
|
|
69
|
+
}, {
|
|
70
|
+
readonly id: "createAssetConnection";
|
|
71
|
+
readonly method: "POST";
|
|
72
|
+
readonly path: "/api/v1/assets/connections";
|
|
73
|
+
readonly scope: "assets:admin";
|
|
74
|
+
}, {
|
|
75
|
+
readonly id: "listAssetConnections";
|
|
76
|
+
readonly method: "GET";
|
|
77
|
+
readonly path: "/api/v1/assets/connections";
|
|
78
|
+
readonly scope: "assets:read";
|
|
79
|
+
}, {
|
|
80
|
+
readonly id: "getAssetConnection";
|
|
81
|
+
readonly method: "GET";
|
|
82
|
+
readonly path: "/api/v1/assets/connections/{connectionID}";
|
|
83
|
+
readonly scope: "assets:read";
|
|
84
|
+
}, {
|
|
85
|
+
readonly id: "updateAssetConnection";
|
|
86
|
+
readonly method: "PATCH";
|
|
87
|
+
readonly path: "/api/v1/assets/connections/{connectionID}";
|
|
88
|
+
readonly scope: "assets:admin";
|
|
89
|
+
}, {
|
|
90
|
+
readonly id: "verifyAssetConnection";
|
|
91
|
+
readonly method: "POST";
|
|
92
|
+
readonly path: "/api/v1/assets/connections/{connectionID}/verify";
|
|
93
|
+
readonly scope: "assets:admin";
|
|
94
|
+
}, {
|
|
95
|
+
readonly id: "deleteAssetConnection";
|
|
96
|
+
readonly method: "DELETE";
|
|
97
|
+
readonly path: "/api/v1/assets/connections/{connectionID}";
|
|
98
|
+
readonly scope: "assets:admin";
|
|
99
|
+
}, {
|
|
100
|
+
readonly id: "listOwnedS2Buckets";
|
|
101
|
+
readonly method: "GET";
|
|
102
|
+
readonly path: "/api/v1/assets/s2-buckets";
|
|
103
|
+
readonly scope: "assets:read";
|
|
104
|
+
}, {
|
|
105
|
+
readonly id: "createOwnedS2Bucket";
|
|
106
|
+
readonly method: "POST";
|
|
107
|
+
readonly path: "/api/v1/assets/s2-buckets";
|
|
108
|
+
readonly scope: "assets:admin";
|
|
109
|
+
}, {
|
|
110
|
+
readonly id: "startAssetMigration";
|
|
111
|
+
readonly method: "POST";
|
|
112
|
+
readonly path: "/api/v1/assets/migrations";
|
|
113
|
+
readonly scope: "assets:process";
|
|
114
|
+
}, {
|
|
115
|
+
readonly id: "listAssetMigrations";
|
|
116
|
+
readonly method: "GET";
|
|
117
|
+
readonly path: "/api/v1/assets/migrations";
|
|
118
|
+
readonly scope: "assets:read";
|
|
119
|
+
}, {
|
|
120
|
+
readonly id: "getAssetMigration";
|
|
121
|
+
readonly method: "GET";
|
|
122
|
+
readonly path: "/api/v1/assets/migrations/{migrationID}";
|
|
123
|
+
readonly scope: "assets:read";
|
|
124
|
+
}, {
|
|
125
|
+
readonly id: "cancelAssetMigration";
|
|
126
|
+
readonly method: "POST";
|
|
127
|
+
readonly path: "/api/v1/assets/migrations/{migrationID}/cancel";
|
|
128
|
+
readonly scope: "assets:process";
|
|
129
|
+
}, {
|
|
130
|
+
readonly id: "retryAssetMigrationItem";
|
|
131
|
+
readonly method: "POST";
|
|
132
|
+
readonly path: "/api/v1/assets/migrations/{migrationID}/items/{itemID}/retry";
|
|
133
|
+
readonly scope: "assets:process";
|
|
134
|
+
}, {
|
|
135
|
+
readonly id: "downloadAssetMigrationReport";
|
|
136
|
+
readonly method: "GET";
|
|
137
|
+
readonly path: "/api/v1/assets/migrations/{migrationID}/report";
|
|
138
|
+
readonly scope: "assets:read";
|
|
139
|
+
}, {
|
|
140
|
+
readonly id: "createAssetUploadCapability";
|
|
141
|
+
readonly method: "POST";
|
|
142
|
+
readonly path: "/api/v1/assets/upload-capabilities";
|
|
143
|
+
readonly scope: "assets:write";
|
|
59
144
|
}, {
|
|
60
145
|
readonly id: "getContentPolicy";
|
|
61
146
|
readonly method: "GET";
|
|
@@ -76,6 +161,141 @@ export declare const assetContractOperations: readonly [{
|
|
|
76
161
|
readonly method: "GET";
|
|
77
162
|
readonly path: "/api/v1/assets/transformations";
|
|
78
163
|
readonly scope: "assets:read";
|
|
164
|
+
}, {
|
|
165
|
+
readonly id: "materializeAssetTransform";
|
|
166
|
+
readonly method: "POST";
|
|
167
|
+
readonly path: "/api/v1/assets/{assetID}/transforms";
|
|
168
|
+
readonly scope: "assets:process";
|
|
169
|
+
}, {
|
|
170
|
+
readonly id: "listAssetDerivatives";
|
|
171
|
+
readonly method: "GET";
|
|
172
|
+
readonly path: "/api/v1/assets/{assetID}/derivatives";
|
|
173
|
+
readonly scope: "assets:read";
|
|
174
|
+
}, {
|
|
175
|
+
readonly id: "generateAsset";
|
|
176
|
+
readonly method: "POST";
|
|
177
|
+
readonly path: "/api/v1/assets/generations";
|
|
178
|
+
readonly scope: "assets:generate";
|
|
179
|
+
}, {
|
|
180
|
+
readonly id: "getAssetAutomation";
|
|
181
|
+
readonly method: "GET";
|
|
182
|
+
readonly path: "/api/v1/assets/automation";
|
|
183
|
+
readonly scope: "assets:read";
|
|
184
|
+
}, {
|
|
185
|
+
readonly id: "assetMCP";
|
|
186
|
+
readonly method: "POST";
|
|
187
|
+
readonly path: "/api/v1/assets/mcp";
|
|
188
|
+
readonly scope: "assets:any";
|
|
189
|
+
}, {
|
|
190
|
+
readonly id: "getAssetWorkflowCatalog";
|
|
191
|
+
readonly method: "GET";
|
|
192
|
+
readonly path: "/api/v1/assets/workflows/catalog";
|
|
193
|
+
readonly scope: "assets:read";
|
|
194
|
+
}, {
|
|
195
|
+
readonly id: "listAssetWorkflows";
|
|
196
|
+
readonly method: "GET";
|
|
197
|
+
readonly path: "/api/v1/assets/workflows";
|
|
198
|
+
readonly scope: "assets:read";
|
|
199
|
+
}, {
|
|
200
|
+
readonly id: "createAssetWorkflow";
|
|
201
|
+
readonly method: "POST";
|
|
202
|
+
readonly path: "/api/v1/assets/workflows";
|
|
203
|
+
readonly scope: "assets:write";
|
|
204
|
+
}, {
|
|
205
|
+
readonly id: "getAssetWorkflow";
|
|
206
|
+
readonly method: "GET";
|
|
207
|
+
readonly path: "/api/v1/assets/workflows/{workflowId}";
|
|
208
|
+
readonly scope: "assets:read";
|
|
209
|
+
}, {
|
|
210
|
+
readonly id: "updateAssetWorkflowDraft";
|
|
211
|
+
readonly method: "PUT";
|
|
212
|
+
readonly path: "/api/v1/assets/workflows/{workflowId}/draft";
|
|
213
|
+
readonly scope: "assets:write";
|
|
214
|
+
}, {
|
|
215
|
+
readonly id: "validateAssetWorkflow";
|
|
216
|
+
readonly method: "POST";
|
|
217
|
+
readonly path: "/api/v1/assets/workflows/{workflowId}/validate";
|
|
218
|
+
readonly scope: "assets:write";
|
|
219
|
+
}, {
|
|
220
|
+
readonly id: "publishAssetWorkflow";
|
|
221
|
+
readonly method: "POST";
|
|
222
|
+
readonly path: "/api/v1/assets/workflows/{workflowId}/publish";
|
|
223
|
+
readonly scope: "assets:publish";
|
|
224
|
+
}, {
|
|
225
|
+
readonly id: "activateAssetWorkflow";
|
|
226
|
+
readonly method: "POST";
|
|
227
|
+
readonly path: "/api/v1/assets/workflows/{workflowId}/activate";
|
|
228
|
+
readonly scope: "assets:publish";
|
|
229
|
+
}, {
|
|
230
|
+
readonly id: "startAssetWorkflowRun";
|
|
231
|
+
readonly method: "POST";
|
|
232
|
+
readonly path: "/api/v1/assets/workflows/{workflowId}/run";
|
|
233
|
+
readonly scope: "assets:write";
|
|
234
|
+
}, {
|
|
235
|
+
readonly id: "listAssetWorkflowVersions";
|
|
236
|
+
readonly method: "GET";
|
|
237
|
+
readonly path: "/api/v1/assets/workflows/{workflowId}/versions";
|
|
238
|
+
readonly scope: "assets:read";
|
|
239
|
+
}, {
|
|
240
|
+
readonly id: "listAssetWorkflowRuns";
|
|
241
|
+
readonly method: "GET";
|
|
242
|
+
readonly path: "/api/v1/assets/workflows/{workflowId}/runs";
|
|
243
|
+
readonly scope: "assets:read";
|
|
244
|
+
}, {
|
|
245
|
+
readonly id: "getAssetWorkflowRun";
|
|
246
|
+
readonly method: "GET";
|
|
247
|
+
readonly path: "/api/v1/assets/workflows/runs/{runId}";
|
|
248
|
+
readonly scope: "assets:read";
|
|
249
|
+
}, {
|
|
250
|
+
readonly id: "cancelAssetWorkflowRun";
|
|
251
|
+
readonly method: "POST";
|
|
252
|
+
readonly path: "/api/v1/assets/workflows/runs/{runId}/cancel";
|
|
253
|
+
readonly scope: "assets:write";
|
|
254
|
+
}, {
|
|
255
|
+
readonly id: "retryAssetWorkflowRun";
|
|
256
|
+
readonly method: "POST";
|
|
257
|
+
readonly path: "/api/v1/assets/workflows/runs/{runId}/retry";
|
|
258
|
+
readonly scope: "assets:write";
|
|
259
|
+
}, {
|
|
260
|
+
readonly id: "listAssetWorkflowApprovals";
|
|
261
|
+
readonly method: "GET";
|
|
262
|
+
readonly path: "/api/v1/assets/workflows/approvals";
|
|
263
|
+
readonly scope: "assets:read";
|
|
264
|
+
}, {
|
|
265
|
+
readonly id: "approveAssetWorkflow";
|
|
266
|
+
readonly method: "POST";
|
|
267
|
+
readonly path: "/api/v1/assets/workflows/approvals/{approvalId}/approve";
|
|
268
|
+
readonly scope: "assets:publish";
|
|
269
|
+
}, {
|
|
270
|
+
readonly id: "rejectAssetWorkflow";
|
|
271
|
+
readonly method: "POST";
|
|
272
|
+
readonly path: "/api/v1/assets/workflows/approvals/{approvalId}/reject";
|
|
273
|
+
readonly scope: "assets:publish";
|
|
274
|
+
}, {
|
|
275
|
+
readonly id: "listAssetWorkflowConnections";
|
|
276
|
+
readonly method: "GET";
|
|
277
|
+
readonly path: "/api/v1/assets/workflows/connections";
|
|
278
|
+
readonly scope: "assets:read";
|
|
279
|
+
}, {
|
|
280
|
+
readonly id: "createAssetWorkflowConnection";
|
|
281
|
+
readonly method: "POST";
|
|
282
|
+
readonly path: "/api/v1/assets/workflows/connections";
|
|
283
|
+
readonly scope: "assets:admin";
|
|
284
|
+
}, {
|
|
285
|
+
readonly id: "rotateAssetWorkflowConnectionCredential";
|
|
286
|
+
readonly method: "POST";
|
|
287
|
+
readonly path: "/api/v1/assets/workflows/connections/{connectionId}/credential/rotate";
|
|
288
|
+
readonly scope: "assets:admin";
|
|
289
|
+
}, {
|
|
290
|
+
readonly id: "rotateAssetWorkflowInboundHook";
|
|
291
|
+
readonly method: "POST";
|
|
292
|
+
readonly path: "/api/v1/assets/workflows/{workflowId}/inbound-hook/rotate";
|
|
293
|
+
readonly scope: "assets:write";
|
|
294
|
+
}, {
|
|
295
|
+
readonly id: "receiveAssetWorkflowInboundHook";
|
|
296
|
+
readonly method: "POST";
|
|
297
|
+
readonly path: "/api/v1/assets/workflow-hooks/{token}";
|
|
298
|
+
readonly scope: "assets:any";
|
|
79
299
|
}, {
|
|
80
300
|
readonly id: "deleteTransformation";
|
|
81
301
|
readonly method: "DELETE";
|
|
@@ -231,6 +451,21 @@ export declare const assetContractOperations: readonly [{
|
|
|
231
451
|
readonly method: "GET";
|
|
232
452
|
readonly path: "/api/v1/assets/{assetID}";
|
|
233
453
|
readonly scope: "assets:read";
|
|
454
|
+
}, {
|
|
455
|
+
readonly id: "startAssetTextExtraction";
|
|
456
|
+
readonly method: "POST";
|
|
457
|
+
readonly path: "/api/v1/assets/{assetID}/text-extraction";
|
|
458
|
+
readonly scope: "assets:process";
|
|
459
|
+
}, {
|
|
460
|
+
readonly id: "getAssetTextExtraction";
|
|
461
|
+
readonly method: "GET";
|
|
462
|
+
readonly path: "/api/v1/assets/{assetID}/text-extraction";
|
|
463
|
+
readonly scope: "assets:read";
|
|
464
|
+
}, {
|
|
465
|
+
readonly id: "retryAssetTextExtraction";
|
|
466
|
+
readonly method: "POST";
|
|
467
|
+
readonly path: "/api/v1/assets/text-extractions/{extractionID}/retry";
|
|
468
|
+
readonly scope: "assets:process";
|
|
234
469
|
}, {
|
|
235
470
|
readonly id: "patchAsset";
|
|
236
471
|
readonly method: "PATCH";
|
|
@@ -326,4 +561,34 @@ export declare const assetContractOperations: readonly [{
|
|
|
326
561
|
readonly method: "POST";
|
|
327
562
|
readonly path: "/api/v1/assets/{assetID}/purge";
|
|
328
563
|
readonly scope: "assets:admin";
|
|
564
|
+
}, {
|
|
565
|
+
readonly id: "widgetCreateUploadSession";
|
|
566
|
+
readonly method: "POST";
|
|
567
|
+
readonly path: "/assets/widget/sessions";
|
|
568
|
+
readonly scope: "assets:write";
|
|
569
|
+
}, {
|
|
570
|
+
readonly id: "widgetGetUploadSession";
|
|
571
|
+
readonly method: "GET";
|
|
572
|
+
readonly path: "/assets/widget/sessions/current";
|
|
573
|
+
readonly scope: "assets:write";
|
|
574
|
+
}, {
|
|
575
|
+
readonly id: "widgetUploadPart";
|
|
576
|
+
readonly method: "PUT";
|
|
577
|
+
readonly path: "/assets/widget/uploads/{sessionToken}/parts/{partNumber}";
|
|
578
|
+
readonly scope: "assets:write";
|
|
579
|
+
}, {
|
|
580
|
+
readonly id: "widgetCompleteUploadSession";
|
|
581
|
+
readonly method: "POST";
|
|
582
|
+
readonly path: "/assets/widget/sessions/current/complete";
|
|
583
|
+
readonly scope: "assets:write";
|
|
584
|
+
}, {
|
|
585
|
+
readonly id: "widgetCancelUploadSession";
|
|
586
|
+
readonly method: "DELETE";
|
|
587
|
+
readonly path: "/assets/widget/sessions/current";
|
|
588
|
+
readonly scope: "assets:write";
|
|
589
|
+
}, {
|
|
590
|
+
readonly id: "widgetIngestRemoteUrl";
|
|
591
|
+
readonly method: "POST";
|
|
592
|
+
readonly path: "/assets/widget/remote-url";
|
|
593
|
+
readonly scope: "assets:write";
|
|
329
594
|
}];
|
|
@@ -9,10 +9,54 @@ export const assetContractOperations = [
|
|
|
9
9
|
{ id: 'listBuckets', method: 'GET', path: '/api/v1/assets/buckets', scope: 'assets:read' },
|
|
10
10
|
{ id: 'updateBucket', method: 'PUT', path: '/api/v1/assets/buckets/{bucketID}', scope: 'assets:admin' },
|
|
11
11
|
{ id: 'deleteBucket', method: 'DELETE', path: '/api/v1/assets/buckets/{bucketID}', scope: 'assets:admin' },
|
|
12
|
+
{ id: 'configureBucketStorage', method: 'PUT', path: '/api/v1/assets/buckets/{bucketID}/storage', scope: 'assets:write' },
|
|
13
|
+
{ id: 'startBucketRelocation', method: 'POST', path: '/api/v1/assets/buckets/{bucketID}/relocations', scope: 'assets:process' },
|
|
14
|
+
{ id: 'createAssetConnection', method: 'POST', path: '/api/v1/assets/connections', scope: 'assets:admin' },
|
|
15
|
+
{ id: 'listAssetConnections', method: 'GET', path: '/api/v1/assets/connections', scope: 'assets:read' },
|
|
16
|
+
{ id: 'getAssetConnection', method: 'GET', path: '/api/v1/assets/connections/{connectionID}', scope: 'assets:read' },
|
|
17
|
+
{ id: 'updateAssetConnection', method: 'PATCH', path: '/api/v1/assets/connections/{connectionID}', scope: 'assets:admin' },
|
|
18
|
+
{ id: 'verifyAssetConnection', method: 'POST', path: '/api/v1/assets/connections/{connectionID}/verify', scope: 'assets:admin' },
|
|
19
|
+
{ id: 'deleteAssetConnection', method: 'DELETE', path: '/api/v1/assets/connections/{connectionID}', scope: 'assets:admin' },
|
|
20
|
+
{ id: 'listOwnedS2Buckets', method: 'GET', path: '/api/v1/assets/s2-buckets', scope: 'assets:read' },
|
|
21
|
+
{ id: 'createOwnedS2Bucket', method: 'POST', path: '/api/v1/assets/s2-buckets', scope: 'assets:admin' },
|
|
22
|
+
{ id: 'startAssetMigration', method: 'POST', path: '/api/v1/assets/migrations', scope: 'assets:process' },
|
|
23
|
+
{ id: 'listAssetMigrations', method: 'GET', path: '/api/v1/assets/migrations', scope: 'assets:read' },
|
|
24
|
+
{ id: 'getAssetMigration', method: 'GET', path: '/api/v1/assets/migrations/{migrationID}', scope: 'assets:read' },
|
|
25
|
+
{ id: 'cancelAssetMigration', method: 'POST', path: '/api/v1/assets/migrations/{migrationID}/cancel', scope: 'assets:process' },
|
|
26
|
+
{ id: 'retryAssetMigrationItem', method: 'POST', path: '/api/v1/assets/migrations/{migrationID}/items/{itemID}/retry', scope: 'assets:process' },
|
|
27
|
+
{ id: 'downloadAssetMigrationReport', method: 'GET', path: '/api/v1/assets/migrations/{migrationID}/report', scope: 'assets:read' },
|
|
28
|
+
{ id: 'createAssetUploadCapability', method: 'POST', path: '/api/v1/assets/upload-capabilities', scope: 'assets:write' },
|
|
12
29
|
{ id: 'getContentPolicy', method: 'GET', path: '/api/v1/assets/policy', scope: 'assets:read' },
|
|
13
30
|
{ id: 'updateContentPolicy', method: 'PUT', path: '/api/v1/assets/policy', scope: 'assets:admin' },
|
|
14
31
|
{ id: 'upsertTransformation', method: 'POST', path: '/api/v1/assets/transformations', scope: 'assets:process' },
|
|
15
32
|
{ id: 'listTransformations', method: 'GET', path: '/api/v1/assets/transformations', scope: 'assets:read' },
|
|
33
|
+
{ id: 'materializeAssetTransform', method: 'POST', path: '/api/v1/assets/{assetID}/transforms', scope: 'assets:process' },
|
|
34
|
+
{ id: 'listAssetDerivatives', method: 'GET', path: '/api/v1/assets/{assetID}/derivatives', scope: 'assets:read' },
|
|
35
|
+
{ id: 'generateAsset', method: 'POST', path: '/api/v1/assets/generations', scope: 'assets:generate' },
|
|
36
|
+
{ id: 'getAssetAutomation', method: 'GET', path: '/api/v1/assets/automation', scope: 'assets:read' },
|
|
37
|
+
{ id: 'assetMCP', method: 'POST', path: '/api/v1/assets/mcp', scope: 'assets:any' },
|
|
38
|
+
{ id: 'getAssetWorkflowCatalog', method: 'GET', path: '/api/v1/assets/workflows/catalog', scope: 'assets:read' },
|
|
39
|
+
{ id: 'listAssetWorkflows', method: 'GET', path: '/api/v1/assets/workflows', scope: 'assets:read' },
|
|
40
|
+
{ id: 'createAssetWorkflow', method: 'POST', path: '/api/v1/assets/workflows', scope: 'assets:write' },
|
|
41
|
+
{ id: 'getAssetWorkflow', method: 'GET', path: '/api/v1/assets/workflows/{workflowId}', scope: 'assets:read' },
|
|
42
|
+
{ id: 'updateAssetWorkflowDraft', method: 'PUT', path: '/api/v1/assets/workflows/{workflowId}/draft', scope: 'assets:write' },
|
|
43
|
+
{ id: 'validateAssetWorkflow', method: 'POST', path: '/api/v1/assets/workflows/{workflowId}/validate', scope: 'assets:write' },
|
|
44
|
+
{ id: 'publishAssetWorkflow', method: 'POST', path: '/api/v1/assets/workflows/{workflowId}/publish', scope: 'assets:publish' },
|
|
45
|
+
{ id: 'activateAssetWorkflow', method: 'POST', path: '/api/v1/assets/workflows/{workflowId}/activate', scope: 'assets:publish' },
|
|
46
|
+
{ id: 'startAssetWorkflowRun', method: 'POST', path: '/api/v1/assets/workflows/{workflowId}/run', scope: 'assets:write' },
|
|
47
|
+
{ id: 'listAssetWorkflowVersions', method: 'GET', path: '/api/v1/assets/workflows/{workflowId}/versions', scope: 'assets:read' },
|
|
48
|
+
{ id: 'listAssetWorkflowRuns', method: 'GET', path: '/api/v1/assets/workflows/{workflowId}/runs', scope: 'assets:read' },
|
|
49
|
+
{ id: 'getAssetWorkflowRun', method: 'GET', path: '/api/v1/assets/workflows/runs/{runId}', scope: 'assets:read' },
|
|
50
|
+
{ id: 'cancelAssetWorkflowRun', method: 'POST', path: '/api/v1/assets/workflows/runs/{runId}/cancel', scope: 'assets:write' },
|
|
51
|
+
{ id: 'retryAssetWorkflowRun', method: 'POST', path: '/api/v1/assets/workflows/runs/{runId}/retry', scope: 'assets:write' },
|
|
52
|
+
{ id: 'listAssetWorkflowApprovals', method: 'GET', path: '/api/v1/assets/workflows/approvals', scope: 'assets:read' },
|
|
53
|
+
{ id: 'approveAssetWorkflow', method: 'POST', path: '/api/v1/assets/workflows/approvals/{approvalId}/approve', scope: 'assets:publish' },
|
|
54
|
+
{ id: 'rejectAssetWorkflow', method: 'POST', path: '/api/v1/assets/workflows/approvals/{approvalId}/reject', scope: 'assets:publish' },
|
|
55
|
+
{ id: 'listAssetWorkflowConnections', method: 'GET', path: '/api/v1/assets/workflows/connections', scope: 'assets:read' },
|
|
56
|
+
{ id: 'createAssetWorkflowConnection', method: 'POST', path: '/api/v1/assets/workflows/connections', scope: 'assets:admin' },
|
|
57
|
+
{ id: 'rotateAssetWorkflowConnectionCredential', method: 'POST', path: '/api/v1/assets/workflows/connections/{connectionId}/credential/rotate', scope: 'assets:admin' },
|
|
58
|
+
{ id: 'rotateAssetWorkflowInboundHook', method: 'POST', path: '/api/v1/assets/workflows/{workflowId}/inbound-hook/rotate', scope: 'assets:write' },
|
|
59
|
+
{ id: 'receiveAssetWorkflowInboundHook', method: 'POST', path: '/api/v1/assets/workflow-hooks/{token}', scope: 'assets:any' },
|
|
16
60
|
{ id: 'deleteTransformation', method: 'DELETE', path: '/api/v1/assets/transformations/{name}', scope: 'assets:process' },
|
|
17
61
|
{ id: 'createLifecycleRule', method: 'POST', path: '/api/v1/assets/lifecycle-rules', scope: 'assets:admin' },
|
|
18
62
|
{ id: 'listLifecycleRules', method: 'GET', path: '/api/v1/assets/lifecycle-rules', scope: 'assets:read' },
|
|
@@ -44,6 +88,9 @@ export const assetContractOperations = [
|
|
|
44
88
|
{ id: 'cancelJob', method: 'POST', path: '/api/v1/assets/jobs/{jobID}/cancel', scope: 'assets:process' },
|
|
45
89
|
{ id: 'listAssets', method: 'GET', path: '/api/v1/assets', scope: 'assets:read' },
|
|
46
90
|
{ id: 'getAsset', method: 'GET', path: '/api/v1/assets/{assetID}', scope: 'assets:read' },
|
|
91
|
+
{ id: 'startAssetTextExtraction', method: 'POST', path: '/api/v1/assets/{assetID}/text-extraction', scope: 'assets:process' },
|
|
92
|
+
{ id: 'getAssetTextExtraction', method: 'GET', path: '/api/v1/assets/{assetID}/text-extraction', scope: 'assets:read' },
|
|
93
|
+
{ id: 'retryAssetTextExtraction', method: 'POST', path: '/api/v1/assets/text-extractions/{extractionID}/retry', scope: 'assets:process' },
|
|
47
94
|
{ id: 'patchAsset', method: 'PATCH', path: '/api/v1/assets/{assetID}', scope: 'assets:write' },
|
|
48
95
|
{ id: 'getAssetAI', method: 'GET', path: '/api/v1/assets/{assetID}/ai', scope: 'assets:read' },
|
|
49
96
|
{ id: 'analyzeAsset', method: 'POST', path: '/api/v1/assets/{assetID}/ai/analyze', scope: 'assets:process' },
|
|
@@ -63,4 +110,10 @@ export const assetContractOperations = [
|
|
|
63
110
|
{ id: 'setAssetTags', method: 'PUT', path: '/api/v1/assets/{assetID}/tags', scope: 'assets:write' },
|
|
64
111
|
{ id: 'patchAssetMetadata', method: 'PATCH', path: '/api/v1/assets/{assetID}/metadata', scope: 'assets:write' },
|
|
65
112
|
{ id: 'purgeAsset', method: 'POST', path: '/api/v1/assets/{assetID}/purge', scope: 'assets:admin' },
|
|
113
|
+
{ id: 'widgetCreateUploadSession', method: 'POST', path: '/assets/widget/sessions', scope: 'assets:write' },
|
|
114
|
+
{ id: 'widgetGetUploadSession', method: 'GET', path: '/assets/widget/sessions/current', scope: 'assets:write' },
|
|
115
|
+
{ id: 'widgetUploadPart', method: 'PUT', path: '/assets/widget/uploads/{sessionToken}/parts/{partNumber}', scope: 'assets:write' },
|
|
116
|
+
{ id: 'widgetCompleteUploadSession', method: 'POST', path: '/assets/widget/sessions/current/complete', scope: 'assets:write' },
|
|
117
|
+
{ id: 'widgetCancelUploadSession', method: 'DELETE', path: '/assets/widget/sessions/current', scope: 'assets:write' },
|
|
118
|
+
{ id: 'widgetIngestRemoteUrl', method: 'POST', path: '/assets/widget/remote-url', scope: 'assets:write' },
|
|
66
119
|
];
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
export { StackShift, StackShiftAPIError } from './client.js';
|
|
2
2
|
export { AssetsClient, assetTransformOptions, assetTransformPresets, assetTransformSpec, getAssetTransformPreset } from './assets.js';
|
|
3
|
+
export { AssetWorkflowsClient } from './asset-workflows.js';
|
|
4
|
+
export type * from './asset-workflows.js';
|
|
5
|
+
export type * from './asset-media-v2.js';
|
|
6
|
+
export { AssetConnectionsClient, AssetMigrationsClient, AssetStorageClient, AssetTextClient, AssetUploadCapabilitiesClient } from './assets-platform.js';
|
|
7
|
+
export type * from './assets-platform-types.js';
|
|
8
|
+
export { ChunkedUploadController, UploadResumeInvalidError, putBlob, sha256Blob } from './upload-controller.js';
|
|
9
|
+
export type { ChunkUploadCallbacks, ChunkUploadRequest, ChunkUploadSession, ChunkUploadTransport, ChunkedUploadOptions, UploadProgress, UploadResumeRecord, UploadResumeStore, UploadedPart } from './upload-controller.js';
|
|
3
10
|
export { createResponsiveImage, namedResponsiveSource, uploadBrowserFile } from './assets-framework.js';
|
|
4
11
|
export type { ArtDirectionSource, ResponsiveImageDescriptor, ResponsiveImageOptions } from './assets-framework.js';
|
|
5
12
|
export { assetContractOperations } from './generated/assets-contract.js';
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export { StackShift, StackShiftAPIError } from './client.js';
|
|
2
2
|
export { AssetsClient, assetTransformOptions, assetTransformPresets, assetTransformSpec, getAssetTransformPreset } from './assets.js';
|
|
3
|
+
export { AssetWorkflowsClient } from './asset-workflows.js';
|
|
4
|
+
export { AssetConnectionsClient, AssetMigrationsClient, AssetStorageClient, AssetTextClient, AssetUploadCapabilitiesClient } from './assets-platform.js';
|
|
5
|
+
export { ChunkedUploadController, UploadResumeInvalidError, putBlob, sha256Blob } from './upload-controller.js';
|
|
3
6
|
export { createResponsiveImage, namedResponsiveSource, uploadBrowserFile } from './assets-framework.js';
|
|
4
7
|
export { assetContractOperations } from './generated/assets-contract.js';
|
|
5
8
|
export { MailBouncesClient, MailClient, MailDomainsClient, MailEventsClient, MailLimitsClient, MailMessagesClient, MailScheduledClient, MailBatchClient, MailInboundClient, MailAnalyticsClient, MailOtpChallengesClient, MailOtpClient, MailReputationClient, MailReputationEventsClient, MailSuppressionsClient, MailTemplatesClient, MailWebhooksClient, MailStreamsClient, MailAudiencesClient, MailCampaignsClient, } from './mail.js';
|
package/dist/types.d.ts
CHANGED
|
@@ -362,6 +362,12 @@ export interface AssetBucket {
|
|
|
362
362
|
allowed_origins: string[];
|
|
363
363
|
lifecycle_policy: Record<string, unknown>;
|
|
364
364
|
custom_domain_id?: string;
|
|
365
|
+
storage_mode: 'managed' | 'byob' | 'stackshift_s2';
|
|
366
|
+
connection_id?: string;
|
|
367
|
+
s2_bucket_id?: string;
|
|
368
|
+
object_prefix: string;
|
|
369
|
+
derivative_prefix: string;
|
|
370
|
+
auto_extract_text: boolean;
|
|
365
371
|
revision: number;
|
|
366
372
|
created_at: string;
|
|
367
373
|
updated_at: string;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export interface UploadProgress {
|
|
2
|
+
loaded: number;
|
|
3
|
+
total: number;
|
|
4
|
+
percent: number;
|
|
5
|
+
}
|
|
6
|
+
export interface UploadedPart {
|
|
7
|
+
partNumber: number;
|
|
8
|
+
size: number;
|
|
9
|
+
checksumSHA256?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ChunkUploadSession {
|
|
12
|
+
id: string;
|
|
13
|
+
uploadToken: string;
|
|
14
|
+
expiresAt: string;
|
|
15
|
+
maxBytes: number;
|
|
16
|
+
partSize: number;
|
|
17
|
+
parts: UploadedPart[];
|
|
18
|
+
resumeContext?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ChunkUploadRequest {
|
|
21
|
+
key: string;
|
|
22
|
+
fileName: string;
|
|
23
|
+
mimeType: string;
|
|
24
|
+
metadata?: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
export interface ChunkUploadCallbacks {
|
|
27
|
+
signal?: AbortSignal;
|
|
28
|
+
onProgress?: (progress: UploadProgress) => void;
|
|
29
|
+
onPartProgress?: (partNumber: number, progress: UploadProgress) => void;
|
|
30
|
+
onSession?: (session: ChunkUploadSession) => void;
|
|
31
|
+
}
|
|
32
|
+
export interface ChunkUploadTransport<TResult> {
|
|
33
|
+
create(file: Blob, request: ChunkUploadRequest): Promise<ChunkUploadSession>;
|
|
34
|
+
resume(resumeContext: string): Promise<ChunkUploadSession>;
|
|
35
|
+
uploadPart(session: ChunkUploadSession, partNumber: number, chunk: Blob, checksum: string, callbacks: ChunkUploadCallbacks): Promise<void>;
|
|
36
|
+
complete(session: ChunkUploadSession): Promise<TResult>;
|
|
37
|
+
cancel(session: ChunkUploadSession): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
export interface UploadResumeRecord {
|
|
40
|
+
key: string;
|
|
41
|
+
fingerprint: string;
|
|
42
|
+
session: ChunkUploadSession;
|
|
43
|
+
updatedAt: string;
|
|
44
|
+
}
|
|
45
|
+
export interface UploadResumeStore {
|
|
46
|
+
get(key: string): Promise<UploadResumeRecord | undefined>;
|
|
47
|
+
set(record: UploadResumeRecord): Promise<void>;
|
|
48
|
+
delete(key: string): Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
export interface ChunkedUploadOptions extends ChunkUploadCallbacks {
|
|
51
|
+
resumeKey?: string;
|
|
52
|
+
concurrency?: number;
|
|
53
|
+
retryAttempts?: number;
|
|
54
|
+
cancelOnAbort?: boolean;
|
|
55
|
+
}
|
|
56
|
+
export declare class UploadResumeInvalidError extends Error {
|
|
57
|
+
constructor(message?: string);
|
|
58
|
+
}
|
|
59
|
+
export declare class ChunkedUploadController<TResult> {
|
|
60
|
+
private readonly transport;
|
|
61
|
+
private readonly store?;
|
|
62
|
+
private persistence;
|
|
63
|
+
constructor(transport: ChunkUploadTransport<TResult>, store?: UploadResumeStore | undefined);
|
|
64
|
+
upload(file: Blob, request: ChunkUploadRequest, options?: ChunkedUploadOptions): Promise<TResult>;
|
|
65
|
+
cancel(resumeKey: string): Promise<void>;
|
|
66
|
+
private restore;
|
|
67
|
+
private persist;
|
|
68
|
+
}
|
|
69
|
+
export declare function putBlob(url: string, blob: Blob, callbacks?: ChunkUploadCallbacks, headers?: Record<string, string>, fetcher?: typeof fetch): Promise<void>;
|
|
70
|
+
export declare function sha256Blob(blob: Blob): Promise<string>;
|