@scenario-labs/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/CHANGELOG.md +8 -0
- package/README.md +0 -2
- package/client.d.mts +2 -2
- package/client.d.mts.map +1 -1
- package/client.d.ts +2 -2
- package/client.d.ts.map +1 -1
- package/client.js.map +1 -1
- package/client.mjs.map +1 -1
- package/index.d.mts +3 -1
- package/index.d.mts.map +1 -1
- package/index.d.ts +3 -1
- package/index.d.ts.map +1 -1
- package/index.js +8 -1
- package/index.js.map +1 -1
- package/index.mjs +3 -1
- package/index.mjs.map +1 -1
- package/lib/asset.d.mts +55 -0
- package/lib/asset.d.mts.map +1 -0
- package/lib/asset.d.ts +55 -0
- package/lib/asset.d.ts.map +1 -0
- package/lib/asset.js +60 -0
- package/lib/asset.js.map +1 -0
- package/lib/asset.mjs +54 -0
- package/lib/asset.mjs.map +1 -0
- package/lib/job.d.mts +13 -1
- package/lib/job.d.mts.map +1 -1
- package/lib/job.d.ts +13 -1
- package/lib/job.d.ts.map +1 -1
- package/lib/job.js +18 -1
- package/lib/job.js.map +1 -1
- package/lib/job.mjs +16 -0
- package/lib/job.mjs.map +1 -1
- package/lib/scenario.d.mts +12 -0
- package/lib/scenario.d.mts.map +1 -1
- package/lib/scenario.d.ts +12 -0
- package/lib/scenario.d.ts.map +1 -1
- package/lib/scenario.js +12 -0
- package/lib/scenario.js.map +1 -1
- package/lib/scenario.mjs +12 -0
- package/lib/scenario.mjs.map +1 -1
- package/lib/upload.d.mts +56 -2
- package/lib/upload.d.mts.map +1 -1
- package/lib/upload.d.ts +56 -2
- package/lib/upload.d.ts.map +1 -1
- package/lib/upload.js +51 -2
- package/lib/upload.js.map +1 -1
- package/lib/upload.mjs +48 -1
- package/lib/upload.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/assets/assets.d.mts +25 -25
- package/resources/assets/assets.d.mts.map +1 -1
- package/resources/assets/assets.d.ts +25 -25
- package/resources/assets/assets.d.ts.map +1 -1
- package/resources/assets/assets.js.map +1 -1
- package/resources/assets/assets.mjs.map +1 -1
- package/resources/assets/public.d.mts +12 -12
- package/resources/assets/public.d.mts.map +1 -1
- package/resources/assets/public.d.ts +12 -12
- package/resources/assets/public.d.ts.map +1 -1
- package/resources/generate.d.mts +1027 -242
- package/resources/generate.d.mts.map +1 -1
- package/resources/generate.d.ts +1027 -242
- package/resources/generate.d.ts.map +1 -1
- package/resources/generate.js +7 -0
- package/resources/generate.js.map +1 -1
- package/resources/generate.mjs +7 -0
- package/resources/generate.mjs.map +1 -1
- package/resources/index.d.mts +1 -1
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +1 -1
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/models/description.d.mts +2 -2
- package/resources/models/description.d.mts.map +1 -1
- package/resources/models/description.d.ts +2 -2
- package/resources/models/description.d.ts.map +1 -1
- package/resources/models/examples.d.mts +4 -4
- package/resources/models/examples.d.mts.map +1 -1
- package/resources/models/examples.d.ts +4 -4
- package/resources/models/examples.d.ts.map +1 -1
- package/resources/models/models.d.mts +7 -7
- package/resources/models/models.d.mts.map +1 -1
- package/resources/models/models.d.ts +7 -7
- package/resources/models/models.d.ts.map +1 -1
- package/resources/models/models.js.map +1 -1
- package/resources/models/models.mjs.map +1 -1
- package/resources/models/train.d.mts +2 -2
- package/resources/models/train.d.mts.map +1 -1
- package/resources/models/train.d.ts +2 -2
- package/resources/models/train.d.ts.map +1 -1
- package/resources/usages.d.mts +3 -3
- package/resources/usages.d.mts.map +1 -1
- package/resources/usages.d.ts +3 -3
- package/resources/usages.d.ts.map +1 -1
- package/src/client.ts +4 -0
- package/src/index.ts +3 -1
- package/src/lib/asset.ts +85 -0
- package/src/lib/job.ts +28 -1
- package/src/lib/scenario.ts +12 -0
- package/src/lib/upload.ts +96 -2
- package/src/resources/assets/assets.ts +43 -7
- package/src/resources/assets/public.ts +17 -7
- package/src/resources/generate.ts +1227 -136
- package/src/resources/index.ts +2 -0
- package/src/resources/models/description.ts +4 -0
- package/src/resources/models/examples.ts +8 -0
- package/src/resources/models/models.ts +14 -0
- package/src/resources/models/train.ts +4 -0
- package/src/resources/usages.ts +5 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/lib/upload.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { Scenario } from "../client.js";
|
|
2
|
+
import type { APIPromise } from "../core/api-promise.js";
|
|
1
3
|
import type { RequestOptions } from "../internal/request-options.js";
|
|
2
|
-
import { Uploads, type UploadCreateParams } from "../resources/uploads.js";
|
|
4
|
+
import { Uploads, type UploadCreateParams, type UploadCreateResponse, type UploadRetrieveResponse, type UploadTriggerActionParams, type UploadTriggerActionResponse } from "../resources/uploads.js";
|
|
3
5
|
import type { AssetRetrieveResponse } from "../resources/assets/assets.js";
|
|
4
6
|
import type { ModelRetrieveResponse } from "../resources/models/models.js";
|
|
5
7
|
type UploadKind = NonNullable<UploadCreateParams['kind']>;
|
|
@@ -47,13 +49,65 @@ export interface UploadFileParams<K extends UploadKind> {
|
|
|
47
49
|
*/
|
|
48
50
|
pollTimeoutMs?: number;
|
|
49
51
|
}
|
|
52
|
+
export interface UploadWaitOptions {
|
|
53
|
+
/** Polling interval in milliseconds. Default: 2000 */
|
|
54
|
+
intervalMs?: number;
|
|
55
|
+
/** Maximum wait time in milliseconds. Default: 300000 */
|
|
56
|
+
timeoutMs?: number;
|
|
57
|
+
}
|
|
58
|
+
/** Upload methods added on top of the original upload fields. */
|
|
59
|
+
export declare class UploadMethods {
|
|
60
|
+
/** @internal */ readonly _client: Scenario;
|
|
61
|
+
/**
|
|
62
|
+
* Poll until the upload has been processed into an entity (asset or model),
|
|
63
|
+
* or reaches a terminal state (`imported`, `complete`, `failed`). Resolves
|
|
64
|
+
* with the latest upload data so you can read `entityId`, `status`, or
|
|
65
|
+
* `errorMessage` without a follow-up retrieve.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* const res = await client.uploads.retrieve(uploadId);
|
|
70
|
+
* const done = await res.upload.wait();
|
|
71
|
+
* if (done.status === 'failed') throw new Error(done.errorMessage);
|
|
72
|
+
* console.log(done.entityId);
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
wait(this: Upload, options?: UploadWaitOptions): Promise<Upload>;
|
|
76
|
+
/** @internal Create an Upload from raw upload data. */
|
|
77
|
+
static from(client: Scenario, data: UploadRetrieveResponse['upload']): Upload;
|
|
78
|
+
}
|
|
79
|
+
/** An upload with all original fields plus `.wait()`. */
|
|
80
|
+
export type Upload = UploadRetrieveResponse.Upload & UploadMethods;
|
|
81
|
+
export declare const Upload: typeof UploadMethods;
|
|
82
|
+
/**
|
|
83
|
+
* @internal Helper type: adds `.wait()` to the `upload` field of a response.
|
|
84
|
+
* Uses intersection so the original response type is preserved — a `WithUpload<T>` is still assignable to `T`.
|
|
85
|
+
*/
|
|
86
|
+
export type WithUpload<T extends {
|
|
87
|
+
upload: unknown;
|
|
88
|
+
}> = T & {
|
|
89
|
+
upload: UploadMethods;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* @internal Wrap `_thenUnwrap` to replace `response.upload` with an enhanced Upload.
|
|
93
|
+
*/
|
|
94
|
+
export declare function enhanceUpload<T extends {
|
|
95
|
+
upload: {
|
|
96
|
+
id: string;
|
|
97
|
+
status: string;
|
|
98
|
+
};
|
|
99
|
+
}>(client: Scenario, promise: APIPromise<T>): APIPromise<WithUpload<T>>;
|
|
50
100
|
/**
|
|
51
101
|
* Enhanced Uploads resource.
|
|
52
|
-
* All original methods (`create`, `retrieve`, `triggerAction`) are inherited
|
|
102
|
+
* All original methods (`create`, `retrieve`, `triggerAction`) are inherited,
|
|
103
|
+
* with each response's `upload` field enriched with a `.wait()` helper.
|
|
53
104
|
* Adds `uploadFile()` — a one-call wrapper around the 4-step upload flow:
|
|
54
105
|
* init → PUT parts to S3 → trigger complete → poll until imported.
|
|
55
106
|
*/
|
|
56
107
|
export declare class EnhancedUploads extends Uploads {
|
|
108
|
+
create(body: UploadCreateParams, options?: RequestOptions): APIPromise<WithUpload<UploadCreateResponse>>;
|
|
109
|
+
retrieve(uploadID: string, options?: RequestOptions): APIPromise<WithUpload<UploadRetrieveResponse>>;
|
|
110
|
+
triggerAction(uploadID: string, body: UploadTriggerActionParams, options?: RequestOptions): APIPromise<WithUpload<UploadTriggerActionResponse>>;
|
|
57
111
|
/**
|
|
58
112
|
* Upload a file end-to-end. Computes an optimal part size (within AWS's
|
|
59
113
|
* 5 MiB / 5 GiB / 10,000-part bounds), uploads all parts in parallel,
|
package/lib/upload.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../src/lib/upload.ts"],"names":[],"mappings":"OAAO,KAAK,EAAE,cAAc,EAAE;OACvB,EACL,OAAO,EACP,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../src/lib/upload.ts"],"names":[],"mappings":"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"}
|
package/lib/upload.js
CHANGED
|
@@ -33,7 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.EnhancedUploads = void 0;
|
|
36
|
+
exports.EnhancedUploads = exports.Upload = exports.UploadMethods = void 0;
|
|
37
|
+
exports.enhanceUpload = enhanceUpload;
|
|
37
38
|
const uploads_1 = require("../resources/uploads.js");
|
|
38
39
|
// AWS S3 multipart upload limits.
|
|
39
40
|
const MIN_PART_SIZE = 6000000; // 6 MB (spec minimum is 5 MiB; a bit over to be safe)
|
|
@@ -45,13 +46,61 @@ const MAX_FILE_SIZE = 5497558138880; // 5 TiB
|
|
|
45
46
|
// Real terminals are `imported` (asset/model created), `complete`, and
|
|
46
47
|
// `failed`. Everything else means "keep polling".
|
|
47
48
|
const TERMINAL_STATUSES = new Set(['complete', 'failed', 'imported']);
|
|
49
|
+
/** Upload methods added on top of the original upload fields. */
|
|
50
|
+
class UploadMethods {
|
|
51
|
+
/**
|
|
52
|
+
* Poll until the upload has been processed into an entity (asset or model),
|
|
53
|
+
* or reaches a terminal state (`imported`, `complete`, `failed`). Resolves
|
|
54
|
+
* with the latest upload data so you can read `entityId`, `status`, or
|
|
55
|
+
* `errorMessage` without a follow-up retrieve.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* const res = await client.uploads.retrieve(uploadId);
|
|
60
|
+
* const done = await res.upload.wait();
|
|
61
|
+
* if (done.status === 'failed') throw new Error(done.errorMessage);
|
|
62
|
+
* console.log(done.entityId);
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
async wait(options) {
|
|
66
|
+
const final = await pollUntilImported(() => this._client.uploads.retrieve(this.id), options?.intervalMs ?? 2000, options?.timeoutMs ?? 300000);
|
|
67
|
+
return UploadMethods.from(this._client, final.upload);
|
|
68
|
+
}
|
|
69
|
+
/** @internal Create an Upload from raw upload data. */
|
|
70
|
+
static from(client, data) {
|
|
71
|
+
const upload = Object.assign(Object.create(UploadMethods.prototype), data);
|
|
72
|
+
Object.defineProperty(upload, '_client', { value: client, enumerable: false });
|
|
73
|
+
return upload;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.UploadMethods = UploadMethods;
|
|
77
|
+
exports.Upload = UploadMethods;
|
|
78
|
+
/**
|
|
79
|
+
* @internal Wrap `_thenUnwrap` to replace `response.upload` with an enhanced Upload.
|
|
80
|
+
*/
|
|
81
|
+
function enhanceUpload(client, promise) {
|
|
82
|
+
return promise._thenUnwrap((data) => ({
|
|
83
|
+
...data,
|
|
84
|
+
upload: exports.Upload.from(client, data.upload),
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
48
87
|
/**
|
|
49
88
|
* Enhanced Uploads resource.
|
|
50
|
-
* All original methods (`create`, `retrieve`, `triggerAction`) are inherited
|
|
89
|
+
* All original methods (`create`, `retrieve`, `triggerAction`) are inherited,
|
|
90
|
+
* with each response's `upload` field enriched with a `.wait()` helper.
|
|
51
91
|
* Adds `uploadFile()` — a one-call wrapper around the 4-step upload flow:
|
|
52
92
|
* init → PUT parts to S3 → trigger complete → poll until imported.
|
|
53
93
|
*/
|
|
54
94
|
class EnhancedUploads extends uploads_1.Uploads {
|
|
95
|
+
create(body, options) {
|
|
96
|
+
return enhanceUpload(this._client, super.create(body, options));
|
|
97
|
+
}
|
|
98
|
+
retrieve(uploadID, options) {
|
|
99
|
+
return enhanceUpload(this._client, super.retrieve(uploadID, options));
|
|
100
|
+
}
|
|
101
|
+
triggerAction(uploadID, body, options) {
|
|
102
|
+
return enhanceUpload(this._client, super.triggerAction(uploadID, body, options));
|
|
103
|
+
}
|
|
55
104
|
/**
|
|
56
105
|
* Upload a file end-to-end. Computes an optimal part size (within AWS's
|
|
57
106
|
* 5 MiB / 5 GiB / 10,000-part bounds), uploads all parts in parallel,
|
package/lib/upload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../src/lib/upload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../src/lib/upload.ts"],"names":[],"mappings":"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"}
|
package/lib/upload.mjs
CHANGED
|
@@ -9,13 +9,60 @@ const MAX_FILE_SIZE = 5497558138880; // 5 TiB
|
|
|
9
9
|
// Real terminals are `imported` (asset/model created), `complete`, and
|
|
10
10
|
// `failed`. Everything else means "keep polling".
|
|
11
11
|
const TERMINAL_STATUSES = new Set(['complete', 'failed', 'imported']);
|
|
12
|
+
/** Upload methods added on top of the original upload fields. */
|
|
13
|
+
export class UploadMethods {
|
|
14
|
+
/**
|
|
15
|
+
* Poll until the upload has been processed into an entity (asset or model),
|
|
16
|
+
* or reaches a terminal state (`imported`, `complete`, `failed`). Resolves
|
|
17
|
+
* with the latest upload data so you can read `entityId`, `status`, or
|
|
18
|
+
* `errorMessage` without a follow-up retrieve.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const res = await client.uploads.retrieve(uploadId);
|
|
23
|
+
* const done = await res.upload.wait();
|
|
24
|
+
* if (done.status === 'failed') throw new Error(done.errorMessage);
|
|
25
|
+
* console.log(done.entityId);
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
async wait(options) {
|
|
29
|
+
const final = await pollUntilImported(() => this._client.uploads.retrieve(this.id), options?.intervalMs ?? 2000, options?.timeoutMs ?? 300000);
|
|
30
|
+
return UploadMethods.from(this._client, final.upload);
|
|
31
|
+
}
|
|
32
|
+
/** @internal Create an Upload from raw upload data. */
|
|
33
|
+
static from(client, data) {
|
|
34
|
+
const upload = Object.assign(Object.create(UploadMethods.prototype), data);
|
|
35
|
+
Object.defineProperty(upload, '_client', { value: client, enumerable: false });
|
|
36
|
+
return upload;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export const Upload = UploadMethods;
|
|
40
|
+
/**
|
|
41
|
+
* @internal Wrap `_thenUnwrap` to replace `response.upload` with an enhanced Upload.
|
|
42
|
+
*/
|
|
43
|
+
export function enhanceUpload(client, promise) {
|
|
44
|
+
return promise._thenUnwrap((data) => ({
|
|
45
|
+
...data,
|
|
46
|
+
upload: Upload.from(client, data.upload),
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
12
49
|
/**
|
|
13
50
|
* Enhanced Uploads resource.
|
|
14
|
-
* All original methods (`create`, `retrieve`, `triggerAction`) are inherited
|
|
51
|
+
* All original methods (`create`, `retrieve`, `triggerAction`) are inherited,
|
|
52
|
+
* with each response's `upload` field enriched with a `.wait()` helper.
|
|
15
53
|
* Adds `uploadFile()` — a one-call wrapper around the 4-step upload flow:
|
|
16
54
|
* init → PUT parts to S3 → trigger complete → poll until imported.
|
|
17
55
|
*/
|
|
18
56
|
export class EnhancedUploads extends Uploads {
|
|
57
|
+
create(body, options) {
|
|
58
|
+
return enhanceUpload(this._client, super.create(body, options));
|
|
59
|
+
}
|
|
60
|
+
retrieve(uploadID, options) {
|
|
61
|
+
return enhanceUpload(this._client, super.retrieve(uploadID, options));
|
|
62
|
+
}
|
|
63
|
+
triggerAction(uploadID, body, options) {
|
|
64
|
+
return enhanceUpload(this._client, super.triggerAction(uploadID, body, options));
|
|
65
|
+
}
|
|
19
66
|
/**
|
|
20
67
|
* Upload a file end-to-end. Computes an optimal part size (within AWS's
|
|
21
68
|
* 5 MiB / 5 GiB / 10,000-part bounds), uploads all parts in parallel,
|
package/lib/upload.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.mjs","sourceRoot":"","sources":["../src/lib/upload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload.mjs","sourceRoot":"","sources":["../src/lib/upload.ts"],"names":[],"mappings":"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"}
|