@boatdev/sdk 1.9.6 → 1.9.8
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/.openapi-generator/FILES +8 -0
- package/README.md +2 -2
- package/dist/apis/BoatApi.d.ts +76 -0
- package/dist/apis/BoatApi.js +199 -0
- package/dist/boat-helpers.d.ts +23 -0
- package/dist/boat-helpers.js +97 -0
- package/dist/esm/apis/BoatApi.d.ts +76 -0
- package/dist/esm/apis/BoatApi.js +199 -0
- package/dist/esm/boat-helpers.d.ts +23 -0
- package/dist/esm/boat-helpers.js +95 -0
- package/dist/esm/models/CredentialAccount.d.ts +50 -0
- package/dist/esm/models/CredentialAccount.js +53 -0
- package/dist/esm/models/CredentialAccountsResponse.d.ts +64 -0
- package/dist/esm/models/CredentialAccountsResponse.js +65 -0
- package/dist/esm/models/CredentialProfile.d.ts +9 -0
- package/dist/esm/models/CredentialProfile.js +2 -0
- package/dist/esm/models/DeletionOperation.d.ts +1 -3
- package/dist/esm/models/DeletionOperation.js +0 -2
- package/dist/esm/models/LimitsFields.d.ts +7 -0
- package/dist/esm/models/LimitsFields.js +3 -0
- package/dist/esm/models/LimitsFieldsMachineTypesInner.d.ts +54 -0
- package/dist/esm/models/LimitsFieldsMachineTypesInner.js +60 -0
- package/dist/esm/models/LimitsResponse.d.ts +7 -0
- package/dist/esm/models/LimitsResponse.js +3 -0
- package/dist/esm/models/Sandbox.d.ts +15 -2
- package/dist/esm/models/Sandbox.js +5 -0
- package/dist/esm/models/SandboxHydration.d.ts +50 -0
- package/dist/esm/models/SandboxHydration.js +55 -0
- package/dist/esm/models/SetCredentialKeyRequest.d.ts +6 -0
- package/dist/esm/models/SetCredentialKeyRequest.js +2 -0
- package/dist/esm/models/index.d.ts +4 -0
- package/dist/esm/models/index.js +4 -0
- package/dist/models/CredentialAccount.d.ts +50 -0
- package/dist/models/CredentialAccount.js +60 -0
- package/dist/models/CredentialAccountsResponse.d.ts +64 -0
- package/dist/models/CredentialAccountsResponse.js +72 -0
- package/dist/models/CredentialProfile.d.ts +9 -0
- package/dist/models/CredentialProfile.js +2 -0
- package/dist/models/DeletionOperation.d.ts +1 -3
- package/dist/models/DeletionOperation.js +0 -2
- package/dist/models/LimitsFields.d.ts +7 -0
- package/dist/models/LimitsFields.js +3 -0
- package/dist/models/LimitsFieldsMachineTypesInner.d.ts +54 -0
- package/dist/models/LimitsFieldsMachineTypesInner.js +68 -0
- package/dist/models/LimitsResponse.d.ts +7 -0
- package/dist/models/LimitsResponse.js +3 -0
- package/dist/models/Sandbox.d.ts +15 -2
- package/dist/models/Sandbox.js +5 -0
- package/dist/models/SandboxHydration.d.ts +50 -0
- package/dist/models/SandboxHydration.js +62 -0
- package/dist/models/SetCredentialKeyRequest.d.ts +6 -0
- package/dist/models/SetCredentialKeyRequest.js +2 -0
- package/dist/models/index.d.ts +4 -0
- package/dist/models/index.js +4 -0
- package/docs/BoatApi.md +325 -0
- package/docs/CredentialAccount.md +39 -0
- package/docs/CredentialAccountsResponse.md +42 -0
- package/docs/CredentialProfile.md +2 -0
- package/docs/LimitsFields.md +2 -0
- package/docs/LimitsFieldsMachineTypesInner.md +36 -0
- package/docs/LimitsResponse.md +2 -0
- package/docs/Sandbox.md +4 -0
- package/docs/SandboxHydration.md +39 -0
- package/docs/SetCredentialKeyRequest.md +2 -0
- package/package.json +2 -2
- package/src/apis/BoatApi.ts +307 -0
- package/src/boat-helpers.ts +109 -0
- package/src/models/CredentialAccount.ts +92 -0
- package/src/models/CredentialAccountsResponse.ts +128 -0
- package/src/models/CredentialProfile.ts +15 -0
- package/src/models/DeletionOperation.ts +1 -3
- package/src/models/LimitsFields.ts +15 -0
- package/src/models/LimitsFieldsMachineTypesInner.ts +97 -0
- package/src/models/LimitsResponse.ts +15 -0
- package/src/models/Sandbox.ts +25 -2
- package/src/models/SandboxHydration.ts +93 -0
- package/src/models/SetCredentialKeyRequest.ts +8 -0
- package/src/models/index.ts +4 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Boat Public API v1
|
|
5
|
+
* Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.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
|
+
import { CredentialIdFromJSON, CredentialIdToJSON, } from './CredentialId';
|
|
15
|
+
import { CredentialAccountFromJSON, CredentialAccountToJSON, } from './CredentialAccount';
|
|
16
|
+
/**
|
|
17
|
+
* Check if a given object implements the CredentialAccountsResponse interface.
|
|
18
|
+
*/
|
|
19
|
+
export function instanceOfCredentialAccountsResponse(value) {
|
|
20
|
+
if (!('ok' in value) || value['ok'] === undefined)
|
|
21
|
+
return false;
|
|
22
|
+
if (!('type' in value) || value['type'] === undefined)
|
|
23
|
+
return false;
|
|
24
|
+
if (!('success' in value) || value['success'] === undefined)
|
|
25
|
+
return false;
|
|
26
|
+
if (!('profileId' in value) || value['profileId'] === undefined)
|
|
27
|
+
return false;
|
|
28
|
+
if (!('credential' in value) || value['credential'] === undefined)
|
|
29
|
+
return false;
|
|
30
|
+
if (!('accounts' in value) || value['accounts'] === undefined)
|
|
31
|
+
return false;
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
export function CredentialAccountsResponseFromJSON(json) {
|
|
35
|
+
return CredentialAccountsResponseFromJSONTyped(json, false);
|
|
36
|
+
}
|
|
37
|
+
export function CredentialAccountsResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
38
|
+
if (json == null) {
|
|
39
|
+
return json;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
'ok': json['ok'],
|
|
43
|
+
'type': json['type'],
|
|
44
|
+
'success': json['success'],
|
|
45
|
+
'profileId': json['profileId'],
|
|
46
|
+
'credential': CredentialIdFromJSON(json['credential']),
|
|
47
|
+
'accounts': (json['accounts'].map(CredentialAccountFromJSON)),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function CredentialAccountsResponseToJSON(json) {
|
|
51
|
+
return CredentialAccountsResponseToJSONTyped(json, false);
|
|
52
|
+
}
|
|
53
|
+
export function CredentialAccountsResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
54
|
+
if (value == null) {
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
'ok': value['ok'],
|
|
59
|
+
'type': value['type'],
|
|
60
|
+
'success': value['success'],
|
|
61
|
+
'profileId': value['profileId'],
|
|
62
|
+
'credential': CredentialIdToJSON(value['credential']),
|
|
63
|
+
'accounts': (value['accounts'].map(CredentialAccountToJSON)),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { CredentialId } from './CredentialId';
|
|
13
13
|
import type { CredentialProfileOwner } from './CredentialProfileOwner';
|
|
14
|
+
import type { CredentialAccount } from './CredentialAccount';
|
|
14
15
|
/**
|
|
15
16
|
* A named set of AI credentials. Secret values are never returned.
|
|
16
17
|
* @export
|
|
@@ -53,6 +54,14 @@ export interface CredentialProfile {
|
|
|
53
54
|
* @memberof CredentialProfile
|
|
54
55
|
*/
|
|
55
56
|
connected: Array<CredentialId>;
|
|
57
|
+
/**
|
|
58
|
+
* Credentials with several accounts, keyed by credential id. Each lists every account (labels only), the one in use marked `active`. Empty when you cannot manage the profile.
|
|
59
|
+
* @type {{ [key: string]: Array<CredentialAccount>; }}
|
|
60
|
+
* @memberof CredentialProfile
|
|
61
|
+
*/
|
|
62
|
+
accounts?: {
|
|
63
|
+
[key: string]: Array<CredentialAccount>;
|
|
64
|
+
};
|
|
56
65
|
/**
|
|
57
66
|
* The names of the profile's custom APIs. Values are never returned.
|
|
58
67
|
* @type {Array<string>}
|
|
@@ -51,6 +51,7 @@ export function CredentialProfileFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
51
51
|
'owner': CredentialProfileOwnerFromJSON(json['owner']),
|
|
52
52
|
'canManage': json['canManage'],
|
|
53
53
|
'connected': (json['connected'].map(CredentialIdFromJSON)),
|
|
54
|
+
'accounts': json['accounts'] == null ? undefined : json['accounts'],
|
|
54
55
|
'customApis': json['customApis'],
|
|
55
56
|
'createdAt': (new Date(json['createdAt'])),
|
|
56
57
|
'updatedAt': (new Date(json['updatedAt'])),
|
|
@@ -70,6 +71,7 @@ export function CredentialProfileToJSONTyped(value, ignoreDiscriminator = false)
|
|
|
70
71
|
'owner': CredentialProfileOwnerToJSON(value['owner']),
|
|
71
72
|
'canManage': value['canManage'],
|
|
72
73
|
'connected': (value['connected'].map(CredentialIdToJSON)),
|
|
74
|
+
'accounts': value['accounts'],
|
|
73
75
|
'customApis': value['customApis'],
|
|
74
76
|
'createdAt': value['createdAt'].toISOString(),
|
|
75
77
|
'updatedAt': value['updatedAt'].toISOString(),
|
|
@@ -46,7 +46,7 @@ export interface DeletionOperation {
|
|
|
46
46
|
*/
|
|
47
47
|
status: DeletionOperationStatusEnum;
|
|
48
48
|
/**
|
|
49
|
-
* What the background purge is doing. The target is already gone from every list, restore and fork once the operation exists. `waiting_for_uploads`: stored data is erased once the last upload URL issued for it expires (`expectedBy`). `
|
|
49
|
+
* What the background purge is doing. The target is already gone from every list, restore and fork once the operation exists. `waiting_for_uploads`: stored data is erased once the last upload URL issued for it expires (`expectedBy`). `retrying`: a transient fault, retried automatically. `completed`: a newer snapshot, a fork or a named snapshot made from it keeps the data it reads, until that is deleted too.
|
|
50
50
|
* @type {DeletionOperationStageEnum}
|
|
51
51
|
* @memberof DeletionOperation
|
|
52
52
|
*/
|
|
@@ -109,8 +109,6 @@ export type DeletionOperationStatusEnum = typeof DeletionOperationStatusEnum[key
|
|
|
109
109
|
export declare const DeletionOperationStageEnum: {
|
|
110
110
|
readonly Removing: 'removing';
|
|
111
111
|
readonly WaitingForUploads: 'waiting_for_uploads';
|
|
112
|
-
readonly KeptForNewerSnapshots: 'kept_for_newer_snapshots';
|
|
113
|
-
readonly WaitingForRestore: 'waiting_for_restore';
|
|
114
112
|
readonly Retrying: 'retrying';
|
|
115
113
|
readonly Completed: 'completed';
|
|
116
114
|
};
|
|
@@ -41,8 +41,6 @@ export const DeletionOperationStatusEnum = {
|
|
|
41
41
|
export const DeletionOperationStageEnum = {
|
|
42
42
|
Removing: 'removing',
|
|
43
43
|
WaitingForUploads: 'waiting_for_uploads',
|
|
44
|
-
KeptForNewerSnapshots: 'kept_for_newer_snapshots',
|
|
45
|
-
WaitingForRestore: 'waiting_for_restore',
|
|
46
44
|
Retrying: 'retrying',
|
|
47
45
|
Completed: 'completed'
|
|
48
46
|
};
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { LimitsFieldsGiftLimit } from './LimitsFieldsGiftLimit';
|
|
13
13
|
import type { LimitsFieldsCurrentLimits } from './LimitsFieldsCurrentLimits';
|
|
14
|
+
import type { LimitsFieldsMachineTypesInner } from './LimitsFieldsMachineTypesInner';
|
|
14
15
|
import type { LimitsFieldsStartLimits } from './LimitsFieldsStartLimits';
|
|
15
16
|
import type { LimitsFieldsStarts } from './LimitsFieldsStarts';
|
|
16
17
|
import type { LimitsFieldsSandboxPlanTiersInner } from './LimitsFieldsSandboxPlanTiersInner';
|
|
@@ -271,6 +272,12 @@ export interface LimitsFields {
|
|
|
271
272
|
* @memberof LimitsFields
|
|
272
273
|
*/
|
|
273
274
|
trialLine?: string | null;
|
|
275
|
+
/**
|
|
276
|
+
* Each sandbox type, and whether this account can create it now. A blocked type carries the reason.
|
|
277
|
+
* @type {Array<LimitsFieldsMachineTypesInner>}
|
|
278
|
+
* @memberof LimitsFields
|
|
279
|
+
*/
|
|
280
|
+
machineTypes?: Array<LimitsFieldsMachineTypesInner>;
|
|
274
281
|
/**
|
|
275
282
|
*
|
|
276
283
|
* @type {LimitsFieldsGiftLimit}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { LimitsFieldsGiftLimitFromJSON, LimitsFieldsGiftLimitToJSON, } from './LimitsFieldsGiftLimit';
|
|
15
15
|
import { LimitsFieldsCurrentLimitsFromJSON, LimitsFieldsCurrentLimitsToJSON, } from './LimitsFieldsCurrentLimits';
|
|
16
|
+
import { LimitsFieldsMachineTypesInnerFromJSON, LimitsFieldsMachineTypesInnerToJSON, } from './LimitsFieldsMachineTypesInner';
|
|
16
17
|
import { LimitsFieldsStartLimitsFromJSON, LimitsFieldsStartLimitsToJSON, } from './LimitsFieldsStartLimits';
|
|
17
18
|
import { LimitsFieldsStartsFromJSON, LimitsFieldsStartsToJSON, } from './LimitsFieldsStarts';
|
|
18
19
|
import { LimitsFieldsSandboxPlanTiersInnerFromJSON, LimitsFieldsSandboxPlanTiersInnerToJSON, } from './LimitsFieldsSandboxPlanTiersInner';
|
|
@@ -80,6 +81,7 @@ export function LimitsFieldsFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
80
81
|
'last24hUsageSeconds': json['last24hUsageSeconds'] == null ? undefined : json['last24hUsageSeconds'],
|
|
81
82
|
'trialComputeCapSeconds': json['trialComputeCapSeconds'] == null ? undefined : json['trialComputeCapSeconds'],
|
|
82
83
|
'trialLine': json['trialLine'] == null ? undefined : json['trialLine'],
|
|
84
|
+
'machineTypes': json['machineTypes'] == null ? undefined : (json['machineTypes'].map(LimitsFieldsMachineTypesInnerFromJSON)),
|
|
83
85
|
'giftLimit': json['giftLimit'] == null ? undefined : LimitsFieldsGiftLimitFromJSON(json['giftLimit']),
|
|
84
86
|
'billingStatus': json['billingStatus'],
|
|
85
87
|
'subscriptionStatus': json['subscriptionStatus'] == null ? undefined : json['subscriptionStatus'],
|
|
@@ -142,6 +144,7 @@ export function LimitsFieldsToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
142
144
|
'last24hUsageSeconds': value['last24hUsageSeconds'],
|
|
143
145
|
'trialComputeCapSeconds': value['trialComputeCapSeconds'],
|
|
144
146
|
'trialLine': value['trialLine'],
|
|
147
|
+
'machineTypes': value['machineTypes'] == null ? undefined : (value['machineTypes'].map(LimitsFieldsMachineTypesInnerToJSON)),
|
|
145
148
|
'giftLimit': LimitsFieldsGiftLimitToJSON(value['giftLimit']),
|
|
146
149
|
'billingStatus': value['billingStatus'],
|
|
147
150
|
'subscriptionStatus': value['subscriptionStatus'],
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Boat Public API v1
|
|
3
|
+
* Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* @export
|
|
15
|
+
* @interface LimitsFieldsMachineTypesInner
|
|
16
|
+
*/
|
|
17
|
+
export interface LimitsFieldsMachineTypesInner {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {LimitsFieldsMachineTypesInnerTypeEnum}
|
|
21
|
+
* @memberof LimitsFieldsMachineTypesInner
|
|
22
|
+
*/
|
|
23
|
+
type: LimitsFieldsMachineTypesInnerTypeEnum;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {boolean}
|
|
27
|
+
* @memberof LimitsFieldsMachineTypesInner
|
|
28
|
+
*/
|
|
29
|
+
available: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Why the type is blocked, for example `not during the free trial; the first payment unlocks it`. Null when available.
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof LimitsFieldsMachineTypesInner
|
|
34
|
+
*/
|
|
35
|
+
reason: string | null;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @export
|
|
39
|
+
*/
|
|
40
|
+
export declare const LimitsFieldsMachineTypesInnerTypeEnum: {
|
|
41
|
+
readonly Small: 'small';
|
|
42
|
+
readonly Default: 'default';
|
|
43
|
+
readonly Large: 'large';
|
|
44
|
+
readonly Xlarge: 'xlarge';
|
|
45
|
+
};
|
|
46
|
+
export type LimitsFieldsMachineTypesInnerTypeEnum = typeof LimitsFieldsMachineTypesInnerTypeEnum[keyof typeof LimitsFieldsMachineTypesInnerTypeEnum];
|
|
47
|
+
/**
|
|
48
|
+
* Check if a given object implements the LimitsFieldsMachineTypesInner interface.
|
|
49
|
+
*/
|
|
50
|
+
export declare function instanceOfLimitsFieldsMachineTypesInner(value: object): value is LimitsFieldsMachineTypesInner;
|
|
51
|
+
export declare function LimitsFieldsMachineTypesInnerFromJSON(json: any): LimitsFieldsMachineTypesInner;
|
|
52
|
+
export declare function LimitsFieldsMachineTypesInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): LimitsFieldsMachineTypesInner;
|
|
53
|
+
export declare function LimitsFieldsMachineTypesInnerToJSON(json: any): LimitsFieldsMachineTypesInner;
|
|
54
|
+
export declare function LimitsFieldsMachineTypesInnerToJSONTyped(value?: LimitsFieldsMachineTypesInner | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Boat Public API v1
|
|
5
|
+
* Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.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
|
+
* @export
|
|
16
|
+
*/
|
|
17
|
+
export const LimitsFieldsMachineTypesInnerTypeEnum = {
|
|
18
|
+
Small: 'small',
|
|
19
|
+
Default: 'default',
|
|
20
|
+
Large: 'large',
|
|
21
|
+
Xlarge: 'xlarge'
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Check if a given object implements the LimitsFieldsMachineTypesInner interface.
|
|
25
|
+
*/
|
|
26
|
+
export function instanceOfLimitsFieldsMachineTypesInner(value) {
|
|
27
|
+
if (!('type' in value) || value['type'] === undefined)
|
|
28
|
+
return false;
|
|
29
|
+
if (!('available' in value) || value['available'] === undefined)
|
|
30
|
+
return false;
|
|
31
|
+
if (!('reason' in value) || value['reason'] === undefined)
|
|
32
|
+
return false;
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
export function LimitsFieldsMachineTypesInnerFromJSON(json) {
|
|
36
|
+
return LimitsFieldsMachineTypesInnerFromJSONTyped(json, false);
|
|
37
|
+
}
|
|
38
|
+
export function LimitsFieldsMachineTypesInnerFromJSONTyped(json, ignoreDiscriminator) {
|
|
39
|
+
if (json == null) {
|
|
40
|
+
return json;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
'type': json['type'],
|
|
44
|
+
'available': json['available'],
|
|
45
|
+
'reason': json['reason'],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export function LimitsFieldsMachineTypesInnerToJSON(json) {
|
|
49
|
+
return LimitsFieldsMachineTypesInnerToJSONTyped(json, false);
|
|
50
|
+
}
|
|
51
|
+
export function LimitsFieldsMachineTypesInnerToJSONTyped(value, ignoreDiscriminator = false) {
|
|
52
|
+
if (value == null) {
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
'type': value['type'],
|
|
57
|
+
'available': value['available'],
|
|
58
|
+
'reason': value['reason'],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { LimitsFieldsGiftLimit } from './LimitsFieldsGiftLimit';
|
|
13
13
|
import type { LimitsFieldsCurrentLimits } from './LimitsFieldsCurrentLimits';
|
|
14
|
+
import type { LimitsFieldsMachineTypesInner } from './LimitsFieldsMachineTypesInner';
|
|
14
15
|
import type { LimitsFieldsStartLimits } from './LimitsFieldsStartLimits';
|
|
15
16
|
import type { LimitsFieldsStarts } from './LimitsFieldsStarts';
|
|
16
17
|
import type { LimitsFieldsSandboxPlanTiersInner } from './LimitsFieldsSandboxPlanTiersInner';
|
|
@@ -282,6 +283,12 @@ export interface LimitsResponse {
|
|
|
282
283
|
* @memberof LimitsResponse
|
|
283
284
|
*/
|
|
284
285
|
trialLine?: string;
|
|
286
|
+
/**
|
|
287
|
+
* Each sandbox type, and whether this account can create it now. A blocked type carries the reason.
|
|
288
|
+
* @type {Array<LimitsFieldsMachineTypesInner>}
|
|
289
|
+
* @memberof LimitsResponse
|
|
290
|
+
*/
|
|
291
|
+
machineTypes?: Array<LimitsFieldsMachineTypesInner>;
|
|
285
292
|
/**
|
|
286
293
|
*
|
|
287
294
|
* @type {LimitsFieldsGiftLimit}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { LimitsFieldsGiftLimitFromJSON, LimitsFieldsGiftLimitToJSON, } from './LimitsFieldsGiftLimit';
|
|
15
15
|
import { LimitsFieldsCurrentLimitsFromJSON, LimitsFieldsCurrentLimitsToJSON, } from './LimitsFieldsCurrentLimits';
|
|
16
|
+
import { LimitsFieldsMachineTypesInnerFromJSON, LimitsFieldsMachineTypesInnerToJSON, } from './LimitsFieldsMachineTypesInner';
|
|
16
17
|
import { LimitsFieldsStartLimitsFromJSON, LimitsFieldsStartLimitsToJSON, } from './LimitsFieldsStartLimits';
|
|
17
18
|
import { LimitsFieldsStartsFromJSON, LimitsFieldsStartsToJSON, } from './LimitsFieldsStarts';
|
|
18
19
|
import { LimitsFieldsSandboxPlanTiersInnerFromJSON, LimitsFieldsSandboxPlanTiersInnerToJSON, } from './LimitsFieldsSandboxPlanTiersInner';
|
|
@@ -85,6 +86,7 @@ export function LimitsResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
85
86
|
'last24hUsageSeconds': json['last24hUsageSeconds'] == null ? undefined : json['last24hUsageSeconds'],
|
|
86
87
|
'trialComputeCapSeconds': json['trialComputeCapSeconds'] == null ? undefined : json['trialComputeCapSeconds'],
|
|
87
88
|
'trialLine': json['trialLine'] == null ? undefined : json['trialLine'],
|
|
89
|
+
'machineTypes': json['machineTypes'] == null ? undefined : (json['machineTypes'].map(LimitsFieldsMachineTypesInnerFromJSON)),
|
|
88
90
|
'giftLimit': json['giftLimit'] == null ? undefined : LimitsFieldsGiftLimitFromJSON(json['giftLimit']),
|
|
89
91
|
'billingStatus': json['billingStatus'],
|
|
90
92
|
'subscriptionStatus': json['subscriptionStatus'] == null ? undefined : json['subscriptionStatus'],
|
|
@@ -148,6 +150,7 @@ export function LimitsResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
148
150
|
'last24hUsageSeconds': value['last24hUsageSeconds'],
|
|
149
151
|
'trialComputeCapSeconds': value['trialComputeCapSeconds'],
|
|
150
152
|
'trialLine': value['trialLine'],
|
|
153
|
+
'machineTypes': value['machineTypes'] == null ? undefined : (value['machineTypes'].map(LimitsFieldsMachineTypesInnerToJSON)),
|
|
151
154
|
'giftLimit': LimitsFieldsGiftLimitToJSON(value['giftLimit']),
|
|
152
155
|
'billingStatus': value['billingStatus'],
|
|
153
156
|
'subscriptionStatus': value['subscriptionStatus'],
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { SandboxTeam } from './SandboxTeam';
|
|
13
13
|
import type { StopOperation } from './StopOperation';
|
|
14
|
+
import type { SandboxHydration } from './SandboxHydration';
|
|
14
15
|
/**
|
|
15
16
|
*
|
|
16
17
|
* @export
|
|
@@ -71,6 +72,12 @@ export interface Sandbox {
|
|
|
71
72
|
* @memberof Sandbox
|
|
72
73
|
*/
|
|
73
74
|
hydratedAt?: Date | null;
|
|
75
|
+
/**
|
|
76
|
+
*
|
|
77
|
+
* @type {SandboxHydration}
|
|
78
|
+
* @memberof Sandbox
|
|
79
|
+
*/
|
|
80
|
+
hydration?: SandboxHydration | null;
|
|
74
81
|
/**
|
|
75
82
|
* Current machine size: what the sandbox was created with, or the size it was last resumed or forked onto.
|
|
76
83
|
* @type {SandboxTypeEnum}
|
|
@@ -132,11 +139,17 @@ export interface Sandbox {
|
|
|
132
139
|
*/
|
|
133
140
|
updatedAt?: Date | null;
|
|
134
141
|
/**
|
|
135
|
-
*
|
|
142
|
+
* When the sandbox stops by itself (the stop starts within about 5 seconds), or null when auto-stop is disabled. A sandbox whose agent is working gets a fresh full TTL, and this time moves forward.
|
|
136
143
|
* @type {Date}
|
|
137
144
|
* @memberof Sandbox
|
|
138
145
|
*/
|
|
139
146
|
archiveAfter?: Date | null;
|
|
147
|
+
/**
|
|
148
|
+
* The auto-stop length as last set on create, resume, fork or PATCH, or null when auto-stop is disabled.
|
|
149
|
+
* @type {number}
|
|
150
|
+
* @memberof Sandbox
|
|
151
|
+
*/
|
|
152
|
+
ttlSeconds?: number | null;
|
|
140
153
|
/**
|
|
141
154
|
*
|
|
142
155
|
* @type {boolean}
|
|
@@ -198,7 +211,7 @@ export interface Sandbox {
|
|
|
198
211
|
*/
|
|
199
212
|
createdById?: string | null;
|
|
200
213
|
/**
|
|
201
|
-
* What you may do with this sandbox. `owner`: you created it. `use`: a teammate's organization sandbox that
|
|
214
|
+
* What you may do with this sandbox. `owner`: you created it. `use`: a teammate's organization sandbox that never received their personal logins (`noEnv`, shared and restarted, or created on an environment that passes nothing), so you can open, run commands in, prompt, resume and stop it. `view`: a teammate's organization sandbox that still holds their personal logins, so you can see it and stop it until they share it (`POST /sandboxes/{sandboxId}/share`).
|
|
202
215
|
* @type {SandboxAccessEnum}
|
|
203
216
|
* @memberof Sandbox
|
|
204
217
|
*/
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { SandboxTeamFromJSON, SandboxTeamToJSON, } from './SandboxTeam';
|
|
15
15
|
import { StopOperationFromJSON, StopOperationToJSON, } from './StopOperation';
|
|
16
|
+
import { SandboxHydrationFromJSON, SandboxHydrationToJSON, } from './SandboxHydration';
|
|
16
17
|
/**
|
|
17
18
|
* @export
|
|
18
19
|
*/
|
|
@@ -112,6 +113,7 @@ export function SandboxFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
112
113
|
'degradedSince': json['degradedSince'] == null ? undefined : (new Date(json['degradedSince'])),
|
|
113
114
|
'hydrated': json['hydrated'] == null ? undefined : json['hydrated'],
|
|
114
115
|
'hydratedAt': json['hydratedAt'] == null ? undefined : (new Date(json['hydratedAt'])),
|
|
116
|
+
'hydration': json['hydration'] == null ? undefined : SandboxHydrationFromJSON(json['hydration']),
|
|
115
117
|
'type': json['type'] == null ? undefined : json['type'],
|
|
116
118
|
'vcpu': json['vcpu'] == null ? undefined : json['vcpu'],
|
|
117
119
|
'memoryGB': json['memoryGB'] == null ? undefined : json['memoryGB'],
|
|
@@ -123,6 +125,7 @@ export function SandboxFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
123
125
|
'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])),
|
|
124
126
|
'updatedAt': json['updatedAt'] == null ? undefined : (new Date(json['updatedAt'])),
|
|
125
127
|
'archiveAfter': json['archiveAfter'] == null ? undefined : (new Date(json['archiveAfter'])),
|
|
128
|
+
'ttlSeconds': json['ttlSeconds'] == null ? undefined : json['ttlSeconds'],
|
|
126
129
|
'desktopAvailable': json['desktopAvailable'],
|
|
127
130
|
'desktopUrl': json['desktopUrl'] == null ? undefined : json['desktopUrl'],
|
|
128
131
|
'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
|
|
@@ -163,6 +166,7 @@ export function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
163
166
|
'degradedSince': value['degradedSince'] == null ? value['degradedSince'] : value['degradedSince'].toISOString(),
|
|
164
167
|
'hydrated': value['hydrated'],
|
|
165
168
|
'hydratedAt': value['hydratedAt'] == null ? value['hydratedAt'] : value['hydratedAt'].toISOString(),
|
|
169
|
+
'hydration': SandboxHydrationToJSON(value['hydration']),
|
|
166
170
|
'type': value['type'],
|
|
167
171
|
'vcpu': value['vcpu'],
|
|
168
172
|
'memoryGB': value['memoryGB'],
|
|
@@ -174,6 +178,7 @@ export function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
174
178
|
'createdAt': value['createdAt'] == null ? value['createdAt'] : value['createdAt'].toISOString(),
|
|
175
179
|
'updatedAt': value['updatedAt'] == null ? value['updatedAt'] : value['updatedAt'].toISOString(),
|
|
176
180
|
'archiveAfter': value['archiveAfter'] == null ? value['archiveAfter'] : value['archiveAfter'].toISOString(),
|
|
181
|
+
'ttlSeconds': value['ttlSeconds'],
|
|
177
182
|
'desktopAvailable': value['desktopAvailable'],
|
|
178
183
|
'desktopUrl': value['desktopUrl'],
|
|
179
184
|
'snapshots': value['snapshots'],
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Boat Public API v1
|
|
3
|
+
* Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Restore progress while `hydrated` is false, on GET /sandboxes/{id} only. Null in lists, after hydration, or when the sandbox does not answer within 1.5 s.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface SandboxHydration
|
|
16
|
+
*/
|
|
17
|
+
export interface SandboxHydration {
|
|
18
|
+
/**
|
|
19
|
+
* Restore step: `dvol` (docker volumes), `sysdelta` (system files), `images` (saved docker images), `hydrating` (the home directory), `reconciling` (the last check). `degraded` and `stuck` mean a step failed and is retried.
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof SandboxHydration
|
|
22
|
+
*/
|
|
23
|
+
phase: string;
|
|
24
|
+
/**
|
|
25
|
+
* Files, directories and links copied in so far.
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @memberof SandboxHydration
|
|
28
|
+
*/
|
|
29
|
+
entriesDone: number;
|
|
30
|
+
/**
|
|
31
|
+
* Files, directories and links this restore copies in. Null for the first seconds, until the system files are counted.
|
|
32
|
+
* @type {number}
|
|
33
|
+
* @memberof SandboxHydration
|
|
34
|
+
*/
|
|
35
|
+
entriesTotal: number | null;
|
|
36
|
+
/**
|
|
37
|
+
* entriesDone of entriesTotal, 0-99. Files you change during the restore are yours, not copied, so it can stop short of 99; `hydrated` is the end signal.
|
|
38
|
+
* @type {number}
|
|
39
|
+
* @memberof SandboxHydration
|
|
40
|
+
*/
|
|
41
|
+
percent: number | null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if a given object implements the SandboxHydration interface.
|
|
45
|
+
*/
|
|
46
|
+
export declare function instanceOfSandboxHydration(value: object): value is SandboxHydration;
|
|
47
|
+
export declare function SandboxHydrationFromJSON(json: any): SandboxHydration;
|
|
48
|
+
export declare function SandboxHydrationFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxHydration;
|
|
49
|
+
export declare function SandboxHydrationToJSON(json: any): SandboxHydration;
|
|
50
|
+
export declare function SandboxHydrationToJSONTyped(value?: SandboxHydration | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Boat Public API v1
|
|
5
|
+
* Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.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
|
+
* Check if a given object implements the SandboxHydration interface.
|
|
16
|
+
*/
|
|
17
|
+
export function instanceOfSandboxHydration(value) {
|
|
18
|
+
if (!('phase' in value) || value['phase'] === undefined)
|
|
19
|
+
return false;
|
|
20
|
+
if (!('entriesDone' in value) || value['entriesDone'] === undefined)
|
|
21
|
+
return false;
|
|
22
|
+
if (!('entriesTotal' in value) || value['entriesTotal'] === undefined)
|
|
23
|
+
return false;
|
|
24
|
+
if (!('percent' in value) || value['percent'] === undefined)
|
|
25
|
+
return false;
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
export function SandboxHydrationFromJSON(json) {
|
|
29
|
+
return SandboxHydrationFromJSONTyped(json, false);
|
|
30
|
+
}
|
|
31
|
+
export function SandboxHydrationFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if (json == null) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'phase': json['phase'],
|
|
37
|
+
'entriesDone': json['entriesDone'],
|
|
38
|
+
'entriesTotal': json['entriesTotal'],
|
|
39
|
+
'percent': json['percent'],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function SandboxHydrationToJSON(json) {
|
|
43
|
+
return SandboxHydrationToJSONTyped(json, false);
|
|
44
|
+
}
|
|
45
|
+
export function SandboxHydrationToJSONTyped(value, ignoreDiscriminator = false) {
|
|
46
|
+
if (value == null) {
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
'phase': value['phase'],
|
|
51
|
+
'entriesDone': value['entriesDone'],
|
|
52
|
+
'entriesTotal': value['entriesTotal'],
|
|
53
|
+
'percent': value['percent'],
|
|
54
|
+
};
|
|
55
|
+
}
|
|
@@ -21,6 +21,12 @@ export interface SetCredentialKeyRequest {
|
|
|
21
21
|
* @memberof SetCredentialKeyRequest
|
|
22
22
|
*/
|
|
23
23
|
value: string;
|
|
24
|
+
/**
|
|
25
|
+
* Keep the key this one replaces as another account of the credential, ready to switch back to.
|
|
26
|
+
* @type {boolean}
|
|
27
|
+
* @memberof SetCredentialKeyRequest
|
|
28
|
+
*/
|
|
29
|
+
keepCurrent?: boolean;
|
|
24
30
|
}
|
|
25
31
|
/**
|
|
26
32
|
* Check if a given object implements the SetCredentialKeyRequest interface.
|
|
@@ -28,6 +28,7 @@ export function SetCredentialKeyRequestFromJSONTyped(json, ignoreDiscriminator)
|
|
|
28
28
|
}
|
|
29
29
|
return {
|
|
30
30
|
'value': json['value'],
|
|
31
|
+
'keepCurrent': json['keepCurrent'] == null ? undefined : json['keepCurrent'],
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
34
|
export function SetCredentialKeyRequestToJSON(json) {
|
|
@@ -39,5 +40,6 @@ export function SetCredentialKeyRequestToJSONTyped(value, ignoreDiscriminator =
|
|
|
39
40
|
}
|
|
40
41
|
return {
|
|
41
42
|
'value': value['value'],
|
|
43
|
+
'keepCurrent': value['keepCurrent'],
|
|
42
44
|
};
|
|
43
45
|
}
|
|
@@ -41,6 +41,8 @@ export * from './CreateSandboxRequest';
|
|
|
41
41
|
export * from './CreateSandboxResponse';
|
|
42
42
|
export * from './CreateScopedApiKey503Response';
|
|
43
43
|
export * from './CreateScopedApiKeyRequest';
|
|
44
|
+
export * from './CredentialAccount';
|
|
45
|
+
export * from './CredentialAccountsResponse';
|
|
44
46
|
export * from './CredentialId';
|
|
45
47
|
export * from './CredentialProfile';
|
|
46
48
|
export * from './CredentialProfileDeletedResponse';
|
|
@@ -70,6 +72,7 @@ export * from './HostPortResponse';
|
|
|
70
72
|
export * from './LimitsFields';
|
|
71
73
|
export * from './LimitsFieldsCurrentLimits';
|
|
72
74
|
export * from './LimitsFieldsGiftLimit';
|
|
75
|
+
export * from './LimitsFieldsMachineTypesInner';
|
|
73
76
|
export * from './LimitsFieldsSandboxPlanTiersInner';
|
|
74
77
|
export * from './LimitsFieldsStartLimits';
|
|
75
78
|
export * from './LimitsFieldsStarts';
|
|
@@ -119,6 +122,7 @@ export * from './SandboxEnvironmentListResponse';
|
|
|
119
122
|
export * from './SandboxEnvironmentResponse';
|
|
120
123
|
export * from './SandboxEnvironmentVersionSummary';
|
|
121
124
|
export * from './SandboxEvent';
|
|
125
|
+
export * from './SandboxHydration';
|
|
122
126
|
export * from './SandboxInfoResponse';
|
|
123
127
|
export * from './SandboxListResponse';
|
|
124
128
|
export * from './SandboxProcess';
|
package/dist/esm/models/index.js
CHANGED
|
@@ -43,6 +43,8 @@ export * from './CreateSandboxRequest';
|
|
|
43
43
|
export * from './CreateSandboxResponse';
|
|
44
44
|
export * from './CreateScopedApiKey503Response';
|
|
45
45
|
export * from './CreateScopedApiKeyRequest';
|
|
46
|
+
export * from './CredentialAccount';
|
|
47
|
+
export * from './CredentialAccountsResponse';
|
|
46
48
|
export * from './CredentialId';
|
|
47
49
|
export * from './CredentialProfile';
|
|
48
50
|
export * from './CredentialProfileDeletedResponse';
|
|
@@ -72,6 +74,7 @@ export * from './HostPortResponse';
|
|
|
72
74
|
export * from './LimitsFields';
|
|
73
75
|
export * from './LimitsFieldsCurrentLimits';
|
|
74
76
|
export * from './LimitsFieldsGiftLimit';
|
|
77
|
+
export * from './LimitsFieldsMachineTypesInner';
|
|
75
78
|
export * from './LimitsFieldsSandboxPlanTiersInner';
|
|
76
79
|
export * from './LimitsFieldsStartLimits';
|
|
77
80
|
export * from './LimitsFieldsStarts';
|
|
@@ -121,6 +124,7 @@ export * from './SandboxEnvironmentListResponse';
|
|
|
121
124
|
export * from './SandboxEnvironmentResponse';
|
|
122
125
|
export * from './SandboxEnvironmentVersionSummary';
|
|
123
126
|
export * from './SandboxEvent';
|
|
127
|
+
export * from './SandboxHydration';
|
|
124
128
|
export * from './SandboxInfoResponse';
|
|
125
129
|
export * from './SandboxListResponse';
|
|
126
130
|
export * from './SandboxProcess';
|