@boatdev/sdk 1.9.9 → 1.10.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.
Files changed (72) hide show
  1. package/.openapi-generator/FILES +8 -0
  2. package/dist/apis/BoatApi.d.ts +52 -6
  3. package/dist/apis/BoatApi.js +109 -7
  4. package/dist/esm/apis/BoatApi.d.ts +52 -6
  5. package/dist/esm/apis/BoatApi.js +108 -6
  6. package/dist/esm/models/CreateSandboxRequest.d.ts +7 -1
  7. package/dist/esm/models/CreateSandboxRequest.js +2 -0
  8. package/dist/esm/models/CreateSandboxResponse.d.ts +6 -0
  9. package/dist/esm/models/CreateSandboxResponse.js +2 -0
  10. package/dist/esm/models/CreateScopedApiKeyRequest.d.ts +1 -1
  11. package/dist/esm/models/LimitsFields.d.ts +1 -1
  12. package/dist/esm/models/LimitsResponse.d.ts +1 -1
  13. package/dist/esm/models/MeResponseAllOfUser.d.ts +1 -0
  14. package/dist/esm/models/MeResponseAllOfUser.js +1 -0
  15. package/dist/esm/models/ResumeRequest.d.ts +1 -1
  16. package/dist/esm/models/Sandbox.d.ts +28 -1
  17. package/dist/esm/models/Sandbox.js +14 -0
  18. package/dist/esm/models/SandboxCost.d.ts +44 -0
  19. package/dist/esm/models/SandboxCost.js +51 -0
  20. package/dist/esm/models/Unshare200Response.d.ts +39 -0
  21. package/dist/esm/models/Unshare200Response.js +44 -0
  22. package/dist/esm/models/UpdateOrganization200Response.d.ts +50 -0
  23. package/dist/esm/models/UpdateOrganization200Response.js +47 -0
  24. package/dist/esm/models/UpdateOrganizationRequest.d.ts +32 -0
  25. package/dist/esm/models/UpdateOrganizationRequest.js +43 -0
  26. package/dist/esm/models/index.d.ts +4 -0
  27. package/dist/esm/models/index.js +4 -0
  28. package/dist/models/CreateSandboxRequest.d.ts +7 -1
  29. package/dist/models/CreateSandboxRequest.js +2 -0
  30. package/dist/models/CreateSandboxResponse.d.ts +6 -0
  31. package/dist/models/CreateSandboxResponse.js +2 -0
  32. package/dist/models/CreateScopedApiKeyRequest.d.ts +1 -1
  33. package/dist/models/LimitsFields.d.ts +1 -1
  34. package/dist/models/LimitsResponse.d.ts +1 -1
  35. package/dist/models/MeResponseAllOfUser.d.ts +1 -0
  36. package/dist/models/MeResponseAllOfUser.js +1 -0
  37. package/dist/models/ResumeRequest.d.ts +1 -1
  38. package/dist/models/Sandbox.d.ts +28 -1
  39. package/dist/models/Sandbox.js +15 -1
  40. package/dist/models/SandboxCost.d.ts +44 -0
  41. package/dist/models/SandboxCost.js +58 -0
  42. package/dist/models/Unshare200Response.d.ts +39 -0
  43. package/dist/models/Unshare200Response.js +51 -0
  44. package/dist/models/UpdateOrganization200Response.d.ts +50 -0
  45. package/dist/models/UpdateOrganization200Response.js +54 -0
  46. package/dist/models/UpdateOrganizationRequest.d.ts +32 -0
  47. package/dist/models/UpdateOrganizationRequest.js +50 -0
  48. package/dist/models/index.d.ts +4 -0
  49. package/dist/models/index.js +4 -0
  50. package/docs/BoatApi.md +161 -4
  51. package/docs/CreateSandboxRequest.md +2 -0
  52. package/docs/CreateSandboxResponse.md +2 -0
  53. package/docs/Sandbox.md +6 -0
  54. package/docs/SandboxCost.md +37 -0
  55. package/docs/Unshare200Response.md +34 -0
  56. package/docs/UpdateOrganization200Response.md +38 -0
  57. package/docs/UpdateOrganizationRequest.md +32 -0
  58. package/package.json +1 -1
  59. package/src/apis/BoatApi.ts +163 -6
  60. package/src/models/CreateSandboxRequest.ts +9 -1
  61. package/src/models/CreateSandboxResponse.ts +8 -0
  62. package/src/models/CreateScopedApiKeyRequest.ts +1 -1
  63. package/src/models/LimitsFields.ts +1 -1
  64. package/src/models/LimitsResponse.ts +1 -1
  65. package/src/models/MeResponseAllOfUser.ts +1 -0
  66. package/src/models/ResumeRequest.ts +1 -1
  67. package/src/models/Sandbox.ts +41 -1
  68. package/src/models/SandboxCost.ts +84 -0
  69. package/src/models/Unshare200Response.ts +81 -0
  70. package/src/models/UpdateOrganization200Response.ts +89 -0
  71. package/src/models/UpdateOrganizationRequest.ts +66 -0
  72. package/src/models/index.ts +4 -0
@@ -122,6 +122,7 @@ docs/SandboxActionResponse.md
122
122
  docs/SandboxAiAccessResponse.md
123
123
  docs/SandboxAiUsage.md
124
124
  docs/SandboxAiUsageResponse.md
125
+ docs/SandboxCost.md
125
126
  docs/SandboxEnvironment.md
126
127
  docs/SandboxEnvironmentListResponse.md
127
128
  docs/SandboxEnvironmentResponse.md
@@ -169,8 +170,11 @@ docs/TelemetrySetRequest.md
169
170
  docs/TelemetrySetResponse.md
170
171
  docs/TelemetryTestResult.md
171
172
  docs/UnknownEvent.md
173
+ docs/Unshare200Response.md
172
174
  docs/UpdateAiProxyRequest.md
173
175
  docs/UpdateCredentialProfileRequest.md
176
+ docs/UpdateOrganization200Response.md
177
+ docs/UpdateOrganizationRequest.md
174
178
  docs/UpdateSandboxEnvironmentRequest.md
175
179
  docs/UpdateSandboxEnvironmentRequestRepositoriesInner.md
176
180
  docs/UpdateSandboxRequest.md
@@ -310,6 +314,7 @@ src/models/SandboxActionResponse.ts
310
314
  src/models/SandboxAiAccessResponse.ts
311
315
  src/models/SandboxAiUsage.ts
312
316
  src/models/SandboxAiUsageResponse.ts
317
+ src/models/SandboxCost.ts
313
318
  src/models/SandboxEnvironment.ts
314
319
  src/models/SandboxEnvironmentListResponse.ts
315
320
  src/models/SandboxEnvironmentResponse.ts
@@ -357,8 +362,11 @@ src/models/TelemetrySetRequest.ts
357
362
  src/models/TelemetrySetResponse.ts
358
363
  src/models/TelemetryTestResult.ts
359
364
  src/models/UnknownEvent.ts
365
+ src/models/Unshare200Response.ts
360
366
  src/models/UpdateAiProxyRequest.ts
361
367
  src/models/UpdateCredentialProfileRequest.ts
368
+ src/models/UpdateOrganization200Response.ts
369
+ src/models/UpdateOrganizationRequest.ts
362
370
  src/models/UpdateSandboxEnvironmentRequest.ts
363
371
  src/models/UpdateSandboxEnvironmentRequestRepositoriesInner.ts
364
372
  src/models/UpdateSandboxRequest.ts
@@ -103,8 +103,11 @@ import { type StopRequest } from '../models/StopRequest';
103
103
  import { type TelemetryResponse } from '../models/TelemetryResponse';
104
104
  import { type TelemetrySetRequest } from '../models/TelemetrySetRequest';
105
105
  import { type TelemetrySetResponse } from '../models/TelemetrySetResponse';
106
+ import { type Unshare200Response } from '../models/Unshare200Response';
106
107
  import { type UpdateAiProxyRequest } from '../models/UpdateAiProxyRequest';
107
108
  import { type UpdateCredentialProfileRequest } from '../models/UpdateCredentialProfileRequest';
109
+ import { type UpdateOrganization200Response } from '../models/UpdateOrganization200Response';
110
+ import { type UpdateOrganizationRequest } from '../models/UpdateOrganizationRequest';
108
111
  import { type UpdateSandboxEnvironmentRequest } from '../models/UpdateSandboxEnvironmentRequest';
109
112
  import { type UpdateSandboxRequest } from '../models/UpdateSandboxRequest';
110
113
  import { type UpgradeSandboxEnvironmentRequest } from '../models/UpgradeSandboxEnvironmentRequest';
@@ -401,6 +404,7 @@ export interface SandboxesRequest {
401
404
  cursor?: string | null;
402
405
  sort?: SandboxesSortEnum;
403
406
  state?: string;
407
+ include?: SandboxesIncludeEnum;
404
408
  }
405
409
  export interface SaveNamedSnapshotRequest {
406
410
  namedSnapshotSaveRequest: NamedSnapshotSaveRequest;
@@ -464,6 +468,9 @@ export interface SwitchCredentialAccountRequest {
464
468
  credential: CredentialId;
465
469
  account: string;
466
470
  }
471
+ export interface UnshareRequest {
472
+ sandboxId: string;
473
+ }
467
474
  export interface UpdateRequest {
468
475
  sandboxId: string;
469
476
  updateSandboxRequest: UpdateSandboxRequest;
@@ -485,6 +492,10 @@ export interface UpdateEnvironmentRequest {
485
492
  updateSandboxEnvironmentRequest: UpdateSandboxEnvironmentRequest;
486
493
  org?: string;
487
494
  }
495
+ export interface UpdateOrganizationOperationRequest {
496
+ org: string;
497
+ updateOrganizationRequest: UpdateOrganizationRequest;
498
+ }
488
499
  export interface UpdateSecretsRequest {
489
500
  secretsUpdateRequest: SecretsUpdateRequest;
490
501
  }
@@ -1141,12 +1152,12 @@ export declare class BoatApi extends runtime.BaseAPI {
1141
1152
  */
1142
1153
  getSandboxAiUsageRequestOpts(requestParameters: GetSandboxAiUsageRequest): Promise<runtime.RequestOpts>;
1143
1154
  /**
1144
- * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `box.read` on the sandbox.
1155
+ * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `sandbox.read` on the sandbox.
1145
1156
  * Get sandbox AI usage
1146
1157
  */
1147
1158
  getSandboxAiUsageRaw(requestParameters: GetSandboxAiUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SandboxAiUsageResponse>>;
1148
1159
  /**
1149
- * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `box.read` on the sandbox.
1160
+ * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `sandbox.read` on the sandbox.
1150
1161
  * Get sandbox AI usage
1151
1162
  */
1152
1163
  getSandboxAiUsage(requestParameters: GetSandboxAiUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SandboxAiUsageResponse>;
@@ -1463,12 +1474,12 @@ export declare class BoatApi extends runtime.BaseAPI {
1463
1474
  */
1464
1475
  recoverRequestOpts(requestParameters: RecoverRequest): Promise<runtime.RequestOpts>;
1465
1476
  /**
1466
- * 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.
1477
+ * 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 stop it with `{\"force\": true}` and resume it from its last good snapshot. With no snapshot, a forced stop loses everything. - `reset_failed`: the power-cycle failed. Reply to the incident email.
1467
1478
  * Recover a sandbox that stopped responding
1468
1479
  */
1469
1480
  recoverRaw(requestParameters: RecoverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Recover200Response>>;
1470
1481
  /**
1471
- * 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.
1482
+ * 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 stop it with `{\"force\": true}` and resume it from its last good snapshot. With no snapshot, a forced stop loses everything. - `reset_failed`: the power-cycle failed. Reply to the incident email.
1472
1483
  * Recover a sandbox that stopped responding
1473
1484
  */
1474
1485
  recover(requestParameters: RecoverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Recover200Response>;
@@ -1713,12 +1724,12 @@ export declare class BoatApi extends runtime.BaseAPI {
1713
1724
  */
1714
1725
  shareRequestOpts(requestParameters: ShareRequest): Promise<runtime.RequestOpts>;
1715
1726
  /**
1716
- * Let every member of the organization that pays for this sandbox use it. Your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. One-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`). Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op.
1727
+ * Let every member of the organization that pays for this sandbox use it. A sandbox that holds none of your personal logins is shared at once. A sandbox that holds them: your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. The wipe is one-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`): its running programs hold your logins in memory. Teammates never read history recorded before the share. Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op. Undo with `POST /sandboxes/{sandboxId}/unshare`.
1717
1728
  * Share sandbox with the organization
1718
1729
  */
1719
1730
  shareRaw(requestParameters: ShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Share200Response>>;
1720
1731
  /**
1721
- * Let every member of the organization that pays for this sandbox use it. Your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. One-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`). Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op.
1732
+ * Let every member of the organization that pays for this sandbox use it. A sandbox that holds none of your personal logins is shared at once. A sandbox that holds them: your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. The wipe is one-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`): its running programs hold your logins in memory. Teammates never read history recorded before the share. Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op. Undo with `POST /sandboxes/{sandboxId}/unshare`.
1722
1733
  * Share sandbox with the organization
1723
1734
  */
1724
1735
  share(requestParameters: ShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Share200Response>;
@@ -1792,6 +1803,20 @@ export declare class BoatApi extends runtime.BaseAPI {
1792
1803
  * Switch a credential to another account
1793
1804
  */
1794
1805
  switchCredentialAccount(requestParameters: SwitchCredentialAccountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CredentialAccountsResponse>;
1806
+ /**
1807
+ * Creates request options for unshare without sending the request
1808
+ */
1809
+ unshareRequestOpts(requestParameters: UnshareRequest): Promise<runtime.RequestOpts>;
1810
+ /**
1811
+ * Make a shared organization sandbox private again, at once. Only you can then use it. Teammates still see it in their list and can stop it. Their SSH keys are removed from the running machine. Nothing on the sandbox changes: files, installs and its environment stay. Undo with `POST /sandboxes/{sandboxId}/share`. Only the person who created the sandbox can make it private, and only a sandbox billed to an organization. Making a private sandbox private is a no-op.
1812
+ * Make an organization sandbox private
1813
+ */
1814
+ unshareRaw(requestParameters: UnshareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Unshare200Response>>;
1815
+ /**
1816
+ * Make a shared organization sandbox private again, at once. Only you can then use it. Teammates still see it in their list and can stop it. Their SSH keys are removed from the running machine. Nothing on the sandbox changes: files, installs and its environment stay. Undo with `POST /sandboxes/{sandboxId}/share`. Only the person who created the sandbox can make it private, and only a sandbox billed to an organization. Making a private sandbox private is a no-op.
1817
+ * Make an organization sandbox private
1818
+ */
1819
+ unshare(requestParameters: UnshareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Unshare200Response>;
1795
1820
  /**
1796
1821
  * Creates request options for update without sending the request
1797
1822
  */
@@ -1860,6 +1885,20 @@ export declare class BoatApi extends runtime.BaseAPI {
1860
1885
  * Update a sandbox environment
1861
1886
  */
1862
1887
  updateEnvironment(requestParameters: UpdateEnvironmentRequest | runtime.FlatBody<UpdateEnvironmentRequest, 'updateSandboxEnvironmentRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SandboxEnvironmentResponse>;
1888
+ /**
1889
+ * Creates request options for updateOrganization without sending the request
1890
+ */
1891
+ updateOrganizationRequestOpts(input: UpdateOrganizationOperationRequest | runtime.FlatBody<UpdateOrganizationOperationRequest, 'updateOrganizationRequest'>): Promise<runtime.RequestOpts>;
1892
+ /**
1893
+ * Owners and admins set whether new sandboxes of the organization start private (only their creator can use them) or shared (every member can use those that hold none of their creator\'s logins). The default is shared. Existing sandboxes keep their setting; their creators change it with `POST /sandboxes/{sandboxId}/share` and `POST /sandboxes/{sandboxId}/unshare`. A fork of a private sandbox is private.
1894
+ * Update organization settings
1895
+ */
1896
+ updateOrganizationRaw(requestParameters: UpdateOrganizationOperationRequest | runtime.FlatBody<UpdateOrganizationOperationRequest, 'updateOrganizationRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateOrganization200Response>>;
1897
+ /**
1898
+ * Owners and admins set whether new sandboxes of the organization start private (only their creator can use them) or shared (every member can use those that hold none of their creator\'s logins). The default is shared. Existing sandboxes keep their setting; their creators change it with `POST /sandboxes/{sandboxId}/share` and `POST /sandboxes/{sandboxId}/unshare`. A fork of a private sandbox is private.
1899
+ * Update organization settings
1900
+ */
1901
+ updateOrganization(requestParameters: UpdateOrganizationOperationRequest | runtime.FlatBody<UpdateOrganizationOperationRequest, 'updateOrganizationRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateOrganization200Response>;
1863
1902
  /**
1864
1903
  * Creates request options for updateSecrets without sending the request
1865
1904
  */
@@ -2008,3 +2047,10 @@ export declare const SandboxesSortEnum: {
2008
2047
  readonly Desc: 'desc';
2009
2048
  };
2010
2049
  export type SandboxesSortEnum = typeof SandboxesSortEnum[keyof typeof SandboxesSortEnum];
2050
+ /**
2051
+ * @export
2052
+ */
2053
+ export declare const SandboxesIncludeEnum: {
2054
+ readonly Cost: 'cost';
2055
+ };
2056
+ export type SandboxesIncludeEnum = typeof SandboxesIncludeEnum[keyof typeof SandboxesIncludeEnum];
@@ -46,7 +46,7 @@ var __importStar = (this && this.__importStar) || (function () {
46
46
  };
47
47
  })();
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.SandboxesSortEnum = exports.ReposSortEnum = exports.ReadFileEncodingEnum = exports.ListSnapshotsSortEnum = exports.ListSandboxSnapshotsSortEnum = exports.EventsSortEnum = exports.DesktopOperationThemeEnum = exports.DesktopOperationVncEnum = exports.CommandLogsEncodingEnum = exports.CommandLogsStreamEnum = exports.BoatApi = void 0;
49
+ exports.SandboxesIncludeEnum = exports.SandboxesSortEnum = exports.ReposSortEnum = exports.ReadFileEncodingEnum = exports.ListSnapshotsSortEnum = exports.ListSandboxSnapshotsSortEnum = exports.EventsSortEnum = exports.DesktopOperationThemeEnum = exports.DesktopOperationVncEnum = exports.CommandLogsEncodingEnum = exports.CommandLogsStreamEnum = exports.BoatApi = void 0;
50
50
  const runtime = __importStar(require("../runtime"));
51
51
  const AccountAiUsageResponse_1 = require("../models/AccountAiUsageResponse");
52
52
  const ActiveOrgResponse_1 = require("../models/ActiveOrgResponse");
@@ -140,8 +140,11 @@ const StopRequest_1 = require("../models/StopRequest");
140
140
  const TelemetryResponse_1 = require("../models/TelemetryResponse");
141
141
  const TelemetrySetRequest_1 = require("../models/TelemetrySetRequest");
142
142
  const TelemetrySetResponse_1 = require("../models/TelemetrySetResponse");
143
+ const Unshare200Response_1 = require("../models/Unshare200Response");
143
144
  const UpdateAiProxyRequest_1 = require("../models/UpdateAiProxyRequest");
144
145
  const UpdateCredentialProfileRequest_1 = require("../models/UpdateCredentialProfileRequest");
146
+ const UpdateOrganization200Response_1 = require("../models/UpdateOrganization200Response");
147
+ const UpdateOrganizationRequest_1 = require("../models/UpdateOrganizationRequest");
145
148
  const UpdateSandboxEnvironmentRequest_1 = require("../models/UpdateSandboxEnvironmentRequest");
146
149
  const UpdateSandboxRequest_1 = require("../models/UpdateSandboxRequest");
147
150
  const UpgradeSandboxEnvironmentRequest_1 = require("../models/UpgradeSandboxEnvironmentRequest");
@@ -2275,7 +2278,7 @@ class BoatApi extends runtime.BaseAPI {
2275
2278
  };
2276
2279
  }
2277
2280
  /**
2278
- * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `box.read` on the sandbox.
2281
+ * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `sandbox.read` on the sandbox.
2279
2282
  * Get sandbox AI usage
2280
2283
  */
2281
2284
  async getSandboxAiUsageRaw(requestParameters, initOverrides) {
@@ -2284,7 +2287,7 @@ class BoatApi extends runtime.BaseAPI {
2284
2287
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, SandboxAiUsageResponse_1.SandboxAiUsageResponseFromJSON)(jsonValue));
2285
2288
  }
2286
2289
  /**
2287
- * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `box.read` on the sandbox.
2290
+ * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `sandbox.read` on the sandbox.
2288
2291
  * Get sandbox AI usage
2289
2292
  */
2290
2293
  async getSandboxAiUsage(requestParameters, initOverrides) {
@@ -3275,7 +3278,7 @@ class BoatApi extends runtime.BaseAPI {
3275
3278
  };
3276
3279
  }
3277
3280
  /**
3278
- * 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.
3281
+ * 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 stop it with `{\"force\": true}` and resume it from its last good snapshot. With no snapshot, a forced stop loses everything. - `reset_failed`: the power-cycle failed. Reply to the incident email.
3279
3282
  * Recover a sandbox that stopped responding
3280
3283
  */
3281
3284
  async recoverRaw(requestParameters, initOverrides) {
@@ -3284,7 +3287,7 @@ class BoatApi extends runtime.BaseAPI {
3284
3287
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, Recover200Response_1.Recover200ResponseFromJSON)(jsonValue));
3285
3288
  }
3286
3289
  /**
3287
- * 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.
3290
+ * 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 stop it with `{\"force\": true}` and resume it from its last good snapshot. With no snapshot, a forced stop loses everything. - `reset_failed`: the power-cycle failed. Reply to the incident email.
3288
3291
  * Recover a sandbox that stopped responding
3289
3292
  */
3290
3293
  async recover(requestParameters, initOverrides) {
@@ -3582,6 +3585,9 @@ class BoatApi extends runtime.BaseAPI {
3582
3585
  if (requestParameters['state'] != null) {
3583
3586
  queryParameters['state'] = requestParameters['state'];
3584
3587
  }
3588
+ if (requestParameters['include'] != null) {
3589
+ queryParameters['include'] = requestParameters['include'];
3590
+ }
3585
3591
  const headerParameters = {};
3586
3592
  if (requestParameters['xBoatOrg'] != null) {
3587
3593
  headerParameters['X-Boat-Org'] = String(requestParameters['xBoatOrg']);
@@ -4116,7 +4122,7 @@ class BoatApi extends runtime.BaseAPI {
4116
4122
  };
4117
4123
  }
4118
4124
  /**
4119
- * Let every member of the organization that pays for this sandbox use it. Your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. One-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`). Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op.
4125
+ * Let every member of the organization that pays for this sandbox use it. A sandbox that holds none of your personal logins is shared at once. A sandbox that holds them: your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. The wipe is one-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`): its running programs hold your logins in memory. Teammates never read history recorded before the share. Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op. Undo with `POST /sandboxes/{sandboxId}/unshare`.
4120
4126
  * Share sandbox with the organization
4121
4127
  */
4122
4128
  async shareRaw(requestParameters, initOverrides) {
@@ -4125,7 +4131,7 @@ class BoatApi extends runtime.BaseAPI {
4125
4131
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, Share200Response_1.Share200ResponseFromJSON)(jsonValue));
4126
4132
  }
4127
4133
  /**
4128
- * Let every member of the organization that pays for this sandbox use it. Your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. One-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`). Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op.
4134
+ * Let every member of the organization that pays for this sandbox use it. A sandbox that holds none of your personal logins is shared at once. A sandbox that holds them: your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. The wipe is one-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`): its running programs hold your logins in memory. Teammates never read history recorded before the share. Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op. Undo with `POST /sandboxes/{sandboxId}/unshare`.
4129
4135
  * Share sandbox with the organization
4130
4136
  */
4131
4137
  async share(requestParameters, initOverrides) {
@@ -4372,6 +4378,48 @@ class BoatApi extends runtime.BaseAPI {
4372
4378
  const response = await this.switchCredentialAccountRaw(requestParameters, initOverrides);
4373
4379
  return await response.value();
4374
4380
  }
4381
+ /**
4382
+ * Creates request options for unshare without sending the request
4383
+ */
4384
+ async unshareRequestOpts(requestParameters) {
4385
+ if (requestParameters['sandboxId'] == null) {
4386
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling unshare().');
4387
+ }
4388
+ const queryParameters = {};
4389
+ const headerParameters = {};
4390
+ if (this.configuration && this.configuration.accessToken) {
4391
+ const token = this.configuration.accessToken;
4392
+ const tokenString = await token("BoatBearerAuth", []);
4393
+ if (tokenString) {
4394
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4395
+ }
4396
+ }
4397
+ let urlPath = `/sandboxes/{sandboxId}/unshare`;
4398
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
4399
+ return {
4400
+ path: urlPath,
4401
+ method: 'POST',
4402
+ headers: headerParameters,
4403
+ query: queryParameters,
4404
+ };
4405
+ }
4406
+ /**
4407
+ * Make a shared organization sandbox private again, at once. Only you can then use it. Teammates still see it in their list and can stop it. Their SSH keys are removed from the running machine. Nothing on the sandbox changes: files, installs and its environment stay. Undo with `POST /sandboxes/{sandboxId}/share`. Only the person who created the sandbox can make it private, and only a sandbox billed to an organization. Making a private sandbox private is a no-op.
4408
+ * Make an organization sandbox private
4409
+ */
4410
+ async unshareRaw(requestParameters, initOverrides) {
4411
+ const requestOptions = await this.unshareRequestOpts(requestParameters);
4412
+ const response = await this.request(requestOptions, initOverrides);
4413
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, Unshare200Response_1.Unshare200ResponseFromJSON)(jsonValue));
4414
+ }
4415
+ /**
4416
+ * Make a shared organization sandbox private again, at once. Only you can then use it. Teammates still see it in their list and can stop it. Their SSH keys are removed from the running machine. Nothing on the sandbox changes: files, installs and its environment stay. Undo with `POST /sandboxes/{sandboxId}/share`. Only the person who created the sandbox can make it private, and only a sandbox billed to an organization. Making a private sandbox private is a no-op.
4417
+ * Make an organization sandbox private
4418
+ */
4419
+ async unshare(requestParameters, initOverrides) {
4420
+ const response = await this.unshareRaw(requestParameters, initOverrides);
4421
+ return await response.value();
4422
+ }
4375
4423
  /**
4376
4424
  * Creates request options for update without sending the request
4377
4425
  */
@@ -4611,6 +4659,54 @@ class BoatApi extends runtime.BaseAPI {
4611
4659
  const response = await this.updateEnvironmentRaw(requestParameters, initOverrides);
4612
4660
  return await response.value();
4613
4661
  }
4662
+ /**
4663
+ * Creates request options for updateOrganization without sending the request
4664
+ */
4665
+ async updateOrganizationRequestOpts(input) {
4666
+ const requestParameters = runtime.unflattenBody(input, 'updateOrganizationRequest', ['org'], []);
4667
+ if (requestParameters['org'] == null) {
4668
+ throw new runtime.RequiredError('org', 'Required parameter "org" was null or undefined when calling updateOrganization().');
4669
+ }
4670
+ if (requestParameters['updateOrganizationRequest'] == null) {
4671
+ throw new runtime.RequiredError('updateOrganizationRequest', 'Required parameter "updateOrganizationRequest" was null or undefined when calling updateOrganization().');
4672
+ }
4673
+ const queryParameters = {};
4674
+ const headerParameters = {};
4675
+ headerParameters['Content-Type'] = 'application/json';
4676
+ if (this.configuration && this.configuration.accessToken) {
4677
+ const token = this.configuration.accessToken;
4678
+ const tokenString = await token("BoatBearerAuth", []);
4679
+ if (tokenString) {
4680
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4681
+ }
4682
+ }
4683
+ let urlPath = `/orgs/{org}`;
4684
+ urlPath = urlPath.replace('{org}', encodeURIComponent(String(requestParameters['org'])));
4685
+ return {
4686
+ path: urlPath,
4687
+ method: 'PATCH',
4688
+ headers: headerParameters,
4689
+ query: queryParameters,
4690
+ body: (0, UpdateOrganizationRequest_1.UpdateOrganizationRequestToJSON)(requestParameters['updateOrganizationRequest']),
4691
+ };
4692
+ }
4693
+ /**
4694
+ * Owners and admins set whether new sandboxes of the organization start private (only their creator can use them) or shared (every member can use those that hold none of their creator\'s logins). The default is shared. Existing sandboxes keep their setting; their creators change it with `POST /sandboxes/{sandboxId}/share` and `POST /sandboxes/{sandboxId}/unshare`. A fork of a private sandbox is private.
4695
+ * Update organization settings
4696
+ */
4697
+ async updateOrganizationRaw(requestParameters, initOverrides) {
4698
+ const requestOptions = await this.updateOrganizationRequestOpts(requestParameters);
4699
+ const response = await this.request(requestOptions, initOverrides);
4700
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, UpdateOrganization200Response_1.UpdateOrganization200ResponseFromJSON)(jsonValue));
4701
+ }
4702
+ /**
4703
+ * Owners and admins set whether new sandboxes of the organization start private (only their creator can use them) or shared (every member can use those that hold none of their creator\'s logins). The default is shared. Existing sandboxes keep their setting; their creators change it with `POST /sandboxes/{sandboxId}/share` and `POST /sandboxes/{sandboxId}/unshare`. A fork of a private sandbox is private.
4704
+ * Update organization settings
4705
+ */
4706
+ async updateOrganization(requestParameters, initOverrides) {
4707
+ const response = await this.updateOrganizationRaw(requestParameters, initOverrides);
4708
+ return await response.value();
4709
+ }
4614
4710
  /**
4615
4711
  * Creates request options for updateSecrets without sending the request
4616
4712
  */
@@ -4916,3 +5012,9 @@ exports.SandboxesSortEnum = {
4916
5012
  Asc: 'asc',
4917
5013
  Desc: 'desc'
4918
5014
  };
5015
+ /**
5016
+ * @export
5017
+ */
5018
+ exports.SandboxesIncludeEnum = {
5019
+ Cost: 'cost'
5020
+ };
@@ -103,8 +103,11 @@ import { type StopRequest } from '../models/StopRequest';
103
103
  import { type TelemetryResponse } from '../models/TelemetryResponse';
104
104
  import { type TelemetrySetRequest } from '../models/TelemetrySetRequest';
105
105
  import { type TelemetrySetResponse } from '../models/TelemetrySetResponse';
106
+ import { type Unshare200Response } from '../models/Unshare200Response';
106
107
  import { type UpdateAiProxyRequest } from '../models/UpdateAiProxyRequest';
107
108
  import { type UpdateCredentialProfileRequest } from '../models/UpdateCredentialProfileRequest';
109
+ import { type UpdateOrganization200Response } from '../models/UpdateOrganization200Response';
110
+ import { type UpdateOrganizationRequest } from '../models/UpdateOrganizationRequest';
108
111
  import { type UpdateSandboxEnvironmentRequest } from '../models/UpdateSandboxEnvironmentRequest';
109
112
  import { type UpdateSandboxRequest } from '../models/UpdateSandboxRequest';
110
113
  import { type UpgradeSandboxEnvironmentRequest } from '../models/UpgradeSandboxEnvironmentRequest';
@@ -401,6 +404,7 @@ export interface SandboxesRequest {
401
404
  cursor?: string | null;
402
405
  sort?: SandboxesSortEnum;
403
406
  state?: string;
407
+ include?: SandboxesIncludeEnum;
404
408
  }
405
409
  export interface SaveNamedSnapshotRequest {
406
410
  namedSnapshotSaveRequest: NamedSnapshotSaveRequest;
@@ -464,6 +468,9 @@ export interface SwitchCredentialAccountRequest {
464
468
  credential: CredentialId;
465
469
  account: string;
466
470
  }
471
+ export interface UnshareRequest {
472
+ sandboxId: string;
473
+ }
467
474
  export interface UpdateRequest {
468
475
  sandboxId: string;
469
476
  updateSandboxRequest: UpdateSandboxRequest;
@@ -485,6 +492,10 @@ export interface UpdateEnvironmentRequest {
485
492
  updateSandboxEnvironmentRequest: UpdateSandboxEnvironmentRequest;
486
493
  org?: string;
487
494
  }
495
+ export interface UpdateOrganizationOperationRequest {
496
+ org: string;
497
+ updateOrganizationRequest: UpdateOrganizationRequest;
498
+ }
488
499
  export interface UpdateSecretsRequest {
489
500
  secretsUpdateRequest: SecretsUpdateRequest;
490
501
  }
@@ -1141,12 +1152,12 @@ export declare class BoatApi extends runtime.BaseAPI {
1141
1152
  */
1142
1153
  getSandboxAiUsageRequestOpts(requestParameters: GetSandboxAiUsageRequest): Promise<runtime.RequestOpts>;
1143
1154
  /**
1144
- * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `box.read` on the sandbox.
1155
+ * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `sandbox.read` on the sandbox.
1145
1156
  * Get sandbox AI usage
1146
1157
  */
1147
1158
  getSandboxAiUsageRaw(requestParameters: GetSandboxAiUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SandboxAiUsageResponse>>;
1148
1159
  /**
1149
- * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `box.read` on the sandbox.
1160
+ * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `sandbox.read` on the sandbox.
1150
1161
  * Get sandbox AI usage
1151
1162
  */
1152
1163
  getSandboxAiUsage(requestParameters: GetSandboxAiUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SandboxAiUsageResponse>;
@@ -1463,12 +1474,12 @@ export declare class BoatApi extends runtime.BaseAPI {
1463
1474
  */
1464
1475
  recoverRequestOpts(requestParameters: RecoverRequest): Promise<runtime.RequestOpts>;
1465
1476
  /**
1466
- * 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.
1477
+ * 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 stop it with `{\"force\": true}` and resume it from its last good snapshot. With no snapshot, a forced stop loses everything. - `reset_failed`: the power-cycle failed. Reply to the incident email.
1467
1478
  * Recover a sandbox that stopped responding
1468
1479
  */
1469
1480
  recoverRaw(requestParameters: RecoverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Recover200Response>>;
1470
1481
  /**
1471
- * 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.
1482
+ * 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 stop it with `{\"force\": true}` and resume it from its last good snapshot. With no snapshot, a forced stop loses everything. - `reset_failed`: the power-cycle failed. Reply to the incident email.
1472
1483
  * Recover a sandbox that stopped responding
1473
1484
  */
1474
1485
  recover(requestParameters: RecoverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Recover200Response>;
@@ -1713,12 +1724,12 @@ export declare class BoatApi extends runtime.BaseAPI {
1713
1724
  */
1714
1725
  shareRequestOpts(requestParameters: ShareRequest): Promise<runtime.RequestOpts>;
1715
1726
  /**
1716
- * Let every member of the organization that pays for this sandbox use it. Your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. One-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`). Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op.
1727
+ * Let every member of the organization that pays for this sandbox use it. A sandbox that holds none of your personal logins is shared at once. A sandbox that holds them: your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. The wipe is one-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`): its running programs hold your logins in memory. Teammates never read history recorded before the share. Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op. Undo with `POST /sandboxes/{sandboxId}/unshare`.
1717
1728
  * Share sandbox with the organization
1718
1729
  */
1719
1730
  shareRaw(requestParameters: ShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Share200Response>>;
1720
1731
  /**
1721
- * Let every member of the organization that pays for this sandbox use it. Your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. One-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`). Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op.
1732
+ * Let every member of the organization that pays for this sandbox use it. A sandbox that holds none of your personal logins is shared at once. A sandbox that holds them: your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. The wipe is one-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`): its running programs hold your logins in memory. Teammates never read history recorded before the share. Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op. Undo with `POST /sandboxes/{sandboxId}/unshare`.
1722
1733
  * Share sandbox with the organization
1723
1734
  */
1724
1735
  share(requestParameters: ShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Share200Response>;
@@ -1792,6 +1803,20 @@ export declare class BoatApi extends runtime.BaseAPI {
1792
1803
  * Switch a credential to another account
1793
1804
  */
1794
1805
  switchCredentialAccount(requestParameters: SwitchCredentialAccountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CredentialAccountsResponse>;
1806
+ /**
1807
+ * Creates request options for unshare without sending the request
1808
+ */
1809
+ unshareRequestOpts(requestParameters: UnshareRequest): Promise<runtime.RequestOpts>;
1810
+ /**
1811
+ * Make a shared organization sandbox private again, at once. Only you can then use it. Teammates still see it in their list and can stop it. Their SSH keys are removed from the running machine. Nothing on the sandbox changes: files, installs and its environment stay. Undo with `POST /sandboxes/{sandboxId}/share`. Only the person who created the sandbox can make it private, and only a sandbox billed to an organization. Making a private sandbox private is a no-op.
1812
+ * Make an organization sandbox private
1813
+ */
1814
+ unshareRaw(requestParameters: UnshareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Unshare200Response>>;
1815
+ /**
1816
+ * Make a shared organization sandbox private again, at once. Only you can then use it. Teammates still see it in their list and can stop it. Their SSH keys are removed from the running machine. Nothing on the sandbox changes: files, installs and its environment stay. Undo with `POST /sandboxes/{sandboxId}/share`. Only the person who created the sandbox can make it private, and only a sandbox billed to an organization. Making a private sandbox private is a no-op.
1817
+ * Make an organization sandbox private
1818
+ */
1819
+ unshare(requestParameters: UnshareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Unshare200Response>;
1795
1820
  /**
1796
1821
  * Creates request options for update without sending the request
1797
1822
  */
@@ -1860,6 +1885,20 @@ export declare class BoatApi extends runtime.BaseAPI {
1860
1885
  * Update a sandbox environment
1861
1886
  */
1862
1887
  updateEnvironment(requestParameters: UpdateEnvironmentRequest | runtime.FlatBody<UpdateEnvironmentRequest, 'updateSandboxEnvironmentRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SandboxEnvironmentResponse>;
1888
+ /**
1889
+ * Creates request options for updateOrganization without sending the request
1890
+ */
1891
+ updateOrganizationRequestOpts(input: UpdateOrganizationOperationRequest | runtime.FlatBody<UpdateOrganizationOperationRequest, 'updateOrganizationRequest'>): Promise<runtime.RequestOpts>;
1892
+ /**
1893
+ * Owners and admins set whether new sandboxes of the organization start private (only their creator can use them) or shared (every member can use those that hold none of their creator\'s logins). The default is shared. Existing sandboxes keep their setting; their creators change it with `POST /sandboxes/{sandboxId}/share` and `POST /sandboxes/{sandboxId}/unshare`. A fork of a private sandbox is private.
1894
+ * Update organization settings
1895
+ */
1896
+ updateOrganizationRaw(requestParameters: UpdateOrganizationOperationRequest | runtime.FlatBody<UpdateOrganizationOperationRequest, 'updateOrganizationRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateOrganization200Response>>;
1897
+ /**
1898
+ * Owners and admins set whether new sandboxes of the organization start private (only their creator can use them) or shared (every member can use those that hold none of their creator\'s logins). The default is shared. Existing sandboxes keep their setting; their creators change it with `POST /sandboxes/{sandboxId}/share` and `POST /sandboxes/{sandboxId}/unshare`. A fork of a private sandbox is private.
1899
+ * Update organization settings
1900
+ */
1901
+ updateOrganization(requestParameters: UpdateOrganizationOperationRequest | runtime.FlatBody<UpdateOrganizationOperationRequest, 'updateOrganizationRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateOrganization200Response>;
1863
1902
  /**
1864
1903
  * Creates request options for updateSecrets without sending the request
1865
1904
  */
@@ -2008,3 +2047,10 @@ export declare const SandboxesSortEnum: {
2008
2047
  readonly Desc: 'desc';
2009
2048
  };
2010
2049
  export type SandboxesSortEnum = typeof SandboxesSortEnum[keyof typeof SandboxesSortEnum];
2050
+ /**
2051
+ * @export
2052
+ */
2053
+ export declare const SandboxesIncludeEnum: {
2054
+ readonly Cost: 'cost';
2055
+ };
2056
+ export type SandboxesIncludeEnum = typeof SandboxesIncludeEnum[keyof typeof SandboxesIncludeEnum];