@boatdev/sdk 1.7.0 → 1.9.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 +12 -0
- package/dist/apis/BoatApi.d.ts +102 -4
- package/dist/apis/BoatApi.js +233 -4
- package/dist/esm/apis/BoatApi.d.ts +102 -4
- package/dist/esm/apis/BoatApi.js +233 -4
- package/dist/esm/http2-fetch.d.ts +1 -0
- package/dist/esm/http2-fetch.js +203 -0
- package/dist/esm/models/CreateSandboxRequest.d.ts +4 -3
- package/dist/esm/models/CreateSandboxRequest.js +2 -1
- package/dist/esm/models/ForkRequest.d.ts +2 -1
- package/dist/esm/models/ForkRequest.js +2 -1
- package/dist/esm/models/NamedSnapshotShare.d.ts +76 -0
- package/dist/esm/models/NamedSnapshotShare.js +74 -0
- package/dist/esm/models/NamedSnapshotShareCreatedResponse.d.ts +64 -0
- package/dist/esm/models/NamedSnapshotShareCreatedResponse.js +66 -0
- package/dist/esm/models/NamedSnapshotShareListResponse.d.ts +58 -0
- package/dist/esm/models/NamedSnapshotShareListResponse.js +62 -0
- package/dist/esm/models/NamedSnapshotShareRevokedResponse.d.ts +58 -0
- package/dist/esm/models/NamedSnapshotShareRevokedResponse.js +62 -0
- package/dist/esm/models/Recover200Response.d.ts +57 -0
- package/dist/esm/models/Recover200Response.js +53 -0
- package/dist/esm/models/ResumeRequest.d.ts +2 -1
- package/dist/esm/models/ResumeRequest.js +2 -1
- package/dist/esm/models/Sandbox.d.ts +2 -1
- package/dist/esm/models/Sandbox.js +2 -1
- package/dist/esm/models/SandboxUsageResponse.d.ts +2 -1
- package/dist/esm/models/SandboxUsageResponse.js +2 -1
- package/dist/esm/models/StopOperation.d.ts +1 -1
- package/dist/esm/models/StopOperationResponse.d.ts +58 -0
- package/dist/esm/models/StopOperationResponse.js +62 -0
- package/dist/esm/models/StopRequest.d.ts +1 -1
- package/dist/esm/models/UpdateSandboxRequest.d.ts +1 -1
- package/dist/esm/models/index.d.ts +6 -0
- package/dist/esm/models/index.js +6 -0
- package/dist/esm/runtime.js +2 -1
- package/dist/http2-fetch.d.ts +1 -0
- package/dist/http2-fetch.js +239 -0
- package/dist/models/CreateSandboxRequest.d.ts +4 -3
- package/dist/models/CreateSandboxRequest.js +2 -1
- package/dist/models/ForkRequest.d.ts +2 -1
- package/dist/models/ForkRequest.js +2 -1
- package/dist/models/NamedSnapshotShare.d.ts +76 -0
- package/dist/models/NamedSnapshotShare.js +82 -0
- package/dist/models/NamedSnapshotShareCreatedResponse.d.ts +64 -0
- package/dist/models/NamedSnapshotShareCreatedResponse.js +74 -0
- package/dist/models/NamedSnapshotShareListResponse.d.ts +58 -0
- package/dist/models/NamedSnapshotShareListResponse.js +70 -0
- package/dist/models/NamedSnapshotShareRevokedResponse.d.ts +58 -0
- package/dist/models/NamedSnapshotShareRevokedResponse.js +70 -0
- package/dist/models/Recover200Response.d.ts +57 -0
- package/dist/models/Recover200Response.js +61 -0
- package/dist/models/ResumeRequest.d.ts +2 -1
- package/dist/models/ResumeRequest.js +2 -1
- package/dist/models/Sandbox.d.ts +2 -1
- package/dist/models/Sandbox.js +2 -1
- package/dist/models/SandboxUsageResponse.d.ts +2 -1
- package/dist/models/SandboxUsageResponse.js +2 -1
- package/dist/models/StopOperation.d.ts +1 -1
- package/dist/models/StopOperationResponse.d.ts +58 -0
- package/dist/models/StopOperationResponse.js +70 -0
- package/dist/models/StopRequest.d.ts +1 -1
- package/dist/models/UpdateSandboxRequest.d.ts +1 -1
- package/dist/models/index.d.ts +6 -0
- package/dist/models/index.js +6 -0
- package/dist/runtime.js +9 -8
- package/docs/BoatApi.md +385 -2
- package/docs/NamedSnapshotShare.md +45 -0
- package/docs/NamedSnapshotShareCreatedResponse.md +40 -0
- package/docs/NamedSnapshotShareListResponse.md +38 -0
- package/docs/NamedSnapshotShareRevokedResponse.md +38 -0
- package/docs/Recover200Response.md +38 -0
- package/docs/StopOperationResponse.md +38 -0
- package/package.json +1 -1
- package/src/apis/BoatApi.ts +348 -4
- package/src/http2-fetch.ts +179 -0
- package/src/models/CreateSandboxRequest.ts +5 -4
- package/src/models/ForkRequest.ts +3 -2
- package/src/models/NamedSnapshotShare.ts +131 -0
- package/src/models/NamedSnapshotShareCreatedResponse.ts +120 -0
- package/src/models/NamedSnapshotShareListResponse.ts +111 -0
- package/src/models/NamedSnapshotShareRevokedResponse.ts +111 -0
- package/src/models/Recover200Response.ts +99 -0
- package/src/models/ResumeRequest.ts +3 -2
- package/src/models/Sandbox.ts +3 -2
- package/src/models/SandboxUsageResponse.ts +3 -2
- package/src/models/StopOperation.ts +1 -1
- package/src/models/StopOperationResponse.ts +111 -0
- package/src/models/StopRequest.ts +1 -1
- package/src/models/UpdateSandboxRequest.ts +1 -1
- package/src/models/index.ts +6 -0
- package/src/runtime.ts +2 -1
package/dist/apis/BoatApi.js
CHANGED
|
@@ -84,10 +84,14 @@ const NamedSnapshotInfoResponse_1 = require("../models/NamedSnapshotInfoResponse
|
|
|
84
84
|
const NamedSnapshotListResponse_1 = require("../models/NamedSnapshotListResponse");
|
|
85
85
|
const NamedSnapshotSaveRequest_1 = require("../models/NamedSnapshotSaveRequest");
|
|
86
86
|
const NamedSnapshotSavingResponse_1 = require("../models/NamedSnapshotSavingResponse");
|
|
87
|
+
const NamedSnapshotShareCreatedResponse_1 = require("../models/NamedSnapshotShareCreatedResponse");
|
|
88
|
+
const NamedSnapshotShareListResponse_1 = require("../models/NamedSnapshotShareListResponse");
|
|
89
|
+
const NamedSnapshotShareRevokedResponse_1 = require("../models/NamedSnapshotShareRevokedResponse");
|
|
87
90
|
const OrgListResponse_1 = require("../models/OrgListResponse");
|
|
88
91
|
const PromptRequest_1 = require("../models/PromptRequest");
|
|
89
92
|
const PromptResponse_1 = require("../models/PromptResponse");
|
|
90
93
|
const PromptRunResponse_1 = require("../models/PromptRunResponse");
|
|
94
|
+
const Recover200Response_1 = require("../models/Recover200Response");
|
|
91
95
|
const RepoSelectionRequest_1 = require("../models/RepoSelectionRequest");
|
|
92
96
|
const RepoSelectionResponse_1 = require("../models/RepoSelectionResponse");
|
|
93
97
|
const ReposResponse_1 = require("../models/ReposResponse");
|
|
@@ -111,6 +115,7 @@ const SshKeyRequest_1 = require("../models/SshKeyRequest");
|
|
|
111
115
|
const SshKeyResponse_1 = require("../models/SshKeyResponse");
|
|
112
116
|
const SteerRequest_1 = require("../models/SteerRequest");
|
|
113
117
|
const SteerResponse_1 = require("../models/SteerResponse");
|
|
118
|
+
const StopOperationResponse_1 = require("../models/StopOperationResponse");
|
|
114
119
|
const StopRequest_1 = require("../models/StopRequest");
|
|
115
120
|
const UpdateSandboxEnvironmentRequest_1 = require("../models/UpdateSandboxEnvironmentRequest");
|
|
116
121
|
const UpdateSandboxRequest_1 = require("../models/UpdateSandboxRequest");
|
|
@@ -286,6 +291,7 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
286
291
|
};
|
|
287
292
|
}
|
|
288
293
|
/**
|
|
294
|
+
* Downloads one file of up to 50 MiB, under /home/user or /tmp, as raw bytes.
|
|
289
295
|
* Download a sandbox artifact
|
|
290
296
|
*/
|
|
291
297
|
async artifactRaw(requestParameters, initOverrides) {
|
|
@@ -294,6 +300,7 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
294
300
|
return new runtime.BlobApiResponse(response);
|
|
295
301
|
}
|
|
296
302
|
/**
|
|
303
|
+
* Downloads one file of up to 50 MiB, under /home/user or /tmp, as raw bytes.
|
|
297
304
|
* Download a sandbox artifact
|
|
298
305
|
*/
|
|
299
306
|
async artifact(requestParameters, initOverrides) {
|
|
@@ -575,6 +582,48 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
575
582
|
const response = await this.createScopedApiKeyRaw(requestParameters, initOverrides);
|
|
576
583
|
return await response.value();
|
|
577
584
|
}
|
|
585
|
+
/**
|
|
586
|
+
* Creates request options for createSnapshotShare without sending the request
|
|
587
|
+
*/
|
|
588
|
+
async createSnapshotShareRequestOpts(requestParameters) {
|
|
589
|
+
if (requestParameters['name'] == null) {
|
|
590
|
+
throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling createSnapshotShare().');
|
|
591
|
+
}
|
|
592
|
+
const queryParameters = {};
|
|
593
|
+
const headerParameters = {};
|
|
594
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
595
|
+
const token = this.configuration.accessToken;
|
|
596
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
597
|
+
if (tokenString) {
|
|
598
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
let urlPath = `/named-snapshots/{name}/shares`;
|
|
602
|
+
urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
|
|
603
|
+
return {
|
|
604
|
+
path: urlPath,
|
|
605
|
+
method: 'POST',
|
|
606
|
+
headers: headerParameters,
|
|
607
|
+
query: queryParameters,
|
|
608
|
+
};
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* Make a secret code that lets any Boat account create a sandbox from this named snapshot (`boat snapshot share <name>` in the CLI). The response shows the code once; Boat stores only a hash. Re-saving the name changes what the code deploys. Removing the name removes its codes. Everything on the disk is shared, so do not keep secrets in files on it. Needs `snapshot.write`.
|
|
612
|
+
* Share a named snapshot
|
|
613
|
+
*/
|
|
614
|
+
async createSnapshotShareRaw(requestParameters, initOverrides) {
|
|
615
|
+
const requestOptions = await this.createSnapshotShareRequestOpts(requestParameters);
|
|
616
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
617
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, NamedSnapshotShareCreatedResponse_1.NamedSnapshotShareCreatedResponseFromJSON)(jsonValue));
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Make a secret code that lets any Boat account create a sandbox from this named snapshot (`boat snapshot share <name>` in the CLI). The response shows the code once; Boat stores only a hash. Re-saving the name changes what the code deploys. Removing the name removes its codes. Everything on the disk is shared, so do not keep secrets in files on it. Needs `snapshot.write`.
|
|
621
|
+
* Share a named snapshot
|
|
622
|
+
*/
|
|
623
|
+
async createSnapshotShare(requestParameters, initOverrides) {
|
|
624
|
+
const response = await this.createSnapshotShareRaw(requestParameters, initOverrides);
|
|
625
|
+
return await response.value();
|
|
626
|
+
}
|
|
578
627
|
/**
|
|
579
628
|
* Creates request options for createWebhook without sending the request
|
|
580
629
|
*/
|
|
@@ -1556,6 +1605,52 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
1556
1605
|
const response = await this.getSnapshotTreeRaw(requestParameters, initOverrides);
|
|
1557
1606
|
return await response.value();
|
|
1558
1607
|
}
|
|
1608
|
+
/**
|
|
1609
|
+
* Creates request options for getStop without sending the request
|
|
1610
|
+
*/
|
|
1611
|
+
async getStopRequestOpts(requestParameters) {
|
|
1612
|
+
if (requestParameters['sandboxId'] == null) {
|
|
1613
|
+
throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling getStop().');
|
|
1614
|
+
}
|
|
1615
|
+
if (requestParameters['stopId'] == null) {
|
|
1616
|
+
throw new runtime.RequiredError('stopId', 'Required parameter "stopId" was null or undefined when calling getStop().');
|
|
1617
|
+
}
|
|
1618
|
+
const queryParameters = {};
|
|
1619
|
+
const headerParameters = {};
|
|
1620
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1621
|
+
const token = this.configuration.accessToken;
|
|
1622
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
1623
|
+
if (tokenString) {
|
|
1624
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1625
|
+
}
|
|
1626
|
+
}
|
|
1627
|
+
let urlPath = `/sandboxes/{sandboxId}/stops/{stopId}`;
|
|
1628
|
+
urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
|
|
1629
|
+
urlPath = urlPath.replace('{stopId}', encodeURIComponent(String(requestParameters['stopId'])));
|
|
1630
|
+
return {
|
|
1631
|
+
path: urlPath,
|
|
1632
|
+
method: 'GET',
|
|
1633
|
+
headers: headerParameters,
|
|
1634
|
+
query: queryParameters,
|
|
1635
|
+
};
|
|
1636
|
+
}
|
|
1637
|
+
/**
|
|
1638
|
+
* Returns one stop of this sandbox by the id that `POST /sandboxes/{sandboxId}/stop` returned. Old stops stay readable after a resume or a later stop. Returns 404 when the id is unknown or belongs to another sandbox.
|
|
1639
|
+
* Get a stop by id
|
|
1640
|
+
*/
|
|
1641
|
+
async getStopRaw(requestParameters, initOverrides) {
|
|
1642
|
+
const requestOptions = await this.getStopRequestOpts(requestParameters);
|
|
1643
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
1644
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, StopOperationResponse_1.StopOperationResponseFromJSON)(jsonValue));
|
|
1645
|
+
}
|
|
1646
|
+
/**
|
|
1647
|
+
* Returns one stop of this sandbox by the id that `POST /sandboxes/{sandboxId}/stop` returned. Old stops stay readable after a resume or a later stop. Returns 404 when the id is unknown or belongs to another sandbox.
|
|
1648
|
+
* Get a stop by id
|
|
1649
|
+
*/
|
|
1650
|
+
async getStop(requestParameters, initOverrides) {
|
|
1651
|
+
const response = await this.getStopRaw(requestParameters, initOverrides);
|
|
1652
|
+
return await response.value();
|
|
1653
|
+
}
|
|
1559
1654
|
/**
|
|
1560
1655
|
* Creates request options for getWebhook without sending the request
|
|
1561
1656
|
*/
|
|
@@ -1865,6 +1960,48 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
1865
1960
|
const response = await this.listSandboxSnapshotsRaw(requestParameters, initOverrides);
|
|
1866
1961
|
return await response.value();
|
|
1867
1962
|
}
|
|
1963
|
+
/**
|
|
1964
|
+
* Creates request options for listSnapshotShares without sending the request
|
|
1965
|
+
*/
|
|
1966
|
+
async listSnapshotSharesRequestOpts(requestParameters) {
|
|
1967
|
+
if (requestParameters['name'] == null) {
|
|
1968
|
+
throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling listSnapshotShares().');
|
|
1969
|
+
}
|
|
1970
|
+
const queryParameters = {};
|
|
1971
|
+
const headerParameters = {};
|
|
1972
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1973
|
+
const token = this.configuration.accessToken;
|
|
1974
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
1975
|
+
if (tokenString) {
|
|
1976
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1977
|
+
}
|
|
1978
|
+
}
|
|
1979
|
+
let urlPath = `/named-snapshots/{name}/shares`;
|
|
1980
|
+
urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
|
|
1981
|
+
return {
|
|
1982
|
+
path: urlPath,
|
|
1983
|
+
method: 'GET',
|
|
1984
|
+
headers: headerParameters,
|
|
1985
|
+
query: queryParameters,
|
|
1986
|
+
};
|
|
1987
|
+
}
|
|
1988
|
+
/**
|
|
1989
|
+
* List the share codes of a named snapshot, active and revoked (`boat snapshot shares <name>` in the CLI). The full codes are not returned. Needs `snapshot.read`.
|
|
1990
|
+
* List share codes of a named snapshot
|
|
1991
|
+
*/
|
|
1992
|
+
async listSnapshotSharesRaw(requestParameters, initOverrides) {
|
|
1993
|
+
const requestOptions = await this.listSnapshotSharesRequestOpts(requestParameters);
|
|
1994
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
1995
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, NamedSnapshotShareListResponse_1.NamedSnapshotShareListResponseFromJSON)(jsonValue));
|
|
1996
|
+
}
|
|
1997
|
+
/**
|
|
1998
|
+
* List the share codes of a named snapshot, active and revoked (`boat snapshot shares <name>` in the CLI). The full codes are not returned. Needs `snapshot.read`.
|
|
1999
|
+
* List share codes of a named snapshot
|
|
2000
|
+
*/
|
|
2001
|
+
async listSnapshotShares(requestParameters, initOverrides) {
|
|
2002
|
+
const response = await this.listSnapshotSharesRaw(requestParameters, initOverrides);
|
|
2003
|
+
return await response.value();
|
|
2004
|
+
}
|
|
1868
2005
|
/**
|
|
1869
2006
|
* Creates request options for listSnapshots without sending the request
|
|
1870
2007
|
*/
|
|
@@ -2117,6 +2254,7 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
2117
2254
|
};
|
|
2118
2255
|
}
|
|
2119
2256
|
/**
|
|
2257
|
+
* Files up to 5 MiB. Use `GET /sandboxes/{sandboxId}/artifacts` for files up to 50 MiB, and SCP over SSH for larger ones.
|
|
2120
2258
|
* Read a file from a sandbox
|
|
2121
2259
|
*/
|
|
2122
2260
|
async readFileRaw(requestParameters, initOverrides) {
|
|
@@ -2125,12 +2263,55 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
2125
2263
|
return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileReadResponse_1.FileReadResponseFromJSON)(jsonValue));
|
|
2126
2264
|
}
|
|
2127
2265
|
/**
|
|
2266
|
+
* Files up to 5 MiB. Use `GET /sandboxes/{sandboxId}/artifacts` for files up to 50 MiB, and SCP over SSH for larger ones.
|
|
2128
2267
|
* Read a file from a sandbox
|
|
2129
2268
|
*/
|
|
2130
2269
|
async readFile(requestParameters, initOverrides) {
|
|
2131
2270
|
const response = await this.readFileRaw(requestParameters, initOverrides);
|
|
2132
2271
|
return await response.value();
|
|
2133
2272
|
}
|
|
2273
|
+
/**
|
|
2274
|
+
* Creates request options for recover without sending the request
|
|
2275
|
+
*/
|
|
2276
|
+
async recoverRequestOpts(requestParameters) {
|
|
2277
|
+
if (requestParameters['sandboxId'] == null) {
|
|
2278
|
+
throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling recover().');
|
|
2279
|
+
}
|
|
2280
|
+
const queryParameters = {};
|
|
2281
|
+
const headerParameters = {};
|
|
2282
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2283
|
+
const token = this.configuration.accessToken;
|
|
2284
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
2285
|
+
if (tokenString) {
|
|
2286
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2287
|
+
}
|
|
2288
|
+
}
|
|
2289
|
+
let urlPath = `/sandboxes/{sandboxId}/recover`;
|
|
2290
|
+
urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
|
|
2291
|
+
return {
|
|
2292
|
+
path: urlPath,
|
|
2293
|
+
method: 'POST',
|
|
2294
|
+
headers: headerParameters,
|
|
2295
|
+
query: queryParameters,
|
|
2296
|
+
};
|
|
2297
|
+
}
|
|
2298
|
+
/**
|
|
2299
|
+
* Power-cycle the machine of a sandbox that stopped answering. The disk is not touched. The sandbox usually answers again within 1-2 minutes and then saves your work by itself; `sandbox.recovered` fires when it does. Refused with `409`: - `sandbox_is_reachable`: the sandbox answers normally. - `too_soon`: a recover started less than 10 minutes ago. - `no_machine`: the sandbox has no machine. Resume it instead. - `recover_unsupported`: its machine cannot be power-cycled. Wait for it to answer, or resume it from its last snapshot. - `reset_failed`: the power-cycle failed. Reply to the incident email.
|
|
2300
|
+
* Recover a sandbox that stopped responding
|
|
2301
|
+
*/
|
|
2302
|
+
async recoverRaw(requestParameters, initOverrides) {
|
|
2303
|
+
const requestOptions = await this.recoverRequestOpts(requestParameters);
|
|
2304
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
2305
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, Recover200Response_1.Recover200ResponseFromJSON)(jsonValue));
|
|
2306
|
+
}
|
|
2307
|
+
/**
|
|
2308
|
+
* Power-cycle the machine of a sandbox that stopped answering. The disk is not touched. The sandbox usually answers again within 1-2 minutes and then saves your work by itself; `sandbox.recovered` fires when it does. Refused with `409`: - `sandbox_is_reachable`: the sandbox answers normally. - `too_soon`: a recover started less than 10 minutes ago. - `no_machine`: the sandbox has no machine. Resume it instead. - `recover_unsupported`: its machine cannot be power-cycled. Wait for it to answer, or resume it from its last snapshot. - `reset_failed`: the power-cycle failed. Reply to the incident email.
|
|
2309
|
+
* Recover a sandbox that stopped responding
|
|
2310
|
+
*/
|
|
2311
|
+
async recover(requestParameters, initOverrides) {
|
|
2312
|
+
const response = await this.recoverRaw(requestParameters, initOverrides);
|
|
2313
|
+
return await response.value();
|
|
2314
|
+
}
|
|
2134
2315
|
/**
|
|
2135
2316
|
* Creates request options for repos without sending the request
|
|
2136
2317
|
*/
|
|
@@ -2272,6 +2453,52 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
2272
2453
|
const response = await this.revokeApiKeyRaw(requestParameters, initOverrides);
|
|
2273
2454
|
return await response.value();
|
|
2274
2455
|
}
|
|
2456
|
+
/**
|
|
2457
|
+
* Creates request options for revokeSnapshotShare without sending the request
|
|
2458
|
+
*/
|
|
2459
|
+
async revokeSnapshotShareRequestOpts(requestParameters) {
|
|
2460
|
+
if (requestParameters['name'] == null) {
|
|
2461
|
+
throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling revokeSnapshotShare().');
|
|
2462
|
+
}
|
|
2463
|
+
if (requestParameters['shareId'] == null) {
|
|
2464
|
+
throw new runtime.RequiredError('shareId', 'Required parameter "shareId" was null or undefined when calling revokeSnapshotShare().');
|
|
2465
|
+
}
|
|
2466
|
+
const queryParameters = {};
|
|
2467
|
+
const headerParameters = {};
|
|
2468
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2469
|
+
const token = this.configuration.accessToken;
|
|
2470
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
2471
|
+
if (tokenString) {
|
|
2472
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2473
|
+
}
|
|
2474
|
+
}
|
|
2475
|
+
let urlPath = `/named-snapshots/{name}/shares/{shareId}`;
|
|
2476
|
+
urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
|
|
2477
|
+
urlPath = urlPath.replace('{shareId}', encodeURIComponent(String(requestParameters['shareId'])));
|
|
2478
|
+
return {
|
|
2479
|
+
path: urlPath,
|
|
2480
|
+
method: 'DELETE',
|
|
2481
|
+
headers: headerParameters,
|
|
2482
|
+
query: queryParameters,
|
|
2483
|
+
};
|
|
2484
|
+
}
|
|
2485
|
+
/**
|
|
2486
|
+
* Revoke a share code (`boat snapshot unshare <name> <share-id>` in the CLI). The code stops creating new sandboxes. Sandboxes already created from it keep their own copy. Needs `snapshot.write`.
|
|
2487
|
+
* Revoke a share code
|
|
2488
|
+
*/
|
|
2489
|
+
async revokeSnapshotShareRaw(requestParameters, initOverrides) {
|
|
2490
|
+
const requestOptions = await this.revokeSnapshotShareRequestOpts(requestParameters);
|
|
2491
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
2492
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, NamedSnapshotShareRevokedResponse_1.NamedSnapshotShareRevokedResponseFromJSON)(jsonValue));
|
|
2493
|
+
}
|
|
2494
|
+
/**
|
|
2495
|
+
* Revoke a share code (`boat snapshot unshare <name> <share-id>` in the CLI). The code stops creating new sandboxes. Sandboxes already created from it keep their own copy. Needs `snapshot.write`.
|
|
2496
|
+
* Revoke a share code
|
|
2497
|
+
*/
|
|
2498
|
+
async revokeSnapshotShare(requestParameters, initOverrides) {
|
|
2499
|
+
const response = await this.revokeSnapshotShareRaw(requestParameters, initOverrides);
|
|
2500
|
+
return await response.value();
|
|
2501
|
+
}
|
|
2275
2502
|
/**
|
|
2276
2503
|
* Creates request options for rotateApiKey without sending the request
|
|
2277
2504
|
*/
|
|
@@ -2807,7 +3034,7 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
2807
3034
|
};
|
|
2808
3035
|
}
|
|
2809
3036
|
/**
|
|
2810
|
-
* Send a new message to a turn that is already running, without losing what the agent is doing. This is what typing into a coding agent while it works does: the instruction is taken into account and the work continues. Where the harness has a native mid-turn primitive (Claude Code, Codex, pi, Prime Agent) nothing is interrupted and the response has `native: true`. Where it does not (OpenCode), Boat interrupts that turn and immediately continues the SAME conversation with the instruction, keeping the session and its memory, and the response has `native: false`. Refused with **409 `no_running_turn`** when the conversation has nothing in flight; queue work with `POST /prompt` instead. The steer shows up in `GET /events` as a `steer` event. See [Integrated agents](/integrated-agents).
|
|
3037
|
+
* Send a new message to a turn that is already running, without losing what the agent is doing. This is what typing into a coding agent while it works does: the instruction is taken into account and the work continues. Where the harness has a native mid-turn primitive (Claude Code, Codex, pi, Prime Agent) nothing is interrupted and the response has `native: true`. Where it does not (OpenCode), Boat interrupts that turn and immediately continues the SAME conversation with the instruction, keeping the session and its memory, and the response has `native: false`. Refused with **409 `no_running_turn`** when the conversation has nothing in flight; queue work with `POST /prompt` instead. `error.details.reason` says why: `turn_ended` (with `error.details.lastTurn.status` and `.error` of the newest turn), `turn_not_started` (the turn is starting; retry in a moment), `no_turn`, `not_running` (the sandbox is not running) or `delivery_failed` (the sandbox did not accept the steer; check the turn before sending more work). The steer shows up in `GET /events` as a `steer` event. See [Integrated agents](/integrated-agents).
|
|
2811
3038
|
* Steer a running turn
|
|
2812
3039
|
*/
|
|
2813
3040
|
async steerRaw(requestParameters, initOverrides) {
|
|
@@ -2816,7 +3043,7 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
2816
3043
|
return new runtime.JSONApiResponse(response, (jsonValue) => (0, SteerResponse_1.SteerResponseFromJSON)(jsonValue));
|
|
2817
3044
|
}
|
|
2818
3045
|
/**
|
|
2819
|
-
* Send a new message to a turn that is already running, without losing what the agent is doing. This is what typing into a coding agent while it works does: the instruction is taken into account and the work continues. Where the harness has a native mid-turn primitive (Claude Code, Codex, pi, Prime Agent) nothing is interrupted and the response has `native: true`. Where it does not (OpenCode), Boat interrupts that turn and immediately continues the SAME conversation with the instruction, keeping the session and its memory, and the response has `native: false`. Refused with **409 `no_running_turn`** when the conversation has nothing in flight; queue work with `POST /prompt` instead. The steer shows up in `GET /events` as a `steer` event. See [Integrated agents](/integrated-agents).
|
|
3046
|
+
* Send a new message to a turn that is already running, without losing what the agent is doing. This is what typing into a coding agent while it works does: the instruction is taken into account and the work continues. Where the harness has a native mid-turn primitive (Claude Code, Codex, pi, Prime Agent) nothing is interrupted and the response has `native: true`. Where it does not (OpenCode), Boat interrupts that turn and immediately continues the SAME conversation with the instruction, keeping the session and its memory, and the response has `native: false`. Refused with **409 `no_running_turn`** when the conversation has nothing in flight; queue work with `POST /prompt` instead. `error.details.reason` says why: `turn_ended` (with `error.details.lastTurn.status` and `.error` of the newest turn), `turn_not_started` (the turn is starting; retry in a moment), `no_turn`, `not_running` (the sandbox is not running) or `delivery_failed` (the sandbox did not accept the steer; check the turn before sending more work). The steer shows up in `GET /events` as a `steer` event. See [Integrated agents](/integrated-agents).
|
|
2820
3047
|
* Steer a running turn
|
|
2821
3048
|
*/
|
|
2822
3049
|
async steer(requestParameters, initOverrides) {
|
|
@@ -2852,7 +3079,7 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
2852
3079
|
};
|
|
2853
3080
|
}
|
|
2854
3081
|
/**
|
|
2855
|
-
* Stop active work and archive/snapshot the sandbox for later resume or fork. A stop always saves the sandbox\'s disk first. If that save is failing, the stop is refused and the sandbox keeps running so your work is not discarded, we retry automatically and email you. You are not billed for time spent in that state. The stop is an operation: the response and the sandbox carry it as `stop`, with an `id` and a `status`. Poll `GET /sandboxes/{sandboxId}` until `stop.status` is `completed`. A failed attempt shows `failing` with its `error` and is retried until the sandbox archives; commands and prompts you send meanwhile do not cancel it. Only a resume ends it early (`superseded`). Calling stop again while one is pending returns the same `id`. Set `force: true` to stop anyway,
|
|
3082
|
+
* Stop active work and archive/snapshot the sandbox for later resume or fork. A stop always saves the sandbox\'s disk first. If that save is failing, the stop is refused and the sandbox keeps running so your work is not discarded, we retry automatically and email you. You are not billed for time spent in that state. The stop is an operation: the response and the sandbox carry it as `stop`, with an `id` and a `status`. Poll `GET /sandboxes/{sandboxId}` until `stop.status` is `completed`. A failed attempt shows `failing` with its `error` and is retried until the sandbox archives; commands and prompts you send meanwhile do not cancel it. Only a resume ends it early (`superseded`). Calling stop again while one is pending returns the same `id`. Set `force: true` to stop anyway, keeping the last successful snapshot and losing everything written since then. This is irreversible; only reach for it after a stop has already failed. A force on a stop that is already pending escalates that stop.
|
|
2856
3083
|
* Stop and archive sandbox
|
|
2857
3084
|
*/
|
|
2858
3085
|
async stopRaw(requestParameters, initOverrides) {
|
|
@@ -2861,7 +3088,7 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
2861
3088
|
return new runtime.JSONApiResponse(response, (jsonValue) => (0, SandboxActionResponse_1.SandboxActionResponseFromJSON)(jsonValue));
|
|
2862
3089
|
}
|
|
2863
3090
|
/**
|
|
2864
|
-
* Stop active work and archive/snapshot the sandbox for later resume or fork. A stop always saves the sandbox\'s disk first. If that save is failing, the stop is refused and the sandbox keeps running so your work is not discarded, we retry automatically and email you. You are not billed for time spent in that state. The stop is an operation: the response and the sandbox carry it as `stop`, with an `id` and a `status`. Poll `GET /sandboxes/{sandboxId}` until `stop.status` is `completed`. A failed attempt shows `failing` with its `error` and is retried until the sandbox archives; commands and prompts you send meanwhile do not cancel it. Only a resume ends it early (`superseded`). Calling stop again while one is pending returns the same `id`. Set `force: true` to stop anyway,
|
|
3091
|
+
* Stop active work and archive/snapshot the sandbox for later resume or fork. A stop always saves the sandbox\'s disk first. If that save is failing, the stop is refused and the sandbox keeps running so your work is not discarded, we retry automatically and email you. You are not billed for time spent in that state. The stop is an operation: the response and the sandbox carry it as `stop`, with an `id` and a `status`. Poll `GET /sandboxes/{sandboxId}` until `stop.status` is `completed`. A failed attempt shows `failing` with its `error` and is retried until the sandbox archives; commands and prompts you send meanwhile do not cancel it. Only a resume ends it early (`superseded`). Calling stop again while one is pending returns the same `id`. Set `force: true` to stop anyway, keeping the last successful snapshot and losing everything written since then. This is irreversible; only reach for it after a stop has already failed. A force on a stop that is already pending escalates that stop.
|
|
2865
3092
|
* Stop and archive sandbox
|
|
2866
3093
|
*/
|
|
2867
3094
|
async stop(requestParameters, initOverrides) {
|
|
@@ -3221,6 +3448,7 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
3221
3448
|
};
|
|
3222
3449
|
}
|
|
3223
3450
|
/**
|
|
3451
|
+
* Files up to 5 MiB after decoding. Use SCP over SSH for larger files.
|
|
3224
3452
|
* Write a file in a sandbox
|
|
3225
3453
|
*/
|
|
3226
3454
|
async writeFileRaw(requestParameters, initOverrides) {
|
|
@@ -3229,6 +3457,7 @@ class BoatApi extends runtime.BaseAPI {
|
|
|
3229
3457
|
return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileWriteResponse_1.FileWriteResponseFromJSON)(jsonValue));
|
|
3230
3458
|
}
|
|
3231
3459
|
/**
|
|
3460
|
+
* Files up to 5 MiB after decoding. Use SCP over SSH for larger files.
|
|
3232
3461
|
* Write a file in a sandbox
|
|
3233
3462
|
*/
|
|
3234
3463
|
async writeFile(requestParameters, initOverrides) {
|
|
@@ -46,10 +46,14 @@ import { type NamedSnapshotInfoResponse } from '../models/NamedSnapshotInfoRespo
|
|
|
46
46
|
import { type NamedSnapshotListResponse } from '../models/NamedSnapshotListResponse';
|
|
47
47
|
import { type NamedSnapshotSaveRequest } from '../models/NamedSnapshotSaveRequest';
|
|
48
48
|
import { type NamedSnapshotSavingResponse } from '../models/NamedSnapshotSavingResponse';
|
|
49
|
+
import { type NamedSnapshotShareCreatedResponse } from '../models/NamedSnapshotShareCreatedResponse';
|
|
50
|
+
import { type NamedSnapshotShareListResponse } from '../models/NamedSnapshotShareListResponse';
|
|
51
|
+
import { type NamedSnapshotShareRevokedResponse } from '../models/NamedSnapshotShareRevokedResponse';
|
|
49
52
|
import { type OrgListResponse } from '../models/OrgListResponse';
|
|
50
53
|
import { type PromptRequest } from '../models/PromptRequest';
|
|
51
54
|
import { type PromptResponse } from '../models/PromptResponse';
|
|
52
55
|
import { type PromptRunResponse } from '../models/PromptRunResponse';
|
|
56
|
+
import { type Recover200Response } from '../models/Recover200Response';
|
|
53
57
|
import { type RepoSelectionRequest } from '../models/RepoSelectionRequest';
|
|
54
58
|
import { type RepoSelectionResponse } from '../models/RepoSelectionResponse';
|
|
55
59
|
import { type ReposResponse } from '../models/ReposResponse';
|
|
@@ -73,6 +77,7 @@ import { type SshKeyRequest } from '../models/SshKeyRequest';
|
|
|
73
77
|
import { type SshKeyResponse } from '../models/SshKeyResponse';
|
|
74
78
|
import { type SteerRequest } from '../models/SteerRequest';
|
|
75
79
|
import { type SteerResponse } from '../models/SteerResponse';
|
|
80
|
+
import { type StopOperationResponse } from '../models/StopOperationResponse';
|
|
76
81
|
import { type StopRequest } from '../models/StopRequest';
|
|
77
82
|
import { type UpdateSandboxEnvironmentRequest } from '../models/UpdateSandboxEnvironmentRequest';
|
|
78
83
|
import { type UpdateSandboxRequest } from '../models/UpdateSandboxRequest';
|
|
@@ -119,6 +124,9 @@ export interface CreateEnvironmentRequest {
|
|
|
119
124
|
export interface CreateScopedApiKeyOperationRequest {
|
|
120
125
|
createScopedApiKeyRequest: CreateScopedApiKeyRequest;
|
|
121
126
|
}
|
|
127
|
+
export interface CreateSnapshotShareRequest {
|
|
128
|
+
name: string;
|
|
129
|
+
}
|
|
122
130
|
export interface CreateWebhookRequest {
|
|
123
131
|
webhookCreateRequest: WebhookCreateRequest;
|
|
124
132
|
}
|
|
@@ -196,6 +204,10 @@ export interface GetSnapshotFileRequest {
|
|
|
196
204
|
export interface GetSnapshotTreeRequest {
|
|
197
205
|
snapshotId: string;
|
|
198
206
|
}
|
|
207
|
+
export interface GetStopRequest {
|
|
208
|
+
sandboxId: string;
|
|
209
|
+
stopId: string;
|
|
210
|
+
}
|
|
199
211
|
export interface GetWebhookRequest {
|
|
200
212
|
webhookId: string;
|
|
201
213
|
}
|
|
@@ -218,6 +230,9 @@ export interface ListSandboxSnapshotsRequest {
|
|
|
218
230
|
cursor?: string | null;
|
|
219
231
|
sort?: ListSandboxSnapshotsSortEnum;
|
|
220
232
|
}
|
|
233
|
+
export interface ListSnapshotSharesRequest {
|
|
234
|
+
name: string;
|
|
235
|
+
}
|
|
221
236
|
export interface ListSnapshotsRequest {
|
|
222
237
|
limit?: number;
|
|
223
238
|
cursor?: string | null;
|
|
@@ -236,6 +251,9 @@ export interface ReadFileRequest {
|
|
|
236
251
|
path: string;
|
|
237
252
|
encoding?: ReadFileEncodingEnum;
|
|
238
253
|
}
|
|
254
|
+
export interface RecoverRequest {
|
|
255
|
+
sandboxId: string;
|
|
256
|
+
}
|
|
239
257
|
export interface ReposRequest {
|
|
240
258
|
sync?: boolean;
|
|
241
259
|
limit?: number;
|
|
@@ -251,6 +269,10 @@ export interface ResumeOperationRequest {
|
|
|
251
269
|
export interface RevokeApiKeyRequest {
|
|
252
270
|
apiKeyId: string;
|
|
253
271
|
}
|
|
272
|
+
export interface RevokeSnapshotShareRequest {
|
|
273
|
+
name: string;
|
|
274
|
+
shareId: string;
|
|
275
|
+
}
|
|
254
276
|
export interface RotateApiKeyRequest {
|
|
255
277
|
apiKeyId: string;
|
|
256
278
|
}
|
|
@@ -381,10 +403,12 @@ export declare class BoatApi extends runtime.BaseAPI {
|
|
|
381
403
|
*/
|
|
382
404
|
artifactRequestOpts(requestParameters: ArtifactRequest): Promise<runtime.RequestOpts>;
|
|
383
405
|
/**
|
|
406
|
+
* Downloads one file of up to 50 MiB, under /home/user or /tmp, as raw bytes.
|
|
384
407
|
* Download a sandbox artifact
|
|
385
408
|
*/
|
|
386
409
|
artifactRaw(requestParameters: ArtifactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>>;
|
|
387
410
|
/**
|
|
411
|
+
* Downloads one file of up to 50 MiB, under /home/user or /tmp, as raw bytes.
|
|
388
412
|
* Download a sandbox artifact
|
|
389
413
|
*/
|
|
390
414
|
artifact(requestParameters: ArtifactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob>;
|
|
@@ -470,6 +494,20 @@ export declare class BoatApi extends runtime.BaseAPI {
|
|
|
470
494
|
* Create a scoped API key
|
|
471
495
|
*/
|
|
472
496
|
createScopedApiKey(requestParameters: CreateScopedApiKeyOperationRequest | runtime.FlatBody<CreateScopedApiKeyOperationRequest, 'createScopedApiKeyRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeySecretResponse>;
|
|
497
|
+
/**
|
|
498
|
+
* Creates request options for createSnapshotShare without sending the request
|
|
499
|
+
*/
|
|
500
|
+
createSnapshotShareRequestOpts(requestParameters: CreateSnapshotShareRequest): Promise<runtime.RequestOpts>;
|
|
501
|
+
/**
|
|
502
|
+
* Make a secret code that lets any Boat account create a sandbox from this named snapshot (`boat snapshot share <name>` in the CLI). The response shows the code once; Boat stores only a hash. Re-saving the name changes what the code deploys. Removing the name removes its codes. Everything on the disk is shared, so do not keep secrets in files on it. Needs `snapshot.write`.
|
|
503
|
+
* Share a named snapshot
|
|
504
|
+
*/
|
|
505
|
+
createSnapshotShareRaw(requestParameters: CreateSnapshotShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotShareCreatedResponse>>;
|
|
506
|
+
/**
|
|
507
|
+
* Make a secret code that lets any Boat account create a sandbox from this named snapshot (`boat snapshot share <name>` in the CLI). The response shows the code once; Boat stores only a hash. Re-saving the name changes what the code deploys. Removing the name removes its codes. Everything on the disk is shared, so do not keep secrets in files on it. Needs `snapshot.write`.
|
|
508
|
+
* Share a named snapshot
|
|
509
|
+
*/
|
|
510
|
+
createSnapshotShare(requestParameters: CreateSnapshotShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotShareCreatedResponse>;
|
|
473
511
|
/**
|
|
474
512
|
* Creates request options for createWebhook without sending the request
|
|
475
513
|
*/
|
|
@@ -776,6 +814,20 @@ export declare class BoatApi extends runtime.BaseAPI {
|
|
|
776
814
|
* Get snapshot file tree
|
|
777
815
|
*/
|
|
778
816
|
getSnapshotTree(requestParameters: GetSnapshotTreeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SnapshotTreeResponse>;
|
|
817
|
+
/**
|
|
818
|
+
* Creates request options for getStop without sending the request
|
|
819
|
+
*/
|
|
820
|
+
getStopRequestOpts(requestParameters: GetStopRequest): Promise<runtime.RequestOpts>;
|
|
821
|
+
/**
|
|
822
|
+
* Returns one stop of this sandbox by the id that `POST /sandboxes/{sandboxId}/stop` returned. Old stops stay readable after a resume or a later stop. Returns 404 when the id is unknown or belongs to another sandbox.
|
|
823
|
+
* Get a stop by id
|
|
824
|
+
*/
|
|
825
|
+
getStopRaw(requestParameters: GetStopRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StopOperationResponse>>;
|
|
826
|
+
/**
|
|
827
|
+
* Returns one stop of this sandbox by the id that `POST /sandboxes/{sandboxId}/stop` returned. Old stops stay readable after a resume or a later stop. Returns 404 when the id is unknown or belongs to another sandbox.
|
|
828
|
+
* Get a stop by id
|
|
829
|
+
*/
|
|
830
|
+
getStop(requestParameters: GetStopRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StopOperationResponse>;
|
|
779
831
|
/**
|
|
780
832
|
* Creates request options for getWebhook without sending the request
|
|
781
833
|
*/
|
|
@@ -874,6 +926,20 @@ export declare class BoatApi extends runtime.BaseAPI {
|
|
|
874
926
|
* List boat snapshots
|
|
875
927
|
*/
|
|
876
928
|
listSandboxSnapshots(requestParameters: ListSandboxSnapshotsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SnapshotListResponse>;
|
|
929
|
+
/**
|
|
930
|
+
* Creates request options for listSnapshotShares without sending the request
|
|
931
|
+
*/
|
|
932
|
+
listSnapshotSharesRequestOpts(requestParameters: ListSnapshotSharesRequest): Promise<runtime.RequestOpts>;
|
|
933
|
+
/**
|
|
934
|
+
* List the share codes of a named snapshot, active and revoked (`boat snapshot shares <name>` in the CLI). The full codes are not returned. Needs `snapshot.read`.
|
|
935
|
+
* List share codes of a named snapshot
|
|
936
|
+
*/
|
|
937
|
+
listSnapshotSharesRaw(requestParameters: ListSnapshotSharesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotShareListResponse>>;
|
|
938
|
+
/**
|
|
939
|
+
* List the share codes of a named snapshot, active and revoked (`boat snapshot shares <name>` in the CLI). The full codes are not returned. Needs `snapshot.read`.
|
|
940
|
+
* List share codes of a named snapshot
|
|
941
|
+
*/
|
|
942
|
+
listSnapshotShares(requestParameters: ListSnapshotSharesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotShareListResponse>;
|
|
877
943
|
/**
|
|
878
944
|
* Creates request options for listSnapshots without sending the request
|
|
879
945
|
*/
|
|
@@ -949,13 +1015,29 @@ export declare class BoatApi extends runtime.BaseAPI {
|
|
|
949
1015
|
*/
|
|
950
1016
|
readFileRequestOpts(requestParameters: ReadFileRequest): Promise<runtime.RequestOpts>;
|
|
951
1017
|
/**
|
|
1018
|
+
* Files up to 5 MiB. Use `GET /sandboxes/{sandboxId}/artifacts` for files up to 50 MiB, and SCP over SSH for larger ones.
|
|
952
1019
|
* Read a file from a sandbox
|
|
953
1020
|
*/
|
|
954
1021
|
readFileRaw(requestParameters: ReadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileReadResponse>>;
|
|
955
1022
|
/**
|
|
1023
|
+
* Files up to 5 MiB. Use `GET /sandboxes/{sandboxId}/artifacts` for files up to 50 MiB, and SCP over SSH for larger ones.
|
|
956
1024
|
* Read a file from a sandbox
|
|
957
1025
|
*/
|
|
958
1026
|
readFile(requestParameters: ReadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileReadResponse>;
|
|
1027
|
+
/**
|
|
1028
|
+
* Creates request options for recover without sending the request
|
|
1029
|
+
*/
|
|
1030
|
+
recoverRequestOpts(requestParameters: RecoverRequest): Promise<runtime.RequestOpts>;
|
|
1031
|
+
/**
|
|
1032
|
+
* Power-cycle the machine of a sandbox that stopped answering. The disk is not touched. The sandbox usually answers again within 1-2 minutes and then saves your work by itself; `sandbox.recovered` fires when it does. Refused with `409`: - `sandbox_is_reachable`: the sandbox answers normally. - `too_soon`: a recover started less than 10 minutes ago. - `no_machine`: the sandbox has no machine. Resume it instead. - `recover_unsupported`: its machine cannot be power-cycled. Wait for it to answer, or resume it from its last snapshot. - `reset_failed`: the power-cycle failed. Reply to the incident email.
|
|
1033
|
+
* Recover a sandbox that stopped responding
|
|
1034
|
+
*/
|
|
1035
|
+
recoverRaw(requestParameters: RecoverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Recover200Response>>;
|
|
1036
|
+
/**
|
|
1037
|
+
* Power-cycle the machine of a sandbox that stopped answering. The disk is not touched. The sandbox usually answers again within 1-2 minutes and then saves your work by itself; `sandbox.recovered` fires when it does. Refused with `409`: - `sandbox_is_reachable`: the sandbox answers normally. - `too_soon`: a recover started less than 10 minutes ago. - `no_machine`: the sandbox has no machine. Resume it instead. - `recover_unsupported`: its machine cannot be power-cycled. Wait for it to answer, or resume it from its last snapshot. - `reset_failed`: the power-cycle failed. Reply to the incident email.
|
|
1038
|
+
* Recover a sandbox that stopped responding
|
|
1039
|
+
*/
|
|
1040
|
+
recover(requestParameters: RecoverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Recover200Response>;
|
|
959
1041
|
/**
|
|
960
1042
|
* Creates request options for repos without sending the request
|
|
961
1043
|
*/
|
|
@@ -996,6 +1078,20 @@ export declare class BoatApi extends runtime.BaseAPI {
|
|
|
996
1078
|
* Revoke an API key
|
|
997
1079
|
*/
|
|
998
1080
|
revokeApiKey(requestParameters: RevokeApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeyRevokeResponse>;
|
|
1081
|
+
/**
|
|
1082
|
+
* Creates request options for revokeSnapshotShare without sending the request
|
|
1083
|
+
*/
|
|
1084
|
+
revokeSnapshotShareRequestOpts(requestParameters: RevokeSnapshotShareRequest): Promise<runtime.RequestOpts>;
|
|
1085
|
+
/**
|
|
1086
|
+
* Revoke a share code (`boat snapshot unshare <name> <share-id>` in the CLI). The code stops creating new sandboxes. Sandboxes already created from it keep their own copy. Needs `snapshot.write`.
|
|
1087
|
+
* Revoke a share code
|
|
1088
|
+
*/
|
|
1089
|
+
revokeSnapshotShareRaw(requestParameters: RevokeSnapshotShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotShareRevokedResponse>>;
|
|
1090
|
+
/**
|
|
1091
|
+
* Revoke a share code (`boat snapshot unshare <name> <share-id>` in the CLI). The code stops creating new sandboxes. Sandboxes already created from it keep their own copy. Needs `snapshot.write`.
|
|
1092
|
+
* Revoke a share code
|
|
1093
|
+
*/
|
|
1094
|
+
revokeSnapshotShare(requestParameters: RevokeSnapshotShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotShareRevokedResponse>;
|
|
999
1095
|
/**
|
|
1000
1096
|
* Creates request options for rotateApiKey without sending the request
|
|
1001
1097
|
*/
|
|
@@ -1155,12 +1251,12 @@ export declare class BoatApi extends runtime.BaseAPI {
|
|
|
1155
1251
|
*/
|
|
1156
1252
|
steerRequestOpts(input: SteerOperationRequest | runtime.FlatBody<SteerOperationRequest, 'steerRequest'>): Promise<runtime.RequestOpts>;
|
|
1157
1253
|
/**
|
|
1158
|
-
* Send a new message to a turn that is already running, without losing what the agent is doing. This is what typing into a coding agent while it works does: the instruction is taken into account and the work continues. Where the harness has a native mid-turn primitive (Claude Code, Codex, pi, Prime Agent) nothing is interrupted and the response has `native: true`. Where it does not (OpenCode), Boat interrupts that turn and immediately continues the SAME conversation with the instruction, keeping the session and its memory, and the response has `native: false`. Refused with **409 `no_running_turn`** when the conversation has nothing in flight; queue work with `POST /prompt` instead. The steer shows up in `GET /events` as a `steer` event. See [Integrated agents](/integrated-agents).
|
|
1254
|
+
* Send a new message to a turn that is already running, without losing what the agent is doing. This is what typing into a coding agent while it works does: the instruction is taken into account and the work continues. Where the harness has a native mid-turn primitive (Claude Code, Codex, pi, Prime Agent) nothing is interrupted and the response has `native: true`. Where it does not (OpenCode), Boat interrupts that turn and immediately continues the SAME conversation with the instruction, keeping the session and its memory, and the response has `native: false`. Refused with **409 `no_running_turn`** when the conversation has nothing in flight; queue work with `POST /prompt` instead. `error.details.reason` says why: `turn_ended` (with `error.details.lastTurn.status` and `.error` of the newest turn), `turn_not_started` (the turn is starting; retry in a moment), `no_turn`, `not_running` (the sandbox is not running) or `delivery_failed` (the sandbox did not accept the steer; check the turn before sending more work). The steer shows up in `GET /events` as a `steer` event. See [Integrated agents](/integrated-agents).
|
|
1159
1255
|
* Steer a running turn
|
|
1160
1256
|
*/
|
|
1161
1257
|
steerRaw(requestParameters: SteerOperationRequest | runtime.FlatBody<SteerOperationRequest, 'steerRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SteerResponse>>;
|
|
1162
1258
|
/**
|
|
1163
|
-
* Send a new message to a turn that is already running, without losing what the agent is doing. This is what typing into a coding agent while it works does: the instruction is taken into account and the work continues. Where the harness has a native mid-turn primitive (Claude Code, Codex, pi, Prime Agent) nothing is interrupted and the response has `native: true`. Where it does not (OpenCode), Boat interrupts that turn and immediately continues the SAME conversation with the instruction, keeping the session and its memory, and the response has `native: false`. Refused with **409 `no_running_turn`** when the conversation has nothing in flight; queue work with `POST /prompt` instead. The steer shows up in `GET /events` as a `steer` event. See [Integrated agents](/integrated-agents).
|
|
1259
|
+
* Send a new message to a turn that is already running, without losing what the agent is doing. This is what typing into a coding agent while it works does: the instruction is taken into account and the work continues. Where the harness has a native mid-turn primitive (Claude Code, Codex, pi, Prime Agent) nothing is interrupted and the response has `native: true`. Where it does not (OpenCode), Boat interrupts that turn and immediately continues the SAME conversation with the instruction, keeping the session and its memory, and the response has `native: false`. Refused with **409 `no_running_turn`** when the conversation has nothing in flight; queue work with `POST /prompt` instead. `error.details.reason` says why: `turn_ended` (with `error.details.lastTurn.status` and `.error` of the newest turn), `turn_not_started` (the turn is starting; retry in a moment), `no_turn`, `not_running` (the sandbox is not running) or `delivery_failed` (the sandbox did not accept the steer; check the turn before sending more work). The steer shows up in `GET /events` as a `steer` event. See [Integrated agents](/integrated-agents).
|
|
1164
1260
|
* Steer a running turn
|
|
1165
1261
|
*/
|
|
1166
1262
|
steer(requestParameters: SteerOperationRequest | runtime.FlatBody<SteerOperationRequest, 'steerRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SteerResponse>;
|
|
@@ -1169,12 +1265,12 @@ export declare class BoatApi extends runtime.BaseAPI {
|
|
|
1169
1265
|
*/
|
|
1170
1266
|
stopRequestOpts(input: StopOperationRequest | runtime.FlatBody<StopOperationRequest, 'stopRequest'>): Promise<runtime.RequestOpts>;
|
|
1171
1267
|
/**
|
|
1172
|
-
* Stop active work and archive/snapshot the sandbox for later resume or fork. A stop always saves the sandbox\'s disk first. If that save is failing, the stop is refused and the sandbox keeps running so your work is not discarded, we retry automatically and email you. You are not billed for time spent in that state. The stop is an operation: the response and the sandbox carry it as `stop`, with an `id` and a `status`. Poll `GET /sandboxes/{sandboxId}` until `stop.status` is `completed`. A failed attempt shows `failing` with its `error` and is retried until the sandbox archives; commands and prompts you send meanwhile do not cancel it. Only a resume ends it early (`superseded`). Calling stop again while one is pending returns the same `id`. Set `force: true` to stop anyway,
|
|
1268
|
+
* Stop active work and archive/snapshot the sandbox for later resume or fork. A stop always saves the sandbox\'s disk first. If that save is failing, the stop is refused and the sandbox keeps running so your work is not discarded, we retry automatically and email you. You are not billed for time spent in that state. The stop is an operation: the response and the sandbox carry it as `stop`, with an `id` and a `status`. Poll `GET /sandboxes/{sandboxId}` until `stop.status` is `completed`. A failed attempt shows `failing` with its `error` and is retried until the sandbox archives; commands and prompts you send meanwhile do not cancel it. Only a resume ends it early (`superseded`). Calling stop again while one is pending returns the same `id`. Set `force: true` to stop anyway, keeping the last successful snapshot and losing everything written since then. This is irreversible; only reach for it after a stop has already failed. A force on a stop that is already pending escalates that stop.
|
|
1173
1269
|
* Stop and archive sandbox
|
|
1174
1270
|
*/
|
|
1175
1271
|
stopRaw(requestParameters: StopOperationRequest | runtime.FlatBody<StopOperationRequest, 'stopRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SandboxActionResponse>>;
|
|
1176
1272
|
/**
|
|
1177
|
-
* Stop active work and archive/snapshot the sandbox for later resume or fork. A stop always saves the sandbox\'s disk first. If that save is failing, the stop is refused and the sandbox keeps running so your work is not discarded, we retry automatically and email you. You are not billed for time spent in that state. The stop is an operation: the response and the sandbox carry it as `stop`, with an `id` and a `status`. Poll `GET /sandboxes/{sandboxId}` until `stop.status` is `completed`. A failed attempt shows `failing` with its `error` and is retried until the sandbox archives; commands and prompts you send meanwhile do not cancel it. Only a resume ends it early (`superseded`). Calling stop again while one is pending returns the same `id`. Set `force: true` to stop anyway,
|
|
1273
|
+
* Stop active work and archive/snapshot the sandbox for later resume or fork. A stop always saves the sandbox\'s disk first. If that save is failing, the stop is refused and the sandbox keeps running so your work is not discarded, we retry automatically and email you. You are not billed for time spent in that state. The stop is an operation: the response and the sandbox carry it as `stop`, with an `id` and a `status`. Poll `GET /sandboxes/{sandboxId}` until `stop.status` is `completed`. A failed attempt shows `failing` with its `error` and is retried until the sandbox archives; commands and prompts you send meanwhile do not cancel it. Only a resume ends it early (`superseded`). Calling stop again while one is pending returns the same `id`. Set `force: true` to stop anyway, keeping the last successful snapshot and losing everything written since then. This is irreversible; only reach for it after a stop has already failed. A force on a stop that is already pending escalates that stop.
|
|
1178
1274
|
* Stop and archive sandbox
|
|
1179
1275
|
*/
|
|
1180
1276
|
stop(requestParameters: StopOperationRequest | runtime.FlatBody<StopOperationRequest, 'stopRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SandboxActionResponse>;
|
|
@@ -1277,10 +1373,12 @@ export declare class BoatApi extends runtime.BaseAPI {
|
|
|
1277
1373
|
*/
|
|
1278
1374
|
writeFileRequestOpts(input: WriteFileRequest | runtime.FlatBody<WriteFileRequest, 'fileWriteRequest'>): Promise<runtime.RequestOpts>;
|
|
1279
1375
|
/**
|
|
1376
|
+
* Files up to 5 MiB after decoding. Use SCP over SSH for larger files.
|
|
1280
1377
|
* Write a file in a sandbox
|
|
1281
1378
|
*/
|
|
1282
1379
|
writeFileRaw(requestParameters: WriteFileRequest | runtime.FlatBody<WriteFileRequest, 'fileWriteRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileWriteResponse>>;
|
|
1283
1380
|
/**
|
|
1381
|
+
* Files up to 5 MiB after decoding. Use SCP over SSH for larger files.
|
|
1284
1382
|
* Write a file in a sandbox
|
|
1285
1383
|
*/
|
|
1286
1384
|
writeFile(requestParameters: WriteFileRequest | runtime.FlatBody<WriteFileRequest, 'fileWriteRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileWriteResponse>;
|