@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
@@ -83,7 +83,18 @@ const DesktopRequest_1 = require("../models/DesktopRequest");
83
83
  const DesktopResponse_1 = require("../models/DesktopResponse");
84
84
  const EnvironmentItemChangeResponse_1 = require("../models/EnvironmentItemChangeResponse");
85
85
  const EventsResponse_1 = require("../models/EventsResponse");
86
+ const FileDeleteResponse_1 = require("../models/FileDeleteResponse");
87
+ const FileFindResponse_1 = require("../models/FileFindResponse");
88
+ const FileFolderRequest_1 = require("../models/FileFolderRequest");
89
+ const FileInfoResponse_1 = require("../models/FileInfoResponse");
90
+ const FileListResponse_1 = require("../models/FileListResponse");
91
+ const FileMoveRequest_1 = require("../models/FileMoveRequest");
92
+ const FileMoveResponse_1 = require("../models/FileMoveResponse");
93
+ const FilePermissionsRequest_1 = require("../models/FilePermissionsRequest");
86
94
  const FileReadResponse_1 = require("../models/FileReadResponse");
95
+ const FileReplaceRequest_1 = require("../models/FileReplaceRequest");
96
+ const FileReplaceResponse_1 = require("../models/FileReplaceResponse");
97
+ const FileSearchResponse_1 = require("../models/FileSearchResponse");
87
98
  const FileUrlRequest_1 = require("../models/FileUrlRequest");
88
99
  const FileUrlResponse_1 = require("../models/FileUrlResponse");
89
100
  const FileWriteRequest_1 = require("../models/FileWriteRequest");
@@ -119,6 +130,11 @@ const SandboxEnvironmentResponse_1 = require("../models/SandboxEnvironmentRespon
119
130
  const SandboxInfoResponse_1 = require("../models/SandboxInfoResponse");
120
131
  const SandboxListResponse_1 = require("../models/SandboxListResponse");
121
132
  const SandboxUsageResponse_1 = require("../models/SandboxUsageResponse");
133
+ const SavedSnapshotDeletedResponse_1 = require("../models/SavedSnapshotDeletedResponse");
134
+ const SavedSnapshotInfoResponse_1 = require("../models/SavedSnapshotInfoResponse");
135
+ const SavedSnapshotListResponse_1 = require("../models/SavedSnapshotListResponse");
136
+ const SavedSnapshotSaveRequest_1 = require("../models/SavedSnapshotSaveRequest");
137
+ const SavedSnapshotSavingResponse_1 = require("../models/SavedSnapshotSavingResponse");
122
138
  const SecretsResponse_1 = require("../models/SecretsResponse");
123
139
  const SecretsUpdateRequest_1 = require("../models/SecretsUpdateRequest");
124
140
  const SetCredentialKeyRequest_1 = require("../models/SetCredentialKeyRequest");
@@ -888,6 +904,54 @@ class BoatApi extends runtime.BaseAPI {
888
904
  const response = await this.createEnvironmentRaw(requestParameters, initOverrides);
889
905
  return await response.value();
890
906
  }
907
+ /**
908
+ * Creates request options for createFolder without sending the request
909
+ */
910
+ async createFolderRequestOpts(input) {
911
+ const requestParameters = runtime.unflattenBody(input, 'fileFolderRequest', ['sandboxId'], []);
912
+ if (requestParameters['sandboxId'] == null) {
913
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling createFolder().');
914
+ }
915
+ if (requestParameters['fileFolderRequest'] == null) {
916
+ throw new runtime.RequiredError('fileFolderRequest', 'Required parameter "fileFolderRequest" was null or undefined when calling createFolder().');
917
+ }
918
+ const queryParameters = {};
919
+ const headerParameters = {};
920
+ headerParameters['Content-Type'] = 'application/json';
921
+ if (this.configuration && this.configuration.accessToken) {
922
+ const token = this.configuration.accessToken;
923
+ const tokenString = await token("BoatBearerAuth", []);
924
+ if (tokenString) {
925
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
926
+ }
927
+ }
928
+ let urlPath = `/sandboxes/{sandboxId}/files/folder`;
929
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
930
+ return {
931
+ path: urlPath,
932
+ method: 'POST',
933
+ headers: headerParameters,
934
+ query: queryParameters,
935
+ body: (0, FileFolderRequest_1.FileFolderRequestToJSON)(requestParameters['fileFolderRequest']),
936
+ };
937
+ }
938
+ /**
939
+ * Missing parent directories are created. An existing directory is not an error. Needs `file.write`.
940
+ * Create a directory in a sandbox
941
+ */
942
+ async createFolderRaw(requestParameters, initOverrides) {
943
+ const requestOptions = await this.createFolderRequestOpts(requestParameters);
944
+ const response = await this.request(requestOptions, initOverrides);
945
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileInfoResponse_1.FileInfoResponseFromJSON)(jsonValue));
946
+ }
947
+ /**
948
+ * Missing parent directories are created. An existing directory is not an error. Needs `file.write`.
949
+ * Create a directory in a sandbox
950
+ */
951
+ async createFolder(requestParameters, initOverrides) {
952
+ const response = await this.createFolderRaw(requestParameters, initOverrides);
953
+ return await response.value();
954
+ }
891
955
  /**
892
956
  * Creates request options for createScopedApiKey without sending the request
893
957
  */
@@ -916,7 +980,7 @@ class BoatApi extends runtime.BaseAPI {
916
980
  };
917
981
  }
918
982
  /**
919
- * 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.
983
+ * 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.
920
984
  * Create a scoped API key
921
985
  */
922
986
  async createScopedApiKeyRaw(requestParameters, initOverrides) {
@@ -925,7 +989,7 @@ class BoatApi extends runtime.BaseAPI {
925
989
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, ApiKeySecretResponse_1.ApiKeySecretResponseFromJSON)(jsonValue));
926
990
  }
927
991
  /**
928
- * 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.
992
+ * 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.
929
993
  * Create a scoped API key
930
994
  */
931
995
  async createScopedApiKey(requestParameters, initOverrides) {
@@ -948,7 +1012,7 @@ class BoatApi extends runtime.BaseAPI {
948
1012
  headerParameters["Authorization"] = `Bearer ${tokenString}`;
949
1013
  }
950
1014
  }
951
- let urlPath = `/named-snapshots/{name}/shares`;
1015
+ let urlPath = `/saved-snapshots/{name}/shares`;
952
1016
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
953
1017
  return {
954
1018
  path: urlPath,
@@ -958,8 +1022,8 @@ class BoatApi extends runtime.BaseAPI {
958
1022
  };
959
1023
  }
960
1024
  /**
961
- * 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`.
962
- * Share a named snapshot
1025
+ * 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`.
1026
+ * Share a saved snapshot
963
1027
  */
964
1028
  async createSnapshotShareRaw(requestParameters, initOverrides) {
965
1029
  const requestOptions = await this.createSnapshotShareRequestOpts(requestParameters);
@@ -967,8 +1031,8 @@ class BoatApi extends runtime.BaseAPI {
967
1031
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, NamedSnapshotShareCreatedResponse_1.NamedSnapshotShareCreatedResponseFromJSON)(jsonValue));
968
1032
  }
969
1033
  /**
970
- * 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`.
971
- * Share a named snapshot
1034
+ * 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`.
1035
+ * Share a saved snapshot
972
1036
  */
973
1037
  async createSnapshotShare(requestParameters, initOverrides) {
974
1038
  const response = await this.createSnapshotShareRaw(requestParameters, initOverrides);
@@ -1444,8 +1508,60 @@ class BoatApi extends runtime.BaseAPI {
1444
1508
  const response = await this.deleteEnvironmentVarRaw(requestParameters, initOverrides);
1445
1509
  return await response.value();
1446
1510
  }
1511
+ /**
1512
+ * Creates request options for deleteFile without sending the request
1513
+ */
1514
+ async deleteFileRequestOpts(requestParameters) {
1515
+ if (requestParameters['sandboxId'] == null) {
1516
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling deleteFile().');
1517
+ }
1518
+ if (requestParameters['path'] == null) {
1519
+ throw new runtime.RequiredError('path', 'Required parameter "path" was null or undefined when calling deleteFile().');
1520
+ }
1521
+ const queryParameters = {};
1522
+ if (requestParameters['path'] != null) {
1523
+ queryParameters['path'] = requestParameters['path'];
1524
+ }
1525
+ if (requestParameters['recursive'] != null) {
1526
+ queryParameters['recursive'] = requestParameters['recursive'];
1527
+ }
1528
+ const headerParameters = {};
1529
+ if (this.configuration && this.configuration.accessToken) {
1530
+ const token = this.configuration.accessToken;
1531
+ const tokenString = await token("BoatBearerAuth", []);
1532
+ if (tokenString) {
1533
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1534
+ }
1535
+ }
1536
+ let urlPath = `/sandboxes/{sandboxId}/files`;
1537
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1538
+ return {
1539
+ path: urlPath,
1540
+ method: 'DELETE',
1541
+ headers: headerParameters,
1542
+ query: queryParameters,
1543
+ };
1544
+ }
1545
+ /**
1546
+ * A directory needs `recursive=true`. A symlink is deleted itself, never its target. /home/user and /tmp themselves cannot be deleted. Needs `file.write`.
1547
+ * Delete a file or directory in a sandbox
1548
+ */
1549
+ async deleteFileRaw(requestParameters, initOverrides) {
1550
+ const requestOptions = await this.deleteFileRequestOpts(requestParameters);
1551
+ const response = await this.request(requestOptions, initOverrides);
1552
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileDeleteResponse_1.FileDeleteResponseFromJSON)(jsonValue));
1553
+ }
1554
+ /**
1555
+ * A directory needs `recursive=true`. A symlink is deleted itself, never its target. /home/user and /tmp themselves cannot be deleted. Needs `file.write`.
1556
+ * Delete a file or directory in a sandbox
1557
+ */
1558
+ async deleteFile(requestParameters, initOverrides) {
1559
+ const response = await this.deleteFileRaw(requestParameters, initOverrides);
1560
+ return await response.value();
1561
+ }
1447
1562
  /**
1448
1563
  * Creates request options for deleteNamedSnapshot without sending the request
1564
+ * @deprecated
1449
1565
  */
1450
1566
  async deleteNamedSnapshotRequestOpts(requestParameters) {
1451
1567
  if (requestParameters['name'] == null) {
@@ -1472,6 +1588,7 @@ class BoatApi extends runtime.BaseAPI {
1472
1588
  /**
1473
1589
  * Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
1474
1590
  * Remove a named snapshot
1591
+ * @deprecated
1475
1592
  */
1476
1593
  async deleteNamedSnapshotRaw(requestParameters, initOverrides) {
1477
1594
  const requestOptions = await this.deleteNamedSnapshotRequestOpts(requestParameters);
@@ -1481,6 +1598,7 @@ class BoatApi extends runtime.BaseAPI {
1481
1598
  /**
1482
1599
  * Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
1483
1600
  * Remove a named snapshot
1601
+ * @deprecated
1484
1602
  */
1485
1603
  async deleteNamedSnapshot(requestParameters, initOverrides) {
1486
1604
  const response = await this.deleteNamedSnapshotRaw(requestParameters, initOverrides);
@@ -1518,7 +1636,7 @@ class BoatApi extends runtime.BaseAPI {
1518
1636
  };
1519
1637
  }
1520
1638
  /**
1521
- * 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`.
1639
+ * 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`.
1522
1640
  * Permanently delete sandbox data
1523
1641
  */
1524
1642
  async deleteSandboxRaw(requestParameters, initOverrides) {
@@ -1527,7 +1645,7 @@ class BoatApi extends runtime.BaseAPI {
1527
1645
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, DeletionOperationResponse_1.DeletionOperationResponseFromJSON)(jsonValue));
1528
1646
  }
1529
1647
  /**
1530
- * 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`.
1648
+ * 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`.
1531
1649
  * Permanently delete sandbox data
1532
1650
  */
1533
1651
  async deleteSandbox(requestParameters, initOverrides) {
@@ -1566,7 +1684,7 @@ class BoatApi extends runtime.BaseAPI {
1566
1684
  };
1567
1685
  }
1568
1686
  /**
1569
- * 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.
1687
+ * 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.
1570
1688
  * Permanently delete all snapshots of a sandbox
1571
1689
  */
1572
1690
  async deleteSandboxSnapshotsRaw(requestParameters, initOverrides) {
@@ -1575,13 +1693,55 @@ class BoatApi extends runtime.BaseAPI {
1575
1693
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, DeletionOperationListResponse_1.DeletionOperationListResponseFromJSON)(jsonValue));
1576
1694
  }
1577
1695
  /**
1578
- * 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.
1696
+ * 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.
1579
1697
  * Permanently delete all snapshots of a sandbox
1580
1698
  */
1581
1699
  async deleteSandboxSnapshots(requestParameters, initOverrides) {
1582
1700
  const response = await this.deleteSandboxSnapshotsRaw(requestParameters, initOverrides);
1583
1701
  return await response.value();
1584
1702
  }
1703
+ /**
1704
+ * Creates request options for deleteSavedSnapshot without sending the request
1705
+ */
1706
+ async deleteSavedSnapshotRequestOpts(requestParameters) {
1707
+ if (requestParameters['name'] == null) {
1708
+ throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling deleteSavedSnapshot().');
1709
+ }
1710
+ const queryParameters = {};
1711
+ const headerParameters = {};
1712
+ if (this.configuration && this.configuration.accessToken) {
1713
+ const token = this.configuration.accessToken;
1714
+ const tokenString = await token("BoatBearerAuth", []);
1715
+ if (tokenString) {
1716
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1717
+ }
1718
+ }
1719
+ let urlPath = `/saved-snapshots/{name}`;
1720
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
1721
+ return {
1722
+ path: urlPath,
1723
+ method: 'DELETE',
1724
+ headers: headerParameters,
1725
+ query: queryParameters,
1726
+ };
1727
+ }
1728
+ /**
1729
+ * Remove a saved snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
1730
+ * Remove a saved snapshot
1731
+ */
1732
+ async deleteSavedSnapshotRaw(requestParameters, initOverrides) {
1733
+ const requestOptions = await this.deleteSavedSnapshotRequestOpts(requestParameters);
1734
+ const response = await this.request(requestOptions, initOverrides);
1735
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, SavedSnapshotDeletedResponse_1.SavedSnapshotDeletedResponseFromJSON)(jsonValue));
1736
+ }
1737
+ /**
1738
+ * Remove a saved snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
1739
+ * Remove a saved snapshot
1740
+ */
1741
+ async deleteSavedSnapshot(requestParameters, initOverrides) {
1742
+ const response = await this.deleteSavedSnapshotRaw(requestParameters, initOverrides);
1743
+ return await response.value();
1744
+ }
1585
1745
  /**
1586
1746
  * Creates request options for deleteSnapshot without sending the request
1587
1747
  */
@@ -1859,6 +2019,60 @@ class BoatApi extends runtime.BaseAPI {
1859
2019
  const response = await this.eventsRaw(requestParameters, initOverrides);
1860
2020
  return await response.value();
1861
2021
  }
2022
+ /**
2023
+ * Creates request options for findInFiles without sending the request
2024
+ */
2025
+ async findInFilesRequestOpts(requestParameters) {
2026
+ if (requestParameters['sandboxId'] == null) {
2027
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling findInFiles().');
2028
+ }
2029
+ if (requestParameters['pattern'] == null) {
2030
+ throw new runtime.RequiredError('pattern', 'Required parameter "pattern" was null or undefined when calling findInFiles().');
2031
+ }
2032
+ const queryParameters = {};
2033
+ if (requestParameters['path'] != null) {
2034
+ queryParameters['path'] = requestParameters['path'];
2035
+ }
2036
+ if (requestParameters['pattern'] != null) {
2037
+ queryParameters['pattern'] = requestParameters['pattern'];
2038
+ }
2039
+ if (requestParameters['regex'] != null) {
2040
+ queryParameters['regex'] = requestParameters['regex'];
2041
+ }
2042
+ const headerParameters = {};
2043
+ if (this.configuration && this.configuration.accessToken) {
2044
+ const token = this.configuration.accessToken;
2045
+ const tokenString = await token("BoatBearerAuth", []);
2046
+ if (tokenString) {
2047
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2048
+ }
2049
+ }
2050
+ let urlPath = `/sandboxes/{sandboxId}/files/find`;
2051
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2052
+ return {
2053
+ path: urlPath,
2054
+ method: 'GET',
2055
+ headers: headerParameters,
2056
+ query: queryParameters,
2057
+ };
2058
+ }
2059
+ /**
2060
+ * 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`.
2061
+ * Find text in sandbox files
2062
+ */
2063
+ async findInFilesRaw(requestParameters, initOverrides) {
2064
+ const requestOptions = await this.findInFilesRequestOpts(requestParameters);
2065
+ const response = await this.request(requestOptions, initOverrides);
2066
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileFindResponse_1.FileFindResponseFromJSON)(jsonValue));
2067
+ }
2068
+ /**
2069
+ * 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`.
2070
+ * Find text in sandbox files
2071
+ */
2072
+ async findInFiles(requestParameters, initOverrides) {
2073
+ const response = await this.findInFilesRaw(requestParameters, initOverrides);
2074
+ return await response.value();
2075
+ }
1862
2076
  /**
1863
2077
  * Creates request options for fork without sending the request
1864
2078
  */
@@ -2167,6 +2381,54 @@ class BoatApi extends runtime.BaseAPI {
2167
2381
  const response = await this.getDeletionOperationRaw(requestParameters, initOverrides);
2168
2382
  return await response.value();
2169
2383
  }
2384
+ /**
2385
+ * Creates request options for getFileInfo without sending the request
2386
+ */
2387
+ async getFileInfoRequestOpts(requestParameters) {
2388
+ if (requestParameters['sandboxId'] == null) {
2389
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling getFileInfo().');
2390
+ }
2391
+ if (requestParameters['path'] == null) {
2392
+ throw new runtime.RequiredError('path', 'Required parameter "path" was null or undefined when calling getFileInfo().');
2393
+ }
2394
+ const queryParameters = {};
2395
+ if (requestParameters['path'] != null) {
2396
+ queryParameters['path'] = requestParameters['path'];
2397
+ }
2398
+ const headerParameters = {};
2399
+ if (this.configuration && this.configuration.accessToken) {
2400
+ const token = this.configuration.accessToken;
2401
+ const tokenString = await token("BoatBearerAuth", []);
2402
+ if (tokenString) {
2403
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2404
+ }
2405
+ }
2406
+ let urlPath = `/sandboxes/{sandboxId}/files/info`;
2407
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2408
+ return {
2409
+ path: urlPath,
2410
+ method: 'GET',
2411
+ headers: headerParameters,
2412
+ query: queryParameters,
2413
+ };
2414
+ }
2415
+ /**
2416
+ * Size, permission bits, type and modification time. Needs `file.read`.
2417
+ * Get file or directory details in a sandbox
2418
+ */
2419
+ async getFileInfoRaw(requestParameters, initOverrides) {
2420
+ const requestOptions = await this.getFileInfoRequestOpts(requestParameters);
2421
+ const response = await this.request(requestOptions, initOverrides);
2422
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileInfoResponse_1.FileInfoResponseFromJSON)(jsonValue));
2423
+ }
2424
+ /**
2425
+ * Size, permission bits, type and modification time. Needs `file.read`.
2426
+ * Get file or directory details in a sandbox
2427
+ */
2428
+ async getFileInfo(requestParameters, initOverrides) {
2429
+ const response = await this.getFileInfoRaw(requestParameters, initOverrides);
2430
+ return await response.value();
2431
+ }
2170
2432
  /**
2171
2433
  * Creates request options for getLatestSandboxSnapshot without sending the request
2172
2434
  */
@@ -2211,6 +2473,7 @@ class BoatApi extends runtime.BaseAPI {
2211
2473
  }
2212
2474
  /**
2213
2475
  * Creates request options for getNamedSnapshot without sending the request
2476
+ * @deprecated
2214
2477
  */
2215
2478
  async getNamedSnapshotRequestOpts(requestParameters) {
2216
2479
  if (requestParameters['name'] == null) {
@@ -2236,6 +2499,7 @@ class BoatApi extends runtime.BaseAPI {
2236
2499
  }
2237
2500
  /**
2238
2501
  * Get a named snapshot
2502
+ * @deprecated
2239
2503
  */
2240
2504
  async getNamedSnapshotRaw(requestParameters, initOverrides) {
2241
2505
  const requestOptions = await this.getNamedSnapshotRequestOpts(requestParameters);
@@ -2244,6 +2508,7 @@ class BoatApi extends runtime.BaseAPI {
2244
2508
  }
2245
2509
  /**
2246
2510
  * Get a named snapshot
2511
+ * @deprecated
2247
2512
  */
2248
2513
  async getNamedSnapshot(requestParameters, initOverrides) {
2249
2514
  const response = await this.getNamedSnapshotRaw(requestParameters, initOverrides);
@@ -2294,6 +2559,46 @@ class BoatApi extends runtime.BaseAPI {
2294
2559
  const response = await this.getSandboxAiUsageRaw(requestParameters, initOverrides);
2295
2560
  return await response.value();
2296
2561
  }
2562
+ /**
2563
+ * Creates request options for getSavedSnapshot without sending the request
2564
+ */
2565
+ async getSavedSnapshotRequestOpts(requestParameters) {
2566
+ if (requestParameters['name'] == null) {
2567
+ throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling getSavedSnapshot().');
2568
+ }
2569
+ const queryParameters = {};
2570
+ const headerParameters = {};
2571
+ if (this.configuration && this.configuration.accessToken) {
2572
+ const token = this.configuration.accessToken;
2573
+ const tokenString = await token("BoatBearerAuth", []);
2574
+ if (tokenString) {
2575
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2576
+ }
2577
+ }
2578
+ let urlPath = `/saved-snapshots/{name}`;
2579
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
2580
+ return {
2581
+ path: urlPath,
2582
+ method: 'GET',
2583
+ headers: headerParameters,
2584
+ query: queryParameters,
2585
+ };
2586
+ }
2587
+ /**
2588
+ * Get a saved snapshot
2589
+ */
2590
+ async getSavedSnapshotRaw(requestParameters, initOverrides) {
2591
+ const requestOptions = await this.getSavedSnapshotRequestOpts(requestParameters);
2592
+ const response = await this.request(requestOptions, initOverrides);
2593
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, SavedSnapshotInfoResponse_1.SavedSnapshotInfoResponseFromJSON)(jsonValue));
2594
+ }
2595
+ /**
2596
+ * Get a saved snapshot
2597
+ */
2598
+ async getSavedSnapshot(requestParameters, initOverrides) {
2599
+ const response = await this.getSavedSnapshotRaw(requestParameters, initOverrides);
2600
+ return await response.value();
2601
+ }
2297
2602
  /**
2298
2603
  * Creates request options for getSnapshotDownload without sending the request
2299
2604
  */
@@ -2673,7 +2978,7 @@ class BoatApi extends runtime.BaseAPI {
2673
2978
  };
2674
2979
  }
2675
2980
  /**
2676
- * 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.
2981
+ * 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.
2677
2982
  * Get Boat limits
2678
2983
  */
2679
2984
  async limitsRaw(requestParameters, initOverrides) {
@@ -2682,7 +2987,7 @@ class BoatApi extends runtime.BaseAPI {
2682
2987
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, LimitsResponse_1.LimitsResponseFromJSON)(jsonValue));
2683
2988
  }
2684
2989
  /**
2685
- * 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.
2990
+ * 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.
2686
2991
  * Get Boat limits
2687
2992
  */
2688
2993
  async limits(requestParameters = {}, initOverrides) {
@@ -2773,8 +3078,54 @@ class BoatApi extends runtime.BaseAPI {
2773
3078
  const response = await this.listCredentialProfilesRaw(initOverrides);
2774
3079
  return await response.value();
2775
3080
  }
3081
+ /**
3082
+ * Creates request options for listFiles without sending the request
3083
+ */
3084
+ async listFilesRequestOpts(requestParameters) {
3085
+ if (requestParameters['sandboxId'] == null) {
3086
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling listFiles().');
3087
+ }
3088
+ const queryParameters = {};
3089
+ if (requestParameters['path'] != null) {
3090
+ queryParameters['path'] = requestParameters['path'];
3091
+ }
3092
+ const headerParameters = {};
3093
+ if (this.configuration && this.configuration.accessToken) {
3094
+ const token = this.configuration.accessToken;
3095
+ const tokenString = await token("BoatBearerAuth", []);
3096
+ if (tokenString) {
3097
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3098
+ }
3099
+ }
3100
+ let urlPath = `/sandboxes/{sandboxId}/files/list`;
3101
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
3102
+ return {
3103
+ path: urlPath,
3104
+ method: 'GET',
3105
+ headers: headerParameters,
3106
+ query: queryParameters,
3107
+ };
3108
+ }
3109
+ /**
3110
+ * One level, sorted by name. A symlink is listed as a symlink, not followed. Defaults to /home/user. Needs `file.read`.
3111
+ * List a directory in a sandbox
3112
+ */
3113
+ async listFilesRaw(requestParameters, initOverrides) {
3114
+ const requestOptions = await this.listFilesRequestOpts(requestParameters);
3115
+ const response = await this.request(requestOptions, initOverrides);
3116
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileListResponse_1.FileListResponseFromJSON)(jsonValue));
3117
+ }
3118
+ /**
3119
+ * One level, sorted by name. A symlink is listed as a symlink, not followed. Defaults to /home/user. Needs `file.read`.
3120
+ * List a directory in a sandbox
3121
+ */
3122
+ async listFiles(requestParameters, initOverrides) {
3123
+ const response = await this.listFilesRaw(requestParameters, initOverrides);
3124
+ return await response.value();
3125
+ }
2776
3126
  /**
2777
3127
  * Creates request options for listNamedSnapshots without sending the request
3128
+ * @deprecated
2778
3129
  */
2779
3130
  async listNamedSnapshotsRequestOpts() {
2780
3131
  const queryParameters = {};
@@ -2797,6 +3148,7 @@ class BoatApi extends runtime.BaseAPI {
2797
3148
  /**
2798
3149
  * List your named snapshots, newest first.
2799
3150
  * List named snapshots
3151
+ * @deprecated
2800
3152
  */
2801
3153
  async listNamedSnapshotsRaw(initOverrides) {
2802
3154
  const requestOptions = await this.listNamedSnapshotsRequestOpts();
@@ -2806,6 +3158,7 @@ class BoatApi extends runtime.BaseAPI {
2806
3158
  /**
2807
3159
  * List your named snapshots, newest first.
2808
3160
  * List named snapshots
3161
+ * @deprecated
2809
3162
  */
2810
3163
  async listNamedSnapshots(initOverrides) {
2811
3164
  const response = await this.listNamedSnapshotsRaw(initOverrides);
@@ -2900,6 +3253,44 @@ class BoatApi extends runtime.BaseAPI {
2900
3253
  const response = await this.listSandboxSnapshotsRaw(requestParameters, initOverrides);
2901
3254
  return await response.value();
2902
3255
  }
3256
+ /**
3257
+ * Creates request options for listSavedSnapshots without sending the request
3258
+ */
3259
+ async listSavedSnapshotsRequestOpts() {
3260
+ const queryParameters = {};
3261
+ const headerParameters = {};
3262
+ if (this.configuration && this.configuration.accessToken) {
3263
+ const token = this.configuration.accessToken;
3264
+ const tokenString = await token("BoatBearerAuth", []);
3265
+ if (tokenString) {
3266
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3267
+ }
3268
+ }
3269
+ let urlPath = `/saved-snapshots`;
3270
+ return {
3271
+ path: urlPath,
3272
+ method: 'GET',
3273
+ headers: headerParameters,
3274
+ query: queryParameters,
3275
+ };
3276
+ }
3277
+ /**
3278
+ * List your saved snapshots, newest first.
3279
+ * List saved snapshots
3280
+ */
3281
+ async listSavedSnapshotsRaw(initOverrides) {
3282
+ const requestOptions = await this.listSavedSnapshotsRequestOpts();
3283
+ const response = await this.request(requestOptions, initOverrides);
3284
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, SavedSnapshotListResponse_1.SavedSnapshotListResponseFromJSON)(jsonValue));
3285
+ }
3286
+ /**
3287
+ * List your saved snapshots, newest first.
3288
+ * List saved snapshots
3289
+ */
3290
+ async listSavedSnapshots(initOverrides) {
3291
+ const response = await this.listSavedSnapshotsRaw(initOverrides);
3292
+ return await response.value();
3293
+ }
2903
3294
  /**
2904
3295
  * Creates request options for listSnapshotShares without sending the request
2905
3296
  */
@@ -2916,7 +3307,7 @@ class BoatApi extends runtime.BaseAPI {
2916
3307
  headerParameters["Authorization"] = `Bearer ${tokenString}`;
2917
3308
  }
2918
3309
  }
2919
- let urlPath = `/named-snapshots/{name}/shares`;
3310
+ let urlPath = `/saved-snapshots/{name}/shares`;
2920
3311
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
2921
3312
  return {
2922
3313
  path: urlPath,
@@ -2926,8 +3317,8 @@ class BoatApi extends runtime.BaseAPI {
2926
3317
  };
2927
3318
  }
2928
3319
  /**
2929
- * 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`.
2930
- * List share codes of a named snapshot
3320
+ * 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`.
3321
+ * List share codes of a saved snapshot
2931
3322
  */
2932
3323
  async listSnapshotSharesRaw(requestParameters, initOverrides) {
2933
3324
  const requestOptions = await this.listSnapshotSharesRequestOpts(requestParameters);
@@ -2935,8 +3326,8 @@ class BoatApi extends runtime.BaseAPI {
2935
3326
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, NamedSnapshotShareListResponse_1.NamedSnapshotShareListResponseFromJSON)(jsonValue));
2936
3327
  }
2937
3328
  /**
2938
- * 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`.
2939
- * List share codes of a named snapshot
3329
+ * 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`.
3330
+ * List share codes of a saved snapshot
2940
3331
  */
2941
3332
  async listSnapshotShares(requestParameters, initOverrides) {
2942
3333
  const response = await this.listSnapshotSharesRaw(requestParameters, initOverrides);
@@ -3065,6 +3456,54 @@ class BoatApi extends runtime.BaseAPI {
3065
3456
  const response = await this.meRaw(initOverrides);
3066
3457
  return await response.value();
3067
3458
  }
3459
+ /**
3460
+ * Creates request options for moveFile without sending the request
3461
+ */
3462
+ async moveFileRequestOpts(input) {
3463
+ const requestParameters = runtime.unflattenBody(input, 'fileMoveRequest', ['sandboxId'], []);
3464
+ if (requestParameters['sandboxId'] == null) {
3465
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling moveFile().');
3466
+ }
3467
+ if (requestParameters['fileMoveRequest'] == null) {
3468
+ throw new runtime.RequiredError('fileMoveRequest', 'Required parameter "fileMoveRequest" was null or undefined when calling moveFile().');
3469
+ }
3470
+ const queryParameters = {};
3471
+ const headerParameters = {};
3472
+ headerParameters['Content-Type'] = 'application/json';
3473
+ if (this.configuration && this.configuration.accessToken) {
3474
+ const token = this.configuration.accessToken;
3475
+ const tokenString = await token("BoatBearerAuth", []);
3476
+ if (tokenString) {
3477
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3478
+ }
3479
+ }
3480
+ let urlPath = `/sandboxes/{sandboxId}/files/move`;
3481
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
3482
+ return {
3483
+ path: urlPath,
3484
+ method: 'POST',
3485
+ headers: headerParameters,
3486
+ query: queryParameters,
3487
+ body: (0, FileMoveRequest_1.FileMoveRequestToJSON)(requestParameters['fileMoveRequest']),
3488
+ };
3489
+ }
3490
+ /**
3491
+ * Works across /home/user and /tmp. A symlink is moved itself, never its target. Needs `file.write`.
3492
+ * Move or rename a file or directory in a sandbox
3493
+ */
3494
+ async moveFileRaw(requestParameters, initOverrides) {
3495
+ const requestOptions = await this.moveFileRequestOpts(requestParameters);
3496
+ const response = await this.request(requestOptions, initOverrides);
3497
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileMoveResponse_1.FileMoveResponseFromJSON)(jsonValue));
3498
+ }
3499
+ /**
3500
+ * Works across /home/user and /tmp. A symlink is moved itself, never its target. Needs `file.write`.
3501
+ * Move or rename a file or directory in a sandbox
3502
+ */
3503
+ async moveFile(requestParameters, initOverrides) {
3504
+ const response = await this.moveFileRaw(requestParameters, initOverrides);
3505
+ return await response.value();
3506
+ }
3068
3507
  /**
3069
3508
  * Creates request options for processes without sending the request
3070
3509
  */
@@ -3236,7 +3675,7 @@ class BoatApi extends runtime.BaseAPI {
3236
3675
  };
3237
3676
  }
3238
3677
  /**
3239
- * Files up to 5 MiB. For a larger file, use `POST /sandboxes/{sandboxId}/files/download-url`.
3678
+ * 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.
3240
3679
  * Read a file from a sandbox
3241
3680
  */
3242
3681
  async readFileRaw(requestParameters, initOverrides) {
@@ -3245,7 +3684,7 @@ class BoatApi extends runtime.BaseAPI {
3245
3684
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileReadResponse_1.FileReadResponseFromJSON)(jsonValue));
3246
3685
  }
3247
3686
  /**
3248
- * Files up to 5 MiB. For a larger file, use `POST /sandboxes/{sandboxId}/files/download-url`.
3687
+ * 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.
3249
3688
  * Read a file from a sandbox
3250
3689
  */
3251
3690
  async readFile(requestParameters, initOverrides) {
@@ -3294,6 +3733,54 @@ class BoatApi extends runtime.BaseAPI {
3294
3733
  const response = await this.recoverRaw(requestParameters, initOverrides);
3295
3734
  return await response.value();
3296
3735
  }
3736
+ /**
3737
+ * Creates request options for replaceInFiles without sending the request
3738
+ */
3739
+ async replaceInFilesRequestOpts(input) {
3740
+ const requestParameters = runtime.unflattenBody(input, 'fileReplaceRequest', ['sandboxId'], []);
3741
+ if (requestParameters['sandboxId'] == null) {
3742
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling replaceInFiles().');
3743
+ }
3744
+ if (requestParameters['fileReplaceRequest'] == null) {
3745
+ throw new runtime.RequiredError('fileReplaceRequest', 'Required parameter "fileReplaceRequest" was null or undefined when calling replaceInFiles().');
3746
+ }
3747
+ const queryParameters = {};
3748
+ const headerParameters = {};
3749
+ headerParameters['Content-Type'] = 'application/json';
3750
+ if (this.configuration && this.configuration.accessToken) {
3751
+ const token = this.configuration.accessToken;
3752
+ const tokenString = await token("BoatBearerAuth", []);
3753
+ if (tokenString) {
3754
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3755
+ }
3756
+ }
3757
+ let urlPath = `/sandboxes/{sandboxId}/files/replace`;
3758
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
3759
+ return {
3760
+ path: urlPath,
3761
+ method: 'POST',
3762
+ headers: headerParameters,
3763
+ query: queryParameters,
3764
+ body: (0, FileReplaceRequest_1.FileReplaceRequestToJSON)(requestParameters['fileReplaceRequest']),
3765
+ };
3766
+ }
3767
+ /**
3768
+ * Replaces every occurrence of `pattern` with `newValue` in each file. Needs `file.write`.
3769
+ * Replace text in sandbox files
3770
+ */
3771
+ async replaceInFilesRaw(requestParameters, initOverrides) {
3772
+ const requestOptions = await this.replaceInFilesRequestOpts(requestParameters);
3773
+ const response = await this.request(requestOptions, initOverrides);
3774
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileReplaceResponse_1.FileReplaceResponseFromJSON)(jsonValue));
3775
+ }
3776
+ /**
3777
+ * Replaces every occurrence of `pattern` with `newValue` in each file. Needs `file.write`.
3778
+ * Replace text in sandbox files
3779
+ */
3780
+ async replaceInFiles(requestParameters, initOverrides) {
3781
+ const response = await this.replaceInFilesRaw(requestParameters, initOverrides);
3782
+ return await response.value();
3783
+ }
3297
3784
  /**
3298
3785
  * Creates request options for repos without sending the request
3299
3786
  */
@@ -3419,7 +3906,7 @@ class BoatApi extends runtime.BaseAPI {
3419
3906
  };
3420
3907
  }
3421
3908
  /**
3422
- * Revokes the key immediately. Requires a dashboard or CLI session.
3909
+ * 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).
3423
3910
  * Revoke an API key
3424
3911
  */
3425
3912
  async revokeApiKeyRaw(requestParameters, initOverrides) {
@@ -3428,7 +3915,7 @@ class BoatApi extends runtime.BaseAPI {
3428
3915
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, ApiKeyRevokeResponse_1.ApiKeyRevokeResponseFromJSON)(jsonValue));
3429
3916
  }
3430
3917
  /**
3431
- * Revokes the key immediately. Requires a dashboard or CLI session.
3918
+ * 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).
3432
3919
  * Revoke an API key
3433
3920
  */
3434
3921
  async revokeApiKey(requestParameters, initOverrides) {
@@ -3454,7 +3941,7 @@ class BoatApi extends runtime.BaseAPI {
3454
3941
  headerParameters["Authorization"] = `Bearer ${tokenString}`;
3455
3942
  }
3456
3943
  }
3457
- let urlPath = `/named-snapshots/{name}/shares/{shareId}`;
3944
+ let urlPath = `/saved-snapshots/{name}/shares/{shareId}`;
3458
3945
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
3459
3946
  urlPath = urlPath.replace('{shareId}', encodeURIComponent(String(requestParameters['shareId'])));
3460
3947
  return {
@@ -3507,7 +3994,7 @@ class BoatApi extends runtime.BaseAPI {
3507
3994
  };
3508
3995
  }
3509
3996
  /**
3510
- * Replaces the raw secret without changing expiry or scope. Requires a dashboard or CLI session.
3997
+ * 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.
3511
3998
  * Rotate an API key
3512
3999
  */
3513
4000
  async rotateApiKeyRaw(requestParameters, initOverrides) {
@@ -3516,7 +4003,7 @@ class BoatApi extends runtime.BaseAPI {
3516
4003
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, ApiKeySecretResponse_1.ApiKeySecretResponseFromJSON)(jsonValue));
3517
4004
  }
3518
4005
  /**
3519
- * Replaces the raw secret without changing expiry or scope. Requires a dashboard or CLI session.
4006
+ * 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.
3520
4007
  * Rotate an API key
3521
4008
  */
3522
4009
  async rotateApiKey(requestParameters, initOverrides) {
@@ -3626,6 +4113,7 @@ class BoatApi extends runtime.BaseAPI {
3626
4113
  }
3627
4114
  /**
3628
4115
  * Creates request options for saveNamedSnapshot without sending the request
4116
+ * @deprecated
3629
4117
  */
3630
4118
  async saveNamedSnapshotRequestOpts(input) {
3631
4119
  const requestParameters = runtime.unflattenBody(input, 'namedSnapshotSaveRequest', [], []);
@@ -3654,6 +4142,7 @@ class BoatApi extends runtime.BaseAPI {
3654
4142
  /**
3655
4143
  * 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.
3656
4144
  * Save a named snapshot
4145
+ * @deprecated
3657
4146
  */
3658
4147
  async saveNamedSnapshotRaw(requestParameters, initOverrides) {
3659
4148
  const requestOptions = await this.saveNamedSnapshotRequestOpts(requestParameters);
@@ -3663,11 +4152,107 @@ class BoatApi extends runtime.BaseAPI {
3663
4152
  /**
3664
4153
  * 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.
3665
4154
  * Save a named snapshot
4155
+ * @deprecated
3666
4156
  */
3667
4157
  async saveNamedSnapshot(requestParameters, initOverrides) {
3668
4158
  const response = await this.saveNamedSnapshotRaw(requestParameters, initOverrides);
3669
4159
  return await response.value();
3670
4160
  }
4161
+ /**
4162
+ * Creates request options for saveSavedSnapshot without sending the request
4163
+ */
4164
+ async saveSavedSnapshotRequestOpts(input) {
4165
+ const requestParameters = runtime.unflattenBody(input, 'savedSnapshotSaveRequest', [], []);
4166
+ if (requestParameters['savedSnapshotSaveRequest'] == null) {
4167
+ throw new runtime.RequiredError('savedSnapshotSaveRequest', 'Required parameter "savedSnapshotSaveRequest" was null or undefined when calling saveSavedSnapshot().');
4168
+ }
4169
+ const queryParameters = {};
4170
+ const headerParameters = {};
4171
+ headerParameters['Content-Type'] = 'application/json';
4172
+ if (this.configuration && this.configuration.accessToken) {
4173
+ const token = this.configuration.accessToken;
4174
+ const tokenString = await token("BoatBearerAuth", []);
4175
+ if (tokenString) {
4176
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4177
+ }
4178
+ }
4179
+ let urlPath = `/saved-snapshots`;
4180
+ return {
4181
+ path: urlPath,
4182
+ method: 'POST',
4183
+ headers: headerParameters,
4184
+ query: queryParameters,
4185
+ body: (0, SavedSnapshotSaveRequest_1.SavedSnapshotSaveRequestToJSON)(requestParameters['savedSnapshotSaveRequest']),
4186
+ };
4187
+ }
4188
+ /**
4189
+ * 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.
4190
+ * Save a saved snapshot
4191
+ */
4192
+ async saveSavedSnapshotRaw(requestParameters, initOverrides) {
4193
+ const requestOptions = await this.saveSavedSnapshotRequestOpts(requestParameters);
4194
+ const response = await this.request(requestOptions, initOverrides);
4195
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, SavedSnapshotSavingResponse_1.SavedSnapshotSavingResponseFromJSON)(jsonValue));
4196
+ }
4197
+ /**
4198
+ * 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.
4199
+ * Save a saved snapshot
4200
+ */
4201
+ async saveSavedSnapshot(requestParameters, initOverrides) {
4202
+ const response = await this.saveSavedSnapshotRaw(requestParameters, initOverrides);
4203
+ return await response.value();
4204
+ }
4205
+ /**
4206
+ * Creates request options for searchFiles without sending the request
4207
+ */
4208
+ async searchFilesRequestOpts(requestParameters) {
4209
+ if (requestParameters['sandboxId'] == null) {
4210
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling searchFiles().');
4211
+ }
4212
+ if (requestParameters['pattern'] == null) {
4213
+ throw new runtime.RequiredError('pattern', 'Required parameter "pattern" was null or undefined when calling searchFiles().');
4214
+ }
4215
+ const queryParameters = {};
4216
+ if (requestParameters['path'] != null) {
4217
+ queryParameters['path'] = requestParameters['path'];
4218
+ }
4219
+ if (requestParameters['pattern'] != null) {
4220
+ queryParameters['pattern'] = requestParameters['pattern'];
4221
+ }
4222
+ const headerParameters = {};
4223
+ if (this.configuration && this.configuration.accessToken) {
4224
+ const token = this.configuration.accessToken;
4225
+ const tokenString = await token("BoatBearerAuth", []);
4226
+ if (tokenString) {
4227
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4228
+ }
4229
+ }
4230
+ let urlPath = `/sandboxes/{sandboxId}/files/search`;
4231
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
4232
+ return {
4233
+ path: urlPath,
4234
+ method: 'GET',
4235
+ headers: headerParameters,
4236
+ query: queryParameters,
4237
+ };
4238
+ }
4239
+ /**
4240
+ * Every file and directory under `path` whose name matches the glob `pattern` (for example `*.py`). Symlinks are not followed. Needs `file.read`.
4241
+ * Search files by name in a sandbox
4242
+ */
4243
+ async searchFilesRaw(requestParameters, initOverrides) {
4244
+ const requestOptions = await this.searchFilesRequestOpts(requestParameters);
4245
+ const response = await this.request(requestOptions, initOverrides);
4246
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileSearchResponse_1.FileSearchResponseFromJSON)(jsonValue));
4247
+ }
4248
+ /**
4249
+ * Every file and directory under `path` whose name matches the glob `pattern` (for example `*.py`). Symlinks are not followed. Needs `file.read`.
4250
+ * Search files by name in a sandbox
4251
+ */
4252
+ async searchFiles(requestParameters, initOverrides) {
4253
+ const response = await this.searchFilesRaw(requestParameters, initOverrides);
4254
+ return await response.value();
4255
+ }
3671
4256
  /**
3672
4257
  * Creates request options for secrets without sending the request
3673
4258
  */
@@ -4004,6 +4589,54 @@ class BoatApi extends runtime.BaseAPI {
4004
4589
  const response = await this.setEnvironmentVarRaw(requestParameters, initOverrides);
4005
4590
  return await response.value();
4006
4591
  }
4592
+ /**
4593
+ * Creates request options for setFilePermissions without sending the request
4594
+ */
4595
+ async setFilePermissionsRequestOpts(input) {
4596
+ const requestParameters = runtime.unflattenBody(input, 'filePermissionsRequest', ['sandboxId'], []);
4597
+ if (requestParameters['sandboxId'] == null) {
4598
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling setFilePermissions().');
4599
+ }
4600
+ if (requestParameters['filePermissionsRequest'] == null) {
4601
+ throw new runtime.RequiredError('filePermissionsRequest', 'Required parameter "filePermissionsRequest" was null or undefined when calling setFilePermissions().');
4602
+ }
4603
+ const queryParameters = {};
4604
+ const headerParameters = {};
4605
+ headerParameters['Content-Type'] = 'application/json';
4606
+ if (this.configuration && this.configuration.accessToken) {
4607
+ const token = this.configuration.accessToken;
4608
+ const tokenString = await token("BoatBearerAuth", []);
4609
+ if (tokenString) {
4610
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4611
+ }
4612
+ }
4613
+ let urlPath = `/sandboxes/{sandboxId}/files/permissions`;
4614
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
4615
+ return {
4616
+ path: urlPath,
4617
+ method: 'POST',
4618
+ headers: headerParameters,
4619
+ query: queryParameters,
4620
+ body: (0, FilePermissionsRequest_1.FilePermissionsRequestToJSON)(requestParameters['filePermissionsRequest']),
4621
+ };
4622
+ }
4623
+ /**
4624
+ * Sets the permission bits. Files belong to the sandbox user; the owner and group do not change. Needs `file.write`.
4625
+ * Set file permissions in a sandbox
4626
+ */
4627
+ async setFilePermissionsRaw(requestParameters, initOverrides) {
4628
+ const requestOptions = await this.setFilePermissionsRequestOpts(requestParameters);
4629
+ const response = await this.request(requestOptions, initOverrides);
4630
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileInfoResponse_1.FileInfoResponseFromJSON)(jsonValue));
4631
+ }
4632
+ /**
4633
+ * Sets the permission bits. Files belong to the sandbox user; the owner and group do not change. Needs `file.write`.
4634
+ * Set file permissions in a sandbox
4635
+ */
4636
+ async setFilePermissions(requestParameters, initOverrides) {
4637
+ const response = await this.setFilePermissionsRaw(requestParameters, initOverrides);
4638
+ return await response.value();
4639
+ }
4007
4640
  /**
4008
4641
  * Creates request options for setSandboxAiAccess without sending the request
4009
4642
  */
@@ -4500,7 +5133,7 @@ class BoatApi extends runtime.BaseAPI {
4500
5133
  };
4501
5134
  }
4502
5135
  /**
4503
- * 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`.
5136
+ * 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`.
4504
5137
  * Turn the AI credentials proxy on or off
4505
5138
  */
4506
5139
  async updateAiProxyRaw(requestParameters, initOverrides) {
@@ -4509,7 +5142,7 @@ class BoatApi extends runtime.BaseAPI {
4509
5142
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, AiProxySettings_1.AiProxySettingsFromJSON)(jsonValue));
4510
5143
  }
4511
5144
  /**
4512
- * 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`.
5145
+ * 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`.
4513
5146
  * Turn the AI credentials proxy on or off
4514
5147
  */
4515
5148
  async updateAiProxy(requestParameters, initOverrides) {
@@ -4925,7 +5558,7 @@ class BoatApi extends runtime.BaseAPI {
4925
5558
  };
4926
5559
  }
4927
5560
  /**
4928
- * Files up to 5 MiB after decoding. For a larger file, use `POST /sandboxes/{sandboxId}/files/upload-url`.
5561
+ * 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.
4929
5562
  * Write a file in a sandbox
4930
5563
  */
4931
5564
  async writeFileRaw(requestParameters, initOverrides) {
@@ -4934,7 +5567,7 @@ class BoatApi extends runtime.BaseAPI {
4934
5567
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileWriteResponse_1.FileWriteResponseFromJSON)(jsonValue));
4935
5568
  }
4936
5569
  /**
4937
- * Files up to 5 MiB after decoding. For a larger file, use `POST /sandboxes/{sandboxId}/files/upload-url`.
5570
+ * 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.
4938
5571
  * Write a file in a sandbox
4939
5572
  */
4940
5573
  async writeFile(requestParameters, initOverrides) {