@boatdev/sdk 1.10.0 → 1.12.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 (282) hide show
  1. package/.openapi-generator/FILES +64 -0
  2. package/dist/apis/BoatApi.d.ts +283 -26
  3. package/dist/apis/BoatApi.js +662 -29
  4. package/dist/esm/apis/BoatApi.d.ts +283 -26
  5. package/dist/esm/apis/BoatApi.js +662 -29
  6. package/dist/esm/models/CreateSandboxRequest.d.ts +38 -4
  7. package/dist/esm/models/CreateSandboxRequest.js +17 -0
  8. package/dist/esm/models/CreateSandboxRequestFilesInner.d.ts +52 -0
  9. package/dist/esm/models/CreateSandboxRequestFilesInner.js +56 -0
  10. package/dist/esm/models/CreateSandboxResponse.d.ts +7 -0
  11. package/dist/esm/models/CreateSandboxResponse.js +3 -0
  12. package/dist/esm/models/CreateSandboxResponseAllOfHostedPortsInner.d.ts +77 -0
  13. package/dist/esm/models/CreateSandboxResponseAllOfHostedPortsInner.js +64 -0
  14. package/dist/esm/models/CredentialId.d.ts +3 -0
  15. package/dist/esm/models/CredentialId.js +3 -0
  16. package/dist/esm/models/CredentialProfile.d.ts +7 -0
  17. package/dist/esm/models/CredentialProfile.js +3 -0
  18. package/dist/esm/models/DeletionOperation.d.ts +1 -1
  19. package/dist/esm/models/FileDeleteResponse.d.ts +57 -0
  20. package/dist/esm/models/FileDeleteResponse.js +59 -0
  21. package/dist/esm/models/FileEntry.d.ts +68 -0
  22. package/dist/esm/models/FileEntry.js +67 -0
  23. package/dist/esm/models/FileFindResponse.d.ts +70 -0
  24. package/dist/esm/models/FileFindResponse.js +66 -0
  25. package/dist/esm/models/FileFindResponseAllOfMatches.d.ts +44 -0
  26. package/dist/esm/models/FileFindResponseAllOfMatches.js +51 -0
  27. package/dist/esm/models/FileFolderRequest.d.ts +38 -0
  28. package/dist/esm/models/FileFolderRequest.js +45 -0
  29. package/dist/esm/models/FileInfoResponse.d.ts +95 -0
  30. package/dist/esm/models/FileInfoResponse.js +85 -0
  31. package/dist/esm/models/FileListResponse.d.ts +70 -0
  32. package/dist/esm/models/FileListResponse.js +68 -0
  33. package/dist/esm/models/FileMoveRequest.d.ts +44 -0
  34. package/dist/esm/models/FileMoveRequest.js +49 -0
  35. package/dist/esm/models/FileMoveResponse.d.ts +63 -0
  36. package/dist/esm/models/FileMoveResponse.js +63 -0
  37. package/dist/esm/models/FilePermissionsRequest.d.ts +38 -0
  38. package/dist/esm/models/FilePermissionsRequest.js +47 -0
  39. package/dist/esm/models/FileReplaceRequest.d.ts +44 -0
  40. package/dist/esm/models/FileReplaceRequest.js +51 -0
  41. package/dist/esm/models/FileReplaceResponse.d.ts +58 -0
  42. package/dist/esm/models/FileReplaceResponse.js +60 -0
  43. package/dist/esm/models/FileReplaceResponseAllOfResults.d.ts +50 -0
  44. package/dist/esm/models/FileReplaceResponseAllOfResults.js +51 -0
  45. package/dist/esm/models/FileSearchResponse.d.ts +69 -0
  46. package/dist/esm/models/FileSearchResponse.js +65 -0
  47. package/dist/esm/models/LimitsFields.d.ts +54 -16
  48. package/dist/esm/models/LimitsFields.js +16 -2
  49. package/dist/esm/models/LimitsFieldsOveragePrices.d.ts +51 -0
  50. package/dist/esm/models/LimitsFieldsOveragePrices.js +48 -0
  51. package/dist/esm/models/LimitsFieldsOveragePricesStartBracketsInner.d.ts +44 -0
  52. package/dist/esm/models/LimitsFieldsOveragePricesStartBracketsInner.js +45 -0
  53. package/dist/esm/models/LimitsFieldsPlanIncluded.d.ts +44 -0
  54. package/dist/esm/models/LimitsFieldsPlanIncluded.js +45 -0
  55. package/dist/esm/models/LimitsFieldsStartLimitsWithWallet.d.ts +44 -0
  56. package/dist/esm/models/LimitsFieldsStartLimitsWithWallet.js +45 -0
  57. package/dist/esm/models/LimitsFieldsWallet.d.ts +32 -0
  58. package/dist/esm/models/LimitsFieldsWallet.js +41 -0
  59. package/dist/esm/models/LimitsResponse.d.ts +54 -16
  60. package/dist/esm/models/LimitsResponse.js +16 -2
  61. package/dist/esm/models/NamedSnapshotAllowance.d.ts +9 -3
  62. package/dist/esm/models/NamedSnapshotAllowance.js +2 -0
  63. package/dist/esm/models/ResourceAccess.d.ts +38 -0
  64. package/dist/esm/models/ResourceAccess.js +47 -0
  65. package/dist/esm/models/ResourceAccessUpdate.d.ts +38 -0
  66. package/dist/esm/models/ResourceAccessUpdate.js +45 -0
  67. package/dist/esm/models/Sandbox.d.ts +7 -0
  68. package/dist/esm/models/Sandbox.js +3 -0
  69. package/dist/esm/models/SandboxEnvironment.d.ts +7 -0
  70. package/dist/esm/models/SandboxEnvironment.js +3 -0
  71. package/dist/esm/models/SandboxLastReboot.d.ts +47 -0
  72. package/dist/esm/models/SandboxLastReboot.js +51 -0
  73. package/dist/esm/models/SandboxListResponse.d.ts +7 -0
  74. package/dist/esm/models/SandboxListResponse.js +3 -0
  75. package/dist/esm/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
  76. package/dist/esm/models/SandboxListResponseAllOfDeletedCost.js +51 -0
  77. package/dist/esm/models/SavedSnapshot.d.ts +83 -0
  78. package/dist/esm/models/SavedSnapshot.js +71 -0
  79. package/dist/esm/models/SavedSnapshotAllowance.d.ts +87 -0
  80. package/dist/esm/models/SavedSnapshotAllowance.js +59 -0
  81. package/dist/esm/models/SavedSnapshotDeletedResponse.d.ts +64 -0
  82. package/dist/esm/models/SavedSnapshotDeletedResponse.js +67 -0
  83. package/dist/esm/models/SavedSnapshotInfoResponse.d.ts +52 -0
  84. package/dist/esm/models/SavedSnapshotInfoResponse.js +58 -0
  85. package/dist/esm/models/SavedSnapshotListResponse.d.ts +59 -0
  86. package/dist/esm/models/SavedSnapshotListResponse.js +61 -0
  87. package/dist/esm/models/SavedSnapshotSaveRequest.d.ts +38 -0
  88. package/dist/esm/models/SavedSnapshotSaveRequest.js +47 -0
  89. package/dist/esm/models/SavedSnapshotSavingResponse.d.ts +65 -0
  90. package/dist/esm/models/SavedSnapshotSavingResponse.js +68 -0
  91. package/dist/esm/models/SnapshotSummary.d.ts +1 -1
  92. package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +7 -0
  93. package/dist/esm/models/UpdateCredentialProfileRequest.js +3 -0
  94. package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
  95. package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +3 -0
  96. package/dist/esm/models/index.d.ts +32 -0
  97. package/dist/esm/models/index.js +32 -0
  98. package/dist/models/CreateSandboxRequest.d.ts +38 -4
  99. package/dist/models/CreateSandboxRequest.js +18 -1
  100. package/dist/models/CreateSandboxRequestFilesInner.d.ts +52 -0
  101. package/dist/models/CreateSandboxRequestFilesInner.js +64 -0
  102. package/dist/models/CreateSandboxResponse.d.ts +7 -0
  103. package/dist/models/CreateSandboxResponse.js +3 -0
  104. package/dist/models/CreateSandboxResponseAllOfHostedPortsInner.d.ts +77 -0
  105. package/dist/models/CreateSandboxResponseAllOfHostedPortsInner.js +72 -0
  106. package/dist/models/CredentialId.d.ts +3 -0
  107. package/dist/models/CredentialId.js +3 -0
  108. package/dist/models/CredentialProfile.d.ts +7 -0
  109. package/dist/models/CredentialProfile.js +3 -0
  110. package/dist/models/DeletionOperation.d.ts +1 -1
  111. package/dist/models/FileDeleteResponse.d.ts +57 -0
  112. package/dist/models/FileDeleteResponse.js +67 -0
  113. package/dist/models/FileEntry.d.ts +68 -0
  114. package/dist/models/FileEntry.js +74 -0
  115. package/dist/models/FileFindResponse.d.ts +70 -0
  116. package/dist/models/FileFindResponse.js +74 -0
  117. package/dist/models/FileFindResponseAllOfMatches.d.ts +44 -0
  118. package/dist/models/FileFindResponseAllOfMatches.js +58 -0
  119. package/dist/models/FileFolderRequest.d.ts +38 -0
  120. package/dist/models/FileFolderRequest.js +52 -0
  121. package/dist/models/FileInfoResponse.d.ts +95 -0
  122. package/dist/models/FileInfoResponse.js +93 -0
  123. package/dist/models/FileListResponse.d.ts +70 -0
  124. package/dist/models/FileListResponse.js +76 -0
  125. package/dist/models/FileMoveRequest.d.ts +44 -0
  126. package/dist/models/FileMoveRequest.js +56 -0
  127. package/dist/models/FileMoveResponse.d.ts +63 -0
  128. package/dist/models/FileMoveResponse.js +71 -0
  129. package/dist/models/FilePermissionsRequest.d.ts +38 -0
  130. package/dist/models/FilePermissionsRequest.js +54 -0
  131. package/dist/models/FileReplaceRequest.d.ts +44 -0
  132. package/dist/models/FileReplaceRequest.js +58 -0
  133. package/dist/models/FileReplaceResponse.d.ts +58 -0
  134. package/dist/models/FileReplaceResponse.js +68 -0
  135. package/dist/models/FileReplaceResponseAllOfResults.d.ts +50 -0
  136. package/dist/models/FileReplaceResponseAllOfResults.js +58 -0
  137. package/dist/models/FileSearchResponse.d.ts +69 -0
  138. package/dist/models/FileSearchResponse.js +73 -0
  139. package/dist/models/LimitsFields.d.ts +54 -16
  140. package/dist/models/LimitsFields.js +16 -2
  141. package/dist/models/LimitsFieldsOveragePrices.d.ts +51 -0
  142. package/dist/models/LimitsFieldsOveragePrices.js +55 -0
  143. package/dist/models/LimitsFieldsOveragePricesStartBracketsInner.d.ts +44 -0
  144. package/dist/models/LimitsFieldsOveragePricesStartBracketsInner.js +52 -0
  145. package/dist/models/LimitsFieldsPlanIncluded.d.ts +44 -0
  146. package/dist/models/LimitsFieldsPlanIncluded.js +52 -0
  147. package/dist/models/LimitsFieldsStartLimitsWithWallet.d.ts +44 -0
  148. package/dist/models/LimitsFieldsStartLimitsWithWallet.js +52 -0
  149. package/dist/models/LimitsFieldsWallet.d.ts +32 -0
  150. package/dist/models/LimitsFieldsWallet.js +48 -0
  151. package/dist/models/LimitsResponse.d.ts +54 -16
  152. package/dist/models/LimitsResponse.js +16 -2
  153. package/dist/models/NamedSnapshotAllowance.d.ts +9 -3
  154. package/dist/models/NamedSnapshotAllowance.js +2 -0
  155. package/dist/models/ResourceAccess.d.ts +38 -0
  156. package/dist/models/ResourceAccess.js +54 -0
  157. package/dist/models/ResourceAccessUpdate.d.ts +38 -0
  158. package/dist/models/ResourceAccessUpdate.js +52 -0
  159. package/dist/models/Sandbox.d.ts +7 -0
  160. package/dist/models/Sandbox.js +3 -0
  161. package/dist/models/SandboxEnvironment.d.ts +7 -0
  162. package/dist/models/SandboxEnvironment.js +3 -0
  163. package/dist/models/SandboxLastReboot.d.ts +47 -0
  164. package/dist/models/SandboxLastReboot.js +59 -0
  165. package/dist/models/SandboxListResponse.d.ts +7 -0
  166. package/dist/models/SandboxListResponse.js +3 -0
  167. package/dist/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
  168. package/dist/models/SandboxListResponseAllOfDeletedCost.js +58 -0
  169. package/dist/models/SavedSnapshot.d.ts +83 -0
  170. package/dist/models/SavedSnapshot.js +79 -0
  171. package/dist/models/SavedSnapshotAllowance.d.ts +87 -0
  172. package/dist/models/SavedSnapshotAllowance.js +66 -0
  173. package/dist/models/SavedSnapshotDeletedResponse.d.ts +64 -0
  174. package/dist/models/SavedSnapshotDeletedResponse.js +75 -0
  175. package/dist/models/SavedSnapshotInfoResponse.d.ts +52 -0
  176. package/dist/models/SavedSnapshotInfoResponse.js +66 -0
  177. package/dist/models/SavedSnapshotListResponse.d.ts +59 -0
  178. package/dist/models/SavedSnapshotListResponse.js +69 -0
  179. package/dist/models/SavedSnapshotSaveRequest.d.ts +38 -0
  180. package/dist/models/SavedSnapshotSaveRequest.js +54 -0
  181. package/dist/models/SavedSnapshotSavingResponse.d.ts +65 -0
  182. package/dist/models/SavedSnapshotSavingResponse.js +76 -0
  183. package/dist/models/SnapshotSummary.d.ts +1 -1
  184. package/dist/models/UpdateCredentialProfileRequest.d.ts +7 -0
  185. package/dist/models/UpdateCredentialProfileRequest.js +3 -0
  186. package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
  187. package/dist/models/UpdateSandboxEnvironmentRequest.js +3 -0
  188. package/dist/models/index.d.ts +32 -0
  189. package/dist/models/index.js +32 -0
  190. package/docs/BoatApi.md +1049 -61
  191. package/docs/CreateSandboxRequest.md +8 -0
  192. package/docs/CreateSandboxRequestFilesInner.md +36 -0
  193. package/docs/CreateSandboxResponse.md +2 -0
  194. package/docs/CreateSandboxResponseAllOfHostedPortsInner.md +44 -0
  195. package/docs/CredentialProfile.md +2 -0
  196. package/docs/FileDeleteResponse.md +38 -0
  197. package/docs/FileEntry.md +44 -0
  198. package/docs/FileFindResponse.md +42 -0
  199. package/docs/FileFindResponseAllOfMatches.md +36 -0
  200. package/docs/FileFolderRequest.md +34 -0
  201. package/docs/FileInfoResponse.md +50 -0
  202. package/docs/FileListResponse.md +42 -0
  203. package/docs/FileMoveRequest.md +36 -0
  204. package/docs/FileMoveResponse.md +40 -0
  205. package/docs/FilePermissionsRequest.md +34 -0
  206. package/docs/FileReplaceRequest.md +36 -0
  207. package/docs/FileReplaceResponse.md +38 -0
  208. package/docs/FileReplaceResponseAllOfResults.md +38 -0
  209. package/docs/FileSearchResponse.md +42 -0
  210. package/docs/LimitsFields.md +12 -2
  211. package/docs/LimitsFieldsOveragePrices.md +39 -0
  212. package/docs/LimitsFieldsOveragePricesStartBracketsInner.md +36 -0
  213. package/docs/LimitsFieldsPlanIncluded.md +37 -0
  214. package/docs/LimitsFieldsStartLimitsWithWallet.md +37 -0
  215. package/docs/LimitsFieldsWallet.md +33 -0
  216. package/docs/LimitsResponse.md +12 -2
  217. package/docs/NamedSnapshotAllowance.md +3 -1
  218. package/docs/ResourceAccess.md +35 -0
  219. package/docs/ResourceAccessUpdate.md +35 -0
  220. package/docs/Sandbox.md +2 -0
  221. package/docs/SandboxEnvironment.md +2 -0
  222. package/docs/SandboxLastReboot.md +35 -0
  223. package/docs/SandboxListResponse.md +2 -0
  224. package/docs/SandboxListResponseAllOfDeletedCost.md +37 -0
  225. package/docs/SavedSnapshot.md +47 -0
  226. package/docs/SavedSnapshotAllowance.md +51 -0
  227. package/docs/SavedSnapshotDeletedResponse.md +38 -0
  228. package/docs/SavedSnapshotInfoResponse.md +36 -0
  229. package/docs/SavedSnapshotListResponse.md +38 -0
  230. package/docs/SavedSnapshotSaveRequest.md +34 -0
  231. package/docs/SavedSnapshotSavingResponse.md +38 -0
  232. package/docs/UpdateCredentialProfileRequest.md +2 -0
  233. package/docs/UpdateSandboxEnvironmentRequest.md +2 -0
  234. package/package.json +1 -1
  235. package/src/apis/BoatApi.ts +999 -30
  236. package/src/models/CreateSandboxRequest.ts +60 -4
  237. package/src/models/CreateSandboxRequestFilesInner.ts +94 -0
  238. package/src/models/CreateSandboxResponse.ts +15 -0
  239. package/src/models/CreateSandboxResponseAllOfHostedPortsInner.ts +128 -0
  240. package/src/models/CredentialId.ts +3 -0
  241. package/src/models/CredentialProfile.ts +15 -0
  242. package/src/models/DeletionOperation.ts +1 -1
  243. package/src/models/FileDeleteResponse.ts +102 -0
  244. package/src/models/FileEntry.ts +120 -0
  245. package/src/models/FileFindResponse.ts +127 -0
  246. package/src/models/FileFindResponseAllOfMatches.ts +84 -0
  247. package/src/models/FileFolderRequest.ts +74 -0
  248. package/src/models/FileInfoResponse.ts +158 -0
  249. package/src/models/FileListResponse.ts +128 -0
  250. package/src/models/FileMoveRequest.ts +83 -0
  251. package/src/models/FileMoveResponse.ts +111 -0
  252. package/src/models/FilePermissionsRequest.ts +75 -0
  253. package/src/models/FileReplaceRequest.ts +84 -0
  254. package/src/models/FileReplaceResponse.ts +110 -0
  255. package/src/models/FileReplaceResponseAllOfResults.ts +91 -0
  256. package/src/models/FileSearchResponse.ts +119 -0
  257. package/src/models/LimitsFields.ts +90 -16
  258. package/src/models/LimitsFieldsOveragePrices.ts +97 -0
  259. package/src/models/LimitsFieldsOveragePricesStartBracketsInner.ts +81 -0
  260. package/src/models/LimitsFieldsPlanIncluded.ts +81 -0
  261. package/src/models/LimitsFieldsStartLimitsWithWallet.ts +81 -0
  262. package/src/models/LimitsFieldsWallet.ts +65 -0
  263. package/src/models/LimitsResponse.ts +90 -16
  264. package/src/models/NamedSnapshotAllowance.ts +11 -3
  265. package/src/models/ResourceAccess.ts +75 -0
  266. package/src/models/ResourceAccessUpdate.ts +74 -0
  267. package/src/models/Sandbox.ts +15 -0
  268. package/src/models/SandboxEnvironment.ts +15 -0
  269. package/src/models/SandboxLastReboot.ts +85 -0
  270. package/src/models/SandboxListResponse.ts +15 -0
  271. package/src/models/SandboxListResponseAllOfDeletedCost.ts +84 -0
  272. package/src/models/SavedSnapshot.ts +137 -0
  273. package/src/models/SavedSnapshotAllowance.ts +138 -0
  274. package/src/models/SavedSnapshotDeletedResponse.ts +111 -0
  275. package/src/models/SavedSnapshotInfoResponse.ts +102 -0
  276. package/src/models/SavedSnapshotListResponse.ts +117 -0
  277. package/src/models/SavedSnapshotSaveRequest.ts +75 -0
  278. package/src/models/SavedSnapshotSavingResponse.ts +119 -0
  279. package/src/models/SnapshotSummary.ts +1 -1
  280. package/src/models/UpdateCredentialProfileRequest.ts +16 -0
  281. package/src/models/UpdateSandboxEnvironmentRequest.ts +15 -0
  282. package/src/models/index.ts +32 -0
@@ -208,11 +208,66 @@ import {
208
208
  EventsResponseFromJSON,
209
209
  EventsResponseToJSON,
210
210
  } from '../models/EventsResponse';
211
+ import {
212
+ type FileDeleteResponse,
213
+ FileDeleteResponseFromJSON,
214
+ FileDeleteResponseToJSON,
215
+ } from '../models/FileDeleteResponse';
216
+ import {
217
+ type FileFindResponse,
218
+ FileFindResponseFromJSON,
219
+ FileFindResponseToJSON,
220
+ } from '../models/FileFindResponse';
221
+ import {
222
+ type FileFolderRequest,
223
+ FileFolderRequestFromJSON,
224
+ FileFolderRequestToJSON,
225
+ } from '../models/FileFolderRequest';
226
+ import {
227
+ type FileInfoResponse,
228
+ FileInfoResponseFromJSON,
229
+ FileInfoResponseToJSON,
230
+ } from '../models/FileInfoResponse';
231
+ import {
232
+ type FileListResponse,
233
+ FileListResponseFromJSON,
234
+ FileListResponseToJSON,
235
+ } from '../models/FileListResponse';
236
+ import {
237
+ type FileMoveRequest,
238
+ FileMoveRequestFromJSON,
239
+ FileMoveRequestToJSON,
240
+ } from '../models/FileMoveRequest';
241
+ import {
242
+ type FileMoveResponse,
243
+ FileMoveResponseFromJSON,
244
+ FileMoveResponseToJSON,
245
+ } from '../models/FileMoveResponse';
246
+ import {
247
+ type FilePermissionsRequest,
248
+ FilePermissionsRequestFromJSON,
249
+ FilePermissionsRequestToJSON,
250
+ } from '../models/FilePermissionsRequest';
211
251
  import {
212
252
  type FileReadResponse,
213
253
  FileReadResponseFromJSON,
214
254
  FileReadResponseToJSON,
215
255
  } from '../models/FileReadResponse';
256
+ import {
257
+ type FileReplaceRequest,
258
+ FileReplaceRequestFromJSON,
259
+ FileReplaceRequestToJSON,
260
+ } from '../models/FileReplaceRequest';
261
+ import {
262
+ type FileReplaceResponse,
263
+ FileReplaceResponseFromJSON,
264
+ FileReplaceResponseToJSON,
265
+ } from '../models/FileReplaceResponse';
266
+ import {
267
+ type FileSearchResponse,
268
+ FileSearchResponseFromJSON,
269
+ FileSearchResponseToJSON,
270
+ } from '../models/FileSearchResponse';
216
271
  import {
217
272
  type FileUrlRequest,
218
273
  FileUrlRequestFromJSON,
@@ -393,6 +448,31 @@ import {
393
448
  SandboxUsageResponseFromJSON,
394
449
  SandboxUsageResponseToJSON,
395
450
  } from '../models/SandboxUsageResponse';
451
+ import {
452
+ type SavedSnapshotDeletedResponse,
453
+ SavedSnapshotDeletedResponseFromJSON,
454
+ SavedSnapshotDeletedResponseToJSON,
455
+ } from '../models/SavedSnapshotDeletedResponse';
456
+ import {
457
+ type SavedSnapshotInfoResponse,
458
+ SavedSnapshotInfoResponseFromJSON,
459
+ SavedSnapshotInfoResponseToJSON,
460
+ } from '../models/SavedSnapshotInfoResponse';
461
+ import {
462
+ type SavedSnapshotListResponse,
463
+ SavedSnapshotListResponseFromJSON,
464
+ SavedSnapshotListResponseToJSON,
465
+ } from '../models/SavedSnapshotListResponse';
466
+ import {
467
+ type SavedSnapshotSaveRequest,
468
+ SavedSnapshotSaveRequestFromJSON,
469
+ SavedSnapshotSaveRequestToJSON,
470
+ } from '../models/SavedSnapshotSaveRequest';
471
+ import {
472
+ type SavedSnapshotSavingResponse,
473
+ SavedSnapshotSavingResponseFromJSON,
474
+ SavedSnapshotSavingResponseToJSON,
475
+ } from '../models/SavedSnapshotSavingResponse';
396
476
  import {
397
477
  type SecretsResponse,
398
478
  SecretsResponseFromJSON,
@@ -657,6 +737,11 @@ export interface CreateEnvironmentRequest {
657
737
  org?: string;
658
738
  }
659
739
 
740
+ export interface CreateFolderRequest {
741
+ sandboxId: string;
742
+ fileFolderRequest: FileFolderRequest;
743
+ }
744
+
660
745
  export interface CreateScopedApiKeyOperationRequest {
661
746
  createScopedApiKeyRequest: CreateScopedApiKeyRequest;
662
747
  }
@@ -717,6 +802,12 @@ export interface DeleteEnvironmentVarRequest {
717
802
  org?: string;
718
803
  }
719
804
 
805
+ export interface DeleteFileRequest {
806
+ sandboxId: string;
807
+ path: string;
808
+ recursive?: boolean;
809
+ }
810
+
720
811
  export interface DeleteNamedSnapshotRequest {
721
812
  name: string;
722
813
  }
@@ -731,6 +822,10 @@ export interface DeleteSandboxSnapshotsRequest {
731
822
  xAsciiConfirmDelete: string;
732
823
  }
733
824
 
825
+ export interface DeleteSavedSnapshotRequest {
826
+ name: string;
827
+ }
828
+
734
829
  export interface DeleteSnapshotRequest {
735
830
  snapshotId: string;
736
831
  xAsciiConfirmDelete: string;
@@ -760,6 +855,13 @@ export interface EventsRequest {
760
855
  conversation?: string;
761
856
  }
762
857
 
858
+ export interface FindInFilesRequest {
859
+ sandboxId: string;
860
+ pattern: string;
861
+ path?: string;
862
+ regex?: boolean;
863
+ }
864
+
763
865
  export interface ForkOperationRequest {
764
866
  sandboxId: string;
765
867
  idempotencyKey?: string;
@@ -791,6 +893,11 @@ export interface GetDeletionOperationRequest {
791
893
  operationId: string;
792
894
  }
793
895
 
896
+ export interface GetFileInfoRequest {
897
+ sandboxId: string;
898
+ path: string;
899
+ }
900
+
794
901
  export interface GetLatestSandboxSnapshotRequest {
795
902
  sandboxId: string;
796
903
  }
@@ -804,6 +911,10 @@ export interface GetSandboxAiUsageRequest {
804
911
  days?: number;
805
912
  }
806
913
 
914
+ export interface GetSavedSnapshotRequest {
915
+ name: string;
916
+ }
917
+
807
918
  export interface GetSnapshotDownloadRequest {
808
919
  snapshotId: string;
809
920
  }
@@ -847,6 +958,11 @@ export interface ListCredentialAccountsRequest {
847
958
  credential: CredentialId;
848
959
  }
849
960
 
961
+ export interface ListFilesRequest {
962
+ sandboxId: string;
963
+ path?: string;
964
+ }
965
+
850
966
  export interface ListSandboxSnapshotsRequest {
851
967
  sandboxId: string;
852
968
  limit?: number;
@@ -864,6 +980,11 @@ export interface ListSnapshotsRequest {
864
980
  sort?: ListSnapshotsSortEnum;
865
981
  }
866
982
 
983
+ export interface MoveFileRequest {
984
+ sandboxId: string;
985
+ fileMoveRequest: FileMoveRequest;
986
+ }
987
+
867
988
  export interface ProcessesRequest {
868
989
  sandboxId: string;
869
990
  }
@@ -888,6 +1009,11 @@ export interface RecoverRequest {
888
1009
  sandboxId: string;
889
1010
  }
890
1011
 
1012
+ export interface ReplaceInFilesRequest {
1013
+ sandboxId: string;
1014
+ fileReplaceRequest: FileReplaceRequest;
1015
+ }
1016
+
891
1017
  export interface ReposRequest {
892
1018
  sync?: boolean;
893
1019
  limit?: number;
@@ -933,6 +1059,16 @@ export interface SaveNamedSnapshotRequest {
933
1059
  namedSnapshotSaveRequest: NamedSnapshotSaveRequest;
934
1060
  }
935
1061
 
1062
+ export interface SaveSavedSnapshotRequest {
1063
+ savedSnapshotSaveRequest: SavedSnapshotSaveRequest;
1064
+ }
1065
+
1066
+ export interface SearchFilesRequest {
1067
+ sandboxId: string;
1068
+ pattern: string;
1069
+ path?: string;
1070
+ }
1071
+
936
1072
  export interface SelectRepoRequest {
937
1073
  repoSelectionRequest: RepoSelectionRequest;
938
1074
  }
@@ -966,6 +1102,11 @@ export interface SetEnvironmentVarOperationRequest {
966
1102
  org?: string;
967
1103
  }
968
1104
 
1105
+ export interface SetFilePermissionsRequest {
1106
+ sandboxId: string;
1107
+ filePermissionsRequest: FilePermissionsRequest;
1108
+ }
1109
+
969
1110
  export interface SetSandboxAiAccessOperationRequest {
970
1111
  sandboxId: string;
971
1112
  setSandboxAiAccessRequest: SetSandboxAiAccessRequest;
@@ -2050,6 +2191,72 @@ export class BoatApi extends runtime.BaseAPI {
2050
2191
  return await response.value();
2051
2192
  }
2052
2193
 
2194
+ /**
2195
+ * Creates request options for createFolder without sending the request
2196
+ */
2197
+ async createFolderRequestOpts(input: CreateFolderRequest | runtime.FlatBody<CreateFolderRequest, 'fileFolderRequest'>): Promise<runtime.RequestOpts> {
2198
+ const requestParameters = runtime.unflattenBody<CreateFolderRequest>(input, 'fileFolderRequest', ['sandboxId'], []);
2199
+ if (requestParameters['sandboxId'] == null) {
2200
+ throw new runtime.RequiredError(
2201
+ 'sandboxId',
2202
+ 'Required parameter "sandboxId" was null or undefined when calling createFolder().'
2203
+ );
2204
+ }
2205
+
2206
+ if (requestParameters['fileFolderRequest'] == null) {
2207
+ throw new runtime.RequiredError(
2208
+ 'fileFolderRequest',
2209
+ 'Required parameter "fileFolderRequest" was null or undefined when calling createFolder().'
2210
+ );
2211
+ }
2212
+
2213
+ const queryParameters: any = {};
2214
+
2215
+ const headerParameters: runtime.HTTPHeaders = {};
2216
+
2217
+ headerParameters['Content-Type'] = 'application/json';
2218
+
2219
+ if (this.configuration && this.configuration.accessToken) {
2220
+ const token = this.configuration.accessToken;
2221
+ const tokenString = await token("BoatBearerAuth", []);
2222
+
2223
+ if (tokenString) {
2224
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2225
+ }
2226
+ }
2227
+
2228
+ let urlPath = `/sandboxes/{sandboxId}/files/folder`;
2229
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2230
+
2231
+ return {
2232
+ path: urlPath,
2233
+ method: 'POST',
2234
+ headers: headerParameters,
2235
+ query: queryParameters,
2236
+ body: FileFolderRequestToJSON(requestParameters['fileFolderRequest']),
2237
+ };
2238
+ }
2239
+
2240
+ /**
2241
+ * Missing parent directories are created. An existing directory is not an error. Needs `file.write`.
2242
+ * Create a directory in a sandbox
2243
+ */
2244
+ async createFolderRaw(requestParameters: CreateFolderRequest | runtime.FlatBody<CreateFolderRequest, 'fileFolderRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileInfoResponse>> {
2245
+ const requestOptions = await this.createFolderRequestOpts(requestParameters);
2246
+ const response = await this.request(requestOptions, initOverrides);
2247
+
2248
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileInfoResponseFromJSON(jsonValue));
2249
+ }
2250
+
2251
+ /**
2252
+ * Missing parent directories are created. An existing directory is not an error. Needs `file.write`.
2253
+ * Create a directory in a sandbox
2254
+ */
2255
+ async createFolder(requestParameters: CreateFolderRequest | runtime.FlatBody<CreateFolderRequest, 'fileFolderRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileInfoResponse> {
2256
+ const response = await this.createFolderRaw(requestParameters, initOverrides);
2257
+ return await response.value();
2258
+ }
2259
+
2053
2260
  /**
2054
2261
  * Creates request options for createScopedApiKey without sending the request
2055
2262
  */
@@ -2089,7 +2296,7 @@ export class BoatApi extends runtime.BaseAPI {
2089
2296
  }
2090
2297
 
2091
2298
  /**
2092
- * Creates a scoped, expiring API key. Requires a dashboard/CLI session or an admin-scoped token. The secret is returned once. This dedicated path returns a typed 503 until scoped credential creation is activated.
2299
+ * Creates a scoped, expiring API key. Requires a dashboard/CLI session or an admin-scoped token. The secret is returned once. An unknown field is a 400, so a misspelled scope never creates a full-access key. environmentIds takes your own environments and the org environments you can use. This dedicated path returns a typed 503 until scoped credential creation is activated.
2093
2300
  * Create a scoped API key
2094
2301
  */
2095
2302
  async createScopedApiKeyRaw(requestParameters: CreateScopedApiKeyOperationRequest | runtime.FlatBody<CreateScopedApiKeyOperationRequest, 'createScopedApiKeyRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiKeySecretResponse>> {
@@ -2100,7 +2307,7 @@ export class BoatApi extends runtime.BaseAPI {
2100
2307
  }
2101
2308
 
2102
2309
  /**
2103
- * Creates a scoped, expiring API key. Requires a dashboard/CLI session or an admin-scoped token. The secret is returned once. This dedicated path returns a typed 503 until scoped credential creation is activated.
2310
+ * Creates a scoped, expiring API key. Requires a dashboard/CLI session or an admin-scoped token. The secret is returned once. An unknown field is a 400, so a misspelled scope never creates a full-access key. environmentIds takes your own environments and the org environments you can use. This dedicated path returns a typed 503 until scoped credential creation is activated.
2104
2311
  * Create a scoped API key
2105
2312
  */
2106
2313
  async createScopedApiKey(requestParameters: CreateScopedApiKeyOperationRequest | runtime.FlatBody<CreateScopedApiKeyOperationRequest, 'createScopedApiKeyRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeySecretResponse> {
@@ -2132,7 +2339,7 @@ export class BoatApi extends runtime.BaseAPI {
2132
2339
  }
2133
2340
  }
2134
2341
 
2135
- let urlPath = `/named-snapshots/{name}/shares`;
2342
+ let urlPath = `/saved-snapshots/{name}/shares`;
2136
2343
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
2137
2344
 
2138
2345
  return {
@@ -2144,8 +2351,8 @@ export class BoatApi extends runtime.BaseAPI {
2144
2351
  }
2145
2352
 
2146
2353
  /**
2147
- * 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`.
2148
- * Share a named snapshot
2354
+ * 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`.
2355
+ * Share a saved snapshot
2149
2356
  */
2150
2357
  async createSnapshotShareRaw(requestParameters: CreateSnapshotShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotShareCreatedResponse>> {
2151
2358
  const requestOptions = await this.createSnapshotShareRequestOpts(requestParameters);
@@ -2155,8 +2362,8 @@ export class BoatApi extends runtime.BaseAPI {
2155
2362
  }
2156
2363
 
2157
2364
  /**
2158
- * 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`.
2159
- * Share a named snapshot
2365
+ * 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`.
2366
+ * Share a saved snapshot
2160
2367
  */
2161
2368
  async createSnapshotShare(requestParameters: CreateSnapshotShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotShareCreatedResponse> {
2162
2369
  const response = await this.createSnapshotShareRaw(requestParameters, initOverrides);
@@ -2802,8 +3009,79 @@ export class BoatApi extends runtime.BaseAPI {
2802
3009
  return await response.value();
2803
3010
  }
2804
3011
 
3012
+ /**
3013
+ * Creates request options for deleteFile without sending the request
3014
+ */
3015
+ async deleteFileRequestOpts(requestParameters: DeleteFileRequest): Promise<runtime.RequestOpts> {
3016
+ if (requestParameters['sandboxId'] == null) {
3017
+ throw new runtime.RequiredError(
3018
+ 'sandboxId',
3019
+ 'Required parameter "sandboxId" was null or undefined when calling deleteFile().'
3020
+ );
3021
+ }
3022
+
3023
+ if (requestParameters['path'] == null) {
3024
+ throw new runtime.RequiredError(
3025
+ 'path',
3026
+ 'Required parameter "path" was null or undefined when calling deleteFile().'
3027
+ );
3028
+ }
3029
+
3030
+ const queryParameters: any = {};
3031
+
3032
+ if (requestParameters['path'] != null) {
3033
+ queryParameters['path'] = requestParameters['path'];
3034
+ }
3035
+
3036
+ if (requestParameters['recursive'] != null) {
3037
+ queryParameters['recursive'] = requestParameters['recursive'];
3038
+ }
3039
+
3040
+ const headerParameters: runtime.HTTPHeaders = {};
3041
+
3042
+ if (this.configuration && this.configuration.accessToken) {
3043
+ const token = this.configuration.accessToken;
3044
+ const tokenString = await token("BoatBearerAuth", []);
3045
+
3046
+ if (tokenString) {
3047
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3048
+ }
3049
+ }
3050
+
3051
+ let urlPath = `/sandboxes/{sandboxId}/files`;
3052
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
3053
+
3054
+ return {
3055
+ path: urlPath,
3056
+ method: 'DELETE',
3057
+ headers: headerParameters,
3058
+ query: queryParameters,
3059
+ };
3060
+ }
3061
+
3062
+ /**
3063
+ * A directory needs `recursive=true`. A symlink is deleted itself, never its target. /home/user and /tmp themselves cannot be deleted. Needs `file.write`.
3064
+ * Delete a file or directory in a sandbox
3065
+ */
3066
+ async deleteFileRaw(requestParameters: DeleteFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileDeleteResponse>> {
3067
+ const requestOptions = await this.deleteFileRequestOpts(requestParameters);
3068
+ const response = await this.request(requestOptions, initOverrides);
3069
+
3070
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileDeleteResponseFromJSON(jsonValue));
3071
+ }
3072
+
3073
+ /**
3074
+ * A directory needs `recursive=true`. A symlink is deleted itself, never its target. /home/user and /tmp themselves cannot be deleted. Needs `file.write`.
3075
+ * Delete a file or directory in a sandbox
3076
+ */
3077
+ async deleteFile(requestParameters: DeleteFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileDeleteResponse> {
3078
+ const response = await this.deleteFileRaw(requestParameters, initOverrides);
3079
+ return await response.value();
3080
+ }
3081
+
2805
3082
  /**
2806
3083
  * Creates request options for deleteNamedSnapshot without sending the request
3084
+ * @deprecated
2807
3085
  */
2808
3086
  async deleteNamedSnapshotRequestOpts(requestParameters: DeleteNamedSnapshotRequest): Promise<runtime.RequestOpts> {
2809
3087
  if (requestParameters['name'] == null) {
@@ -2840,6 +3118,7 @@ export class BoatApi extends runtime.BaseAPI {
2840
3118
  /**
2841
3119
  * Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
2842
3120
  * Remove a named snapshot
3121
+ * @deprecated
2843
3122
  */
2844
3123
  async deleteNamedSnapshotRaw(requestParameters: DeleteNamedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotDeletedResponse>> {
2845
3124
  const requestOptions = await this.deleteNamedSnapshotRequestOpts(requestParameters);
@@ -2851,6 +3130,7 @@ export class BoatApi extends runtime.BaseAPI {
2851
3130
  /**
2852
3131
  * Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
2853
3132
  * Remove a named snapshot
3133
+ * @deprecated
2854
3134
  */
2855
3135
  async deleteNamedSnapshot(requestParameters: DeleteNamedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotDeletedResponse> {
2856
3136
  const response = await this.deleteNamedSnapshotRaw(requestParameters, initOverrides);
@@ -2904,7 +3184,7 @@ export class BoatApi extends runtime.BaseAPI {
2904
3184
  }
2905
3185
 
2906
3186
  /**
2907
- * 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`.
3187
+ * 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`.
2908
3188
  * Permanently delete sandbox data
2909
3189
  */
2910
3190
  async deleteSandboxRaw(requestParameters: DeleteSandboxRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeletionOperationResponse>> {
@@ -2915,7 +3195,7 @@ export class BoatApi extends runtime.BaseAPI {
2915
3195
  }
2916
3196
 
2917
3197
  /**
2918
- * 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`.
3198
+ * 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`.
2919
3199
  * Permanently delete sandbox data
2920
3200
  */
2921
3201
  async deleteSandbox(requestParameters: DeleteSandboxRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeletionOperationResponse> {
@@ -2970,7 +3250,7 @@ export class BoatApi extends runtime.BaseAPI {
2970
3250
  }
2971
3251
 
2972
3252
  /**
2973
- * 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.
3253
+ * 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.
2974
3254
  * Permanently delete all snapshots of a sandbox
2975
3255
  */
2976
3256
  async deleteSandboxSnapshotsRaw(requestParameters: DeleteSandboxSnapshotsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeletionOperationListResponse>> {
@@ -2981,7 +3261,7 @@ export class BoatApi extends runtime.BaseAPI {
2981
3261
  }
2982
3262
 
2983
3263
  /**
2984
- * 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.
3264
+ * 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.
2985
3265
  * Permanently delete all snapshots of a sandbox
2986
3266
  */
2987
3267
  async deleteSandboxSnapshots(requestParameters: DeleteSandboxSnapshotsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeletionOperationListResponse> {
@@ -2989,6 +3269,61 @@ export class BoatApi extends runtime.BaseAPI {
2989
3269
  return await response.value();
2990
3270
  }
2991
3271
 
3272
+ /**
3273
+ * Creates request options for deleteSavedSnapshot without sending the request
3274
+ */
3275
+ async deleteSavedSnapshotRequestOpts(requestParameters: DeleteSavedSnapshotRequest): Promise<runtime.RequestOpts> {
3276
+ if (requestParameters['name'] == null) {
3277
+ throw new runtime.RequiredError(
3278
+ 'name',
3279
+ 'Required parameter "name" was null or undefined when calling deleteSavedSnapshot().'
3280
+ );
3281
+ }
3282
+
3283
+ const queryParameters: any = {};
3284
+
3285
+ const headerParameters: runtime.HTTPHeaders = {};
3286
+
3287
+ if (this.configuration && this.configuration.accessToken) {
3288
+ const token = this.configuration.accessToken;
3289
+ const tokenString = await token("BoatBearerAuth", []);
3290
+
3291
+ if (tokenString) {
3292
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3293
+ }
3294
+ }
3295
+
3296
+ let urlPath = `/saved-snapshots/{name}`;
3297
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
3298
+
3299
+ return {
3300
+ path: urlPath,
3301
+ method: 'DELETE',
3302
+ headers: headerParameters,
3303
+ query: queryParameters,
3304
+ };
3305
+ }
3306
+
3307
+ /**
3308
+ * Remove a saved snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
3309
+ * Remove a saved snapshot
3310
+ */
3311
+ async deleteSavedSnapshotRaw(requestParameters: DeleteSavedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SavedSnapshotDeletedResponse>> {
3312
+ const requestOptions = await this.deleteSavedSnapshotRequestOpts(requestParameters);
3313
+ const response = await this.request(requestOptions, initOverrides);
3314
+
3315
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotDeletedResponseFromJSON(jsonValue));
3316
+ }
3317
+
3318
+ /**
3319
+ * Remove a saved snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
3320
+ * Remove a saved snapshot
3321
+ */
3322
+ async deleteSavedSnapshot(requestParameters: DeleteSavedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SavedSnapshotDeletedResponse> {
3323
+ const response = await this.deleteSavedSnapshotRaw(requestParameters, initOverrides);
3324
+ return await response.value();
3325
+ }
3326
+
2992
3327
  /**
2993
3328
  * Creates request options for deleteSnapshot without sending the request
2994
3329
  */
@@ -3350,6 +3685,80 @@ export class BoatApi extends runtime.BaseAPI {
3350
3685
  return await response.value();
3351
3686
  }
3352
3687
 
3688
+ /**
3689
+ * Creates request options for findInFiles without sending the request
3690
+ */
3691
+ async findInFilesRequestOpts(requestParameters: FindInFilesRequest): Promise<runtime.RequestOpts> {
3692
+ if (requestParameters['sandboxId'] == null) {
3693
+ throw new runtime.RequiredError(
3694
+ 'sandboxId',
3695
+ 'Required parameter "sandboxId" was null or undefined when calling findInFiles().'
3696
+ );
3697
+ }
3698
+
3699
+ if (requestParameters['pattern'] == null) {
3700
+ throw new runtime.RequiredError(
3701
+ 'pattern',
3702
+ 'Required parameter "pattern" was null or undefined when calling findInFiles().'
3703
+ );
3704
+ }
3705
+
3706
+ const queryParameters: any = {};
3707
+
3708
+ if (requestParameters['path'] != null) {
3709
+ queryParameters['path'] = requestParameters['path'];
3710
+ }
3711
+
3712
+ if (requestParameters['pattern'] != null) {
3713
+ queryParameters['pattern'] = requestParameters['pattern'];
3714
+ }
3715
+
3716
+ if (requestParameters['regex'] != null) {
3717
+ queryParameters['regex'] = requestParameters['regex'];
3718
+ }
3719
+
3720
+ const headerParameters: runtime.HTTPHeaders = {};
3721
+
3722
+ if (this.configuration && this.configuration.accessToken) {
3723
+ const token = this.configuration.accessToken;
3724
+ const tokenString = await token("BoatBearerAuth", []);
3725
+
3726
+ if (tokenString) {
3727
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3728
+ }
3729
+ }
3730
+
3731
+ let urlPath = `/sandboxes/{sandboxId}/files/find`;
3732
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
3733
+
3734
+ return {
3735
+ path: urlPath,
3736
+ method: 'GET',
3737
+ headers: headerParameters,
3738
+ query: queryParameters,
3739
+ };
3740
+ }
3741
+
3742
+ /**
3743
+ * Every line under `path` that contains `pattern`. `pattern` is plain text; with `regex=true` it is an extended regular expression. Binary files are skipped and symlinks are not followed. Needs `file.read`.
3744
+ * Find text in sandbox files
3745
+ */
3746
+ async findInFilesRaw(requestParameters: FindInFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileFindResponse>> {
3747
+ const requestOptions = await this.findInFilesRequestOpts(requestParameters);
3748
+ const response = await this.request(requestOptions, initOverrides);
3749
+
3750
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileFindResponseFromJSON(jsonValue));
3751
+ }
3752
+
3753
+ /**
3754
+ * Every line under `path` that contains `pattern`. `pattern` is plain text; with `regex=true` it is an extended regular expression. Binary files are skipped and symlinks are not followed. Needs `file.read`.
3755
+ * Find text in sandbox files
3756
+ */
3757
+ async findInFiles(requestParameters: FindInFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileFindResponse> {
3758
+ const response = await this.findInFilesRaw(requestParameters, initOverrides);
3759
+ return await response.value();
3760
+ }
3761
+
3353
3762
  /**
3354
3763
  * Creates request options for fork without sending the request
3355
3764
  */
@@ -3750,7 +4159,73 @@ export class BoatApi extends runtime.BaseAPI {
3750
4159
  }
3751
4160
 
3752
4161
  /**
3753
- * Creates request options for getLatestSandboxSnapshot without sending the request
4162
+ * Creates request options for getFileInfo without sending the request
4163
+ */
4164
+ async getFileInfoRequestOpts(requestParameters: GetFileInfoRequest): Promise<runtime.RequestOpts> {
4165
+ if (requestParameters['sandboxId'] == null) {
4166
+ throw new runtime.RequiredError(
4167
+ 'sandboxId',
4168
+ 'Required parameter "sandboxId" was null or undefined when calling getFileInfo().'
4169
+ );
4170
+ }
4171
+
4172
+ if (requestParameters['path'] == null) {
4173
+ throw new runtime.RequiredError(
4174
+ 'path',
4175
+ 'Required parameter "path" was null or undefined when calling getFileInfo().'
4176
+ );
4177
+ }
4178
+
4179
+ const queryParameters: any = {};
4180
+
4181
+ if (requestParameters['path'] != null) {
4182
+ queryParameters['path'] = requestParameters['path'];
4183
+ }
4184
+
4185
+ const headerParameters: runtime.HTTPHeaders = {};
4186
+
4187
+ if (this.configuration && this.configuration.accessToken) {
4188
+ const token = this.configuration.accessToken;
4189
+ const tokenString = await token("BoatBearerAuth", []);
4190
+
4191
+ if (tokenString) {
4192
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4193
+ }
4194
+ }
4195
+
4196
+ let urlPath = `/sandboxes/{sandboxId}/files/info`;
4197
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
4198
+
4199
+ return {
4200
+ path: urlPath,
4201
+ method: 'GET',
4202
+ headers: headerParameters,
4203
+ query: queryParameters,
4204
+ };
4205
+ }
4206
+
4207
+ /**
4208
+ * Size, permission bits, type and modification time. Needs `file.read`.
4209
+ * Get file or directory details in a sandbox
4210
+ */
4211
+ async getFileInfoRaw(requestParameters: GetFileInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileInfoResponse>> {
4212
+ const requestOptions = await this.getFileInfoRequestOpts(requestParameters);
4213
+ const response = await this.request(requestOptions, initOverrides);
4214
+
4215
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileInfoResponseFromJSON(jsonValue));
4216
+ }
4217
+
4218
+ /**
4219
+ * Size, permission bits, type and modification time. Needs `file.read`.
4220
+ * Get file or directory details in a sandbox
4221
+ */
4222
+ async getFileInfo(requestParameters: GetFileInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileInfoResponse> {
4223
+ const response = await this.getFileInfoRaw(requestParameters, initOverrides);
4224
+ return await response.value();
4225
+ }
4226
+
4227
+ /**
4228
+ * Creates request options for getLatestSandboxSnapshot without sending the request
3754
4229
  */
3755
4230
  async getLatestSandboxSnapshotRequestOpts(requestParameters: GetLatestSandboxSnapshotRequest): Promise<runtime.RequestOpts> {
3756
4231
  if (requestParameters['sandboxId'] == null) {
@@ -3806,6 +4281,7 @@ export class BoatApi extends runtime.BaseAPI {
3806
4281
 
3807
4282
  /**
3808
4283
  * Creates request options for getNamedSnapshot without sending the request
4284
+ * @deprecated
3809
4285
  */
3810
4286
  async getNamedSnapshotRequestOpts(requestParameters: GetNamedSnapshotRequest): Promise<runtime.RequestOpts> {
3811
4287
  if (requestParameters['name'] == null) {
@@ -3841,6 +4317,7 @@ export class BoatApi extends runtime.BaseAPI {
3841
4317
 
3842
4318
  /**
3843
4319
  * Get a named snapshot
4320
+ * @deprecated
3844
4321
  */
3845
4322
  async getNamedSnapshotRaw(requestParameters: GetNamedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotInfoResponse>> {
3846
4323
  const requestOptions = await this.getNamedSnapshotRequestOpts(requestParameters);
@@ -3851,6 +4328,7 @@ export class BoatApi extends runtime.BaseAPI {
3851
4328
 
3852
4329
  /**
3853
4330
  * Get a named snapshot
4331
+ * @deprecated
3854
4332
  */
3855
4333
  async getNamedSnapshot(requestParameters: GetNamedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotInfoResponse> {
3856
4334
  const response = await this.getNamedSnapshotRaw(requestParameters, initOverrides);
@@ -3916,6 +4394,59 @@ export class BoatApi extends runtime.BaseAPI {
3916
4394
  return await response.value();
3917
4395
  }
3918
4396
 
4397
+ /**
4398
+ * Creates request options for getSavedSnapshot without sending the request
4399
+ */
4400
+ async getSavedSnapshotRequestOpts(requestParameters: GetSavedSnapshotRequest): Promise<runtime.RequestOpts> {
4401
+ if (requestParameters['name'] == null) {
4402
+ throw new runtime.RequiredError(
4403
+ 'name',
4404
+ 'Required parameter "name" was null or undefined when calling getSavedSnapshot().'
4405
+ );
4406
+ }
4407
+
4408
+ const queryParameters: any = {};
4409
+
4410
+ const headerParameters: runtime.HTTPHeaders = {};
4411
+
4412
+ if (this.configuration && this.configuration.accessToken) {
4413
+ const token = this.configuration.accessToken;
4414
+ const tokenString = await token("BoatBearerAuth", []);
4415
+
4416
+ if (tokenString) {
4417
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4418
+ }
4419
+ }
4420
+
4421
+ let urlPath = `/saved-snapshots/{name}`;
4422
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
4423
+
4424
+ return {
4425
+ path: urlPath,
4426
+ method: 'GET',
4427
+ headers: headerParameters,
4428
+ query: queryParameters,
4429
+ };
4430
+ }
4431
+
4432
+ /**
4433
+ * Get a saved snapshot
4434
+ */
4435
+ async getSavedSnapshotRaw(requestParameters: GetSavedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SavedSnapshotInfoResponse>> {
4436
+ const requestOptions = await this.getSavedSnapshotRequestOpts(requestParameters);
4437
+ const response = await this.request(requestOptions, initOverrides);
4438
+
4439
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotInfoResponseFromJSON(jsonValue));
4440
+ }
4441
+
4442
+ /**
4443
+ * Get a saved snapshot
4444
+ */
4445
+ async getSavedSnapshot(requestParameters: GetSavedSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SavedSnapshotInfoResponse> {
4446
+ const response = await this.getSavedSnapshotRaw(requestParameters, initOverrides);
4447
+ return await response.value();
4448
+ }
4449
+
3919
4450
  /**
3920
4451
  * Creates request options for getSnapshotDownload without sending the request
3921
4452
  */
@@ -4415,7 +4946,7 @@ export class BoatApi extends runtime.BaseAPI {
4415
4946
  }
4416
4947
 
4417
4948
  /**
4418
- * Check remaining machine starts, compute time, credits, access readiness, and concurrent-sandbox capacity for the wallet a create would bill: the `org` / `X-Boat-Org` you pass (id or name), else the account\'s active wallet, else personal. The response carries `teamId` when an organization wallet was read.
4949
+ * Check remaining machine starts, included VM time, the wallet, overage prices, access readiness, and concurrent-sandbox capacity for the wallet a create would bill: the `org` / `X-Boat-Org` you pass (id or name), else the account\'s active wallet, else personal. The response carries `teamId` when an organization wallet was read.
4419
4950
  * Get Boat limits
4420
4951
  */
4421
4952
  async limitsRaw(requestParameters: LimitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LimitsResponse>> {
@@ -4426,7 +4957,7 @@ export class BoatApi extends runtime.BaseAPI {
4426
4957
  }
4427
4958
 
4428
4959
  /**
4429
- * Check remaining machine starts, compute time, credits, access readiness, and concurrent-sandbox capacity for the wallet a create would bill: the `org` / `X-Boat-Org` you pass (id or name), else the account\'s active wallet, else personal. The response carries `teamId` when an organization wallet was read.
4960
+ * Check remaining machine starts, included VM time, the wallet, overage prices, access readiness, and concurrent-sandbox capacity for the wallet a create would bill: the `org` / `X-Boat-Org` you pass (id or name), else the account\'s active wallet, else personal. The response carries `teamId` when an organization wallet was read.
4430
4961
  * Get Boat limits
4431
4962
  */
4432
4963
  async limits(requestParameters: LimitsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LimitsResponse> {
@@ -4544,8 +5075,68 @@ export class BoatApi extends runtime.BaseAPI {
4544
5075
  return await response.value();
4545
5076
  }
4546
5077
 
5078
+ /**
5079
+ * Creates request options for listFiles without sending the request
5080
+ */
5081
+ async listFilesRequestOpts(requestParameters: ListFilesRequest): Promise<runtime.RequestOpts> {
5082
+ if (requestParameters['sandboxId'] == null) {
5083
+ throw new runtime.RequiredError(
5084
+ 'sandboxId',
5085
+ 'Required parameter "sandboxId" was null or undefined when calling listFiles().'
5086
+ );
5087
+ }
5088
+
5089
+ const queryParameters: any = {};
5090
+
5091
+ if (requestParameters['path'] != null) {
5092
+ queryParameters['path'] = requestParameters['path'];
5093
+ }
5094
+
5095
+ const headerParameters: runtime.HTTPHeaders = {};
5096
+
5097
+ if (this.configuration && this.configuration.accessToken) {
5098
+ const token = this.configuration.accessToken;
5099
+ const tokenString = await token("BoatBearerAuth", []);
5100
+
5101
+ if (tokenString) {
5102
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
5103
+ }
5104
+ }
5105
+
5106
+ let urlPath = `/sandboxes/{sandboxId}/files/list`;
5107
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
5108
+
5109
+ return {
5110
+ path: urlPath,
5111
+ method: 'GET',
5112
+ headers: headerParameters,
5113
+ query: queryParameters,
5114
+ };
5115
+ }
5116
+
5117
+ /**
5118
+ * One level, sorted by name. A symlink is listed as a symlink, not followed. Defaults to /home/user. Needs `file.read`.
5119
+ * List a directory in a sandbox
5120
+ */
5121
+ async listFilesRaw(requestParameters: ListFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileListResponse>> {
5122
+ const requestOptions = await this.listFilesRequestOpts(requestParameters);
5123
+ const response = await this.request(requestOptions, initOverrides);
5124
+
5125
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileListResponseFromJSON(jsonValue));
5126
+ }
5127
+
5128
+ /**
5129
+ * One level, sorted by name. A symlink is listed as a symlink, not followed. Defaults to /home/user. Needs `file.read`.
5130
+ * List a directory in a sandbox
5131
+ */
5132
+ async listFiles(requestParameters: ListFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileListResponse> {
5133
+ const response = await this.listFilesRaw(requestParameters, initOverrides);
5134
+ return await response.value();
5135
+ }
5136
+
4547
5137
  /**
4548
5138
  * Creates request options for listNamedSnapshots without sending the request
5139
+ * @deprecated
4549
5140
  */
4550
5141
  async listNamedSnapshotsRequestOpts(): Promise<runtime.RequestOpts> {
4551
5142
  const queryParameters: any = {};
@@ -4574,6 +5165,7 @@ export class BoatApi extends runtime.BaseAPI {
4574
5165
  /**
4575
5166
  * List your named snapshots, newest first.
4576
5167
  * List named snapshots
5168
+ * @deprecated
4577
5169
  */
4578
5170
  async listNamedSnapshotsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotListResponse>> {
4579
5171
  const requestOptions = await this.listNamedSnapshotsRequestOpts();
@@ -4585,6 +5177,7 @@ export class BoatApi extends runtime.BaseAPI {
4585
5177
  /**
4586
5178
  * List your named snapshots, newest first.
4587
5179
  * List named snapshots
5180
+ * @deprecated
4588
5181
  */
4589
5182
  async listNamedSnapshots(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotListResponse> {
4590
5183
  const response = await this.listNamedSnapshotsRaw(initOverrides);
@@ -4705,6 +5298,53 @@ export class BoatApi extends runtime.BaseAPI {
4705
5298
  return await response.value();
4706
5299
  }
4707
5300
 
5301
+ /**
5302
+ * Creates request options for listSavedSnapshots without sending the request
5303
+ */
5304
+ async listSavedSnapshotsRequestOpts(): Promise<runtime.RequestOpts> {
5305
+ const queryParameters: any = {};
5306
+
5307
+ const headerParameters: runtime.HTTPHeaders = {};
5308
+
5309
+ if (this.configuration && this.configuration.accessToken) {
5310
+ const token = this.configuration.accessToken;
5311
+ const tokenString = await token("BoatBearerAuth", []);
5312
+
5313
+ if (tokenString) {
5314
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
5315
+ }
5316
+ }
5317
+
5318
+ let urlPath = `/saved-snapshots`;
5319
+
5320
+ return {
5321
+ path: urlPath,
5322
+ method: 'GET',
5323
+ headers: headerParameters,
5324
+ query: queryParameters,
5325
+ };
5326
+ }
5327
+
5328
+ /**
5329
+ * List your saved snapshots, newest first.
5330
+ * List saved snapshots
5331
+ */
5332
+ async listSavedSnapshotsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SavedSnapshotListResponse>> {
5333
+ const requestOptions = await this.listSavedSnapshotsRequestOpts();
5334
+ const response = await this.request(requestOptions, initOverrides);
5335
+
5336
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotListResponseFromJSON(jsonValue));
5337
+ }
5338
+
5339
+ /**
5340
+ * List your saved snapshots, newest first.
5341
+ * List saved snapshots
5342
+ */
5343
+ async listSavedSnapshots(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SavedSnapshotListResponse> {
5344
+ const response = await this.listSavedSnapshotsRaw(initOverrides);
5345
+ return await response.value();
5346
+ }
5347
+
4708
5348
  /**
4709
5349
  * Creates request options for listSnapshotShares without sending the request
4710
5350
  */
@@ -4729,7 +5369,7 @@ export class BoatApi extends runtime.BaseAPI {
4729
5369
  }
4730
5370
  }
4731
5371
 
4732
- let urlPath = `/named-snapshots/{name}/shares`;
5372
+ let urlPath = `/saved-snapshots/{name}/shares`;
4733
5373
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
4734
5374
 
4735
5375
  return {
@@ -4741,8 +5381,8 @@ export class BoatApi extends runtime.BaseAPI {
4741
5381
  }
4742
5382
 
4743
5383
  /**
4744
- * 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`.
4745
- * List share codes of a named snapshot
5384
+ * 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`.
5385
+ * List share codes of a saved snapshot
4746
5386
  */
4747
5387
  async listSnapshotSharesRaw(requestParameters: ListSnapshotSharesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotShareListResponse>> {
4748
5388
  const requestOptions = await this.listSnapshotSharesRequestOpts(requestParameters);
@@ -4752,8 +5392,8 @@ export class BoatApi extends runtime.BaseAPI {
4752
5392
  }
4753
5393
 
4754
5394
  /**
4755
- * 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`.
4756
- * List share codes of a named snapshot
5395
+ * 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`.
5396
+ * List share codes of a saved snapshot
4757
5397
  */
4758
5398
  async listSnapshotShares(requestParameters: ListSnapshotSharesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotShareListResponse> {
4759
5399
  const response = await this.listSnapshotSharesRaw(requestParameters, initOverrides);
@@ -4913,6 +5553,72 @@ export class BoatApi extends runtime.BaseAPI {
4913
5553
  return await response.value();
4914
5554
  }
4915
5555
 
5556
+ /**
5557
+ * Creates request options for moveFile without sending the request
5558
+ */
5559
+ async moveFileRequestOpts(input: MoveFileRequest | runtime.FlatBody<MoveFileRequest, 'fileMoveRequest'>): Promise<runtime.RequestOpts> {
5560
+ const requestParameters = runtime.unflattenBody<MoveFileRequest>(input, 'fileMoveRequest', ['sandboxId'], []);
5561
+ if (requestParameters['sandboxId'] == null) {
5562
+ throw new runtime.RequiredError(
5563
+ 'sandboxId',
5564
+ 'Required parameter "sandboxId" was null or undefined when calling moveFile().'
5565
+ );
5566
+ }
5567
+
5568
+ if (requestParameters['fileMoveRequest'] == null) {
5569
+ throw new runtime.RequiredError(
5570
+ 'fileMoveRequest',
5571
+ 'Required parameter "fileMoveRequest" was null or undefined when calling moveFile().'
5572
+ );
5573
+ }
5574
+
5575
+ const queryParameters: any = {};
5576
+
5577
+ const headerParameters: runtime.HTTPHeaders = {};
5578
+
5579
+ headerParameters['Content-Type'] = 'application/json';
5580
+
5581
+ if (this.configuration && this.configuration.accessToken) {
5582
+ const token = this.configuration.accessToken;
5583
+ const tokenString = await token("BoatBearerAuth", []);
5584
+
5585
+ if (tokenString) {
5586
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
5587
+ }
5588
+ }
5589
+
5590
+ let urlPath = `/sandboxes/{sandboxId}/files/move`;
5591
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
5592
+
5593
+ return {
5594
+ path: urlPath,
5595
+ method: 'POST',
5596
+ headers: headerParameters,
5597
+ query: queryParameters,
5598
+ body: FileMoveRequestToJSON(requestParameters['fileMoveRequest']),
5599
+ };
5600
+ }
5601
+
5602
+ /**
5603
+ * Works across /home/user and /tmp. A symlink is moved itself, never its target. Needs `file.write`.
5604
+ * Move or rename a file or directory in a sandbox
5605
+ */
5606
+ async moveFileRaw(requestParameters: MoveFileRequest | runtime.FlatBody<MoveFileRequest, 'fileMoveRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileMoveResponse>> {
5607
+ const requestOptions = await this.moveFileRequestOpts(requestParameters);
5608
+ const response = await this.request(requestOptions, initOverrides);
5609
+
5610
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileMoveResponseFromJSON(jsonValue));
5611
+ }
5612
+
5613
+ /**
5614
+ * Works across /home/user and /tmp. A symlink is moved itself, never its target. Needs `file.write`.
5615
+ * Move or rename a file or directory in a sandbox
5616
+ */
5617
+ async moveFile(requestParameters: MoveFileRequest | runtime.FlatBody<MoveFileRequest, 'fileMoveRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileMoveResponse> {
5618
+ const response = await this.moveFileRaw(requestParameters, initOverrides);
5619
+ return await response.value();
5620
+ }
5621
+
4916
5622
  /**
4917
5623
  * Creates request options for processes without sending the request
4918
5624
  */
@@ -5148,7 +5854,7 @@ export class BoatApi extends runtime.BaseAPI {
5148
5854
  }
5149
5855
 
5150
5856
  /**
5151
- * Files up to 5 MiB. For a larger file, use `POST /sandboxes/{sandboxId}/files/download-url`.
5857
+ * Files up to 5 MiB. For a larger file, use `POST /sandboxes/{sandboxId}/files/download-url`. On a sandbox that is still starting, the call waits until it is ready (up to 60 s, like a command), so it reads the sandbox\'s own disk and never the machine\'s stock one.
5152
5858
  * Read a file from a sandbox
5153
5859
  */
5154
5860
  async readFileRaw(requestParameters: ReadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileReadResponse>> {
@@ -5159,7 +5865,7 @@ export class BoatApi extends runtime.BaseAPI {
5159
5865
  }
5160
5866
 
5161
5867
  /**
5162
- * Files up to 5 MiB. For a larger file, use `POST /sandboxes/{sandboxId}/files/download-url`.
5868
+ * Files up to 5 MiB. For a larger file, use `POST /sandboxes/{sandboxId}/files/download-url`. On a sandbox that is still starting, the call waits until it is ready (up to 60 s, like a command), so it reads the sandbox\'s own disk and never the machine\'s stock one.
5163
5869
  * Read a file from a sandbox
5164
5870
  */
5165
5871
  async readFile(requestParameters: ReadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileReadResponse> {
@@ -5222,6 +5928,72 @@ export class BoatApi extends runtime.BaseAPI {
5222
5928
  return await response.value();
5223
5929
  }
5224
5930
 
5931
+ /**
5932
+ * Creates request options for replaceInFiles without sending the request
5933
+ */
5934
+ async replaceInFilesRequestOpts(input: ReplaceInFilesRequest | runtime.FlatBody<ReplaceInFilesRequest, 'fileReplaceRequest'>): Promise<runtime.RequestOpts> {
5935
+ const requestParameters = runtime.unflattenBody<ReplaceInFilesRequest>(input, 'fileReplaceRequest', ['sandboxId'], []);
5936
+ if (requestParameters['sandboxId'] == null) {
5937
+ throw new runtime.RequiredError(
5938
+ 'sandboxId',
5939
+ 'Required parameter "sandboxId" was null or undefined when calling replaceInFiles().'
5940
+ );
5941
+ }
5942
+
5943
+ if (requestParameters['fileReplaceRequest'] == null) {
5944
+ throw new runtime.RequiredError(
5945
+ 'fileReplaceRequest',
5946
+ 'Required parameter "fileReplaceRequest" was null or undefined when calling replaceInFiles().'
5947
+ );
5948
+ }
5949
+
5950
+ const queryParameters: any = {};
5951
+
5952
+ const headerParameters: runtime.HTTPHeaders = {};
5953
+
5954
+ headerParameters['Content-Type'] = 'application/json';
5955
+
5956
+ if (this.configuration && this.configuration.accessToken) {
5957
+ const token = this.configuration.accessToken;
5958
+ const tokenString = await token("BoatBearerAuth", []);
5959
+
5960
+ if (tokenString) {
5961
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
5962
+ }
5963
+ }
5964
+
5965
+ let urlPath = `/sandboxes/{sandboxId}/files/replace`;
5966
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
5967
+
5968
+ return {
5969
+ path: urlPath,
5970
+ method: 'POST',
5971
+ headers: headerParameters,
5972
+ query: queryParameters,
5973
+ body: FileReplaceRequestToJSON(requestParameters['fileReplaceRequest']),
5974
+ };
5975
+ }
5976
+
5977
+ /**
5978
+ * Replaces every occurrence of `pattern` with `newValue` in each file. Needs `file.write`.
5979
+ * Replace text in sandbox files
5980
+ */
5981
+ async replaceInFilesRaw(requestParameters: ReplaceInFilesRequest | runtime.FlatBody<ReplaceInFilesRequest, 'fileReplaceRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileReplaceResponse>> {
5982
+ const requestOptions = await this.replaceInFilesRequestOpts(requestParameters);
5983
+ const response = await this.request(requestOptions, initOverrides);
5984
+
5985
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileReplaceResponseFromJSON(jsonValue));
5986
+ }
5987
+
5988
+ /**
5989
+ * Replaces every occurrence of `pattern` with `newValue` in each file. Needs `file.write`.
5990
+ * Replace text in sandbox files
5991
+ */
5992
+ async replaceInFiles(requestParameters: ReplaceInFilesRequest | runtime.FlatBody<ReplaceInFilesRequest, 'fileReplaceRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileReplaceResponse> {
5993
+ const response = await this.replaceInFilesRaw(requestParameters, initOverrides);
5994
+ return await response.value();
5995
+ }
5996
+
5225
5997
  /**
5226
5998
  * Creates request options for repos without sending the request
5227
5999
  */
@@ -5386,7 +6158,7 @@ export class BoatApi extends runtime.BaseAPI {
5386
6158
  }
5387
6159
 
5388
6160
  /**
5389
- * Revokes the key immediately. Requires a dashboard or CLI session.
6161
+ * Revokes the key immediately. Requires a dashboard or CLI session, or an admin-scoped key. A key revokes itself or a key it could create (same or fewer actions, sandboxes and environments, no later expiry).
5390
6162
  * Revoke an API key
5391
6163
  */
5392
6164
  async revokeApiKeyRaw(requestParameters: RevokeApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiKeyRevokeResponse>> {
@@ -5397,7 +6169,7 @@ export class BoatApi extends runtime.BaseAPI {
5397
6169
  }
5398
6170
 
5399
6171
  /**
5400
- * Revokes the key immediately. Requires a dashboard or CLI session.
6172
+ * Revokes the key immediately. Requires a dashboard or CLI session, or an admin-scoped key. A key revokes itself or a key it could create (same or fewer actions, sandboxes and environments, no later expiry).
5401
6173
  * Revoke an API key
5402
6174
  */
5403
6175
  async revokeApiKey(requestParameters: RevokeApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeyRevokeResponse> {
@@ -5436,7 +6208,7 @@ export class BoatApi extends runtime.BaseAPI {
5436
6208
  }
5437
6209
  }
5438
6210
 
5439
- let urlPath = `/named-snapshots/{name}/shares/{shareId}`;
6211
+ let urlPath = `/saved-snapshots/{name}/shares/{shareId}`;
5440
6212
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
5441
6213
  urlPath = urlPath.replace('{shareId}', encodeURIComponent(String(requestParameters['shareId'])));
5442
6214
 
@@ -5504,7 +6276,7 @@ export class BoatApi extends runtime.BaseAPI {
5504
6276
  }
5505
6277
 
5506
6278
  /**
5507
- * Replaces the raw secret without changing expiry or scope. Requires a dashboard or CLI session.
6279
+ * Replaces the raw secret without changing expiry or scope. Requires a dashboard or CLI session, or an admin-scoped key. A key rotates itself or a key it could create.
5508
6280
  * Rotate an API key
5509
6281
  */
5510
6282
  async rotateApiKeyRaw(requestParameters: RotateApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiKeySecretResponse>> {
@@ -5515,7 +6287,7 @@ export class BoatApi extends runtime.BaseAPI {
5515
6287
  }
5516
6288
 
5517
6289
  /**
5518
- * Replaces the raw secret without changing expiry or scope. Requires a dashboard or CLI session.
6290
+ * Replaces the raw secret without changing expiry or scope. Requires a dashboard or CLI session, or an admin-scoped key. A key rotates itself or a key it could create.
5519
6291
  * Rotate an API key
5520
6292
  */
5521
6293
  async rotateApiKey(requestParameters: RotateApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeySecretResponse> {
@@ -5655,6 +6427,7 @@ export class BoatApi extends runtime.BaseAPI {
5655
6427
 
5656
6428
  /**
5657
6429
  * Creates request options for saveNamedSnapshot without sending the request
6430
+ * @deprecated
5658
6431
  */
5659
6432
  async saveNamedSnapshotRequestOpts(input: SaveNamedSnapshotRequest | runtime.FlatBody<SaveNamedSnapshotRequest, 'namedSnapshotSaveRequest'>): Promise<runtime.RequestOpts> {
5660
6433
  const requestParameters = runtime.unflattenBody<SaveNamedSnapshotRequest>(input, 'namedSnapshotSaveRequest', [], []);
@@ -5694,6 +6467,7 @@ export class BoatApi extends runtime.BaseAPI {
5694
6467
  /**
5695
6468
  * 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.
5696
6469
  * Save a named snapshot
6470
+ * @deprecated
5697
6471
  */
5698
6472
  async saveNamedSnapshotRaw(requestParameters: SaveNamedSnapshotRequest | runtime.FlatBody<SaveNamedSnapshotRequest, 'namedSnapshotSaveRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NamedSnapshotSavingResponse>> {
5699
6473
  const requestOptions = await this.saveNamedSnapshotRequestOpts(requestParameters);
@@ -5705,12 +6479,141 @@ export class BoatApi extends runtime.BaseAPI {
5705
6479
  /**
5706
6480
  * 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.
5707
6481
  * Save a named snapshot
6482
+ * @deprecated
5708
6483
  */
5709
6484
  async saveNamedSnapshot(requestParameters: SaveNamedSnapshotRequest | runtime.FlatBody<SaveNamedSnapshotRequest, 'namedSnapshotSaveRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NamedSnapshotSavingResponse> {
5710
6485
  const response = await this.saveNamedSnapshotRaw(requestParameters, initOverrides);
5711
6486
  return await response.value();
5712
6487
  }
5713
6488
 
6489
+ /**
6490
+ * Creates request options for saveSavedSnapshot without sending the request
6491
+ */
6492
+ async saveSavedSnapshotRequestOpts(input: SaveSavedSnapshotRequest | runtime.FlatBody<SaveSavedSnapshotRequest, 'savedSnapshotSaveRequest'>): Promise<runtime.RequestOpts> {
6493
+ const requestParameters = runtime.unflattenBody<SaveSavedSnapshotRequest>(input, 'savedSnapshotSaveRequest', [], []);
6494
+ if (requestParameters['savedSnapshotSaveRequest'] == null) {
6495
+ throw new runtime.RequiredError(
6496
+ 'savedSnapshotSaveRequest',
6497
+ 'Required parameter "savedSnapshotSaveRequest" was null or undefined when calling saveSavedSnapshot().'
6498
+ );
6499
+ }
6500
+
6501
+ const queryParameters: any = {};
6502
+
6503
+ const headerParameters: runtime.HTTPHeaders = {};
6504
+
6505
+ headerParameters['Content-Type'] = 'application/json';
6506
+
6507
+ if (this.configuration && this.configuration.accessToken) {
6508
+ const token = this.configuration.accessToken;
6509
+ const tokenString = await token("BoatBearerAuth", []);
6510
+
6511
+ if (tokenString) {
6512
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
6513
+ }
6514
+ }
6515
+
6516
+ let urlPath = `/saved-snapshots`;
6517
+
6518
+ return {
6519
+ path: urlPath,
6520
+ method: 'POST',
6521
+ headers: headerParameters,
6522
+ query: queryParameters,
6523
+ body: SavedSnapshotSaveRequestToJSON(requestParameters['savedSnapshotSaveRequest']),
6524
+ };
6525
+ }
6526
+
6527
+ /**
6528
+ * 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.
6529
+ * Save a saved snapshot
6530
+ */
6531
+ async saveSavedSnapshotRaw(requestParameters: SaveSavedSnapshotRequest | runtime.FlatBody<SaveSavedSnapshotRequest, 'savedSnapshotSaveRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SavedSnapshotSavingResponse>> {
6532
+ const requestOptions = await this.saveSavedSnapshotRequestOpts(requestParameters);
6533
+ const response = await this.request(requestOptions, initOverrides);
6534
+
6535
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotSavingResponseFromJSON(jsonValue));
6536
+ }
6537
+
6538
+ /**
6539
+ * 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.
6540
+ * Save a saved snapshot
6541
+ */
6542
+ async saveSavedSnapshot(requestParameters: SaveSavedSnapshotRequest | runtime.FlatBody<SaveSavedSnapshotRequest, 'savedSnapshotSaveRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SavedSnapshotSavingResponse> {
6543
+ const response = await this.saveSavedSnapshotRaw(requestParameters, initOverrides);
6544
+ return await response.value();
6545
+ }
6546
+
6547
+ /**
6548
+ * Creates request options for searchFiles without sending the request
6549
+ */
6550
+ async searchFilesRequestOpts(requestParameters: SearchFilesRequest): Promise<runtime.RequestOpts> {
6551
+ if (requestParameters['sandboxId'] == null) {
6552
+ throw new runtime.RequiredError(
6553
+ 'sandboxId',
6554
+ 'Required parameter "sandboxId" was null or undefined when calling searchFiles().'
6555
+ );
6556
+ }
6557
+
6558
+ if (requestParameters['pattern'] == null) {
6559
+ throw new runtime.RequiredError(
6560
+ 'pattern',
6561
+ 'Required parameter "pattern" was null or undefined when calling searchFiles().'
6562
+ );
6563
+ }
6564
+
6565
+ const queryParameters: any = {};
6566
+
6567
+ if (requestParameters['path'] != null) {
6568
+ queryParameters['path'] = requestParameters['path'];
6569
+ }
6570
+
6571
+ if (requestParameters['pattern'] != null) {
6572
+ queryParameters['pattern'] = requestParameters['pattern'];
6573
+ }
6574
+
6575
+ const headerParameters: runtime.HTTPHeaders = {};
6576
+
6577
+ if (this.configuration && this.configuration.accessToken) {
6578
+ const token = this.configuration.accessToken;
6579
+ const tokenString = await token("BoatBearerAuth", []);
6580
+
6581
+ if (tokenString) {
6582
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
6583
+ }
6584
+ }
6585
+
6586
+ let urlPath = `/sandboxes/{sandboxId}/files/search`;
6587
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
6588
+
6589
+ return {
6590
+ path: urlPath,
6591
+ method: 'GET',
6592
+ headers: headerParameters,
6593
+ query: queryParameters,
6594
+ };
6595
+ }
6596
+
6597
+ /**
6598
+ * Every file and directory under `path` whose name matches the glob `pattern` (for example `*.py`). Symlinks are not followed. Needs `file.read`.
6599
+ * Search files by name in a sandbox
6600
+ */
6601
+ async searchFilesRaw(requestParameters: SearchFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileSearchResponse>> {
6602
+ const requestOptions = await this.searchFilesRequestOpts(requestParameters);
6603
+ const response = await this.request(requestOptions, initOverrides);
6604
+
6605
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileSearchResponseFromJSON(jsonValue));
6606
+ }
6607
+
6608
+ /**
6609
+ * Every file and directory under `path` whose name matches the glob `pattern` (for example `*.py`). Symlinks are not followed. Needs `file.read`.
6610
+ * Search files by name in a sandbox
6611
+ */
6612
+ async searchFiles(requestParameters: SearchFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileSearchResponse> {
6613
+ const response = await this.searchFilesRaw(requestParameters, initOverrides);
6614
+ return await response.value();
6615
+ }
6616
+
5714
6617
  /**
5715
6618
  * Creates request options for secrets without sending the request
5716
6619
  */
@@ -6170,6 +7073,72 @@ export class BoatApi extends runtime.BaseAPI {
6170
7073
  return await response.value();
6171
7074
  }
6172
7075
 
7076
+ /**
7077
+ * Creates request options for setFilePermissions without sending the request
7078
+ */
7079
+ async setFilePermissionsRequestOpts(input: SetFilePermissionsRequest | runtime.FlatBody<SetFilePermissionsRequest, 'filePermissionsRequest'>): Promise<runtime.RequestOpts> {
7080
+ const requestParameters = runtime.unflattenBody<SetFilePermissionsRequest>(input, 'filePermissionsRequest', ['sandboxId'], []);
7081
+ if (requestParameters['sandboxId'] == null) {
7082
+ throw new runtime.RequiredError(
7083
+ 'sandboxId',
7084
+ 'Required parameter "sandboxId" was null or undefined when calling setFilePermissions().'
7085
+ );
7086
+ }
7087
+
7088
+ if (requestParameters['filePermissionsRequest'] == null) {
7089
+ throw new runtime.RequiredError(
7090
+ 'filePermissionsRequest',
7091
+ 'Required parameter "filePermissionsRequest" was null or undefined when calling setFilePermissions().'
7092
+ );
7093
+ }
7094
+
7095
+ const queryParameters: any = {};
7096
+
7097
+ const headerParameters: runtime.HTTPHeaders = {};
7098
+
7099
+ headerParameters['Content-Type'] = 'application/json';
7100
+
7101
+ if (this.configuration && this.configuration.accessToken) {
7102
+ const token = this.configuration.accessToken;
7103
+ const tokenString = await token("BoatBearerAuth", []);
7104
+
7105
+ if (tokenString) {
7106
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
7107
+ }
7108
+ }
7109
+
7110
+ let urlPath = `/sandboxes/{sandboxId}/files/permissions`;
7111
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
7112
+
7113
+ return {
7114
+ path: urlPath,
7115
+ method: 'POST',
7116
+ headers: headerParameters,
7117
+ query: queryParameters,
7118
+ body: FilePermissionsRequestToJSON(requestParameters['filePermissionsRequest']),
7119
+ };
7120
+ }
7121
+
7122
+ /**
7123
+ * Sets the permission bits. Files belong to the sandbox user; the owner and group do not change. Needs `file.write`.
7124
+ * Set file permissions in a sandbox
7125
+ */
7126
+ async setFilePermissionsRaw(requestParameters: SetFilePermissionsRequest | runtime.FlatBody<SetFilePermissionsRequest, 'filePermissionsRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileInfoResponse>> {
7127
+ const requestOptions = await this.setFilePermissionsRequestOpts(requestParameters);
7128
+ const response = await this.request(requestOptions, initOverrides);
7129
+
7130
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileInfoResponseFromJSON(jsonValue));
7131
+ }
7132
+
7133
+ /**
7134
+ * Sets the permission bits. Files belong to the sandbox user; the owner and group do not change. Needs `file.write`.
7135
+ * Set file permissions in a sandbox
7136
+ */
7137
+ async setFilePermissions(requestParameters: SetFilePermissionsRequest | runtime.FlatBody<SetFilePermissionsRequest, 'filePermissionsRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileInfoResponse> {
7138
+ const response = await this.setFilePermissionsRaw(requestParameters, initOverrides);
7139
+ return await response.value();
7140
+ }
7141
+
6173
7142
  /**
6174
7143
  * Creates request options for setSandboxAiAccess without sending the request
6175
7144
  */
@@ -6844,7 +7813,7 @@ export class BoatApi extends runtime.BaseAPI {
6844
7813
  }
6845
7814
 
6846
7815
  /**
6847
- * With the proxy on, sandboxes get placeholder keys and base URLs that point at Boat. Boat swaps in the real key on each request. Real keys never enter the sandbox. Running sandboxes switch at their next start. While on, the account pays $1 of Boat time for each UTC day, plus $1 per 1,000 proxied requests, charged to the wallet each sandbox bills. For an organization, only its owner can change the switch. Needs an API key with `account.admin`.
7816
+ * With the proxy on, sandboxes get placeholder keys and base URLs that point at Boat. Boat swaps in the real key on each request. Real keys never enter the sandbox. Running sandboxes switch at their next start. While on, the wallet of the account pays $1 for each UTC day, plus $1 per 1,000 proxied requests, charged to the wallet each sandbox bills. For an organization, only its owner can change the switch. Needs an API key with `account.admin`.
6848
7817
  * Turn the AI credentials proxy on or off
6849
7818
  */
6850
7819
  async updateAiProxyRaw(requestParameters: UpdateAiProxyOperationRequest | runtime.FlatBody<UpdateAiProxyOperationRequest, 'updateAiProxyRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AiProxySettings>> {
@@ -6855,7 +7824,7 @@ export class BoatApi extends runtime.BaseAPI {
6855
7824
  }
6856
7825
 
6857
7826
  /**
6858
- * With the proxy on, sandboxes get placeholder keys and base URLs that point at Boat. Boat swaps in the real key on each request. Real keys never enter the sandbox. Running sandboxes switch at their next start. While on, the account pays $1 of Boat time for each UTC day, plus $1 per 1,000 proxied requests, charged to the wallet each sandbox bills. For an organization, only its owner can change the switch. Needs an API key with `account.admin`.
7827
+ * With the proxy on, sandboxes get placeholder keys and base URLs that point at Boat. Boat swaps in the real key on each request. Real keys never enter the sandbox. Running sandboxes switch at their next start. While on, the wallet of the account pays $1 for each UTC day, plus $1 per 1,000 proxied requests, charged to the wallet each sandbox bills. For an organization, only its owner can change the switch. Needs an API key with `account.admin`.
6859
7828
  * Turn the AI credentials proxy on or off
6860
7829
  */
6861
7830
  async updateAiProxy(requestParameters: UpdateAiProxyOperationRequest | runtime.FlatBody<UpdateAiProxyOperationRequest, 'updateAiProxyRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AiProxySettings> {
@@ -7418,7 +8387,7 @@ export class BoatApi extends runtime.BaseAPI {
7418
8387
  }
7419
8388
 
7420
8389
  /**
7421
- * Files up to 5 MiB after decoding. For a larger file, use `POST /sandboxes/{sandboxId}/files/upload-url`.
8390
+ * Files up to 5 MiB after decoding. For a larger file, use `POST /sandboxes/{sandboxId}/files/upload-url`. On a sandbox that is still starting, the call waits until it is ready (up to 60 s, like a command): a sandbox\'s files are in place only once it is ready, so a write any earlier would not stay. A `200` always means the file is on the sandbox\'s disk.
7422
8391
  * Write a file in a sandbox
7423
8392
  */
7424
8393
  async writeFileRaw(requestParameters: WriteFileRequest | runtime.FlatBody<WriteFileRequest, 'fileWriteRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileWriteResponse>> {
@@ -7429,7 +8398,7 @@ export class BoatApi extends runtime.BaseAPI {
7429
8398
  }
7430
8399
 
7431
8400
  /**
7432
- * Files up to 5 MiB after decoding. For a larger file, use `POST /sandboxes/{sandboxId}/files/upload-url`.
8401
+ * Files up to 5 MiB after decoding. For a larger file, use `POST /sandboxes/{sandboxId}/files/upload-url`. On a sandbox that is still starting, the call waits until it is ready (up to 60 s, like a command): a sandbox\'s files are in place only once it is ready, so a write any earlier would not stay. A `200` always means the file is on the sandbox\'s disk.
7433
8402
  * Write a file in a sandbox
7434
8403
  */
7435
8404
  async writeFile(requestParameters: WriteFileRequest | runtime.FlatBody<WriteFileRequest, 'fileWriteRequest'>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileWriteResponse> {