@boatdev/sdk 1.3.0 → 1.5.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/.openapi-generator/FILES +2 -0
- package/dist/apis/BoatApi.d.ts +24 -2
- package/dist/apis/BoatApi.js +53 -2
- package/dist/esm/apis/BoatApi.d.ts +24 -2
- package/dist/esm/apis/BoatApi.js +53 -2
- package/dist/esm/models/CreateSandboxRequest.d.ts +1 -1
- package/dist/esm/models/ForkRequest.d.ts +6 -0
- package/dist/esm/models/ForkRequest.js +2 -0
- package/dist/esm/models/PromptRequest.d.ts +6 -0
- package/dist/esm/models/PromptRequest.js +2 -0
- package/dist/esm/models/PromptResponse.d.ts +6 -0
- package/dist/esm/models/PromptResponse.js +2 -0
- package/dist/esm/models/PromptRun.d.ts +6 -0
- package/dist/esm/models/PromptRun.js +2 -0
- package/dist/esm/models/ResumeRequest.d.ts +6 -0
- package/dist/esm/models/ResumeRequest.js +2 -0
- package/dist/esm/models/Sandbox.d.ts +65 -0
- package/dist/esm/models/Sandbox.js +31 -0
- package/dist/esm/models/Share200Response.d.ts +45 -0
- package/dist/esm/models/Share200Response.js +46 -0
- package/dist/esm/models/WebhookEventData.d.ts +10 -4
- package/dist/esm/models/WebhookEventData.js +4 -6
- package/dist/esm/models/WebhookEventType.d.ts +2 -0
- package/dist/esm/models/WebhookEventType.js +3 -1
- package/dist/esm/models/index.d.ts +1 -0
- package/dist/esm/models/index.js +1 -0
- package/dist/models/CreateSandboxRequest.d.ts +1 -1
- package/dist/models/ForkRequest.d.ts +6 -0
- package/dist/models/ForkRequest.js +2 -0
- package/dist/models/PromptRequest.d.ts +6 -0
- package/dist/models/PromptRequest.js +2 -0
- package/dist/models/PromptResponse.d.ts +6 -0
- package/dist/models/PromptResponse.js +2 -0
- package/dist/models/PromptRun.d.ts +6 -0
- package/dist/models/PromptRun.js +2 -0
- package/dist/models/ResumeRequest.d.ts +6 -0
- package/dist/models/ResumeRequest.js +2 -0
- package/dist/models/Sandbox.d.ts +65 -0
- package/dist/models/Sandbox.js +32 -1
- package/dist/models/Share200Response.d.ts +45 -0
- package/dist/models/Share200Response.js +53 -0
- package/dist/models/WebhookEventData.d.ts +10 -4
- package/dist/models/WebhookEventData.js +4 -6
- package/dist/models/WebhookEventType.d.ts +2 -0
- package/dist/models/WebhookEventType.js +3 -1
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.js +1 -0
- package/docs/BoatApi.md +89 -3
- package/docs/ForkRequest.md +2 -0
- package/docs/PromptRequest.md +2 -0
- package/docs/PromptResponse.md +2 -0
- package/docs/PromptRun.md +2 -0
- package/docs/ResumeRequest.md +2 -0
- package/docs/Sandbox.md +16 -0
- package/docs/Share200Response.md +36 -0
- package/docs/WebhookEventData.md +2 -0
- package/package.json +1 -1
- package/src/apis/BoatApi.ts +78 -2
- package/src/models/CreateSandboxRequest.ts +1 -1
- package/src/models/ForkRequest.ts +8 -0
- package/src/models/PromptRequest.ts +8 -0
- package/src/models/PromptResponse.ts +8 -0
- package/src/models/PromptRun.ts +8 -0
- package/src/models/ResumeRequest.ts +8 -0
- package/src/models/Sandbox.ts +83 -0
- package/src/models/Share200Response.ts +89 -0
- package/src/models/WebhookEventData.ts +14 -8
- package/src/models/WebhookEventType.ts +3 -1
- package/src/models/index.ts +1 -0
|
@@ -40,6 +40,24 @@ export interface Sandbox {
|
|
|
40
40
|
* @memberof Sandbox
|
|
41
41
|
*/
|
|
42
42
|
error?: string | null;
|
|
43
|
+
/**
|
|
44
|
+
* `degraded` when the machine is alive but Boat cannot fully reach it (for example a firewall rule inside the sandbox blocks the tunnel). The sandbox keeps running.
|
|
45
|
+
* @type {SandboxHealthEnum}
|
|
46
|
+
* @memberof Sandbox
|
|
47
|
+
*/
|
|
48
|
+
health?: SandboxHealthEnum;
|
|
49
|
+
/**
|
|
50
|
+
* Why the sandbox is degraded, or null.
|
|
51
|
+
* @type {string}
|
|
52
|
+
* @memberof Sandbox
|
|
53
|
+
*/
|
|
54
|
+
healthReason?: string | null;
|
|
55
|
+
/**
|
|
56
|
+
* When the sandbox became degraded, or null.
|
|
57
|
+
* @type {Date}
|
|
58
|
+
* @memberof Sandbox
|
|
59
|
+
*/
|
|
60
|
+
degradedSince?: Date | null;
|
|
43
61
|
/**
|
|
44
62
|
* Current machine size: what the sandbox was created with, or the size it was last resumed or forked onto.
|
|
45
63
|
* @type {SandboxTypeEnum}
|
|
@@ -148,6 +166,36 @@ export interface Sandbox {
|
|
|
148
166
|
* @memberof Sandbox
|
|
149
167
|
*/
|
|
150
168
|
team?: SandboxTeam;
|
|
169
|
+
/**
|
|
170
|
+
* Display name (or email) of the person who created the sandbox. Organization members see every sandbox the organization pays for, so this says whose it is.
|
|
171
|
+
* @type {string}
|
|
172
|
+
* @memberof Sandbox
|
|
173
|
+
*/
|
|
174
|
+
createdBy?: string | null;
|
|
175
|
+
/**
|
|
176
|
+
* Account id of the person who created the sandbox.
|
|
177
|
+
* @type {string}
|
|
178
|
+
* @memberof Sandbox
|
|
179
|
+
*/
|
|
180
|
+
createdById?: string | null;
|
|
181
|
+
/**
|
|
182
|
+
* What you may do with this sandbox. `owner`: you created it. `use`: a teammate's organization sandbox that is `noEnv` (created with it, or shared and restarted), 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`).
|
|
183
|
+
* @type {SandboxAccessEnum}
|
|
184
|
+
* @memberof Sandbox
|
|
185
|
+
*/
|
|
186
|
+
access?: SandboxAccessEnum;
|
|
187
|
+
/**
|
|
188
|
+
* True while the sandbox still holds its creator's personal logins (GitHub token, model logins, secrets). Other members can only see such a sandbox.
|
|
189
|
+
* @type {boolean}
|
|
190
|
+
* @memberof Sandbox
|
|
191
|
+
*/
|
|
192
|
+
holdsCreatorLogins?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* True once the sandbox is shared but not restarted yet. Its creator's logins are wiped at its next start, and the organization can use it from then on.
|
|
195
|
+
* @type {boolean}
|
|
196
|
+
* @memberof Sandbox
|
|
197
|
+
*/
|
|
198
|
+
wipePendingUntilRestart?: boolean;
|
|
151
199
|
/**
|
|
152
200
|
* The sandbox's stable three-word subdomain slug (e.g. "frazil-pneuma-rallye"), or null before one is assigned.
|
|
153
201
|
* @type {string}
|
|
@@ -208,6 +256,14 @@ export declare const SandboxStateEnum: {
|
|
|
208
256
|
readonly Cancelled: 'cancelled';
|
|
209
257
|
};
|
|
210
258
|
export type SandboxStateEnum = typeof SandboxStateEnum[keyof typeof SandboxStateEnum];
|
|
259
|
+
/**
|
|
260
|
+
* @export
|
|
261
|
+
*/
|
|
262
|
+
export declare const SandboxHealthEnum: {
|
|
263
|
+
readonly Ok: 'ok';
|
|
264
|
+
readonly Degraded: 'degraded';
|
|
265
|
+
};
|
|
266
|
+
export type SandboxHealthEnum = typeof SandboxHealthEnum[keyof typeof SandboxHealthEnum];
|
|
211
267
|
/**
|
|
212
268
|
* @export
|
|
213
269
|
*/
|
|
@@ -225,6 +281,15 @@ export declare const SandboxMachineProviderEnum: {
|
|
|
225
281
|
readonly Baremetal: 'baremetal';
|
|
226
282
|
};
|
|
227
283
|
export type SandboxMachineProviderEnum = typeof SandboxMachineProviderEnum[keyof typeof SandboxMachineProviderEnum];
|
|
284
|
+
/**
|
|
285
|
+
* @export
|
|
286
|
+
*/
|
|
287
|
+
export declare const SandboxAccessEnum: {
|
|
288
|
+
readonly Owner: 'owner';
|
|
289
|
+
readonly Use: 'use';
|
|
290
|
+
readonly View: 'view';
|
|
291
|
+
};
|
|
292
|
+
export type SandboxAccessEnum = typeof SandboxAccessEnum[keyof typeof SandboxAccessEnum];
|
|
228
293
|
/**
|
|
229
294
|
* @export
|
|
230
295
|
*/
|
|
@@ -28,6 +28,13 @@ export const SandboxStateEnum = {
|
|
|
28
28
|
Error: 'error',
|
|
29
29
|
Cancelled: 'cancelled'
|
|
30
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* @export
|
|
33
|
+
*/
|
|
34
|
+
export const SandboxHealthEnum = {
|
|
35
|
+
Ok: 'ok',
|
|
36
|
+
Degraded: 'degraded'
|
|
37
|
+
};
|
|
31
38
|
/**
|
|
32
39
|
* @export
|
|
33
40
|
*/
|
|
@@ -43,6 +50,14 @@ export const SandboxMachineProviderEnum = {
|
|
|
43
50
|
Hetzner: 'hetzner',
|
|
44
51
|
Baremetal: 'baremetal'
|
|
45
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* @export
|
|
55
|
+
*/
|
|
56
|
+
export const SandboxAccessEnum = {
|
|
57
|
+
Owner: 'owner',
|
|
58
|
+
Use: 'use',
|
|
59
|
+
View: 'view'
|
|
60
|
+
};
|
|
46
61
|
/**
|
|
47
62
|
* @export
|
|
48
63
|
*/
|
|
@@ -90,6 +105,9 @@ export function SandboxFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
90
105
|
'name': json['name'],
|
|
91
106
|
'state': json['state'],
|
|
92
107
|
'error': json['error'] == null ? undefined : json['error'],
|
|
108
|
+
'health': json['health'] == null ? undefined : json['health'],
|
|
109
|
+
'healthReason': json['healthReason'] == null ? undefined : json['healthReason'],
|
|
110
|
+
'degradedSince': json['degradedSince'] == null ? undefined : (new Date(json['degradedSince'])),
|
|
93
111
|
'type': json['type'] == null ? undefined : json['type'],
|
|
94
112
|
'vcpu': json['vcpu'] == null ? undefined : json['vcpu'],
|
|
95
113
|
'memoryGB': json['memoryGB'] == null ? undefined : json['memoryGB'],
|
|
@@ -108,6 +126,11 @@ export function SandboxFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
108
126
|
'snapshotCompletedAt': json['snapshotCompletedAt'] == null ? undefined : (new Date(json['snapshotCompletedAt'])),
|
|
109
127
|
'snapshotVerifiedAt': json['snapshotVerifiedAt'] == null ? undefined : (new Date(json['snapshotVerifiedAt'])),
|
|
110
128
|
'team': json['team'] == null ? undefined : SandboxTeamFromJSON(json['team']),
|
|
129
|
+
'createdBy': json['createdBy'] == null ? undefined : json['createdBy'],
|
|
130
|
+
'createdById': json['createdById'] == null ? undefined : json['createdById'],
|
|
131
|
+
'access': json['access'] == null ? undefined : json['access'],
|
|
132
|
+
'holdsCreatorLogins': json['holdsCreatorLogins'] == null ? undefined : json['holdsCreatorLogins'],
|
|
133
|
+
'wipePendingUntilRestart': json['wipePendingUntilRestart'] == null ? undefined : json['wipePendingUntilRestart'],
|
|
111
134
|
'subdomain': json['subdomain'] == null ? undefined : json['subdomain'],
|
|
112
135
|
'lastSnapshotAttemptAt': json['lastSnapshotAttemptAt'] == null ? undefined : (new Date(json['lastSnapshotAttemptAt'])),
|
|
113
136
|
'lastSnapshotStatus': json['lastSnapshotStatus'] == null ? undefined : json['lastSnapshotStatus'],
|
|
@@ -129,6 +152,9 @@ export function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
129
152
|
'name': value['name'],
|
|
130
153
|
'state': value['state'],
|
|
131
154
|
'error': value['error'],
|
|
155
|
+
'health': value['health'],
|
|
156
|
+
'healthReason': value['healthReason'],
|
|
157
|
+
'degradedSince': value['degradedSince'] == null ? value['degradedSince'] : value['degradedSince'].toISOString(),
|
|
132
158
|
'type': value['type'],
|
|
133
159
|
'vcpu': value['vcpu'],
|
|
134
160
|
'memoryGB': value['memoryGB'],
|
|
@@ -147,6 +173,11 @@ export function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
147
173
|
'snapshotCompletedAt': value['snapshotCompletedAt'] == null ? value['snapshotCompletedAt'] : value['snapshotCompletedAt'].toISOString(),
|
|
148
174
|
'snapshotVerifiedAt': value['snapshotVerifiedAt'] == null ? value['snapshotVerifiedAt'] : value['snapshotVerifiedAt'].toISOString(),
|
|
149
175
|
'team': SandboxTeamToJSON(value['team']),
|
|
176
|
+
'createdBy': value['createdBy'],
|
|
177
|
+
'createdById': value['createdById'],
|
|
178
|
+
'access': value['access'],
|
|
179
|
+
'holdsCreatorLogins': value['holdsCreatorLogins'],
|
|
180
|
+
'wipePendingUntilRestart': value['wipePendingUntilRestart'],
|
|
150
181
|
'subdomain': value['subdomain'],
|
|
151
182
|
'lastSnapshotAttemptAt': value['lastSnapshotAttemptAt'] == null ? value['lastSnapshotAttemptAt'] : value['lastSnapshotAttemptAt'].toISOString(),
|
|
152
183
|
'lastSnapshotStatus': value['lastSnapshotStatus'],
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
import type { Sandbox } from './Sandbox';
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @export
|
|
16
|
+
* @interface Share200Response
|
|
17
|
+
*/
|
|
18
|
+
export interface Share200Response {
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @type {Sandbox}
|
|
22
|
+
* @memberof Share200Response
|
|
23
|
+
*/
|
|
24
|
+
sandbox?: Sandbox;
|
|
25
|
+
/**
|
|
26
|
+
* True when the sandbox was running: what runs on it still holds your logins in memory, so it stays `view` for the organization until you stop and resume it.
|
|
27
|
+
* @type {boolean}
|
|
28
|
+
* @memberof Share200Response
|
|
29
|
+
*/
|
|
30
|
+
restartRequired?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @type {string}
|
|
34
|
+
* @memberof Share200Response
|
|
35
|
+
*/
|
|
36
|
+
message?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if a given object implements the Share200Response interface.
|
|
40
|
+
*/
|
|
41
|
+
export declare function instanceOfShare200Response(value: object): value is Share200Response;
|
|
42
|
+
export declare function Share200ResponseFromJSON(json: any): Share200Response;
|
|
43
|
+
export declare function Share200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): Share200Response;
|
|
44
|
+
export declare function Share200ResponseToJSON(json: any): Share200Response;
|
|
45
|
+
export declare function Share200ResponseToJSONTyped(value?: Share200Response | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,46 @@
|
|
|
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 { SandboxFromJSON, SandboxToJSON, } from './Sandbox';
|
|
15
|
+
/**
|
|
16
|
+
* Check if a given object implements the Share200Response interface.
|
|
17
|
+
*/
|
|
18
|
+
export function instanceOfShare200Response(value) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
export function Share200ResponseFromJSON(json) {
|
|
22
|
+
return Share200ResponseFromJSONTyped(json, false);
|
|
23
|
+
}
|
|
24
|
+
export function Share200ResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
25
|
+
if (json == null) {
|
|
26
|
+
return json;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
'sandbox': json['sandbox'] == null ? undefined : SandboxFromJSON(json['sandbox']),
|
|
30
|
+
'restartRequired': json['restartRequired'] == null ? undefined : json['restartRequired'],
|
|
31
|
+
'message': json['message'] == null ? undefined : json['message'],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function Share200ResponseToJSON(json) {
|
|
35
|
+
return Share200ResponseToJSONTyped(json, false);
|
|
36
|
+
}
|
|
37
|
+
export function Share200ResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
38
|
+
if (value == null) {
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
'sandbox': SandboxToJSON(value['sandbox']),
|
|
43
|
+
'restartRequired': value['restartRequired'],
|
|
44
|
+
'message': value['message'],
|
|
45
|
+
};
|
|
46
|
+
}
|
|
@@ -23,17 +23,23 @@ export interface WebhookEventData {
|
|
|
23
23
|
*/
|
|
24
24
|
sandbox: WebhookEventDataSandbox;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* On sandbox.ready, sandbox.error and sandbox.archived only.
|
|
27
27
|
* @type {string}
|
|
28
28
|
* @memberof WebhookEventData
|
|
29
29
|
*/
|
|
30
|
-
previousState
|
|
30
|
+
previousState?: string;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Absent on sandbox.hydrated.
|
|
33
|
+
* @type {string}
|
|
34
|
+
* @memberof WebhookEventData
|
|
35
|
+
*/
|
|
36
|
+
state?: string;
|
|
37
|
+
/**
|
|
38
|
+
* On sandbox.degraded and sandbox.recovered. Why the sandbox is degraded (null on recovered).
|
|
33
39
|
* @type {string}
|
|
34
40
|
* @memberof WebhookEventData
|
|
35
41
|
*/
|
|
36
|
-
|
|
42
|
+
reason?: string | null;
|
|
37
43
|
}
|
|
38
44
|
/**
|
|
39
45
|
* Check if a given object implements the WebhookEventData interface.
|
|
@@ -18,10 +18,6 @@ import { WebhookEventDataSandboxFromJSON, WebhookEventDataSandboxToJSON, } from
|
|
|
18
18
|
export function instanceOfWebhookEventData(value) {
|
|
19
19
|
if (!('sandbox' in value) || value['sandbox'] === undefined)
|
|
20
20
|
return false;
|
|
21
|
-
if (!('previousState' in value) || value['previousState'] === undefined)
|
|
22
|
-
return false;
|
|
23
|
-
if (!('state' in value) || value['state'] === undefined)
|
|
24
|
-
return false;
|
|
25
21
|
return true;
|
|
26
22
|
}
|
|
27
23
|
export function WebhookEventDataFromJSON(json) {
|
|
@@ -33,8 +29,9 @@ export function WebhookEventDataFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
33
29
|
}
|
|
34
30
|
return {
|
|
35
31
|
'sandbox': WebhookEventDataSandboxFromJSON(json['sandbox']),
|
|
36
|
-
'previousState': json['previousState'],
|
|
37
|
-
'state': json['state'],
|
|
32
|
+
'previousState': json['previousState'] == null ? undefined : json['previousState'],
|
|
33
|
+
'state': json['state'] == null ? undefined : json['state'],
|
|
34
|
+
'reason': json['reason'] == null ? undefined : json['reason'],
|
|
38
35
|
};
|
|
39
36
|
}
|
|
40
37
|
export function WebhookEventDataToJSON(json) {
|
|
@@ -48,5 +45,6 @@ export function WebhookEventDataToJSONTyped(value, ignoreDiscriminator = false)
|
|
|
48
45
|
'sandbox': WebhookEventDataSandboxToJSON(value['sandbox']),
|
|
49
46
|
'previousState': value['previousState'],
|
|
50
47
|
'state': value['state'],
|
|
48
|
+
'reason': value['reason'],
|
|
51
49
|
};
|
|
52
50
|
}
|
|
@@ -18,6 +18,8 @@ export declare const WebhookEventType: {
|
|
|
18
18
|
readonly SandboxError: 'sandbox.error';
|
|
19
19
|
readonly SandboxArchived: 'sandbox.archived';
|
|
20
20
|
readonly SandboxHydrated: 'sandbox.hydrated';
|
|
21
|
+
readonly SandboxDegraded: 'sandbox.degraded';
|
|
22
|
+
readonly SandboxRecovered: 'sandbox.recovered';
|
|
21
23
|
};
|
|
22
24
|
export type WebhookEventType = typeof WebhookEventType[keyof typeof WebhookEventType];
|
|
23
25
|
export declare function instanceOfWebhookEventType(value: any): boolean;
|
|
@@ -19,7 +19,9 @@ export const WebhookEventType = {
|
|
|
19
19
|
SandboxReady: 'sandbox.ready',
|
|
20
20
|
SandboxError: 'sandbox.error',
|
|
21
21
|
SandboxArchived: 'sandbox.archived',
|
|
22
|
-
SandboxHydrated: 'sandbox.hydrated'
|
|
22
|
+
SandboxHydrated: 'sandbox.hydrated',
|
|
23
|
+
SandboxDegraded: 'sandbox.degraded',
|
|
24
|
+
SandboxRecovered: 'sandbox.recovered'
|
|
23
25
|
};
|
|
24
26
|
export function instanceOfWebhookEventType(value) {
|
|
25
27
|
for (const key in WebhookEventType) {
|
|
@@ -99,6 +99,7 @@ export * from './SecretsUpdateRequest';
|
|
|
99
99
|
export * from './SelectedRepository';
|
|
100
100
|
export * from './SetEnvironmentSecretFileRequest';
|
|
101
101
|
export * from './SetEnvironmentVarRequest';
|
|
102
|
+
export * from './Share200Response';
|
|
102
103
|
export * from './SnapshotChunk';
|
|
103
104
|
export * from './SnapshotDownloadResponse';
|
|
104
105
|
export * from './SnapshotDownloadResponseAllOfInventory';
|
package/dist/esm/models/index.js
CHANGED
|
@@ -101,6 +101,7 @@ export * from './SecretsUpdateRequest';
|
|
|
101
101
|
export * from './SelectedRepository';
|
|
102
102
|
export * from './SetEnvironmentSecretFileRequest';
|
|
103
103
|
export * from './SetEnvironmentVarRequest';
|
|
104
|
+
export * from './Share200Response';
|
|
104
105
|
export * from './SnapshotChunk';
|
|
105
106
|
export * from './SnapshotDownloadResponse';
|
|
106
107
|
export * from './SnapshotDownloadResponseAllOfInventory';
|
|
@@ -54,7 +54,7 @@ export interface CreateSandboxRequest {
|
|
|
54
54
|
*/
|
|
55
55
|
snapshots?: boolean;
|
|
56
56
|
/**
|
|
57
|
-
* Pass `true` to get a sandbox only if a machine of this type is ready right now. The call answers within about 1.5 s: either the usual `202` with the sandbox, or `503` `no_ready_machine` with nothing created, billed, or counted against your start limits, so you can retry or fall back at once. Without it, a create waits for a machine to be built when none is ready.
|
|
57
|
+
* Pass `true` to get a sandbox only if a machine of this type is ready right now. The call answers within about 1.5 s: either the usual `202` with the sandbox, or `503` `no_ready_machine` with nothing created, billed, or counted against your start limits, so you can retry or fall back at once. Without it, a create waits for a machine to be built when none is ready. Works with `from`; fork and resume take it too.
|
|
58
58
|
* @type {boolean}
|
|
59
59
|
* @memberof CreateSandboxRequest
|
|
60
60
|
*/
|
|
@@ -15,6 +15,12 @@
|
|
|
15
15
|
* @interface ForkRequest
|
|
16
16
|
*/
|
|
17
17
|
export interface ForkRequest {
|
|
18
|
+
/**
|
|
19
|
+
* Pass `true` to fork only if a machine is ready right now. Within about 1.5 s you get the usual `202`, or `503` `no_ready_machine` with no fork created and nothing counted against your start limits.
|
|
20
|
+
* @type {boolean}
|
|
21
|
+
* @memberof ForkRequest
|
|
22
|
+
*/
|
|
23
|
+
failFast?: boolean;
|
|
18
24
|
/**
|
|
19
25
|
* Replaces the env the fork would otherwise inherit from the source sandbox. Same validation rules as `CreateSandboxRequest.env`.
|
|
20
26
|
* @type {{ [key: string]: string; }}
|
|
@@ -41,6 +41,7 @@ function ForkRequestFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
41
41
|
return json;
|
|
42
42
|
}
|
|
43
43
|
return {
|
|
44
|
+
'failFast': json['failFast'] == null ? undefined : json['failFast'],
|
|
44
45
|
'env': json['env'] == null ? undefined : json['env'],
|
|
45
46
|
'environment': json['environment'] == null ? undefined : json['environment'],
|
|
46
47
|
'noEnv': json['noEnv'] == null ? undefined : json['noEnv'],
|
|
@@ -56,6 +57,7 @@ function ForkRequestToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
56
57
|
return value;
|
|
57
58
|
}
|
|
58
59
|
return {
|
|
60
|
+
'failFast': value['failFast'],
|
|
59
61
|
'env': value['env'],
|
|
60
62
|
'environment': value['environment'],
|
|
61
63
|
'noEnv': value['noEnv'],
|
|
@@ -40,6 +40,12 @@ export interface PromptRequest {
|
|
|
40
40
|
* @memberof PromptRequest
|
|
41
41
|
*/
|
|
42
42
|
reasoningEffort?: string | null;
|
|
43
|
+
/**
|
|
44
|
+
* Optional. `true` runs this prompt in fast mode. The model stays the same and gives output faster. The provider bills fast mode at its higher fast rate. Omit to use the choice saved on the Agents dashboard for that model. `false` forces standard speed. Only models with `fastMode` set to `true` in `GET /provider-models` accept `true`. Other models return 400 `fast_mode_not_supported`.
|
|
45
|
+
* @type {boolean}
|
|
46
|
+
* @memberof PromptRequest
|
|
47
|
+
*/
|
|
48
|
+
fast?: boolean | null;
|
|
43
49
|
/**
|
|
44
50
|
* Start a NEW conversation on the sandbox (runs in parallel with any existing ones) instead of continuing the most-recently-active one. Mutually exclusive with `conversationId`.
|
|
45
51
|
* @type {boolean}
|
|
@@ -54,6 +54,7 @@ function PromptRequestFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
54
54
|
'provider': json['provider'],
|
|
55
55
|
'model': json['model'] == null ? undefined : json['model'],
|
|
56
56
|
'reasoningEffort': json['reasoningEffort'] == null ? undefined : json['reasoningEffort'],
|
|
57
|
+
'fast': json['fast'] == null ? undefined : json['fast'],
|
|
57
58
|
'_new': json['new'] == null ? undefined : json['new'],
|
|
58
59
|
'conversationId': json['conversationId'] == null ? undefined : json['conversationId'],
|
|
59
60
|
'prompt': json['prompt'],
|
|
@@ -70,6 +71,7 @@ function PromptRequestToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
70
71
|
'provider': value['provider'],
|
|
71
72
|
'model': value['model'],
|
|
72
73
|
'reasoningEffort': value['reasoningEffort'],
|
|
74
|
+
'fast': value['fast'],
|
|
73
75
|
'new': value['_new'],
|
|
74
76
|
'conversationId': value['conversationId'],
|
|
75
77
|
'prompt': value['prompt'],
|
|
@@ -70,6 +70,7 @@ function PromptResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
70
70
|
'provider': json['provider'],
|
|
71
71
|
'model': json['model'] == null ? undefined : json['model'],
|
|
72
72
|
'reasoningEffort': json['reasoningEffort'] == null ? undefined : json['reasoningEffort'],
|
|
73
|
+
'fast': json['fast'] == null ? undefined : json['fast'],
|
|
73
74
|
};
|
|
74
75
|
}
|
|
75
76
|
function PromptResponseToJSON(json) {
|
|
@@ -90,5 +91,6 @@ function PromptResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
90
91
|
'provider': value['provider'],
|
|
91
92
|
'model': value['model'],
|
|
92
93
|
'reasoningEffort': value['reasoningEffort'],
|
|
94
|
+
'fast': value['fast'],
|
|
93
95
|
};
|
|
94
96
|
}
|
|
@@ -63,6 +63,12 @@ export interface PromptRun {
|
|
|
63
63
|
* @memberof PromptRun
|
|
64
64
|
*/
|
|
65
65
|
reasoningEffort?: string | null;
|
|
66
|
+
/**
|
|
67
|
+
* The prompt runs in fast mode. `null` means no speed is set yet. The prompt waits without a speed choice, or it ended without running (`done` is true). The speed is set when the prompt starts, for the model that runs.
|
|
68
|
+
* @type {boolean}
|
|
69
|
+
* @memberof PromptRun
|
|
70
|
+
*/
|
|
71
|
+
fast?: boolean | null;
|
|
66
72
|
/**
|
|
67
73
|
* The conversation this prompt ran in. A Sandbox runs many conversations in parallel; see [Integrated agents](/integrated-agents).
|
|
68
74
|
* @type {string}
|
package/dist/models/PromptRun.js
CHANGED
|
@@ -62,6 +62,7 @@ function PromptRunFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
62
62
|
'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])),
|
|
63
63
|
'model': json['model'] == null ? undefined : json['model'],
|
|
64
64
|
'reasoningEffort': json['reasoningEffort'] == null ? undefined : json['reasoningEffort'],
|
|
65
|
+
'fast': json['fast'] == null ? undefined : json['fast'],
|
|
65
66
|
'conversationId': json['conversationId'] == null ? undefined : json['conversationId'],
|
|
66
67
|
};
|
|
67
68
|
}
|
|
@@ -81,6 +82,7 @@ function PromptRunToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
81
82
|
'createdAt': value['createdAt'] == null ? value['createdAt'] : value['createdAt'].toISOString(),
|
|
82
83
|
'model': value['model'],
|
|
83
84
|
'reasoningEffort': value['reasoningEffort'],
|
|
85
|
+
'fast': value['fast'],
|
|
84
86
|
'conversationId': value['conversationId'],
|
|
85
87
|
};
|
|
86
88
|
}
|
|
@@ -15,6 +15,12 @@
|
|
|
15
15
|
* @interface ResumeRequest
|
|
16
16
|
*/
|
|
17
17
|
export interface ResumeRequest {
|
|
18
|
+
/**
|
|
19
|
+
* Pass `true` to resume only if a machine is ready right now. Within about 1.5 s you get the usual `202`, or `503` `no_ready_machine` with the sandbox left stopped and nothing counted against your start limits.
|
|
20
|
+
* @type {boolean}
|
|
21
|
+
* @memberof ResumeRequest
|
|
22
|
+
*/
|
|
23
|
+
failFast?: boolean;
|
|
18
24
|
/**
|
|
19
25
|
* Resume onto a different machine size. Omit to keep the sandbox's current type. A resume already restores onto a fresh machine, so changing size costs nothing extra. Shrinking is rejected with `type_too_small` when the sandbox's data would not fit the smaller disk.
|
|
20
26
|
* @type {ResumeRequestTypeEnum}
|
|
@@ -41,6 +41,7 @@ function ResumeRequestFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
41
41
|
return json;
|
|
42
42
|
}
|
|
43
43
|
return {
|
|
44
|
+
'failFast': json['failFast'] == null ? undefined : json['failFast'],
|
|
44
45
|
'type': json['type'] == null ? undefined : json['type'],
|
|
45
46
|
'env': json['env'] == null ? undefined : json['env'],
|
|
46
47
|
'environment': json['environment'] == null ? undefined : json['environment'],
|
|
@@ -56,6 +57,7 @@ function ResumeRequestToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
56
57
|
return value;
|
|
57
58
|
}
|
|
58
59
|
return {
|
|
60
|
+
'failFast': value['failFast'],
|
|
59
61
|
'type': value['type'],
|
|
60
62
|
'env': value['env'],
|
|
61
63
|
'environment': value['environment'],
|
package/dist/models/Sandbox.d.ts
CHANGED
|
@@ -40,6 +40,24 @@ export interface Sandbox {
|
|
|
40
40
|
* @memberof Sandbox
|
|
41
41
|
*/
|
|
42
42
|
error?: string | null;
|
|
43
|
+
/**
|
|
44
|
+
* `degraded` when the machine is alive but Boat cannot fully reach it (for example a firewall rule inside the sandbox blocks the tunnel). The sandbox keeps running.
|
|
45
|
+
* @type {SandboxHealthEnum}
|
|
46
|
+
* @memberof Sandbox
|
|
47
|
+
*/
|
|
48
|
+
health?: SandboxHealthEnum;
|
|
49
|
+
/**
|
|
50
|
+
* Why the sandbox is degraded, or null.
|
|
51
|
+
* @type {string}
|
|
52
|
+
* @memberof Sandbox
|
|
53
|
+
*/
|
|
54
|
+
healthReason?: string | null;
|
|
55
|
+
/**
|
|
56
|
+
* When the sandbox became degraded, or null.
|
|
57
|
+
* @type {Date}
|
|
58
|
+
* @memberof Sandbox
|
|
59
|
+
*/
|
|
60
|
+
degradedSince?: Date | null;
|
|
43
61
|
/**
|
|
44
62
|
* Current machine size: what the sandbox was created with, or the size it was last resumed or forked onto.
|
|
45
63
|
* @type {SandboxTypeEnum}
|
|
@@ -148,6 +166,36 @@ export interface Sandbox {
|
|
|
148
166
|
* @memberof Sandbox
|
|
149
167
|
*/
|
|
150
168
|
team?: SandboxTeam;
|
|
169
|
+
/**
|
|
170
|
+
* Display name (or email) of the person who created the sandbox. Organization members see every sandbox the organization pays for, so this says whose it is.
|
|
171
|
+
* @type {string}
|
|
172
|
+
* @memberof Sandbox
|
|
173
|
+
*/
|
|
174
|
+
createdBy?: string | null;
|
|
175
|
+
/**
|
|
176
|
+
* Account id of the person who created the sandbox.
|
|
177
|
+
* @type {string}
|
|
178
|
+
* @memberof Sandbox
|
|
179
|
+
*/
|
|
180
|
+
createdById?: string | null;
|
|
181
|
+
/**
|
|
182
|
+
* What you may do with this sandbox. `owner`: you created it. `use`: a teammate's organization sandbox that is `noEnv` (created with it, or shared and restarted), 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`).
|
|
183
|
+
* @type {SandboxAccessEnum}
|
|
184
|
+
* @memberof Sandbox
|
|
185
|
+
*/
|
|
186
|
+
access?: SandboxAccessEnum;
|
|
187
|
+
/**
|
|
188
|
+
* True while the sandbox still holds its creator's personal logins (GitHub token, model logins, secrets). Other members can only see such a sandbox.
|
|
189
|
+
* @type {boolean}
|
|
190
|
+
* @memberof Sandbox
|
|
191
|
+
*/
|
|
192
|
+
holdsCreatorLogins?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* True once the sandbox is shared but not restarted yet. Its creator's logins are wiped at its next start, and the organization can use it from then on.
|
|
195
|
+
* @type {boolean}
|
|
196
|
+
* @memberof Sandbox
|
|
197
|
+
*/
|
|
198
|
+
wipePendingUntilRestart?: boolean;
|
|
151
199
|
/**
|
|
152
200
|
* The sandbox's stable three-word subdomain slug (e.g. "frazil-pneuma-rallye"), or null before one is assigned.
|
|
153
201
|
* @type {string}
|
|
@@ -208,6 +256,14 @@ export declare const SandboxStateEnum: {
|
|
|
208
256
|
readonly Cancelled: 'cancelled';
|
|
209
257
|
};
|
|
210
258
|
export type SandboxStateEnum = typeof SandboxStateEnum[keyof typeof SandboxStateEnum];
|
|
259
|
+
/**
|
|
260
|
+
* @export
|
|
261
|
+
*/
|
|
262
|
+
export declare const SandboxHealthEnum: {
|
|
263
|
+
readonly Ok: 'ok';
|
|
264
|
+
readonly Degraded: 'degraded';
|
|
265
|
+
};
|
|
266
|
+
export type SandboxHealthEnum = typeof SandboxHealthEnum[keyof typeof SandboxHealthEnum];
|
|
211
267
|
/**
|
|
212
268
|
* @export
|
|
213
269
|
*/
|
|
@@ -225,6 +281,15 @@ export declare const SandboxMachineProviderEnum: {
|
|
|
225
281
|
readonly Baremetal: 'baremetal';
|
|
226
282
|
};
|
|
227
283
|
export type SandboxMachineProviderEnum = typeof SandboxMachineProviderEnum[keyof typeof SandboxMachineProviderEnum];
|
|
284
|
+
/**
|
|
285
|
+
* @export
|
|
286
|
+
*/
|
|
287
|
+
export declare const SandboxAccessEnum: {
|
|
288
|
+
readonly Owner: 'owner';
|
|
289
|
+
readonly Use: 'use';
|
|
290
|
+
readonly View: 'view';
|
|
291
|
+
};
|
|
292
|
+
export type SandboxAccessEnum = typeof SandboxAccessEnum[keyof typeof SandboxAccessEnum];
|
|
228
293
|
/**
|
|
229
294
|
* @export
|
|
230
295
|
*/
|