@boatdev/sdk 1.9.9 → 1.11.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 (179) hide show
  1. package/.openapi-generator/FILES +30 -0
  2. package/dist/apis/BoatApi.d.ts +144 -18
  3. package/dist/apis/BoatApi.js +305 -22
  4. package/dist/esm/apis/BoatApi.d.ts +144 -18
  5. package/dist/esm/apis/BoatApi.js +304 -21
  6. package/dist/esm/models/CreateSandboxRequest.d.ts +9 -3
  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/CredentialId.d.ts +3 -0
  12. package/dist/esm/models/CredentialId.js +3 -0
  13. package/dist/esm/models/CredentialProfile.d.ts +7 -0
  14. package/dist/esm/models/CredentialProfile.js +3 -0
  15. package/dist/esm/models/DeletionOperation.d.ts +1 -1
  16. package/dist/esm/models/LimitsFields.d.ts +1 -1
  17. package/dist/esm/models/LimitsResponse.d.ts +1 -1
  18. package/dist/esm/models/MeResponseAllOfUser.d.ts +1 -0
  19. package/dist/esm/models/MeResponseAllOfUser.js +1 -0
  20. package/dist/esm/models/ResourceAccess.d.ts +38 -0
  21. package/dist/esm/models/ResourceAccess.js +47 -0
  22. package/dist/esm/models/ResourceAccessUpdate.d.ts +38 -0
  23. package/dist/esm/models/ResourceAccessUpdate.js +45 -0
  24. package/dist/esm/models/ResumeRequest.d.ts +1 -1
  25. package/dist/esm/models/Sandbox.d.ts +35 -1
  26. package/dist/esm/models/Sandbox.js +17 -0
  27. package/dist/esm/models/SandboxCost.d.ts +44 -0
  28. package/dist/esm/models/SandboxCost.js +51 -0
  29. package/dist/esm/models/SandboxEnvironment.d.ts +7 -0
  30. package/dist/esm/models/SandboxEnvironment.js +3 -0
  31. package/dist/esm/models/SandboxLastReboot.d.ts +47 -0
  32. package/dist/esm/models/SandboxLastReboot.js +51 -0
  33. package/dist/esm/models/SandboxListResponse.d.ts +7 -0
  34. package/dist/esm/models/SandboxListResponse.js +3 -0
  35. package/dist/esm/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
  36. package/dist/esm/models/SandboxListResponseAllOfDeletedCost.js +51 -0
  37. package/dist/esm/models/SavedSnapshot.d.ts +83 -0
  38. package/dist/esm/models/SavedSnapshot.js +71 -0
  39. package/dist/esm/models/SavedSnapshotAllowance.d.ts +81 -0
  40. package/dist/esm/models/SavedSnapshotAllowance.js +57 -0
  41. package/dist/esm/models/SavedSnapshotDeletedResponse.d.ts +64 -0
  42. package/dist/esm/models/SavedSnapshotDeletedResponse.js +67 -0
  43. package/dist/esm/models/SavedSnapshotInfoResponse.d.ts +52 -0
  44. package/dist/esm/models/SavedSnapshotInfoResponse.js +58 -0
  45. package/dist/esm/models/SavedSnapshotListResponse.d.ts +59 -0
  46. package/dist/esm/models/SavedSnapshotListResponse.js +61 -0
  47. package/dist/esm/models/SavedSnapshotSaveRequest.d.ts +38 -0
  48. package/dist/esm/models/SavedSnapshotSaveRequest.js +47 -0
  49. package/dist/esm/models/SavedSnapshotSavingResponse.d.ts +65 -0
  50. package/dist/esm/models/SavedSnapshotSavingResponse.js +68 -0
  51. package/dist/esm/models/SnapshotSummary.d.ts +1 -1
  52. package/dist/esm/models/Unshare200Response.d.ts +39 -0
  53. package/dist/esm/models/Unshare200Response.js +44 -0
  54. package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +7 -0
  55. package/dist/esm/models/UpdateCredentialProfileRequest.js +3 -0
  56. package/dist/esm/models/UpdateOrganization200Response.d.ts +50 -0
  57. package/dist/esm/models/UpdateOrganization200Response.js +47 -0
  58. package/dist/esm/models/UpdateOrganizationRequest.d.ts +32 -0
  59. package/dist/esm/models/UpdateOrganizationRequest.js +43 -0
  60. package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
  61. package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +3 -0
  62. package/dist/esm/models/index.d.ts +15 -0
  63. package/dist/esm/models/index.js +15 -0
  64. package/dist/models/CreateSandboxRequest.d.ts +9 -3
  65. package/dist/models/CreateSandboxRequest.js +2 -0
  66. package/dist/models/CreateSandboxResponse.d.ts +6 -0
  67. package/dist/models/CreateSandboxResponse.js +2 -0
  68. package/dist/models/CreateScopedApiKeyRequest.d.ts +1 -1
  69. package/dist/models/CredentialId.d.ts +3 -0
  70. package/dist/models/CredentialId.js +3 -0
  71. package/dist/models/CredentialProfile.d.ts +7 -0
  72. package/dist/models/CredentialProfile.js +3 -0
  73. package/dist/models/DeletionOperation.d.ts +1 -1
  74. package/dist/models/LimitsFields.d.ts +1 -1
  75. package/dist/models/LimitsResponse.d.ts +1 -1
  76. package/dist/models/MeResponseAllOfUser.d.ts +1 -0
  77. package/dist/models/MeResponseAllOfUser.js +1 -0
  78. package/dist/models/ResourceAccess.d.ts +38 -0
  79. package/dist/models/ResourceAccess.js +54 -0
  80. package/dist/models/ResourceAccessUpdate.d.ts +38 -0
  81. package/dist/models/ResourceAccessUpdate.js +52 -0
  82. package/dist/models/ResumeRequest.d.ts +1 -1
  83. package/dist/models/Sandbox.d.ts +35 -1
  84. package/dist/models/Sandbox.js +18 -1
  85. package/dist/models/SandboxCost.d.ts +44 -0
  86. package/dist/models/SandboxCost.js +58 -0
  87. package/dist/models/SandboxEnvironment.d.ts +7 -0
  88. package/dist/models/SandboxEnvironment.js +3 -0
  89. package/dist/models/SandboxLastReboot.d.ts +47 -0
  90. package/dist/models/SandboxLastReboot.js +59 -0
  91. package/dist/models/SandboxListResponse.d.ts +7 -0
  92. package/dist/models/SandboxListResponse.js +3 -0
  93. package/dist/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
  94. package/dist/models/SandboxListResponseAllOfDeletedCost.js +58 -0
  95. package/dist/models/SavedSnapshot.d.ts +83 -0
  96. package/dist/models/SavedSnapshot.js +79 -0
  97. package/dist/models/SavedSnapshotAllowance.d.ts +81 -0
  98. package/dist/models/SavedSnapshotAllowance.js +64 -0
  99. package/dist/models/SavedSnapshotDeletedResponse.d.ts +64 -0
  100. package/dist/models/SavedSnapshotDeletedResponse.js +75 -0
  101. package/dist/models/SavedSnapshotInfoResponse.d.ts +52 -0
  102. package/dist/models/SavedSnapshotInfoResponse.js +66 -0
  103. package/dist/models/SavedSnapshotListResponse.d.ts +59 -0
  104. package/dist/models/SavedSnapshotListResponse.js +69 -0
  105. package/dist/models/SavedSnapshotSaveRequest.d.ts +38 -0
  106. package/dist/models/SavedSnapshotSaveRequest.js +54 -0
  107. package/dist/models/SavedSnapshotSavingResponse.d.ts +65 -0
  108. package/dist/models/SavedSnapshotSavingResponse.js +76 -0
  109. package/dist/models/SnapshotSummary.d.ts +1 -1
  110. package/dist/models/Unshare200Response.d.ts +39 -0
  111. package/dist/models/Unshare200Response.js +51 -0
  112. package/dist/models/UpdateCredentialProfileRequest.d.ts +7 -0
  113. package/dist/models/UpdateCredentialProfileRequest.js +3 -0
  114. package/dist/models/UpdateOrganization200Response.d.ts +50 -0
  115. package/dist/models/UpdateOrganization200Response.js +54 -0
  116. package/dist/models/UpdateOrganizationRequest.d.ts +32 -0
  117. package/dist/models/UpdateOrganizationRequest.js +50 -0
  118. package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
  119. package/dist/models/UpdateSandboxEnvironmentRequest.js +3 -0
  120. package/dist/models/index.d.ts +15 -0
  121. package/dist/models/index.js +15 -0
  122. package/docs/BoatApi.md +468 -19
  123. package/docs/CreateSandboxRequest.md +2 -0
  124. package/docs/CreateSandboxResponse.md +2 -0
  125. package/docs/CredentialProfile.md +2 -0
  126. package/docs/ResourceAccess.md +35 -0
  127. package/docs/ResourceAccessUpdate.md +35 -0
  128. package/docs/Sandbox.md +8 -0
  129. package/docs/SandboxCost.md +37 -0
  130. package/docs/SandboxEnvironment.md +2 -0
  131. package/docs/SandboxLastReboot.md +35 -0
  132. package/docs/SandboxListResponse.md +2 -0
  133. package/docs/SandboxListResponseAllOfDeletedCost.md +37 -0
  134. package/docs/SavedSnapshot.md +47 -0
  135. package/docs/SavedSnapshotAllowance.md +49 -0
  136. package/docs/SavedSnapshotDeletedResponse.md +38 -0
  137. package/docs/SavedSnapshotInfoResponse.md +36 -0
  138. package/docs/SavedSnapshotListResponse.md +38 -0
  139. package/docs/SavedSnapshotSaveRequest.md +34 -0
  140. package/docs/SavedSnapshotSavingResponse.md +38 -0
  141. package/docs/Unshare200Response.md +34 -0
  142. package/docs/UpdateCredentialProfileRequest.md +2 -0
  143. package/docs/UpdateOrganization200Response.md +38 -0
  144. package/docs/UpdateOrganizationRequest.md +32 -0
  145. package/docs/UpdateSandboxEnvironmentRequest.md +2 -0
  146. package/package.json +1 -1
  147. package/src/apis/BoatApi.ts +440 -21
  148. package/src/models/CreateSandboxRequest.ts +11 -3
  149. package/src/models/CreateSandboxResponse.ts +8 -0
  150. package/src/models/CreateScopedApiKeyRequest.ts +1 -1
  151. package/src/models/CredentialId.ts +3 -0
  152. package/src/models/CredentialProfile.ts +15 -0
  153. package/src/models/DeletionOperation.ts +1 -1
  154. package/src/models/LimitsFields.ts +1 -1
  155. package/src/models/LimitsResponse.ts +1 -1
  156. package/src/models/MeResponseAllOfUser.ts +1 -0
  157. package/src/models/ResourceAccess.ts +75 -0
  158. package/src/models/ResourceAccessUpdate.ts +74 -0
  159. package/src/models/ResumeRequest.ts +1 -1
  160. package/src/models/Sandbox.ts +56 -1
  161. package/src/models/SandboxCost.ts +84 -0
  162. package/src/models/SandboxEnvironment.ts +15 -0
  163. package/src/models/SandboxLastReboot.ts +85 -0
  164. package/src/models/SandboxListResponse.ts +15 -0
  165. package/src/models/SandboxListResponseAllOfDeletedCost.ts +84 -0
  166. package/src/models/SavedSnapshot.ts +137 -0
  167. package/src/models/SavedSnapshotAllowance.ts +130 -0
  168. package/src/models/SavedSnapshotDeletedResponse.ts +111 -0
  169. package/src/models/SavedSnapshotInfoResponse.ts +102 -0
  170. package/src/models/SavedSnapshotListResponse.ts +117 -0
  171. package/src/models/SavedSnapshotSaveRequest.ts +75 -0
  172. package/src/models/SavedSnapshotSavingResponse.ts +119 -0
  173. package/src/models/SnapshotSummary.ts +1 -1
  174. package/src/models/Unshare200Response.ts +81 -0
  175. package/src/models/UpdateCredentialProfileRequest.ts +16 -0
  176. package/src/models/UpdateOrganization200Response.ts +89 -0
  177. package/src/models/UpdateOrganizationRequest.ts +66 -0
  178. package/src/models/UpdateSandboxEnvironmentRequest.ts +15 -0
  179. package/src/models/index.ts +15 -0
@@ -393,6 +393,31 @@ import {
393
393
  SandboxUsageResponseFromJSON,
394
394
  SandboxUsageResponseToJSON,
395
395
  } from '../models/SandboxUsageResponse';
396
+ import {
397
+ type SavedSnapshotDeletedResponse,
398
+ SavedSnapshotDeletedResponseFromJSON,
399
+ SavedSnapshotDeletedResponseToJSON,
400
+ } from '../models/SavedSnapshotDeletedResponse';
401
+ import {
402
+ type SavedSnapshotInfoResponse,
403
+ SavedSnapshotInfoResponseFromJSON,
404
+ SavedSnapshotInfoResponseToJSON,
405
+ } from '../models/SavedSnapshotInfoResponse';
406
+ import {
407
+ type SavedSnapshotListResponse,
408
+ SavedSnapshotListResponseFromJSON,
409
+ SavedSnapshotListResponseToJSON,
410
+ } from '../models/SavedSnapshotListResponse';
411
+ import {
412
+ type SavedSnapshotSaveRequest,
413
+ SavedSnapshotSaveRequestFromJSON,
414
+ SavedSnapshotSaveRequestToJSON,
415
+ } from '../models/SavedSnapshotSaveRequest';
416
+ import {
417
+ type SavedSnapshotSavingResponse,
418
+ SavedSnapshotSavingResponseFromJSON,
419
+ SavedSnapshotSavingResponseToJSON,
420
+ } from '../models/SavedSnapshotSavingResponse';
396
421
  import {
397
422
  type SecretsResponse,
398
423
  SecretsResponseFromJSON,
@@ -498,6 +523,11 @@ import {
498
523
  TelemetrySetResponseFromJSON,
499
524
  TelemetrySetResponseToJSON,
500
525
  } from '../models/TelemetrySetResponse';
526
+ import {
527
+ type Unshare200Response,
528
+ Unshare200ResponseFromJSON,
529
+ Unshare200ResponseToJSON,
530
+ } from '../models/Unshare200Response';
501
531
  import {
502
532
  type UpdateAiProxyRequest,
503
533
  UpdateAiProxyRequestFromJSON,
@@ -508,6 +538,16 @@ import {
508
538
  UpdateCredentialProfileRequestFromJSON,
509
539
  UpdateCredentialProfileRequestToJSON,
510
540
  } from '../models/UpdateCredentialProfileRequest';
541
+ import {
542
+ type UpdateOrganization200Response,
543
+ UpdateOrganization200ResponseFromJSON,
544
+ UpdateOrganization200ResponseToJSON,
545
+ } from '../models/UpdateOrganization200Response';
546
+ import {
547
+ type UpdateOrganizationRequest,
548
+ UpdateOrganizationRequestFromJSON,
549
+ UpdateOrganizationRequestToJSON,
550
+ } from '../models/UpdateOrganizationRequest';
511
551
  import {
512
552
  type UpdateSandboxEnvironmentRequest,
513
553
  UpdateSandboxEnvironmentRequestFromJSON,
@@ -716,6 +756,10 @@ export interface DeleteSandboxSnapshotsRequest {
716
756
  xAsciiConfirmDelete: string;
717
757
  }
718
758
 
759
+ export interface DeleteSavedSnapshotRequest {
760
+ name: string;
761
+ }
762
+
719
763
  export interface DeleteSnapshotRequest {
720
764
  snapshotId: string;
721
765
  xAsciiConfirmDelete: string;
@@ -789,6 +833,10 @@ export interface GetSandboxAiUsageRequest {
789
833
  days?: number;
790
834
  }
791
835
 
836
+ export interface GetSavedSnapshotRequest {
837
+ name: string;
838
+ }
839
+
792
840
  export interface GetSnapshotDownloadRequest {
793
841
  snapshotId: string;
794
842
  }
@@ -911,12 +959,17 @@ export interface SandboxesRequest {
911
959
  cursor?: string | null;
912
960
  sort?: SandboxesSortEnum;
913
961
  state?: string;
962
+ include?: SandboxesIncludeEnum;
914
963
  }
915
964
 
916
965
  export interface SaveNamedSnapshotRequest {
917
966
  namedSnapshotSaveRequest: NamedSnapshotSaveRequest;
918
967
  }
919
968
 
969
+ export interface SaveSavedSnapshotRequest {
970
+ savedSnapshotSaveRequest: SavedSnapshotSaveRequest;
971
+ }
972
+
920
973
  export interface SelectRepoRequest {
921
974
  repoSelectionRequest: RepoSelectionRequest;
922
975
  }
@@ -990,6 +1043,10 @@ export interface SwitchCredentialAccountRequest {
990
1043
  account: string;
991
1044
  }
992
1045
 
1046
+ export interface UnshareRequest {
1047
+ sandboxId: string;
1048
+ }
1049
+
993
1050
  export interface UpdateRequest {
994
1051
  sandboxId: string;
995
1052
  updateSandboxRequest: UpdateSandboxRequest;
@@ -1016,6 +1073,11 @@ export interface UpdateEnvironmentRequest {
1016
1073
  org?: string;
1017
1074
  }
1018
1075
 
1076
+ export interface UpdateOrganizationOperationRequest {
1077
+ org: string;
1078
+ updateOrganizationRequest: UpdateOrganizationRequest;
1079
+ }
1080
+
1019
1081
  export interface UpdateSecretsRequest {
1020
1082
  secretsUpdateRequest: SecretsUpdateRequest;
1021
1083
  }
@@ -2107,7 +2169,7 @@ export class BoatApi extends runtime.BaseAPI {
2107
2169
  }
2108
2170
  }
2109
2171
 
2110
- let urlPath = `/named-snapshots/{name}/shares`;
2172
+ let urlPath = `/saved-snapshots/{name}/shares`;
2111
2173
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
2112
2174
 
2113
2175
  return {
@@ -2119,8 +2181,8 @@ export class BoatApi extends runtime.BaseAPI {
2119
2181
  }
2120
2182
 
2121
2183
  /**
2122
- * 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`.
2123
- * Share a named snapshot
2184
+ * Make a secret code that lets any Boat account create a sandbox from this saved 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`.
2185
+ * Share a saved snapshot
2124
2186
  */
2125
2187
  async createSnapshotShareRaw(requestParameters: CreateSnapshotShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotShareCreatedResponse>> {
2126
2188
  const requestOptions = await this.createSnapshotShareRequestOpts(requestParameters);
@@ -2130,8 +2192,8 @@ export class BoatApi extends runtime.BaseAPI {
2130
2192
  }
2131
2193
 
2132
2194
  /**
2133
- * 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`.
2134
- * Share a named snapshot
2195
+ * Make a secret code that lets any Boat account create a sandbox from this saved 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`.
2196
+ * Share a saved snapshot
2135
2197
  */
2136
2198
  async createSnapshotShare(requestParameters: CreateSnapshotShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotShareCreatedResponse> {
2137
2199
  const response = await this.createSnapshotShareRaw(requestParameters, initOverrides);
@@ -2779,6 +2841,7 @@ export class BoatApi extends runtime.BaseAPI {
2779
2841
 
2780
2842
  /**
2781
2843
  * Creates request options for deleteNamedSnapshot without sending the request
2844
+ * @deprecated
2782
2845
  */
2783
2846
  async deleteNamedSnapshotRequestOpts(requestParameters: DeleteNamedSnapshotRequest): Promise<runtime.RequestOpts> {
2784
2847
  if (requestParameters['name'] == null) {
@@ -2815,6 +2878,7 @@ export class BoatApi extends runtime.BaseAPI {
2815
2878
  /**
2816
2879
  * Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
2817
2880
  * Remove a named snapshot
2881
+ * @deprecated
2818
2882
  */
2819
2883
  async deleteNamedSnapshotRaw(requestParameters: DeleteNamedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotDeletedResponse>> {
2820
2884
  const requestOptions = await this.deleteNamedSnapshotRequestOpts(requestParameters);
@@ -2826,6 +2890,7 @@ export class BoatApi extends runtime.BaseAPI {
2826
2890
  /**
2827
2891
  * Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
2828
2892
  * Remove a named snapshot
2893
+ * @deprecated
2829
2894
  */
2830
2895
  async deleteNamedSnapshot(requestParameters: DeleteNamedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotDeletedResponse> {
2831
2896
  const response = await this.deleteNamedSnapshotRaw(requestParameters, initOverrides);
@@ -2879,7 +2944,7 @@ export class BoatApi extends runtime.BaseAPI {
2879
2944
  }
2880
2945
 
2881
2946
  /**
2882
- * Accept irreversible background deletion of the sandbox machine, snapshots, and content-bearing records. This is not archive: the sandbox cannot be resumed. Named snapshots and other shared artifacts remain independent. Poll the returned operation until `completed`.
2947
+ * Accept irreversible background deletion of the sandbox machine, snapshots, and content-bearing records. This is not archive: the sandbox cannot be resumed. Saved snapshots and other shared artifacts remain independent. Poll the returned operation until `completed`.
2883
2948
  * Permanently delete sandbox data
2884
2949
  */
2885
2950
  async deleteSandboxRaw(requestParameters: DeleteSandboxRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeletionOperationResponse>> {
@@ -2890,7 +2955,7 @@ export class BoatApi extends runtime.BaseAPI {
2890
2955
  }
2891
2956
 
2892
2957
  /**
2893
- * Accept irreversible background deletion of the sandbox machine, snapshots, and content-bearing records. This is not archive: the sandbox cannot be resumed. Named snapshots and other shared artifacts remain independent. Poll the returned operation until `completed`.
2958
+ * Accept irreversible background deletion of the sandbox machine, snapshots, and content-bearing records. This is not archive: the sandbox cannot be resumed. Saved snapshots and other shared artifacts remain independent. Poll the returned operation until `completed`.
2894
2959
  * Permanently delete sandbox data
2895
2960
  */
2896
2961
  async deleteSandbox(requestParameters: DeleteSandboxRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeletionOperationResponse> {
@@ -2945,7 +3010,7 @@ export class BoatApi extends runtime.BaseAPI {
2945
3010
  }
2946
3011
 
2947
3012
  /**
2948
- * Accept irreversible deletion of every unpinned snapshot of this sandbox. The sandbox itself and its named snapshots stay. Snapshots disappear from lists, restores and forks immediately; their stored data is purged in the background. Set `X-Ascii-Confirm-Delete` to the sandbox id.
3013
+ * Accept irreversible deletion of every unpinned snapshot of this sandbox. The sandbox itself and its saved snapshots stay. Snapshots disappear from lists, restores and forks immediately; their stored data is purged in the background. Set `X-Ascii-Confirm-Delete` to the sandbox id.
2949
3014
  * Permanently delete all snapshots of a sandbox
2950
3015
  */
2951
3016
  async deleteSandboxSnapshotsRaw(requestParameters: DeleteSandboxSnapshotsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeletionOperationListResponse>> {
@@ -2956,7 +3021,7 @@ export class BoatApi extends runtime.BaseAPI {
2956
3021
  }
2957
3022
 
2958
3023
  /**
2959
- * Accept irreversible deletion of every unpinned snapshot of this sandbox. The sandbox itself and its named snapshots stay. Snapshots disappear from lists, restores and forks immediately; their stored data is purged in the background. Set `X-Ascii-Confirm-Delete` to the sandbox id.
3024
+ * Accept irreversible deletion of every unpinned snapshot of this sandbox. The sandbox itself and its saved snapshots stay. Snapshots disappear from lists, restores and forks immediately; their stored data is purged in the background. Set `X-Ascii-Confirm-Delete` to the sandbox id.
2960
3025
  * Permanently delete all snapshots of a sandbox
2961
3026
  */
2962
3027
  async deleteSandboxSnapshots(requestParameters: DeleteSandboxSnapshotsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeletionOperationListResponse> {
@@ -2964,6 +3029,61 @@ export class BoatApi extends runtime.BaseAPI {
2964
3029
  return await response.value();
2965
3030
  }
2966
3031
 
3032
+ /**
3033
+ * Creates request options for deleteSavedSnapshot without sending the request
3034
+ */
3035
+ async deleteSavedSnapshotRequestOpts(requestParameters: DeleteSavedSnapshotRequest): Promise<runtime.RequestOpts> {
3036
+ if (requestParameters['name'] == null) {
3037
+ throw new runtime.RequiredError(
3038
+ 'name',
3039
+ 'Required parameter "name" was null or undefined when calling deleteSavedSnapshot().'
3040
+ );
3041
+ }
3042
+
3043
+ const queryParameters: any = {};
3044
+
3045
+ const headerParameters: runtime.HTTPHeaders = {};
3046
+
3047
+ if (this.configuration && this.configuration.accessToken) {
3048
+ const token = this.configuration.accessToken;
3049
+ const tokenString = await token("BoatBearerAuth", []);
3050
+
3051
+ if (tokenString) {
3052
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3053
+ }
3054
+ }
3055
+
3056
+ let urlPath = `/saved-snapshots/{name}`;
3057
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
3058
+
3059
+ return {
3060
+ path: urlPath,
3061
+ method: 'DELETE',
3062
+ headers: headerParameters,
3063
+ query: queryParameters,
3064
+ };
3065
+ }
3066
+
3067
+ /**
3068
+ * Remove a saved snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
3069
+ * Remove a saved snapshot
3070
+ */
3071
+ async deleteSavedSnapshotRaw(requestParameters: DeleteSavedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SavedSnapshotDeletedResponse>> {
3072
+ const requestOptions = await this.deleteSavedSnapshotRequestOpts(requestParameters);
3073
+ const response = await this.request(requestOptions, initOverrides);
3074
+
3075
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotDeletedResponseFromJSON(jsonValue));
3076
+ }
3077
+
3078
+ /**
3079
+ * Remove a saved snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
3080
+ * Remove a saved snapshot
3081
+ */
3082
+ async deleteSavedSnapshot(requestParameters: DeleteSavedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SavedSnapshotDeletedResponse> {
3083
+ const response = await this.deleteSavedSnapshotRaw(requestParameters, initOverrides);
3084
+ return await response.value();
3085
+ }
3086
+
2967
3087
  /**
2968
3088
  * Creates request options for deleteSnapshot without sending the request
2969
3089
  */
@@ -3781,6 +3901,7 @@ export class BoatApi extends runtime.BaseAPI {
3781
3901
 
3782
3902
  /**
3783
3903
  * Creates request options for getNamedSnapshot without sending the request
3904
+ * @deprecated
3784
3905
  */
3785
3906
  async getNamedSnapshotRequestOpts(requestParameters: GetNamedSnapshotRequest): Promise<runtime.RequestOpts> {
3786
3907
  if (requestParameters['name'] == null) {
@@ -3816,6 +3937,7 @@ export class BoatApi extends runtime.BaseAPI {
3816
3937
 
3817
3938
  /**
3818
3939
  * Get a named snapshot
3940
+ * @deprecated
3819
3941
  */
3820
3942
  async getNamedSnapshotRaw(requestParameters: GetNamedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotInfoResponse>> {
3821
3943
  const requestOptions = await this.getNamedSnapshotRequestOpts(requestParameters);
@@ -3826,6 +3948,7 @@ export class BoatApi extends runtime.BaseAPI {
3826
3948
 
3827
3949
  /**
3828
3950
  * Get a named snapshot
3951
+ * @deprecated
3829
3952
  */
3830
3953
  async getNamedSnapshot(requestParameters: GetNamedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotInfoResponse> {
3831
3954
  const response = await this.getNamedSnapshotRaw(requestParameters, initOverrides);
@@ -3872,7 +3995,7 @@ export class BoatApi extends runtime.BaseAPI {
3872
3995
  }
3873
3996
 
3874
3997
  /**
3875
- * 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.
3998
+ * 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.
3876
3999
  * Get sandbox AI usage
3877
4000
  */
3878
4001
  async getSandboxAiUsageRaw(requestParameters: GetSandboxAiUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SandboxAiUsageResponse>> {
@@ -3883,7 +4006,7 @@ export class BoatApi extends runtime.BaseAPI {
3883
4006
  }
3884
4007
 
3885
4008
  /**
3886
- * 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.
4009
+ * 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.
3887
4010
  * Get sandbox AI usage
3888
4011
  */
3889
4012
  async getSandboxAiUsage(requestParameters: GetSandboxAiUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SandboxAiUsageResponse> {
@@ -3891,6 +4014,59 @@ export class BoatApi extends runtime.BaseAPI {
3891
4014
  return await response.value();
3892
4015
  }
3893
4016
 
4017
+ /**
4018
+ * Creates request options for getSavedSnapshot without sending the request
4019
+ */
4020
+ async getSavedSnapshotRequestOpts(requestParameters: GetSavedSnapshotRequest): Promise<runtime.RequestOpts> {
4021
+ if (requestParameters['name'] == null) {
4022
+ throw new runtime.RequiredError(
4023
+ 'name',
4024
+ 'Required parameter "name" was null or undefined when calling getSavedSnapshot().'
4025
+ );
4026
+ }
4027
+
4028
+ const queryParameters: any = {};
4029
+
4030
+ const headerParameters: runtime.HTTPHeaders = {};
4031
+
4032
+ if (this.configuration && this.configuration.accessToken) {
4033
+ const token = this.configuration.accessToken;
4034
+ const tokenString = await token("BoatBearerAuth", []);
4035
+
4036
+ if (tokenString) {
4037
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4038
+ }
4039
+ }
4040
+
4041
+ let urlPath = `/saved-snapshots/{name}`;
4042
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
4043
+
4044
+ return {
4045
+ path: urlPath,
4046
+ method: 'GET',
4047
+ headers: headerParameters,
4048
+ query: queryParameters,
4049
+ };
4050
+ }
4051
+
4052
+ /**
4053
+ * Get a saved snapshot
4054
+ */
4055
+ async getSavedSnapshotRaw(requestParameters: GetSavedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SavedSnapshotInfoResponse>> {
4056
+ const requestOptions = await this.getSavedSnapshotRequestOpts(requestParameters);
4057
+ const response = await this.request(requestOptions, initOverrides);
4058
+
4059
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotInfoResponseFromJSON(jsonValue));
4060
+ }
4061
+
4062
+ /**
4063
+ * Get a saved snapshot
4064
+ */
4065
+ async getSavedSnapshot(requestParameters: GetSavedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SavedSnapshotInfoResponse> {
4066
+ const response = await this.getSavedSnapshotRaw(requestParameters, initOverrides);
4067
+ return await response.value();
4068
+ }
4069
+
3894
4070
  /**
3895
4071
  * Creates request options for getSnapshotDownload without sending the request
3896
4072
  */
@@ -4521,6 +4697,7 @@ export class BoatApi extends runtime.BaseAPI {
4521
4697
 
4522
4698
  /**
4523
4699
  * Creates request options for listNamedSnapshots without sending the request
4700
+ * @deprecated
4524
4701
  */
4525
4702
  async listNamedSnapshotsRequestOpts(): Promise<runtime.RequestOpts> {
4526
4703
  const queryParameters: any = {};
@@ -4549,6 +4726,7 @@ export class BoatApi extends runtime.BaseAPI {
4549
4726
  /**
4550
4727
  * List your named snapshots, newest first.
4551
4728
  * List named snapshots
4729
+ * @deprecated
4552
4730
  */
4553
4731
  async listNamedSnapshotsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotListResponse>> {
4554
4732
  const requestOptions = await this.listNamedSnapshotsRequestOpts();
@@ -4560,6 +4738,7 @@ export class BoatApi extends runtime.BaseAPI {
4560
4738
  /**
4561
4739
  * List your named snapshots, newest first.
4562
4740
  * List named snapshots
4741
+ * @deprecated
4563
4742
  */
4564
4743
  async listNamedSnapshots(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotListResponse> {
4565
4744
  const response = await this.listNamedSnapshotsRaw(initOverrides);
@@ -4680,6 +4859,53 @@ export class BoatApi extends runtime.BaseAPI {
4680
4859
  return await response.value();
4681
4860
  }
4682
4861
 
4862
+ /**
4863
+ * Creates request options for listSavedSnapshots without sending the request
4864
+ */
4865
+ async listSavedSnapshotsRequestOpts(): Promise<runtime.RequestOpts> {
4866
+ const queryParameters: any = {};
4867
+
4868
+ const headerParameters: runtime.HTTPHeaders = {};
4869
+
4870
+ if (this.configuration && this.configuration.accessToken) {
4871
+ const token = this.configuration.accessToken;
4872
+ const tokenString = await token("BoatBearerAuth", []);
4873
+
4874
+ if (tokenString) {
4875
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4876
+ }
4877
+ }
4878
+
4879
+ let urlPath = `/saved-snapshots`;
4880
+
4881
+ return {
4882
+ path: urlPath,
4883
+ method: 'GET',
4884
+ headers: headerParameters,
4885
+ query: queryParameters,
4886
+ };
4887
+ }
4888
+
4889
+ /**
4890
+ * List your saved snapshots, newest first.
4891
+ * List saved snapshots
4892
+ */
4893
+ async listSavedSnapshotsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SavedSnapshotListResponse>> {
4894
+ const requestOptions = await this.listSavedSnapshotsRequestOpts();
4895
+ const response = await this.request(requestOptions, initOverrides);
4896
+
4897
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotListResponseFromJSON(jsonValue));
4898
+ }
4899
+
4900
+ /**
4901
+ * List your saved snapshots, newest first.
4902
+ * List saved snapshots
4903
+ */
4904
+ async listSavedSnapshots(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SavedSnapshotListResponse> {
4905
+ const response = await this.listSavedSnapshotsRaw(initOverrides);
4906
+ return await response.value();
4907
+ }
4908
+
4683
4909
  /**
4684
4910
  * Creates request options for listSnapshotShares without sending the request
4685
4911
  */
@@ -4704,7 +4930,7 @@ export class BoatApi extends runtime.BaseAPI {
4704
4930
  }
4705
4931
  }
4706
4932
 
4707
- let urlPath = `/named-snapshots/{name}/shares`;
4933
+ let urlPath = `/saved-snapshots/{name}/shares`;
4708
4934
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
4709
4935
 
4710
4936
  return {
@@ -4716,8 +4942,8 @@ export class BoatApi extends runtime.BaseAPI {
4716
4942
  }
4717
4943
 
4718
4944
  /**
4719
- * 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`.
4720
- * List share codes of a named snapshot
4945
+ * List the share codes of a saved snapshot, active and revoked (`boat snapshot shares <name>` in the CLI). The full codes are not returned. Needs `snapshot.read`.
4946
+ * List share codes of a saved snapshot
4721
4947
  */
4722
4948
  async listSnapshotSharesRaw(requestParameters: ListSnapshotSharesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotShareListResponse>> {
4723
4949
  const requestOptions = await this.listSnapshotSharesRequestOpts(requestParameters);
@@ -4727,8 +4953,8 @@ export class BoatApi extends runtime.BaseAPI {
4727
4953
  }
4728
4954
 
4729
4955
  /**
4730
- * 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`.
4731
- * List share codes of a named snapshot
4956
+ * List the share codes of a saved snapshot, active and revoked (`boat snapshot shares <name>` in the CLI). The full codes are not returned. Needs `snapshot.read`.
4957
+ * List share codes of a saved snapshot
4732
4958
  */
4733
4959
  async listSnapshotShares(requestParameters: ListSnapshotSharesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotShareListResponse> {
4734
4960
  const response = await this.listSnapshotSharesRaw(requestParameters, initOverrides);
@@ -5178,7 +5404,7 @@ export class BoatApi extends runtime.BaseAPI {
5178
5404
  }
5179
5405
 
5180
5406
  /**
5181
- * 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.
5407
+ * 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.
5182
5408
  * Recover a sandbox that stopped responding
5183
5409
  */
5184
5410
  async recoverRaw(requestParameters: RecoverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Recover200Response>> {
@@ -5189,7 +5415,7 @@ export class BoatApi extends runtime.BaseAPI {
5189
5415
  }
5190
5416
 
5191
5417
  /**
5192
- * 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.
5418
+ * 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.
5193
5419
  * Recover a sandbox that stopped responding
5194
5420
  */
5195
5421
  async recover(requestParameters: RecoverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Recover200Response> {
@@ -5411,7 +5637,7 @@ export class BoatApi extends runtime.BaseAPI {
5411
5637
  }
5412
5638
  }
5413
5639
 
5414
- let urlPath = `/named-snapshots/{name}/shares/{shareId}`;
5640
+ let urlPath = `/saved-snapshots/{name}/shares/{shareId}`;
5415
5641
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
5416
5642
  urlPath = urlPath.replace('{shareId}', encodeURIComponent(String(requestParameters['shareId'])));
5417
5643
 
@@ -5579,6 +5805,10 @@ export class BoatApi extends runtime.BaseAPI {
5579
5805
  queryParameters['state'] = requestParameters['state'];
5580
5806
  }
5581
5807
 
5808
+ if (requestParameters['include'] != null) {
5809
+ queryParameters['include'] = requestParameters['include'];
5810
+ }
5811
+
5582
5812
  const headerParameters: runtime.HTTPHeaders = {};
5583
5813
 
5584
5814
  if (requestParameters['xBoatOrg'] != null) {
@@ -5626,6 +5856,7 @@ export class BoatApi extends runtime.BaseAPI {
5626
5856
 
5627
5857
  /**
5628
5858
  * Creates request options for saveNamedSnapshot without sending the request
5859
+ * @deprecated
5629
5860
  */
5630
5861
  async saveNamedSnapshotRequestOpts(input: SaveNamedSnapshotRequest | runtime.FlatBody<SaveNamedSnapshotRequest, 'namedSnapshotSaveRequest'>): Promise<runtime.RequestOpts> {
5631
5862
  const requestParameters = runtime.unflattenBody<SaveNamedSnapshotRequest>(input, 'namedSnapshotSaveRequest', [], []);
@@ -5665,6 +5896,7 @@ export class BoatApi extends runtime.BaseAPI {
5665
5896
  /**
5666
5897
  * Freeze a sandbox\'s current state under a name (`boat snapshot <id> <name>` in the CLI). Answers `202` immediately with the snapshot in `saving`; a running sandbox takes a fresh capture first, which can run minutes. Poll `GET /named-snapshots/{name}` until the status settles at `ready` or `failed`. Reusing one of your existing names replaces that snapshot\'s artifact once the new save is ready.
5667
5898
  * Save a named snapshot
5899
+ * @deprecated
5668
5900
  */
5669
5901
  async saveNamedSnapshotRaw(requestParameters: SaveNamedSnapshotRequest | runtime.FlatBody<SaveNamedSnapshotRequest, 'namedSnapshotSaveRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotSavingResponse>> {
5670
5902
  const requestOptions = await this.saveNamedSnapshotRequestOpts(requestParameters);
@@ -5676,12 +5908,71 @@ export class BoatApi extends runtime.BaseAPI {
5676
5908
  /**
5677
5909
  * Freeze a sandbox\'s current state under a name (`boat snapshot <id> <name>` in the CLI). Answers `202` immediately with the snapshot in `saving`; a running sandbox takes a fresh capture first, which can run minutes. Poll `GET /named-snapshots/{name}` until the status settles at `ready` or `failed`. Reusing one of your existing names replaces that snapshot\'s artifact once the new save is ready.
5678
5910
  * Save a named snapshot
5911
+ * @deprecated
5679
5912
  */
5680
5913
  async saveNamedSnapshot(requestParameters: SaveNamedSnapshotRequest | runtime.FlatBody<SaveNamedSnapshotRequest, 'namedSnapshotSaveRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotSavingResponse> {
5681
5914
  const response = await this.saveNamedSnapshotRaw(requestParameters, initOverrides);
5682
5915
  return await response.value();
5683
5916
  }
5684
5917
 
5918
+ /**
5919
+ * Creates request options for saveSavedSnapshot without sending the request
5920
+ */
5921
+ async saveSavedSnapshotRequestOpts(input: SaveSavedSnapshotRequest | runtime.FlatBody<SaveSavedSnapshotRequest, 'savedSnapshotSaveRequest'>): Promise<runtime.RequestOpts> {
5922
+ const requestParameters = runtime.unflattenBody<SaveSavedSnapshotRequest>(input, 'savedSnapshotSaveRequest', [], []);
5923
+ if (requestParameters['savedSnapshotSaveRequest'] == null) {
5924
+ throw new runtime.RequiredError(
5925
+ 'savedSnapshotSaveRequest',
5926
+ 'Required parameter "savedSnapshotSaveRequest" was null or undefined when calling saveSavedSnapshot().'
5927
+ );
5928
+ }
5929
+
5930
+ const queryParameters: any = {};
5931
+
5932
+ const headerParameters: runtime.HTTPHeaders = {};
5933
+
5934
+ headerParameters['Content-Type'] = 'application/json';
5935
+
5936
+ if (this.configuration && this.configuration.accessToken) {
5937
+ const token = this.configuration.accessToken;
5938
+ const tokenString = await token("BoatBearerAuth", []);
5939
+
5940
+ if (tokenString) {
5941
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
5942
+ }
5943
+ }
5944
+
5945
+ let urlPath = `/saved-snapshots`;
5946
+
5947
+ return {
5948
+ path: urlPath,
5949
+ method: 'POST',
5950
+ headers: headerParameters,
5951
+ query: queryParameters,
5952
+ body: SavedSnapshotSaveRequestToJSON(requestParameters['savedSnapshotSaveRequest']),
5953
+ };
5954
+ }
5955
+
5956
+ /**
5957
+ * Freeze a sandbox\'s current state under a name (`boat snapshot <id> <name>` in the CLI). Answers `202` immediately with the snapshot in `saving`; a running sandbox takes a fresh capture first, which can run minutes. Poll `GET /saved-snapshots/{name}` until the status settles at `ready` or `failed`. Reusing one of your existing names replaces that snapshot\'s artifact once the new save is ready.
5958
+ * Save a saved snapshot
5959
+ */
5960
+ async saveSavedSnapshotRaw(requestParameters: SaveSavedSnapshotRequest | runtime.FlatBody<SaveSavedSnapshotRequest, 'savedSnapshotSaveRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SavedSnapshotSavingResponse>> {
5961
+ const requestOptions = await this.saveSavedSnapshotRequestOpts(requestParameters);
5962
+ const response = await this.request(requestOptions, initOverrides);
5963
+
5964
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotSavingResponseFromJSON(jsonValue));
5965
+ }
5966
+
5967
+ /**
5968
+ * Freeze a sandbox\'s current state under a name (`boat snapshot <id> <name>` in the CLI). Answers `202` immediately with the snapshot in `saving`; a running sandbox takes a fresh capture first, which can run minutes. Poll `GET /saved-snapshots/{name}` until the status settles at `ready` or `failed`. Reusing one of your existing names replaces that snapshot\'s artifact once the new save is ready.
5969
+ * Save a saved snapshot
5970
+ */
5971
+ async saveSavedSnapshot(requestParameters: SaveSavedSnapshotRequest | runtime.FlatBody<SaveSavedSnapshotRequest, 'savedSnapshotSaveRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SavedSnapshotSavingResponse> {
5972
+ const response = await this.saveSavedSnapshotRaw(requestParameters, initOverrides);
5973
+ return await response.value();
5974
+ }
5975
+
5685
5976
  /**
5686
5977
  * Creates request options for secrets without sending the request
5687
5978
  */
@@ -6301,7 +6592,7 @@ export class BoatApi extends runtime.BaseAPI {
6301
6592
  }
6302
6593
 
6303
6594
  /**
6304
- * 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.
6595
+ * 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`.
6305
6596
  * Share sandbox with the organization
6306
6597
  */
6307
6598
  async shareRaw(requestParameters: ShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Share200Response>> {
@@ -6312,7 +6603,7 @@ export class BoatApi extends runtime.BaseAPI {
6312
6603
  }
6313
6604
 
6314
6605
  /**
6315
- * 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.
6606
+ * 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`.
6316
6607
  * Share sandbox with the organization
6317
6608
  */
6318
6609
  async share(requestParameters: ShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Share200Response> {
@@ -6649,6 +6940,61 @@ export class BoatApi extends runtime.BaseAPI {
6649
6940
  return await response.value();
6650
6941
  }
6651
6942
 
6943
+ /**
6944
+ * Creates request options for unshare without sending the request
6945
+ */
6946
+ async unshareRequestOpts(requestParameters: UnshareRequest): Promise<runtime.RequestOpts> {
6947
+ if (requestParameters['sandboxId'] == null) {
6948
+ throw new runtime.RequiredError(
6949
+ 'sandboxId',
6950
+ 'Required parameter "sandboxId" was null or undefined when calling unshare().'
6951
+ );
6952
+ }
6953
+
6954
+ const queryParameters: any = {};
6955
+
6956
+ const headerParameters: runtime.HTTPHeaders = {};
6957
+
6958
+ if (this.configuration && this.configuration.accessToken) {
6959
+ const token = this.configuration.accessToken;
6960
+ const tokenString = await token("BoatBearerAuth", []);
6961
+
6962
+ if (tokenString) {
6963
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
6964
+ }
6965
+ }
6966
+
6967
+ let urlPath = `/sandboxes/{sandboxId}/unshare`;
6968
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
6969
+
6970
+ return {
6971
+ path: urlPath,
6972
+ method: 'POST',
6973
+ headers: headerParameters,
6974
+ query: queryParameters,
6975
+ };
6976
+ }
6977
+
6978
+ /**
6979
+ * 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.
6980
+ * Make an organization sandbox private
6981
+ */
6982
+ async unshareRaw(requestParameters: UnshareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Unshare200Response>> {
6983
+ const requestOptions = await this.unshareRequestOpts(requestParameters);
6984
+ const response = await this.request(requestOptions, initOverrides);
6985
+
6986
+ return new runtime.JSONApiResponse(response, (jsonValue) => Unshare200ResponseFromJSON(jsonValue));
6987
+ }
6988
+
6989
+ /**
6990
+ * 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.
6991
+ * Make an organization sandbox private
6992
+ */
6993
+ async unshare(requestParameters: UnshareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Unshare200Response> {
6994
+ const response = await this.unshareRaw(requestParameters, initOverrides);
6995
+ return await response.value();
6996
+ }
6997
+
6652
6998
  /**
6653
6999
  * Creates request options for update without sending the request
6654
7000
  */
@@ -6973,6 +7319,72 @@ export class BoatApi extends runtime.BaseAPI {
6973
7319
  return await response.value();
6974
7320
  }
6975
7321
 
7322
+ /**
7323
+ * Creates request options for updateOrganization without sending the request
7324
+ */
7325
+ async updateOrganizationRequestOpts(input: UpdateOrganizationOperationRequest | runtime.FlatBody<UpdateOrganizationOperationRequest, 'updateOrganizationRequest'>): Promise<runtime.RequestOpts> {
7326
+ const requestParameters = runtime.unflattenBody<UpdateOrganizationOperationRequest>(input, 'updateOrganizationRequest', ['org'], []);
7327
+ if (requestParameters['org'] == null) {
7328
+ throw new runtime.RequiredError(
7329
+ 'org',
7330
+ 'Required parameter "org" was null or undefined when calling updateOrganization().'
7331
+ );
7332
+ }
7333
+
7334
+ if (requestParameters['updateOrganizationRequest'] == null) {
7335
+ throw new runtime.RequiredError(
7336
+ 'updateOrganizationRequest',
7337
+ 'Required parameter "updateOrganizationRequest" was null or undefined when calling updateOrganization().'
7338
+ );
7339
+ }
7340
+
7341
+ const queryParameters: any = {};
7342
+
7343
+ const headerParameters: runtime.HTTPHeaders = {};
7344
+
7345
+ headerParameters['Content-Type'] = 'application/json';
7346
+
7347
+ if (this.configuration && this.configuration.accessToken) {
7348
+ const token = this.configuration.accessToken;
7349
+ const tokenString = await token("BoatBearerAuth", []);
7350
+
7351
+ if (tokenString) {
7352
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
7353
+ }
7354
+ }
7355
+
7356
+ let urlPath = `/orgs/{org}`;
7357
+ urlPath = urlPath.replace('{org}', encodeURIComponent(String(requestParameters['org'])));
7358
+
7359
+ return {
7360
+ path: urlPath,
7361
+ method: 'PATCH',
7362
+ headers: headerParameters,
7363
+ query: queryParameters,
7364
+ body: UpdateOrganizationRequestToJSON(requestParameters['updateOrganizationRequest']),
7365
+ };
7366
+ }
7367
+
7368
+ /**
7369
+ * 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.
7370
+ * Update organization settings
7371
+ */
7372
+ async updateOrganizationRaw(requestParameters: UpdateOrganizationOperationRequest | runtime.FlatBody<UpdateOrganizationOperationRequest, 'updateOrganizationRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateOrganization200Response>> {
7373
+ const requestOptions = await this.updateOrganizationRequestOpts(requestParameters);
7374
+ const response = await this.request(requestOptions, initOverrides);
7375
+
7376
+ return new runtime.JSONApiResponse(response, (jsonValue) => UpdateOrganization200ResponseFromJSON(jsonValue));
7377
+ }
7378
+
7379
+ /**
7380
+ * 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.
7381
+ * Update organization settings
7382
+ */
7383
+ async updateOrganization(requestParameters: UpdateOrganizationOperationRequest | runtime.FlatBody<UpdateOrganizationOperationRequest, 'updateOrganizationRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateOrganization200Response> {
7384
+ const response = await this.updateOrganizationRaw(requestParameters, initOverrides);
7385
+ return await response.value();
7386
+ }
7387
+
6976
7388
  /**
6977
7389
  * Creates request options for updateSecrets without sending the request
6978
7390
  */
@@ -7368,3 +7780,10 @@ export const SandboxesSortEnum = {
7368
7780
  Desc: 'desc'
7369
7781
  } as const;
7370
7782
  export type SandboxesSortEnum = typeof SandboxesSortEnum[keyof typeof SandboxesSortEnum];
7783
+ /**
7784
+ * @export
7785
+ */
7786
+ export const SandboxesIncludeEnum = {
7787
+ Cost: 'cost'
7788
+ } as const;
7789
+ export type SandboxesIncludeEnum = typeof SandboxesIncludeEnum[keyof typeof SandboxesIncludeEnum];