@boatdev/sdk 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/.openapi-generator/FILES +22 -0
  2. package/dist/apis/BoatApi.d.ts +92 -12
  3. package/dist/apis/BoatApi.js +196 -15
  4. package/dist/esm/apis/BoatApi.d.ts +92 -12
  5. package/dist/esm/apis/BoatApi.js +196 -15
  6. package/dist/esm/models/CreateSandboxRequest.d.ts +3 -3
  7. package/dist/esm/models/CredentialId.d.ts +3 -0
  8. package/dist/esm/models/CredentialId.js +3 -0
  9. package/dist/esm/models/CredentialProfile.d.ts +7 -0
  10. package/dist/esm/models/CredentialProfile.js +3 -0
  11. package/dist/esm/models/DeletionOperation.d.ts +1 -1
  12. package/dist/esm/models/ResourceAccess.d.ts +38 -0
  13. package/dist/esm/models/ResourceAccess.js +47 -0
  14. package/dist/esm/models/ResourceAccessUpdate.d.ts +38 -0
  15. package/dist/esm/models/ResourceAccessUpdate.js +45 -0
  16. package/dist/esm/models/Sandbox.d.ts +7 -0
  17. package/dist/esm/models/Sandbox.js +3 -0
  18. package/dist/esm/models/SandboxEnvironment.d.ts +7 -0
  19. package/dist/esm/models/SandboxEnvironment.js +3 -0
  20. package/dist/esm/models/SandboxLastReboot.d.ts +47 -0
  21. package/dist/esm/models/SandboxLastReboot.js +51 -0
  22. package/dist/esm/models/SandboxListResponse.d.ts +7 -0
  23. package/dist/esm/models/SandboxListResponse.js +3 -0
  24. package/dist/esm/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
  25. package/dist/esm/models/SandboxListResponseAllOfDeletedCost.js +51 -0
  26. package/dist/esm/models/SavedSnapshot.d.ts +83 -0
  27. package/dist/esm/models/SavedSnapshot.js +71 -0
  28. package/dist/esm/models/SavedSnapshotAllowance.d.ts +81 -0
  29. package/dist/esm/models/SavedSnapshotAllowance.js +57 -0
  30. package/dist/esm/models/SavedSnapshotDeletedResponse.d.ts +64 -0
  31. package/dist/esm/models/SavedSnapshotDeletedResponse.js +67 -0
  32. package/dist/esm/models/SavedSnapshotInfoResponse.d.ts +52 -0
  33. package/dist/esm/models/SavedSnapshotInfoResponse.js +58 -0
  34. package/dist/esm/models/SavedSnapshotListResponse.d.ts +59 -0
  35. package/dist/esm/models/SavedSnapshotListResponse.js +61 -0
  36. package/dist/esm/models/SavedSnapshotSaveRequest.d.ts +38 -0
  37. package/dist/esm/models/SavedSnapshotSaveRequest.js +47 -0
  38. package/dist/esm/models/SavedSnapshotSavingResponse.d.ts +65 -0
  39. package/dist/esm/models/SavedSnapshotSavingResponse.js +68 -0
  40. package/dist/esm/models/SnapshotSummary.d.ts +1 -1
  41. package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +7 -0
  42. package/dist/esm/models/UpdateCredentialProfileRequest.js +3 -0
  43. package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
  44. package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +3 -0
  45. package/dist/esm/models/index.d.ts +11 -0
  46. package/dist/esm/models/index.js +11 -0
  47. package/dist/models/CreateSandboxRequest.d.ts +3 -3
  48. package/dist/models/CredentialId.d.ts +3 -0
  49. package/dist/models/CredentialId.js +3 -0
  50. package/dist/models/CredentialProfile.d.ts +7 -0
  51. package/dist/models/CredentialProfile.js +3 -0
  52. package/dist/models/DeletionOperation.d.ts +1 -1
  53. package/dist/models/ResourceAccess.d.ts +38 -0
  54. package/dist/models/ResourceAccess.js +54 -0
  55. package/dist/models/ResourceAccessUpdate.d.ts +38 -0
  56. package/dist/models/ResourceAccessUpdate.js +52 -0
  57. package/dist/models/Sandbox.d.ts +7 -0
  58. package/dist/models/Sandbox.js +3 -0
  59. package/dist/models/SandboxEnvironment.d.ts +7 -0
  60. package/dist/models/SandboxEnvironment.js +3 -0
  61. package/dist/models/SandboxLastReboot.d.ts +47 -0
  62. package/dist/models/SandboxLastReboot.js +59 -0
  63. package/dist/models/SandboxListResponse.d.ts +7 -0
  64. package/dist/models/SandboxListResponse.js +3 -0
  65. package/dist/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
  66. package/dist/models/SandboxListResponseAllOfDeletedCost.js +58 -0
  67. package/dist/models/SavedSnapshot.d.ts +83 -0
  68. package/dist/models/SavedSnapshot.js +79 -0
  69. package/dist/models/SavedSnapshotAllowance.d.ts +81 -0
  70. package/dist/models/SavedSnapshotAllowance.js +64 -0
  71. package/dist/models/SavedSnapshotDeletedResponse.d.ts +64 -0
  72. package/dist/models/SavedSnapshotDeletedResponse.js +75 -0
  73. package/dist/models/SavedSnapshotInfoResponse.d.ts +52 -0
  74. package/dist/models/SavedSnapshotInfoResponse.js +66 -0
  75. package/dist/models/SavedSnapshotListResponse.d.ts +59 -0
  76. package/dist/models/SavedSnapshotListResponse.js +69 -0
  77. package/dist/models/SavedSnapshotSaveRequest.d.ts +38 -0
  78. package/dist/models/SavedSnapshotSaveRequest.js +54 -0
  79. package/dist/models/SavedSnapshotSavingResponse.d.ts +65 -0
  80. package/dist/models/SavedSnapshotSavingResponse.js +76 -0
  81. package/dist/models/SnapshotSummary.d.ts +1 -1
  82. package/dist/models/UpdateCredentialProfileRequest.d.ts +7 -0
  83. package/dist/models/UpdateCredentialProfileRequest.js +3 -0
  84. package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
  85. package/dist/models/UpdateSandboxEnvironmentRequest.js +3 -0
  86. package/dist/models/index.d.ts +11 -0
  87. package/dist/models/index.js +11 -0
  88. package/docs/BoatApi.md +307 -15
  89. package/docs/CredentialProfile.md +2 -0
  90. package/docs/ResourceAccess.md +35 -0
  91. package/docs/ResourceAccessUpdate.md +35 -0
  92. package/docs/Sandbox.md +2 -0
  93. package/docs/SandboxEnvironment.md +2 -0
  94. package/docs/SandboxLastReboot.md +35 -0
  95. package/docs/SandboxListResponse.md +2 -0
  96. package/docs/SandboxListResponseAllOfDeletedCost.md +37 -0
  97. package/docs/SavedSnapshot.md +47 -0
  98. package/docs/SavedSnapshotAllowance.md +49 -0
  99. package/docs/SavedSnapshotDeletedResponse.md +38 -0
  100. package/docs/SavedSnapshotInfoResponse.md +36 -0
  101. package/docs/SavedSnapshotListResponse.md +38 -0
  102. package/docs/SavedSnapshotSaveRequest.md +34 -0
  103. package/docs/SavedSnapshotSavingResponse.md +38 -0
  104. package/docs/UpdateCredentialProfileRequest.md +2 -0
  105. package/docs/UpdateSandboxEnvironmentRequest.md +2 -0
  106. package/package.json +1 -1
  107. package/src/apis/BoatApi.ts +277 -15
  108. package/src/models/CreateSandboxRequest.ts +3 -3
  109. package/src/models/CredentialId.ts +3 -0
  110. package/src/models/CredentialProfile.ts +15 -0
  111. package/src/models/DeletionOperation.ts +1 -1
  112. package/src/models/ResourceAccess.ts +75 -0
  113. package/src/models/ResourceAccessUpdate.ts +74 -0
  114. package/src/models/Sandbox.ts +15 -0
  115. package/src/models/SandboxEnvironment.ts +15 -0
  116. package/src/models/SandboxLastReboot.ts +85 -0
  117. package/src/models/SandboxListResponse.ts +15 -0
  118. package/src/models/SandboxListResponseAllOfDeletedCost.ts +84 -0
  119. package/src/models/SavedSnapshot.ts +137 -0
  120. package/src/models/SavedSnapshotAllowance.ts +130 -0
  121. package/src/models/SavedSnapshotDeletedResponse.ts +111 -0
  122. package/src/models/SavedSnapshotInfoResponse.ts +102 -0
  123. package/src/models/SavedSnapshotListResponse.ts +117 -0
  124. package/src/models/SavedSnapshotSaveRequest.ts +75 -0
  125. package/src/models/SavedSnapshotSavingResponse.ts +119 -0
  126. package/src/models/SnapshotSummary.ts +1 -1
  127. package/src/models/UpdateCredentialProfileRequest.ts +16 -0
  128. package/src/models/UpdateSandboxEnvironmentRequest.ts +15 -0
  129. package/src/models/index.ts +11 -0
@@ -83,6 +83,11 @@ import { SandboxEnvironmentResponseFromJSON, } from '../models/SandboxEnvironmen
83
83
  import { SandboxInfoResponseFromJSON, } from '../models/SandboxInfoResponse';
84
84
  import { SandboxListResponseFromJSON, } from '../models/SandboxListResponse';
85
85
  import { SandboxUsageResponseFromJSON, } from '../models/SandboxUsageResponse';
86
+ import { SavedSnapshotDeletedResponseFromJSON, } from '../models/SavedSnapshotDeletedResponse';
87
+ import { SavedSnapshotInfoResponseFromJSON, } from '../models/SavedSnapshotInfoResponse';
88
+ import { SavedSnapshotListResponseFromJSON, } from '../models/SavedSnapshotListResponse';
89
+ import { SavedSnapshotSaveRequestToJSON, } from '../models/SavedSnapshotSaveRequest';
90
+ import { SavedSnapshotSavingResponseFromJSON, } from '../models/SavedSnapshotSavingResponse';
86
91
  import { SecretsResponseFromJSON, } from '../models/SecretsResponse';
87
92
  import { SecretsUpdateRequestToJSON, } from '../models/SecretsUpdateRequest';
88
93
  import { SetCredentialKeyRequestToJSON, } from '../models/SetCredentialKeyRequest';
@@ -912,7 +917,7 @@ export class BoatApi extends runtime.BaseAPI {
912
917
  headerParameters["Authorization"] = `Bearer ${tokenString}`;
913
918
  }
914
919
  }
915
- let urlPath = `/named-snapshots/{name}/shares`;
920
+ let urlPath = `/saved-snapshots/{name}/shares`;
916
921
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
917
922
  return {
918
923
  path: urlPath,
@@ -922,8 +927,8 @@ export class BoatApi extends runtime.BaseAPI {
922
927
  };
923
928
  }
924
929
  /**
925
- * 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`.
926
- * Share a named snapshot
930
+ * 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`.
931
+ * Share a saved snapshot
927
932
  */
928
933
  async createSnapshotShareRaw(requestParameters, initOverrides) {
929
934
  const requestOptions = await this.createSnapshotShareRequestOpts(requestParameters);
@@ -931,8 +936,8 @@ export class BoatApi extends runtime.BaseAPI {
931
936
  return new runtime.JSONApiResponse(response, (jsonValue) => NamedSnapshotShareCreatedResponseFromJSON(jsonValue));
932
937
  }
933
938
  /**
934
- * 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`.
935
- * Share a named snapshot
939
+ * 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`.
940
+ * Share a saved snapshot
936
941
  */
937
942
  async createSnapshotShare(requestParameters, initOverrides) {
938
943
  const response = await this.createSnapshotShareRaw(requestParameters, initOverrides);
@@ -1410,6 +1415,7 @@ export class BoatApi extends runtime.BaseAPI {
1410
1415
  }
1411
1416
  /**
1412
1417
  * Creates request options for deleteNamedSnapshot without sending the request
1418
+ * @deprecated
1413
1419
  */
1414
1420
  async deleteNamedSnapshotRequestOpts(requestParameters) {
1415
1421
  if (requestParameters['name'] == null) {
@@ -1436,6 +1442,7 @@ export class BoatApi extends runtime.BaseAPI {
1436
1442
  /**
1437
1443
  * Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
1438
1444
  * Remove a named snapshot
1445
+ * @deprecated
1439
1446
  */
1440
1447
  async deleteNamedSnapshotRaw(requestParameters, initOverrides) {
1441
1448
  const requestOptions = await this.deleteNamedSnapshotRequestOpts(requestParameters);
@@ -1445,6 +1452,7 @@ export class BoatApi extends runtime.BaseAPI {
1445
1452
  /**
1446
1453
  * Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
1447
1454
  * Remove a named snapshot
1455
+ * @deprecated
1448
1456
  */
1449
1457
  async deleteNamedSnapshot(requestParameters, initOverrides) {
1450
1458
  const response = await this.deleteNamedSnapshotRaw(requestParameters, initOverrides);
@@ -1482,7 +1490,7 @@ export class BoatApi extends runtime.BaseAPI {
1482
1490
  };
1483
1491
  }
1484
1492
  /**
1485
- * 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`.
1493
+ * 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`.
1486
1494
  * Permanently delete sandbox data
1487
1495
  */
1488
1496
  async deleteSandboxRaw(requestParameters, initOverrides) {
@@ -1491,7 +1499,7 @@ export class BoatApi extends runtime.BaseAPI {
1491
1499
  return new runtime.JSONApiResponse(response, (jsonValue) => DeletionOperationResponseFromJSON(jsonValue));
1492
1500
  }
1493
1501
  /**
1494
- * 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`.
1502
+ * 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`.
1495
1503
  * Permanently delete sandbox data
1496
1504
  */
1497
1505
  async deleteSandbox(requestParameters, initOverrides) {
@@ -1530,7 +1538,7 @@ export class BoatApi extends runtime.BaseAPI {
1530
1538
  };
1531
1539
  }
1532
1540
  /**
1533
- * 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.
1541
+ * 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.
1534
1542
  * Permanently delete all snapshots of a sandbox
1535
1543
  */
1536
1544
  async deleteSandboxSnapshotsRaw(requestParameters, initOverrides) {
@@ -1539,13 +1547,55 @@ export class BoatApi extends runtime.BaseAPI {
1539
1547
  return new runtime.JSONApiResponse(response, (jsonValue) => DeletionOperationListResponseFromJSON(jsonValue));
1540
1548
  }
1541
1549
  /**
1542
- * 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.
1550
+ * 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.
1543
1551
  * Permanently delete all snapshots of a sandbox
1544
1552
  */
1545
1553
  async deleteSandboxSnapshots(requestParameters, initOverrides) {
1546
1554
  const response = await this.deleteSandboxSnapshotsRaw(requestParameters, initOverrides);
1547
1555
  return await response.value();
1548
1556
  }
1557
+ /**
1558
+ * Creates request options for deleteSavedSnapshot without sending the request
1559
+ */
1560
+ async deleteSavedSnapshotRequestOpts(requestParameters) {
1561
+ if (requestParameters['name'] == null) {
1562
+ throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling deleteSavedSnapshot().');
1563
+ }
1564
+ const queryParameters = {};
1565
+ const headerParameters = {};
1566
+ if (this.configuration && this.configuration.accessToken) {
1567
+ const token = this.configuration.accessToken;
1568
+ const tokenString = await token("BoatBearerAuth", []);
1569
+ if (tokenString) {
1570
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1571
+ }
1572
+ }
1573
+ let urlPath = `/saved-snapshots/{name}`;
1574
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
1575
+ return {
1576
+ path: urlPath,
1577
+ method: 'DELETE',
1578
+ headers: headerParameters,
1579
+ query: queryParameters,
1580
+ };
1581
+ }
1582
+ /**
1583
+ * Remove a saved snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
1584
+ * Remove a saved snapshot
1585
+ */
1586
+ async deleteSavedSnapshotRaw(requestParameters, initOverrides) {
1587
+ const requestOptions = await this.deleteSavedSnapshotRequestOpts(requestParameters);
1588
+ const response = await this.request(requestOptions, initOverrides);
1589
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotDeletedResponseFromJSON(jsonValue));
1590
+ }
1591
+ /**
1592
+ * Remove a saved snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
1593
+ * Remove a saved snapshot
1594
+ */
1595
+ async deleteSavedSnapshot(requestParameters, initOverrides) {
1596
+ const response = await this.deleteSavedSnapshotRaw(requestParameters, initOverrides);
1597
+ return await response.value();
1598
+ }
1549
1599
  /**
1550
1600
  * Creates request options for deleteSnapshot without sending the request
1551
1601
  */
@@ -2175,6 +2225,7 @@ export class BoatApi extends runtime.BaseAPI {
2175
2225
  }
2176
2226
  /**
2177
2227
  * Creates request options for getNamedSnapshot without sending the request
2228
+ * @deprecated
2178
2229
  */
2179
2230
  async getNamedSnapshotRequestOpts(requestParameters) {
2180
2231
  if (requestParameters['name'] == null) {
@@ -2200,6 +2251,7 @@ export class BoatApi extends runtime.BaseAPI {
2200
2251
  }
2201
2252
  /**
2202
2253
  * Get a named snapshot
2254
+ * @deprecated
2203
2255
  */
2204
2256
  async getNamedSnapshotRaw(requestParameters, initOverrides) {
2205
2257
  const requestOptions = await this.getNamedSnapshotRequestOpts(requestParameters);
@@ -2208,6 +2260,7 @@ export class BoatApi extends runtime.BaseAPI {
2208
2260
  }
2209
2261
  /**
2210
2262
  * Get a named snapshot
2263
+ * @deprecated
2211
2264
  */
2212
2265
  async getNamedSnapshot(requestParameters, initOverrides) {
2213
2266
  const response = await this.getNamedSnapshotRaw(requestParameters, initOverrides);
@@ -2258,6 +2311,46 @@ export class BoatApi extends runtime.BaseAPI {
2258
2311
  const response = await this.getSandboxAiUsageRaw(requestParameters, initOverrides);
2259
2312
  return await response.value();
2260
2313
  }
2314
+ /**
2315
+ * Creates request options for getSavedSnapshot without sending the request
2316
+ */
2317
+ async getSavedSnapshotRequestOpts(requestParameters) {
2318
+ if (requestParameters['name'] == null) {
2319
+ throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling getSavedSnapshot().');
2320
+ }
2321
+ const queryParameters = {};
2322
+ const headerParameters = {};
2323
+ if (this.configuration && this.configuration.accessToken) {
2324
+ const token = this.configuration.accessToken;
2325
+ const tokenString = await token("BoatBearerAuth", []);
2326
+ if (tokenString) {
2327
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2328
+ }
2329
+ }
2330
+ let urlPath = `/saved-snapshots/{name}`;
2331
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
2332
+ return {
2333
+ path: urlPath,
2334
+ method: 'GET',
2335
+ headers: headerParameters,
2336
+ query: queryParameters,
2337
+ };
2338
+ }
2339
+ /**
2340
+ * Get a saved snapshot
2341
+ */
2342
+ async getSavedSnapshotRaw(requestParameters, initOverrides) {
2343
+ const requestOptions = await this.getSavedSnapshotRequestOpts(requestParameters);
2344
+ const response = await this.request(requestOptions, initOverrides);
2345
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotInfoResponseFromJSON(jsonValue));
2346
+ }
2347
+ /**
2348
+ * Get a saved snapshot
2349
+ */
2350
+ async getSavedSnapshot(requestParameters, initOverrides) {
2351
+ const response = await this.getSavedSnapshotRaw(requestParameters, initOverrides);
2352
+ return await response.value();
2353
+ }
2261
2354
  /**
2262
2355
  * Creates request options for getSnapshotDownload without sending the request
2263
2356
  */
@@ -2739,6 +2832,7 @@ export class BoatApi extends runtime.BaseAPI {
2739
2832
  }
2740
2833
  /**
2741
2834
  * Creates request options for listNamedSnapshots without sending the request
2835
+ * @deprecated
2742
2836
  */
2743
2837
  async listNamedSnapshotsRequestOpts() {
2744
2838
  const queryParameters = {};
@@ -2761,6 +2855,7 @@ export class BoatApi extends runtime.BaseAPI {
2761
2855
  /**
2762
2856
  * List your named snapshots, newest first.
2763
2857
  * List named snapshots
2858
+ * @deprecated
2764
2859
  */
2765
2860
  async listNamedSnapshotsRaw(initOverrides) {
2766
2861
  const requestOptions = await this.listNamedSnapshotsRequestOpts();
@@ -2770,6 +2865,7 @@ export class BoatApi extends runtime.BaseAPI {
2770
2865
  /**
2771
2866
  * List your named snapshots, newest first.
2772
2867
  * List named snapshots
2868
+ * @deprecated
2773
2869
  */
2774
2870
  async listNamedSnapshots(initOverrides) {
2775
2871
  const response = await this.listNamedSnapshotsRaw(initOverrides);
@@ -2864,6 +2960,44 @@ export class BoatApi extends runtime.BaseAPI {
2864
2960
  const response = await this.listSandboxSnapshotsRaw(requestParameters, initOverrides);
2865
2961
  return await response.value();
2866
2962
  }
2963
+ /**
2964
+ * Creates request options for listSavedSnapshots without sending the request
2965
+ */
2966
+ async listSavedSnapshotsRequestOpts() {
2967
+ const queryParameters = {};
2968
+ const headerParameters = {};
2969
+ if (this.configuration && this.configuration.accessToken) {
2970
+ const token = this.configuration.accessToken;
2971
+ const tokenString = await token("BoatBearerAuth", []);
2972
+ if (tokenString) {
2973
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2974
+ }
2975
+ }
2976
+ let urlPath = `/saved-snapshots`;
2977
+ return {
2978
+ path: urlPath,
2979
+ method: 'GET',
2980
+ headers: headerParameters,
2981
+ query: queryParameters,
2982
+ };
2983
+ }
2984
+ /**
2985
+ * List your saved snapshots, newest first.
2986
+ * List saved snapshots
2987
+ */
2988
+ async listSavedSnapshotsRaw(initOverrides) {
2989
+ const requestOptions = await this.listSavedSnapshotsRequestOpts();
2990
+ const response = await this.request(requestOptions, initOverrides);
2991
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotListResponseFromJSON(jsonValue));
2992
+ }
2993
+ /**
2994
+ * List your saved snapshots, newest first.
2995
+ * List saved snapshots
2996
+ */
2997
+ async listSavedSnapshots(initOverrides) {
2998
+ const response = await this.listSavedSnapshotsRaw(initOverrides);
2999
+ return await response.value();
3000
+ }
2867
3001
  /**
2868
3002
  * Creates request options for listSnapshotShares without sending the request
2869
3003
  */
@@ -2880,7 +3014,7 @@ export class BoatApi extends runtime.BaseAPI {
2880
3014
  headerParameters["Authorization"] = `Bearer ${tokenString}`;
2881
3015
  }
2882
3016
  }
2883
- let urlPath = `/named-snapshots/{name}/shares`;
3017
+ let urlPath = `/saved-snapshots/{name}/shares`;
2884
3018
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
2885
3019
  return {
2886
3020
  path: urlPath,
@@ -2890,8 +3024,8 @@ export class BoatApi extends runtime.BaseAPI {
2890
3024
  };
2891
3025
  }
2892
3026
  /**
2893
- * 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`.
2894
- * List share codes of a named snapshot
3027
+ * 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`.
3028
+ * List share codes of a saved snapshot
2895
3029
  */
2896
3030
  async listSnapshotSharesRaw(requestParameters, initOverrides) {
2897
3031
  const requestOptions = await this.listSnapshotSharesRequestOpts(requestParameters);
@@ -2899,8 +3033,8 @@ export class BoatApi extends runtime.BaseAPI {
2899
3033
  return new runtime.JSONApiResponse(response, (jsonValue) => NamedSnapshotShareListResponseFromJSON(jsonValue));
2900
3034
  }
2901
3035
  /**
2902
- * 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`.
2903
- * List share codes of a named snapshot
3036
+ * 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`.
3037
+ * List share codes of a saved snapshot
2904
3038
  */
2905
3039
  async listSnapshotShares(requestParameters, initOverrides) {
2906
3040
  const response = await this.listSnapshotSharesRaw(requestParameters, initOverrides);
@@ -3418,7 +3552,7 @@ export class BoatApi extends runtime.BaseAPI {
3418
3552
  headerParameters["Authorization"] = `Bearer ${tokenString}`;
3419
3553
  }
3420
3554
  }
3421
- let urlPath = `/named-snapshots/{name}/shares/{shareId}`;
3555
+ let urlPath = `/saved-snapshots/{name}/shares/{shareId}`;
3422
3556
  urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
3423
3557
  urlPath = urlPath.replace('{shareId}', encodeURIComponent(String(requestParameters['shareId'])));
3424
3558
  return {
@@ -3590,6 +3724,7 @@ export class BoatApi extends runtime.BaseAPI {
3590
3724
  }
3591
3725
  /**
3592
3726
  * Creates request options for saveNamedSnapshot without sending the request
3727
+ * @deprecated
3593
3728
  */
3594
3729
  async saveNamedSnapshotRequestOpts(input) {
3595
3730
  const requestParameters = runtime.unflattenBody(input, 'namedSnapshotSaveRequest', [], []);
@@ -3618,6 +3753,7 @@ export class BoatApi extends runtime.BaseAPI {
3618
3753
  /**
3619
3754
  * 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.
3620
3755
  * Save a named snapshot
3756
+ * @deprecated
3621
3757
  */
3622
3758
  async saveNamedSnapshotRaw(requestParameters, initOverrides) {
3623
3759
  const requestOptions = await this.saveNamedSnapshotRequestOpts(requestParameters);
@@ -3627,11 +3763,56 @@ export class BoatApi extends runtime.BaseAPI {
3627
3763
  /**
3628
3764
  * 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.
3629
3765
  * Save a named snapshot
3766
+ * @deprecated
3630
3767
  */
3631
3768
  async saveNamedSnapshot(requestParameters, initOverrides) {
3632
3769
  const response = await this.saveNamedSnapshotRaw(requestParameters, initOverrides);
3633
3770
  return await response.value();
3634
3771
  }
3772
+ /**
3773
+ * Creates request options for saveSavedSnapshot without sending the request
3774
+ */
3775
+ async saveSavedSnapshotRequestOpts(input) {
3776
+ const requestParameters = runtime.unflattenBody(input, 'savedSnapshotSaveRequest', [], []);
3777
+ if (requestParameters['savedSnapshotSaveRequest'] == null) {
3778
+ throw new runtime.RequiredError('savedSnapshotSaveRequest', 'Required parameter "savedSnapshotSaveRequest" was null or undefined when calling saveSavedSnapshot().');
3779
+ }
3780
+ const queryParameters = {};
3781
+ const headerParameters = {};
3782
+ headerParameters['Content-Type'] = 'application/json';
3783
+ if (this.configuration && this.configuration.accessToken) {
3784
+ const token = this.configuration.accessToken;
3785
+ const tokenString = await token("BoatBearerAuth", []);
3786
+ if (tokenString) {
3787
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3788
+ }
3789
+ }
3790
+ let urlPath = `/saved-snapshots`;
3791
+ return {
3792
+ path: urlPath,
3793
+ method: 'POST',
3794
+ headers: headerParameters,
3795
+ query: queryParameters,
3796
+ body: SavedSnapshotSaveRequestToJSON(requestParameters['savedSnapshotSaveRequest']),
3797
+ };
3798
+ }
3799
+ /**
3800
+ * 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.
3801
+ * Save a saved snapshot
3802
+ */
3803
+ async saveSavedSnapshotRaw(requestParameters, initOverrides) {
3804
+ const requestOptions = await this.saveSavedSnapshotRequestOpts(requestParameters);
3805
+ const response = await this.request(requestOptions, initOverrides);
3806
+ return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotSavingResponseFromJSON(jsonValue));
3807
+ }
3808
+ /**
3809
+ * 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.
3810
+ * Save a saved snapshot
3811
+ */
3812
+ async saveSavedSnapshot(requestParameters, initOverrides) {
3813
+ const response = await this.saveSavedSnapshotRaw(requestParameters, initOverrides);
3814
+ return await response.value();
3815
+ }
3635
3816
  /**
3636
3817
  * Creates request options for secrets without sending the request
3637
3818
  */
@@ -48,7 +48,7 @@ export interface CreateSandboxRequest {
48
48
  */
49
49
  noEnv?: boolean;
50
50
  /**
51
- * Pass `false` to never snapshot this sandbox. Nothing is captured in the background, so it pays no CPU or memory for it, and stopping it erases its disk the way zero data retention does. It cannot be resumed, forked, or saved as a named snapshot, and if its machine fails there is no backup to rebuild it from.
51
+ * Pass `false` to never snapshot this sandbox. Nothing is captured in the background, so it pays no CPU or memory for it, and stopping it erases its disk the way zero data retention does. It cannot be resumed, forked, or saved as a saved snapshot, and if its machine fails there is no backup to rebuild it from.
52
52
  * @type {boolean}
53
53
  * @memberof CreateSandboxRequest
54
54
  */
@@ -66,7 +66,7 @@ export interface CreateSandboxRequest {
66
66
  */
67
67
  failFast?: boolean;
68
68
  /**
69
- * With `from`: create this many sandboxes from the named snapshot in one request. Boat creates them together, which is faster than separate creates when you need many sandboxes at once. Start limits and the active-sandbox limit count every sandbox of the batch; if the batch does not fit, nothing is created. The answer lists all of them in `sandboxes` (and the first one in `sandbox`). Refused with 400 `count_requires_from` without `from`, and with 400 `count_with_fail_fast` together with `failFast`.
69
+ * With `from`: create this many sandboxes from the saved snapshot in one request. Boat creates them together, which is faster than separate creates when you need many sandboxes at once. Start limits and the active-sandbox limit count every sandbox of the batch; if the batch does not fit, nothing is created. The answer lists all of them in `sandboxes` (and the first one in `sandbox`). Refused with 400 `count_requires_from` without `from`, and with 400 `count_with_fail_fast` together with `failFast`.
70
70
  * @type {number}
71
71
  * @memberof CreateSandboxRequest
72
72
  */
@@ -90,7 +90,7 @@ export interface CreateSandboxRequest {
90
90
  */
91
91
  teamId?: string;
92
92
  /**
93
- * Create the sandbox from a named snapshot (saved with `POST /named-snapshots`, or `boat snapshot <id> <name>` in the CLI). The sandbox starts from that exact frozen state. Omitting `type` inherits the type the snapshot was saved from; env and no-env inherit from the snapshot's source sandbox unless the request passes its own, with the same rules as forking. Also accepts a share code (`bsh_...`) that another account made with `POST /named-snapshots/{name}/shares`. The new sandbox lives in and is billed to your account. It does not get the owner's per-sandbox env; your own environment applies normally. A wrong or revoked code returns `404 snapshot_not_found`.
93
+ * Create the sandbox from a saved snapshot (saved with `POST /saved-snapshots`, or `boat snapshot <id> <name>` in the CLI). The sandbox starts from that exact frozen state. Omitting `type` inherits the type the snapshot was saved from; env and no-env inherit from the snapshot's source sandbox unless the request passes its own, with the same rules as forking. Also accepts a share code (`bsh_...`) that another account made with `POST /saved-snapshots/{name}/shares`. The new sandbox lives in and is billed to your account. It does not get the owner's per-sandbox env; your own environment applies normally. A wrong or revoked code returns `404 snapshot_not_found`.
94
94
  * @type {string}
95
95
  * @memberof CreateSandboxRequest
96
96
  */
@@ -21,10 +21,13 @@ export declare const CredentialId: {
21
21
  readonly DeepseekApiKey: 'deepseek-api-key';
22
22
  readonly MoonshotApiKey: 'moonshot-api-key';
23
23
  readonly MistralApiKey: 'mistral-api-key';
24
+ readonly XaiApiKey: 'xai-api-key';
25
+ readonly OpencodeApiKey: 'opencode-api-key';
24
26
  readonly ClaudeSubscription: 'claude-subscription';
25
27
  readonly ChatgptSubscription: 'chatgpt-subscription';
26
28
  readonly KimiSubscription: 'kimi-subscription';
27
29
  readonly MistralVibeSubscription: 'mistral-vibe-subscription';
30
+ readonly GrokSubscription: 'grok-subscription';
28
31
  readonly ClaudeBedrock: 'claude-bedrock';
29
32
  readonly CodexBedrock: 'codex-bedrock';
30
33
  };
@@ -23,10 +23,13 @@ export const CredentialId = {
23
23
  DeepseekApiKey: 'deepseek-api-key',
24
24
  MoonshotApiKey: 'moonshot-api-key',
25
25
  MistralApiKey: 'mistral-api-key',
26
+ XaiApiKey: 'xai-api-key',
27
+ OpencodeApiKey: 'opencode-api-key',
26
28
  ClaudeSubscription: 'claude-subscription',
27
29
  ChatgptSubscription: 'chatgpt-subscription',
28
30
  KimiSubscription: 'kimi-subscription',
29
31
  MistralVibeSubscription: 'mistral-vibe-subscription',
32
+ GrokSubscription: 'grok-subscription',
30
33
  ClaudeBedrock: 'claude-bedrock',
31
34
  CodexBedrock: 'codex-bedrock'
32
35
  };
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { ResourceAccess } from './ResourceAccess';
12
13
  import type { CredentialId } from './CredentialId';
13
14
  import type { CredentialProfileOwner } from './CredentialProfileOwner';
14
15
  import type { CredentialAccount } from './CredentialAccount';
@@ -80,6 +81,12 @@ export interface CredentialProfile {
80
81
  * @memberof CredentialProfile
81
82
  */
82
83
  updatedAt: Date;
84
+ /**
85
+ *
86
+ * @type {ResourceAccess}
87
+ * @memberof CredentialProfile
88
+ */
89
+ access?: ResourceAccess;
83
90
  }
84
91
  /**
85
92
  * Check if a given object implements the CredentialProfile interface.
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { ResourceAccessFromJSON, ResourceAccessToJSON, } from './ResourceAccess';
14
15
  import { CredentialIdFromJSON, CredentialIdToJSON, } from './CredentialId';
15
16
  import { CredentialProfileOwnerFromJSON, CredentialProfileOwnerToJSON, } from './CredentialProfileOwner';
16
17
  /**
@@ -55,6 +56,7 @@ export function CredentialProfileFromJSONTyped(json, ignoreDiscriminator) {
55
56
  'customApis': json['customApis'],
56
57
  'createdAt': (new Date(json['createdAt'])),
57
58
  'updatedAt': (new Date(json['updatedAt'])),
59
+ 'access': json['access'] == null ? undefined : ResourceAccessFromJSON(json['access']),
58
60
  };
59
61
  }
60
62
  export function CredentialProfileToJSON(json) {
@@ -75,5 +77,6 @@ export function CredentialProfileToJSONTyped(value, ignoreDiscriminator = false)
75
77
  'customApis': value['customApis'],
76
78
  'createdAt': value['createdAt'].toISOString(),
77
79
  'updatedAt': value['updatedAt'].toISOString(),
80
+ 'access': ResourceAccessToJSON(value['access']),
78
81
  };
79
82
  }
@@ -46,7 +46,7 @@ export interface DeletionOperation {
46
46
  */
47
47
  status: DeletionOperationStatusEnum;
48
48
  /**
49
- * What the background purge is doing. The target is already gone from every list, restore and fork once the operation exists. `waiting_for_uploads`: stored data is erased once the last upload URL issued for it expires (`expectedBy`). `retrying`: a transient fault, retried automatically. `completed`: a newer snapshot, a fork or a named snapshot made from it keeps the data it reads, until that is deleted too.
49
+ * What the background purge is doing. The target is already gone from every list, restore and fork once the operation exists. `waiting_for_uploads`: stored data is erased once the last upload URL issued for it expires (`expectedBy`). `retrying`: a transient fault, retried automatically. `completed`: a newer snapshot, a fork or a saved snapshot made from it keeps the data it reads, until that is deleted too.
50
50
  * @type {DeletionOperationStageEnum}
51
51
  * @memberof DeletionOperation
52
52
  */
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Boat Public API v1
3
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Which organization members can use this organization environment or profile. `restricted` false means every member. `restricted` true means owners, admins and `members` only. Others do not see it in lists. Personal environments and profiles always return `restricted` false.
14
+ * @export
15
+ * @interface ResourceAccess
16
+ */
17
+ export interface ResourceAccess {
18
+ /**
19
+ *
20
+ * @type {boolean}
21
+ * @memberof ResourceAccess
22
+ */
23
+ restricted: boolean;
24
+ /**
25
+ * Member ids. Empty when `restricted` is false.
26
+ * @type {Array<string>}
27
+ * @memberof ResourceAccess
28
+ */
29
+ members: Array<string>;
30
+ }
31
+ /**
32
+ * Check if a given object implements the ResourceAccess interface.
33
+ */
34
+ export declare function instanceOfResourceAccess(value: object): value is ResourceAccess;
35
+ export declare function ResourceAccessFromJSON(json: any): ResourceAccess;
36
+ export declare function ResourceAccessFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceAccess;
37
+ export declare function ResourceAccessToJSON(json: any): ResourceAccess;
38
+ export declare function ResourceAccessToJSONTyped(value?: ResourceAccess | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,47 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the ResourceAccess interface.
16
+ */
17
+ export function instanceOfResourceAccess(value) {
18
+ if (!('restricted' in value) || value['restricted'] === undefined)
19
+ return false;
20
+ if (!('members' in value) || value['members'] === undefined)
21
+ return false;
22
+ return true;
23
+ }
24
+ export function ResourceAccessFromJSON(json) {
25
+ return ResourceAccessFromJSONTyped(json, false);
26
+ }
27
+ export function ResourceAccessFromJSONTyped(json, ignoreDiscriminator) {
28
+ if (json == null) {
29
+ return json;
30
+ }
31
+ return {
32
+ 'restricted': json['restricted'],
33
+ 'members': json['members'],
34
+ };
35
+ }
36
+ export function ResourceAccessToJSON(json) {
37
+ return ResourceAccessToJSONTyped(json, false);
38
+ }
39
+ export function ResourceAccessToJSONTyped(value, ignoreDiscriminator = false) {
40
+ if (value == null) {
41
+ return value;
42
+ }
43
+ return {
44
+ 'restricted': value['restricted'],
45
+ 'members': value['members'],
46
+ };
47
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Boat Public API v1
3
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Set who can use an organization environment (owner or admin) or profile (owner). A change does not touch running sandboxes. A bad list returns `400 invalid_access`.
14
+ * @export
15
+ * @interface ResourceAccessUpdate
16
+ */
17
+ export interface ResourceAccessUpdate {
18
+ /**
19
+ * False opens it to every member. True limits it to owners, admins and `members`.
20
+ * @type {boolean}
21
+ * @memberof ResourceAccessUpdate
22
+ */
23
+ restricted: boolean;
24
+ /**
25
+ * Member ids or emails of active members. Replaces the full list.
26
+ * @type {Array<string>}
27
+ * @memberof ResourceAccessUpdate
28
+ */
29
+ members?: Array<string>;
30
+ }
31
+ /**
32
+ * Check if a given object implements the ResourceAccessUpdate interface.
33
+ */
34
+ export declare function instanceOfResourceAccessUpdate(value: object): value is ResourceAccessUpdate;
35
+ export declare function ResourceAccessUpdateFromJSON(json: any): ResourceAccessUpdate;
36
+ export declare function ResourceAccessUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceAccessUpdate;
37
+ export declare function ResourceAccessUpdateToJSON(json: any): ResourceAccessUpdate;
38
+ export declare function ResourceAccessUpdateToJSONTyped(value?: ResourceAccessUpdate | null, ignoreDiscriminator?: boolean): any;