@boatdev/sdk 1.9.4 → 1.9.6

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 (169) hide show
  1. package/.openapi-generator/FILES +44 -0
  2. package/dist/apis/BoatApi.d.ts +305 -7
  3. package/dist/apis/BoatApi.js +764 -15
  4. package/dist/esm/apis/BoatApi.d.ts +305 -7
  5. package/dist/esm/apis/BoatApi.js +764 -15
  6. package/dist/esm/models/AccountAiUsageResponse.d.ts +83 -0
  7. package/dist/esm/models/AccountAiUsageResponse.js +78 -0
  8. package/dist/esm/models/AiProxySettings.d.ts +81 -0
  9. package/dist/esm/models/AiProxySettings.js +76 -0
  10. package/dist/esm/models/AiProxySettingsAllOfPricing.d.ts +38 -0
  11. package/dist/esm/models/AiProxySettingsAllOfPricing.js +47 -0
  12. package/dist/esm/models/AiUsageRow.d.ts +80 -0
  13. package/dist/esm/models/AiUsageRow.js +75 -0
  14. package/dist/esm/models/AiUsageTotals.d.ts +62 -0
  15. package/dist/esm/models/AiUsageTotals.js +63 -0
  16. package/dist/esm/models/CreateCredentialProfileRequest.d.ts +44 -0
  17. package/dist/esm/models/CreateCredentialProfileRequest.js +47 -0
  18. package/dist/esm/models/CredentialId.d.ts +36 -0
  19. package/dist/esm/models/CredentialId.js +54 -0
  20. package/dist/esm/models/CredentialProfile.d.ts +82 -0
  21. package/dist/esm/models/CredentialProfile.js +77 -0
  22. package/dist/esm/models/CredentialProfileDeletedResponse.d.ts +44 -0
  23. package/dist/esm/models/CredentialProfileDeletedResponse.js +51 -0
  24. package/dist/esm/models/CredentialProfileListResponse.d.ts +45 -0
  25. package/dist/esm/models/CredentialProfileListResponse.js +52 -0
  26. package/dist/esm/models/CredentialProfileOwner.d.ts +58 -0
  27. package/dist/esm/models/CredentialProfileOwner.js +62 -0
  28. package/dist/esm/models/CredentialProfileResponse.d.ts +51 -0
  29. package/dist/esm/models/CredentialProfileResponse.js +56 -0
  30. package/dist/esm/models/DeletionOperation.d.ts +1 -1
  31. package/dist/esm/models/FileUrlRequest.d.ts +38 -0
  32. package/dist/esm/models/FileUrlRequest.js +45 -0
  33. package/dist/esm/models/FileUrlResponse.d.ts +78 -0
  34. package/dist/esm/models/FileUrlResponse.js +77 -0
  35. package/dist/esm/models/ProcessListResponse.d.ts +1 -1
  36. package/dist/esm/models/SandboxAiAccessResponse.d.ts +56 -0
  37. package/dist/esm/models/SandboxAiAccessResponse.js +59 -0
  38. package/dist/esm/models/SandboxAiUsage.d.ts +64 -0
  39. package/dist/esm/models/SandboxAiUsage.js +65 -0
  40. package/dist/esm/models/SandboxAiUsageResponse.d.ts +88 -0
  41. package/dist/esm/models/SandboxAiUsageResponse.js +81 -0
  42. package/dist/esm/models/SandboxEnvironment.d.ts +13 -1
  43. package/dist/esm/models/SandboxEnvironment.js +4 -0
  44. package/dist/esm/models/SetCredentialKeyRequest.d.ts +32 -0
  45. package/dist/esm/models/SetCredentialKeyRequest.js +43 -0
  46. package/dist/esm/models/SetCustomApiRequest.d.ts +38 -0
  47. package/dist/esm/models/SetCustomApiRequest.js +47 -0
  48. package/dist/esm/models/SetSandboxAiAccessRequest.d.ts +32 -0
  49. package/dist/esm/models/SetSandboxAiAccessRequest.js +43 -0
  50. package/dist/esm/models/SnapshotSummary.d.ts +14 -0
  51. package/dist/esm/models/SnapshotSummary.js +9 -0
  52. package/dist/esm/models/UpdateAiProxyRequest.d.ts +32 -0
  53. package/dist/esm/models/UpdateAiProxyRequest.js +43 -0
  54. package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +38 -0
  55. package/dist/esm/models/UpdateCredentialProfileRequest.js +43 -0
  56. package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +12 -0
  57. package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +4 -0
  58. package/dist/esm/models/index.d.ts +22 -0
  59. package/dist/esm/models/index.js +22 -0
  60. package/dist/models/AccountAiUsageResponse.d.ts +83 -0
  61. package/dist/models/AccountAiUsageResponse.js +85 -0
  62. package/dist/models/AiProxySettings.d.ts +81 -0
  63. package/dist/models/AiProxySettings.js +83 -0
  64. package/dist/models/AiProxySettingsAllOfPricing.d.ts +38 -0
  65. package/dist/models/AiProxySettingsAllOfPricing.js +54 -0
  66. package/dist/models/AiUsageRow.d.ts +80 -0
  67. package/dist/models/AiUsageRow.js +82 -0
  68. package/dist/models/AiUsageTotals.d.ts +62 -0
  69. package/dist/models/AiUsageTotals.js +70 -0
  70. package/dist/models/CreateCredentialProfileRequest.d.ts +44 -0
  71. package/dist/models/CreateCredentialProfileRequest.js +54 -0
  72. package/dist/models/CredentialId.d.ts +36 -0
  73. package/dist/models/CredentialId.js +62 -0
  74. package/dist/models/CredentialProfile.d.ts +82 -0
  75. package/dist/models/CredentialProfile.js +84 -0
  76. package/dist/models/CredentialProfileDeletedResponse.d.ts +44 -0
  77. package/dist/models/CredentialProfileDeletedResponse.js +58 -0
  78. package/dist/models/CredentialProfileListResponse.d.ts +45 -0
  79. package/dist/models/CredentialProfileListResponse.js +59 -0
  80. package/dist/models/CredentialProfileOwner.d.ts +58 -0
  81. package/dist/models/CredentialProfileOwner.js +70 -0
  82. package/dist/models/CredentialProfileResponse.d.ts +51 -0
  83. package/dist/models/CredentialProfileResponse.js +63 -0
  84. package/dist/models/DeletionOperation.d.ts +1 -1
  85. package/dist/models/FileUrlRequest.d.ts +38 -0
  86. package/dist/models/FileUrlRequest.js +52 -0
  87. package/dist/models/FileUrlResponse.d.ts +78 -0
  88. package/dist/models/FileUrlResponse.js +85 -0
  89. package/dist/models/ProcessListResponse.d.ts +1 -1
  90. package/dist/models/SandboxAiAccessResponse.d.ts +56 -0
  91. package/dist/models/SandboxAiAccessResponse.js +66 -0
  92. package/dist/models/SandboxAiUsage.d.ts +64 -0
  93. package/dist/models/SandboxAiUsage.js +72 -0
  94. package/dist/models/SandboxAiUsageResponse.d.ts +88 -0
  95. package/dist/models/SandboxAiUsageResponse.js +88 -0
  96. package/dist/models/SandboxEnvironment.d.ts +13 -1
  97. package/dist/models/SandboxEnvironment.js +4 -0
  98. package/dist/models/SetCredentialKeyRequest.d.ts +32 -0
  99. package/dist/models/SetCredentialKeyRequest.js +50 -0
  100. package/dist/models/SetCustomApiRequest.d.ts +38 -0
  101. package/dist/models/SetCustomApiRequest.js +54 -0
  102. package/dist/models/SetSandboxAiAccessRequest.d.ts +32 -0
  103. package/dist/models/SetSandboxAiAccessRequest.js +50 -0
  104. package/dist/models/SnapshotSummary.d.ts +14 -0
  105. package/dist/models/SnapshotSummary.js +10 -1
  106. package/dist/models/UpdateAiProxyRequest.d.ts +32 -0
  107. package/dist/models/UpdateAiProxyRequest.js +50 -0
  108. package/dist/models/UpdateCredentialProfileRequest.d.ts +38 -0
  109. package/dist/models/UpdateCredentialProfileRequest.js +50 -0
  110. package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +12 -0
  111. package/dist/models/UpdateSandboxEnvironmentRequest.js +4 -0
  112. package/dist/models/index.d.ts +22 -0
  113. package/dist/models/index.js +22 -0
  114. package/docs/AccountAiUsageResponse.md +48 -0
  115. package/docs/AiProxySettings.md +48 -0
  116. package/docs/AiProxySettingsAllOfPricing.md +34 -0
  117. package/docs/AiUsageRow.md +48 -0
  118. package/docs/AiUsageTotals.md +43 -0
  119. package/docs/BoatApi.md +1568 -359
  120. package/docs/CreateCredentialProfileRequest.md +36 -0
  121. package/docs/CredentialId.md +31 -0
  122. package/docs/CredentialProfile.md +49 -0
  123. package/docs/CredentialProfileDeletedResponse.md +36 -0
  124. package/docs/CredentialProfileListResponse.md +36 -0
  125. package/docs/CredentialProfileOwner.md +38 -0
  126. package/docs/CredentialProfileResponse.md +38 -0
  127. package/docs/FileUrlRequest.md +34 -0
  128. package/docs/FileUrlResponse.md +42 -0
  129. package/docs/SandboxAiAccessResponse.md +40 -0
  130. package/docs/SandboxAiUsage.md +42 -0
  131. package/docs/SandboxAiUsageResponse.md +50 -0
  132. package/docs/SandboxEnvironment.md +4 -0
  133. package/docs/SetCredentialKeyRequest.md +32 -0
  134. package/docs/SetCustomApiRequest.md +34 -0
  135. package/docs/SetSandboxAiAccessRequest.md +32 -0
  136. package/docs/SnapshotSummary.md +2 -0
  137. package/docs/UpdateAiProxyRequest.md +32 -0
  138. package/docs/UpdateCredentialProfileRequest.md +34 -0
  139. package/docs/UpdateSandboxEnvironmentRequest.md +4 -0
  140. package/package.json +1 -1
  141. package/src/apis/BoatApi.ts +1257 -105
  142. package/src/models/AccountAiUsageResponse.ts +160 -0
  143. package/src/models/AiProxySettings.ts +146 -0
  144. package/src/models/AiProxySettingsAllOfPricing.ts +75 -0
  145. package/src/models/AiUsageRow.ts +138 -0
  146. package/src/models/AiUsageTotals.ts +111 -0
  147. package/src/models/CreateCredentialProfileRequest.ts +82 -0
  148. package/src/models/CredentialId.ts +64 -0
  149. package/src/models/CredentialProfile.ts +153 -0
  150. package/src/models/CredentialProfileDeletedResponse.ts +84 -0
  151. package/src/models/CredentialProfileListResponse.ts +92 -0
  152. package/src/models/CredentialProfileOwner.ts +104 -0
  153. package/src/models/CredentialProfileResponse.ts +101 -0
  154. package/src/models/DeletionOperation.ts +1 -1
  155. package/src/models/FileUrlRequest.ts +74 -0
  156. package/src/models/FileUrlResponse.ts +131 -0
  157. package/src/models/ProcessListResponse.ts +1 -1
  158. package/src/models/SandboxAiAccessResponse.ts +102 -0
  159. package/src/models/SandboxAiUsage.ts +126 -0
  160. package/src/models/SandboxAiUsageResponse.ts +162 -0
  161. package/src/models/SandboxEnvironment.ts +17 -1
  162. package/src/models/SetCredentialKeyRequest.ts +66 -0
  163. package/src/models/SetCustomApiRequest.ts +75 -0
  164. package/src/models/SetSandboxAiAccessRequest.ts +66 -0
  165. package/src/models/SnapshotSummary.ts +17 -0
  166. package/src/models/UpdateAiProxyRequest.ts +66 -0
  167. package/src/models/UpdateCredentialProfileRequest.ts +73 -0
  168. package/src/models/UpdateSandboxEnvironmentRequest.ts +16 -0
  169. package/src/models/index.ts +22 -0
@@ -48,9 +48,11 @@ var __importStar = (this && this.__importStar) || (function () {
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
49
  exports.SandboxesSortEnum = exports.ReposSortEnum = exports.ReadFileEncodingEnum = exports.ListSnapshotsSortEnum = exports.ListSandboxSnapshotsSortEnum = exports.EventsSortEnum = exports.DesktopOperationThemeEnum = exports.DesktopOperationVncEnum = exports.CommandLogsEncodingEnum = exports.CommandLogsStreamEnum = exports.BoatApi = void 0;
50
50
  const runtime = __importStar(require("../runtime"));
51
+ const AccountAiUsageResponse_1 = require("../models/AccountAiUsageResponse");
51
52
  const ActiveOrgResponse_1 = require("../models/ActiveOrgResponse");
52
53
  const ActiveOrgUpdateRequest_1 = require("../models/ActiveOrgUpdateRequest");
53
54
  const AddEnvironmentRepoRequest_1 = require("../models/AddEnvironmentRepoRequest");
55
+ const AiProxySettings_1 = require("../models/AiProxySettings");
54
56
  const ApiKeyRevokeResponse_1 = require("../models/ApiKeyRevokeResponse");
55
57
  const ApiKeySecretResponse_1 = require("../models/ApiKeySecretResponse");
56
58
  const ApiKeyUsageResponse_1 = require("../models/ApiKeyUsageResponse");
@@ -64,10 +66,14 @@ const CommandRequest_1 = require("../models/CommandRequest");
64
66
  const CommandStatusResponse_1 = require("../models/CommandStatusResponse");
65
67
  const CommandStopResponse_1 = require("../models/CommandStopResponse");
66
68
  const ConversationsResponse_1 = require("../models/ConversationsResponse");
69
+ const CreateCredentialProfileRequest_1 = require("../models/CreateCredentialProfileRequest");
67
70
  const CreateSandboxEnvironmentRequest_1 = require("../models/CreateSandboxEnvironmentRequest");
68
71
  const CreateSandboxRequest_1 = require("../models/CreateSandboxRequest");
69
72
  const CreateSandboxResponse_1 = require("../models/CreateSandboxResponse");
70
73
  const CreateScopedApiKeyRequest_1 = require("../models/CreateScopedApiKeyRequest");
74
+ const CredentialProfileDeletedResponse_1 = require("../models/CredentialProfileDeletedResponse");
75
+ const CredentialProfileListResponse_1 = require("../models/CredentialProfileListResponse");
76
+ const CredentialProfileResponse_1 = require("../models/CredentialProfileResponse");
71
77
  const DataRetentionPolicyResponse_1 = require("../models/DataRetentionPolicyResponse");
72
78
  const DataRetentionUpdateRequest_1 = require("../models/DataRetentionUpdateRequest");
73
79
  const DeletionOperationListResponse_1 = require("../models/DeletionOperationListResponse");
@@ -77,6 +83,8 @@ const DesktopResponse_1 = require("../models/DesktopResponse");
77
83
  const EnvironmentItemChangeResponse_1 = require("../models/EnvironmentItemChangeResponse");
78
84
  const EventsResponse_1 = require("../models/EventsResponse");
79
85
  const FileReadResponse_1 = require("../models/FileReadResponse");
86
+ const FileUrlRequest_1 = require("../models/FileUrlRequest");
87
+ const FileUrlResponse_1 = require("../models/FileUrlResponse");
80
88
  const FileWriteRequest_1 = require("../models/FileWriteRequest");
81
89
  const FileWriteResponse_1 = require("../models/FileWriteResponse");
82
90
  const ForkRequest_1 = require("../models/ForkRequest");
@@ -103,6 +111,8 @@ const RepoSelectionResponse_1 = require("../models/RepoSelectionResponse");
103
111
  const ReposResponse_1 = require("../models/ReposResponse");
104
112
  const ResumeRequest_1 = require("../models/ResumeRequest");
105
113
  const SandboxActionResponse_1 = require("../models/SandboxActionResponse");
114
+ const SandboxAiAccessResponse_1 = require("../models/SandboxAiAccessResponse");
115
+ const SandboxAiUsageResponse_1 = require("../models/SandboxAiUsageResponse");
106
116
  const SandboxEnvironmentListResponse_1 = require("../models/SandboxEnvironmentListResponse");
107
117
  const SandboxEnvironmentResponse_1 = require("../models/SandboxEnvironmentResponse");
108
118
  const SandboxInfoResponse_1 = require("../models/SandboxInfoResponse");
@@ -110,8 +120,11 @@ const SandboxListResponse_1 = require("../models/SandboxListResponse");
110
120
  const SandboxUsageResponse_1 = require("../models/SandboxUsageResponse");
111
121
  const SecretsResponse_1 = require("../models/SecretsResponse");
112
122
  const SecretsUpdateRequest_1 = require("../models/SecretsUpdateRequest");
123
+ const SetCredentialKeyRequest_1 = require("../models/SetCredentialKeyRequest");
124
+ const SetCustomApiRequest_1 = require("../models/SetCustomApiRequest");
113
125
  const SetEnvironmentSecretFileRequest_1 = require("../models/SetEnvironmentSecretFileRequest");
114
126
  const SetEnvironmentVarRequest_1 = require("../models/SetEnvironmentVarRequest");
127
+ const SetSandboxAiAccessRequest_1 = require("../models/SetSandboxAiAccessRequest");
115
128
  const Share200Response_1 = require("../models/Share200Response");
116
129
  const SnapshotDownloadResponse_1 = require("../models/SnapshotDownloadResponse");
117
130
  const SnapshotLatestResponse_1 = require("../models/SnapshotLatestResponse");
@@ -126,6 +139,8 @@ const StopRequest_1 = require("../models/StopRequest");
126
139
  const TelemetryResponse_1 = require("../models/TelemetryResponse");
127
140
  const TelemetrySetRequest_1 = require("../models/TelemetrySetRequest");
128
141
  const TelemetrySetResponse_1 = require("../models/TelemetrySetResponse");
142
+ const UpdateAiProxyRequest_1 = require("../models/UpdateAiProxyRequest");
143
+ const UpdateCredentialProfileRequest_1 = require("../models/UpdateCredentialProfileRequest");
129
144
  const UpdateSandboxEnvironmentRequest_1 = require("../models/UpdateSandboxEnvironmentRequest");
130
145
  const UpdateSandboxRequest_1 = require("../models/UpdateSandboxRequest");
131
146
  const UpgradeSandboxEnvironmentRequest_1 = require("../models/UpgradeSandboxEnvironmentRequest");
@@ -144,7 +159,7 @@ class BoatApi extends runtime.BaseAPI {
144
159
  * Creates request options for addEnvironmentRepo without sending the request
145
160
  */
146
161
  async addEnvironmentRepoRequestOpts(input) {
147
- const requestParameters = runtime.unflattenBody(input, 'addEnvironmentRepoRequest', ['environmentId'], []);
162
+ const requestParameters = runtime.unflattenBody(input, 'addEnvironmentRepoRequest', ['environmentId', 'org'], []);
148
163
  if (requestParameters['environmentId'] == null) {
149
164
  throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling addEnvironmentRepo().');
150
165
  }
@@ -152,6 +167,9 @@ class BoatApi extends runtime.BaseAPI {
152
167
  throw new runtime.RequiredError('addEnvironmentRepoRequest', 'Required parameter "addEnvironmentRepoRequest" was null or undefined when calling addEnvironmentRepo().');
153
168
  }
154
169
  const queryParameters = {};
170
+ if (requestParameters['org'] != null) {
171
+ queryParameters['org'] = requestParameters['org'];
172
+ }
155
173
  const headerParameters = {};
156
174
  headerParameters['Content-Type'] = 'application/json';
157
175
  if (this.configuration && this.configuration.accessToken) {
@@ -675,15 +693,110 @@ class BoatApi extends runtime.BaseAPI {
675
693
  const response = await this.createRaw(requestParameters, initOverrides);
676
694
  return await response.value();
677
695
  }
696
+ /**
697
+ * Creates request options for createCredentialProfile without sending the request
698
+ */
699
+ async createCredentialProfileRequestOpts(input) {
700
+ const requestParameters = runtime.unflattenBody(input, 'createCredentialProfileRequest', [], []);
701
+ if (requestParameters['createCredentialProfileRequest'] == null) {
702
+ throw new runtime.RequiredError('createCredentialProfileRequest', 'Required parameter "createCredentialProfileRequest" was null or undefined when calling createCredentialProfile().');
703
+ }
704
+ const queryParameters = {};
705
+ const headerParameters = {};
706
+ headerParameters['Content-Type'] = 'application/json';
707
+ if (this.configuration && this.configuration.accessToken) {
708
+ const token = this.configuration.accessToken;
709
+ const tokenString = await token("BoatBearerAuth", []);
710
+ if (tokenString) {
711
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
712
+ }
713
+ }
714
+ let urlPath = `/credential-profiles`;
715
+ return {
716
+ path: urlPath,
717
+ method: 'POST',
718
+ headers: headerParameters,
719
+ query: queryParameters,
720
+ body: (0, CreateCredentialProfileRequest_1.CreateCredentialProfileRequestToJSON)(requestParameters['createCredentialProfileRequest']),
721
+ };
722
+ }
723
+ /**
724
+ * Creates an empty profile, or a copy of `copyFrom`. With `org`, the profile belongs to that organization and only its owners can create it. Needs an API key with `account.admin`.
725
+ * Create a credential profile
726
+ */
727
+ async createCredentialProfileRaw(requestParameters, initOverrides) {
728
+ const requestOptions = await this.createCredentialProfileRequestOpts(requestParameters);
729
+ const response = await this.request(requestOptions, initOverrides);
730
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, CredentialProfileResponse_1.CredentialProfileResponseFromJSON)(jsonValue));
731
+ }
732
+ /**
733
+ * Creates an empty profile, or a copy of `copyFrom`. With `org`, the profile belongs to that organization and only its owners can create it. Needs an API key with `account.admin`.
734
+ * Create a credential profile
735
+ */
736
+ async createCredentialProfile(requestParameters, initOverrides) {
737
+ const response = await this.createCredentialProfileRaw(requestParameters, initOverrides);
738
+ return await response.value();
739
+ }
740
+ /**
741
+ * Creates request options for createDownloadUrl without sending the request
742
+ */
743
+ async createDownloadUrlRequestOpts(input) {
744
+ const requestParameters = runtime.unflattenBody(input, 'fileUrlRequest', ['sandboxId'], []);
745
+ if (requestParameters['sandboxId'] == null) {
746
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling createDownloadUrl().');
747
+ }
748
+ if (requestParameters['fileUrlRequest'] == null) {
749
+ throw new runtime.RequiredError('fileUrlRequest', 'Required parameter "fileUrlRequest" was null or undefined when calling createDownloadUrl().');
750
+ }
751
+ const queryParameters = {};
752
+ const headerParameters = {};
753
+ headerParameters['Content-Type'] = 'application/json';
754
+ if (this.configuration && this.configuration.accessToken) {
755
+ const token = this.configuration.accessToken;
756
+ const tokenString = await token("BoatBearerAuth", []);
757
+ if (tokenString) {
758
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
759
+ }
760
+ }
761
+ let urlPath = `/sandboxes/{sandboxId}/files/download-url`;
762
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
763
+ return {
764
+ path: urlPath,
765
+ method: 'POST',
766
+ headers: headerParameters,
767
+ query: queryParameters,
768
+ body: (0, FileUrlRequest_1.FileUrlRequestToJSON)(requestParameters['fileUrlRequest']),
769
+ };
770
+ }
771
+ /**
772
+ * Returns a short-lived URL that the sandbox serves itself. GET it to download the file as raw bytes, with no size limit and no Authorization header. The URL is bound to this path and expires after `ttlSeconds` (default 15 minutes, at most 1 hour). Needs `file.read`. Treat the URL as a secret until it expires.
773
+ * Get a download URL for a sandbox file
774
+ */
775
+ async createDownloadUrlRaw(requestParameters, initOverrides) {
776
+ const requestOptions = await this.createDownloadUrlRequestOpts(requestParameters);
777
+ const response = await this.request(requestOptions, initOverrides);
778
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileUrlResponse_1.FileUrlResponseFromJSON)(jsonValue));
779
+ }
780
+ /**
781
+ * Returns a short-lived URL that the sandbox serves itself. GET it to download the file as raw bytes, with no size limit and no Authorization header. The URL is bound to this path and expires after `ttlSeconds` (default 15 minutes, at most 1 hour). Needs `file.read`. Treat the URL as a secret until it expires.
782
+ * Get a download URL for a sandbox file
783
+ */
784
+ async createDownloadUrl(requestParameters, initOverrides) {
785
+ const response = await this.createDownloadUrlRaw(requestParameters, initOverrides);
786
+ return await response.value();
787
+ }
678
788
  /**
679
789
  * Creates request options for createEnvironment without sending the request
680
790
  */
681
791
  async createEnvironmentRequestOpts(input) {
682
- const requestParameters = runtime.unflattenBody(input, 'createSandboxEnvironmentRequest', [], []);
792
+ const requestParameters = runtime.unflattenBody(input, 'createSandboxEnvironmentRequest', ['org'], []);
683
793
  if (requestParameters['createSandboxEnvironmentRequest'] == null) {
684
794
  throw new runtime.RequiredError('createSandboxEnvironmentRequest', 'Required parameter "createSandboxEnvironmentRequest" was null or undefined when calling createEnvironment().');
685
795
  }
686
796
  const queryParameters = {};
797
+ if (requestParameters['org'] != null) {
798
+ queryParameters['org'] = requestParameters['org'];
799
+ }
687
800
  const headerParameters = {};
688
801
  headerParameters['Content-Type'] = 'application/json';
689
802
  if (this.configuration && this.configuration.accessToken) {
@@ -805,6 +918,54 @@ class BoatApi extends runtime.BaseAPI {
805
918
  const response = await this.createSnapshotShareRaw(requestParameters, initOverrides);
806
919
  return await response.value();
807
920
  }
921
+ /**
922
+ * Creates request options for createUploadUrl without sending the request
923
+ */
924
+ async createUploadUrlRequestOpts(input) {
925
+ const requestParameters = runtime.unflattenBody(input, 'fileUrlRequest', ['sandboxId'], []);
926
+ if (requestParameters['sandboxId'] == null) {
927
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling createUploadUrl().');
928
+ }
929
+ if (requestParameters['fileUrlRequest'] == null) {
930
+ throw new runtime.RequiredError('fileUrlRequest', 'Required parameter "fileUrlRequest" was null or undefined when calling createUploadUrl().');
931
+ }
932
+ const queryParameters = {};
933
+ const headerParameters = {};
934
+ headerParameters['Content-Type'] = 'application/json';
935
+ if (this.configuration && this.configuration.accessToken) {
936
+ const token = this.configuration.accessToken;
937
+ const tokenString = await token("BoatBearerAuth", []);
938
+ if (tokenString) {
939
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
940
+ }
941
+ }
942
+ let urlPath = `/sandboxes/{sandboxId}/files/upload-url`;
943
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
944
+ return {
945
+ path: urlPath,
946
+ method: 'POST',
947
+ headers: headerParameters,
948
+ query: queryParameters,
949
+ body: (0, FileUrlRequest_1.FileUrlRequestToJSON)(requestParameters['fileUrlRequest']),
950
+ };
951
+ }
952
+ /**
953
+ * Returns a short-lived URL that the sandbox serves itself. PUT the file as the raw request body to write it, with no size limit and no Authorization header. Missing directories are created; an existing file is replaced only once the upload completes. The URL is bound to this path and expires after `ttlSeconds` (default 15 minutes, at most 1 hour). Needs `file.write`. Treat the URL as a secret until it expires.
954
+ * Get an upload URL for a sandbox file
955
+ */
956
+ async createUploadUrlRaw(requestParameters, initOverrides) {
957
+ const requestOptions = await this.createUploadUrlRequestOpts(requestParameters);
958
+ const response = await this.request(requestOptions, initOverrides);
959
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileUrlResponse_1.FileUrlResponseFromJSON)(jsonValue));
960
+ }
961
+ /**
962
+ * Returns a short-lived URL that the sandbox serves itself. PUT the file as the raw request body to write it, with no size limit and no Authorization header. Missing directories are created; an existing file is replaced only once the upload completes. The URL is bound to this path and expires after `ttlSeconds` (default 15 minutes, at most 1 hour). Needs `file.write`. Treat the URL as a secret until it expires.
963
+ * Get an upload URL for a sandbox file
964
+ */
965
+ async createUploadUrl(requestParameters, initOverrides) {
966
+ const response = await this.createUploadUrlRaw(requestParameters, initOverrides);
967
+ return await response.value();
968
+ }
808
969
  /**
809
970
  * Creates request options for createWebhook without sending the request
810
971
  */
@@ -849,6 +1010,140 @@ class BoatApi extends runtime.BaseAPI {
849
1010
  const response = await this.createWebhookRaw(requestParameters, initOverrides);
850
1011
  return await response.value();
851
1012
  }
1013
+ /**
1014
+ * Creates request options for deleteCredentialProfile without sending the request
1015
+ */
1016
+ async deleteCredentialProfileRequestOpts(requestParameters) {
1017
+ if (requestParameters['profile'] == null) {
1018
+ throw new runtime.RequiredError('profile', 'Required parameter "profile" was null or undefined when calling deleteCredentialProfile().');
1019
+ }
1020
+ const queryParameters = {};
1021
+ const headerParameters = {};
1022
+ if (this.configuration && this.configuration.accessToken) {
1023
+ const token = this.configuration.accessToken;
1024
+ const tokenString = await token("BoatBearerAuth", []);
1025
+ if (tokenString) {
1026
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1027
+ }
1028
+ }
1029
+ let urlPath = `/credential-profiles/{profile}`;
1030
+ urlPath = urlPath.replace('{profile}', encodeURIComponent(String(requestParameters['profile'])));
1031
+ return {
1032
+ path: urlPath,
1033
+ method: 'DELETE',
1034
+ headers: headerParameters,
1035
+ query: queryParameters,
1036
+ };
1037
+ }
1038
+ /**
1039
+ * Deletes the profile. A default profile returns `409 is_default`. A profile that an environment names returns `409 in_use`. Needs an API key with `account.admin`.
1040
+ * Delete a credential profile
1041
+ */
1042
+ async deleteCredentialProfileRaw(requestParameters, initOverrides) {
1043
+ const requestOptions = await this.deleteCredentialProfileRequestOpts(requestParameters);
1044
+ const response = await this.request(requestOptions, initOverrides);
1045
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, CredentialProfileDeletedResponse_1.CredentialProfileDeletedResponseFromJSON)(jsonValue));
1046
+ }
1047
+ /**
1048
+ * Deletes the profile. A default profile returns `409 is_default`. A profile that an environment names returns `409 in_use`. Needs an API key with `account.admin`.
1049
+ * Delete a credential profile
1050
+ */
1051
+ async deleteCredentialProfile(requestParameters, initOverrides) {
1052
+ const response = await this.deleteCredentialProfileRaw(requestParameters, initOverrides);
1053
+ return await response.value();
1054
+ }
1055
+ /**
1056
+ * Creates request options for deleteCredentialProfileCustomApi without sending the request
1057
+ */
1058
+ async deleteCredentialProfileCustomApiRequestOpts(requestParameters) {
1059
+ if (requestParameters['profile'] == null) {
1060
+ throw new runtime.RequiredError('profile', 'Required parameter "profile" was null or undefined when calling deleteCredentialProfileCustomApi().');
1061
+ }
1062
+ if (requestParameters['name'] == null) {
1063
+ throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling deleteCredentialProfileCustomApi().');
1064
+ }
1065
+ const queryParameters = {};
1066
+ const headerParameters = {};
1067
+ if (this.configuration && this.configuration.accessToken) {
1068
+ const token = this.configuration.accessToken;
1069
+ const tokenString = await token("BoatBearerAuth", []);
1070
+ if (tokenString) {
1071
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1072
+ }
1073
+ }
1074
+ let urlPath = `/credential-profiles/{profile}/custom-apis/{name}`;
1075
+ urlPath = urlPath.replace('{profile}', encodeURIComponent(String(requestParameters['profile'])));
1076
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
1077
+ return {
1078
+ path: urlPath,
1079
+ method: 'DELETE',
1080
+ headers: headerParameters,
1081
+ query: queryParameters,
1082
+ };
1083
+ }
1084
+ /**
1085
+ * Removes one custom API from the profile. Needs an API key with `account.admin`.
1086
+ * Remove a custom API
1087
+ */
1088
+ async deleteCredentialProfileCustomApiRaw(requestParameters, initOverrides) {
1089
+ const requestOptions = await this.deleteCredentialProfileCustomApiRequestOpts(requestParameters);
1090
+ const response = await this.request(requestOptions, initOverrides);
1091
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, CredentialProfileResponse_1.CredentialProfileResponseFromJSON)(jsonValue));
1092
+ }
1093
+ /**
1094
+ * Removes one custom API from the profile. Needs an API key with `account.admin`.
1095
+ * Remove a custom API
1096
+ */
1097
+ async deleteCredentialProfileCustomApi(requestParameters, initOverrides) {
1098
+ const response = await this.deleteCredentialProfileCustomApiRaw(requestParameters, initOverrides);
1099
+ return await response.value();
1100
+ }
1101
+ /**
1102
+ * Creates request options for deleteCredentialProfileKey without sending the request
1103
+ */
1104
+ async deleteCredentialProfileKeyRequestOpts(requestParameters) {
1105
+ if (requestParameters['profile'] == null) {
1106
+ throw new runtime.RequiredError('profile', 'Required parameter "profile" was null or undefined when calling deleteCredentialProfileKey().');
1107
+ }
1108
+ if (requestParameters['credential'] == null) {
1109
+ throw new runtime.RequiredError('credential', 'Required parameter "credential" was null or undefined when calling deleteCredentialProfileKey().');
1110
+ }
1111
+ const queryParameters = {};
1112
+ const headerParameters = {};
1113
+ if (this.configuration && this.configuration.accessToken) {
1114
+ const token = this.configuration.accessToken;
1115
+ const tokenString = await token("BoatBearerAuth", []);
1116
+ if (tokenString) {
1117
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1118
+ }
1119
+ }
1120
+ let urlPath = `/credential-profiles/{profile}/keys/{credential}`;
1121
+ urlPath = urlPath.replace('{profile}', encodeURIComponent(String(requestParameters['profile'])));
1122
+ urlPath = urlPath.replace('{credential}', encodeURIComponent(String(requestParameters['credential'])));
1123
+ return {
1124
+ path: urlPath,
1125
+ method: 'DELETE',
1126
+ headers: headerParameters,
1127
+ query: queryParameters,
1128
+ };
1129
+ }
1130
+ /**
1131
+ * Removes one credential, an API key or a sign-in. Needs an API key with `account.admin`.
1132
+ * Remove a credential profile credential
1133
+ */
1134
+ async deleteCredentialProfileKeyRaw(requestParameters, initOverrides) {
1135
+ const requestOptions = await this.deleteCredentialProfileKeyRequestOpts(requestParameters);
1136
+ const response = await this.request(requestOptions, initOverrides);
1137
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, CredentialProfileResponse_1.CredentialProfileResponseFromJSON)(jsonValue));
1138
+ }
1139
+ /**
1140
+ * Removes one credential, an API key or a sign-in. Needs an API key with `account.admin`.
1141
+ * Remove a credential profile credential
1142
+ */
1143
+ async deleteCredentialProfileKey(requestParameters, initOverrides) {
1144
+ const response = await this.deleteCredentialProfileKeyRaw(requestParameters, initOverrides);
1145
+ return await response.value();
1146
+ }
852
1147
  /**
853
1148
  * Creates request options for deleteEnvironment without sending the request
854
1149
  */
@@ -857,6 +1152,9 @@ class BoatApi extends runtime.BaseAPI {
857
1152
  throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling deleteEnvironment().');
858
1153
  }
859
1154
  const queryParameters = {};
1155
+ if (requestParameters['org'] != null) {
1156
+ queryParameters['org'] = requestParameters['org'];
1157
+ }
860
1158
  const headerParameters = {};
861
1159
  if (this.configuration && this.configuration.accessToken) {
862
1160
  const token = this.configuration.accessToken;
@@ -902,6 +1200,9 @@ class BoatApi extends runtime.BaseAPI {
902
1200
  throw new runtime.RequiredError('repositoryId', 'Required parameter "repositoryId" was null or undefined when calling deleteEnvironmentRepo().');
903
1201
  }
904
1202
  const queryParameters = {};
1203
+ if (requestParameters['org'] != null) {
1204
+ queryParameters['org'] = requestParameters['org'];
1205
+ }
905
1206
  const headerParameters = {};
906
1207
  if (this.configuration && this.configuration.accessToken) {
907
1208
  const token = this.configuration.accessToken;
@@ -951,6 +1252,9 @@ class BoatApi extends runtime.BaseAPI {
951
1252
  if (requestParameters['path'] != null) {
952
1253
  queryParameters['path'] = requestParameters['path'];
953
1254
  }
1255
+ if (requestParameters['org'] != null) {
1256
+ queryParameters['org'] = requestParameters['org'];
1257
+ }
954
1258
  const headerParameters = {};
955
1259
  if (this.configuration && this.configuration.accessToken) {
956
1260
  const token = this.configuration.accessToken;
@@ -996,6 +1300,9 @@ class BoatApi extends runtime.BaseAPI {
996
1300
  throw new runtime.RequiredError('key', 'Required parameter "key" was null or undefined when calling deleteEnvironmentVar().');
997
1301
  }
998
1302
  const queryParameters = {};
1303
+ if (requestParameters['org'] != null) {
1304
+ queryParameters['org'] = requestParameters['org'];
1305
+ }
999
1306
  const headerParameters = {};
1000
1307
  if (this.configuration && this.configuration.accessToken) {
1001
1308
  const token = this.configuration.accessToken;
@@ -1351,8 +1658,11 @@ class BoatApi extends runtime.BaseAPI {
1351
1658
  /**
1352
1659
  * Creates request options for environments without sending the request
1353
1660
  */
1354
- async environmentsRequestOpts() {
1661
+ async environmentsRequestOpts(requestParameters) {
1355
1662
  const queryParameters = {};
1663
+ if (requestParameters['org'] != null) {
1664
+ queryParameters['org'] = requestParameters['org'];
1665
+ }
1356
1666
  const headerParameters = {};
1357
1667
  if (this.configuration && this.configuration.accessToken) {
1358
1668
  const token = this.configuration.accessToken;
@@ -1373,8 +1683,8 @@ class BoatApi extends runtime.BaseAPI {
1373
1683
  * Returns every non-deleted sandbox environment with its latest-version flags, contents, and per-version sandbox usage. A default environment named `base` is created on first access if none exists.
1374
1684
  * List Sandbox environments
1375
1685
  */
1376
- async environmentsRaw(initOverrides) {
1377
- const requestOptions = await this.environmentsRequestOpts();
1686
+ async environmentsRaw(requestParameters, initOverrides) {
1687
+ const requestOptions = await this.environmentsRequestOpts(requestParameters);
1378
1688
  const response = await this.request(requestOptions, initOverrides);
1379
1689
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, SandboxEnvironmentListResponse_1.SandboxEnvironmentListResponseFromJSON)(jsonValue));
1380
1690
  }
@@ -1382,8 +1692,8 @@ class BoatApi extends runtime.BaseAPI {
1382
1692
  * Returns every non-deleted sandbox environment with its latest-version flags, contents, and per-version sandbox usage. A default environment named `base` is created on first access if none exists.
1383
1693
  * List Sandbox environments
1384
1694
  */
1385
- async environments(initOverrides) {
1386
- const response = await this.environmentsRaw(initOverrides);
1695
+ async environments(requestParameters = {}, initOverrides) {
1696
+ const response = await this.environmentsRaw(requestParameters, initOverrides);
1387
1697
  return await response.value();
1388
1698
  }
1389
1699
  /**
@@ -1533,6 +1843,100 @@ class BoatApi extends runtime.BaseAPI {
1533
1843
  const response = await this.getRaw(requestParameters, initOverrides);
1534
1844
  return await response.value();
1535
1845
  }
1846
+ /**
1847
+ * Creates request options for getAiProxy without sending the request
1848
+ */
1849
+ async getAiProxyRequestOpts(requestParameters) {
1850
+ const queryParameters = {};
1851
+ if (requestParameters['org'] != null) {
1852
+ queryParameters['org'] = requestParameters['org'];
1853
+ }
1854
+ const headerParameters = {};
1855
+ if (requestParameters['xBoatOrg'] != null) {
1856
+ headerParameters['X-Boat-Org'] = String(requestParameters['xBoatOrg']);
1857
+ }
1858
+ if (this.configuration && this.configuration.accessToken) {
1859
+ const token = this.configuration.accessToken;
1860
+ const tokenString = await token("BoatBearerAuth", []);
1861
+ if (tokenString) {
1862
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1863
+ }
1864
+ }
1865
+ let urlPath = `/ai-proxy`;
1866
+ return {
1867
+ path: urlPath,
1868
+ method: 'GET',
1869
+ headers: headerParameters,
1870
+ query: queryParameters,
1871
+ };
1872
+ }
1873
+ /**
1874
+ * Returns the AI credentials proxy switch of the account in scope, a person or an organization, with its price. Needs an API key with `account.admin`.
1875
+ * Get AI credentials proxy
1876
+ */
1877
+ async getAiProxyRaw(requestParameters, initOverrides) {
1878
+ const requestOptions = await this.getAiProxyRequestOpts(requestParameters);
1879
+ const response = await this.request(requestOptions, initOverrides);
1880
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, AiProxySettings_1.AiProxySettingsFromJSON)(jsonValue));
1881
+ }
1882
+ /**
1883
+ * Returns the AI credentials proxy switch of the account in scope, a person or an organization, with its price. Needs an API key with `account.admin`.
1884
+ * Get AI credentials proxy
1885
+ */
1886
+ async getAiProxy(requestParameters = {}, initOverrides) {
1887
+ const response = await this.getAiProxyRaw(requestParameters, initOverrides);
1888
+ return await response.value();
1889
+ }
1890
+ /**
1891
+ * Creates request options for getAiUsage without sending the request
1892
+ */
1893
+ async getAiUsageRequestOpts(requestParameters) {
1894
+ const queryParameters = {};
1895
+ if (requestParameters['days'] != null) {
1896
+ queryParameters['days'] = requestParameters['days'];
1897
+ }
1898
+ if (requestParameters['profile'] != null) {
1899
+ queryParameters['profile'] = requestParameters['profile'];
1900
+ }
1901
+ if (requestParameters['org'] != null) {
1902
+ queryParameters['org'] = requestParameters['org'];
1903
+ }
1904
+ const headerParameters = {};
1905
+ if (requestParameters['xBoatOrg'] != null) {
1906
+ headerParameters['X-Boat-Org'] = String(requestParameters['xBoatOrg']);
1907
+ }
1908
+ if (this.configuration && this.configuration.accessToken) {
1909
+ const token = this.configuration.accessToken;
1910
+ const tokenString = await token("BoatBearerAuth", []);
1911
+ if (tokenString) {
1912
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1913
+ }
1914
+ }
1915
+ let urlPath = `/ai-usage`;
1916
+ return {
1917
+ path: urlPath,
1918
+ method: 'GET',
1919
+ headers: headerParameters,
1920
+ query: queryParameters,
1921
+ };
1922
+ }
1923
+ /**
1924
+ * Proxied AI usage, per sandbox and in total, per UTC day, credential and model. Without `profile`, the usage charged to the wallet in scope. With `profile`, the requests made with that profile\'s credentials, whoever pays; only its managers can read it. Needs an API key with `account.read`.
1925
+ * Get AI usage
1926
+ */
1927
+ async getAiUsageRaw(requestParameters, initOverrides) {
1928
+ const requestOptions = await this.getAiUsageRequestOpts(requestParameters);
1929
+ const response = await this.request(requestOptions, initOverrides);
1930
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, AccountAiUsageResponse_1.AccountAiUsageResponseFromJSON)(jsonValue));
1931
+ }
1932
+ /**
1933
+ * Proxied AI usage, per sandbox and in total, per UTC day, credential and model. Without `profile`, the usage charged to the wallet in scope. With `profile`, the requests made with that profile\'s credentials, whoever pays; only its managers can read it. Needs an API key with `account.read`.
1934
+ * Get AI usage
1935
+ */
1936
+ async getAiUsage(requestParameters = {}, initOverrides) {
1937
+ const response = await this.getAiUsageRaw(requestParameters, initOverrides);
1938
+ return await response.value();
1939
+ }
1536
1940
  /**
1537
1941
  * Creates request options for getCommand without sending the request
1538
1942
  */
@@ -1739,6 +2143,51 @@ class BoatApi extends runtime.BaseAPI {
1739
2143
  const response = await this.getNamedSnapshotRaw(requestParameters, initOverrides);
1740
2144
  return await response.value();
1741
2145
  }
2146
+ /**
2147
+ * Creates request options for getSandboxAiUsage without sending the request
2148
+ */
2149
+ async getSandboxAiUsageRequestOpts(requestParameters) {
2150
+ if (requestParameters['sandboxId'] == null) {
2151
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling getSandboxAiUsage().');
2152
+ }
2153
+ const queryParameters = {};
2154
+ if (requestParameters['days'] != null) {
2155
+ queryParameters['days'] = requestParameters['days'];
2156
+ }
2157
+ const headerParameters = {};
2158
+ if (this.configuration && this.configuration.accessToken) {
2159
+ const token = this.configuration.accessToken;
2160
+ const tokenString = await token("BoatBearerAuth", []);
2161
+ if (tokenString) {
2162
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2163
+ }
2164
+ }
2165
+ let urlPath = `/sandboxes/{sandboxId}/ai-usage`;
2166
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2167
+ return {
2168
+ path: urlPath,
2169
+ method: 'GET',
2170
+ headers: headerParameters,
2171
+ query: queryParameters,
2172
+ };
2173
+ }
2174
+ /**
2175
+ * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `box.read` on the sandbox.
2176
+ * Get sandbox AI usage
2177
+ */
2178
+ async getSandboxAiUsageRaw(requestParameters, initOverrides) {
2179
+ const requestOptions = await this.getSandboxAiUsageRequestOpts(requestParameters);
2180
+ const response = await this.request(requestOptions, initOverrides);
2181
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, SandboxAiUsageResponse_1.SandboxAiUsageResponseFromJSON)(jsonValue));
2182
+ }
2183
+ /**
2184
+ * One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `box.read` on the sandbox.
2185
+ * Get sandbox AI usage
2186
+ */
2187
+ async getSandboxAiUsage(requestParameters, initOverrides) {
2188
+ const response = await this.getSandboxAiUsageRaw(requestParameters, initOverrides);
2189
+ return await response.value();
2190
+ }
1742
2191
  /**
1743
2192
  * Creates request options for getSnapshotDownload without sending the request
1744
2193
  */
@@ -2134,6 +2583,44 @@ class BoatApi extends runtime.BaseAPI {
2134
2583
  const response = await this.limitsRaw(requestParameters, initOverrides);
2135
2584
  return await response.value();
2136
2585
  }
2586
+ /**
2587
+ * Creates request options for listCredentialProfiles without sending the request
2588
+ */
2589
+ async listCredentialProfilesRequestOpts() {
2590
+ const queryParameters = {};
2591
+ const headerParameters = {};
2592
+ if (this.configuration && this.configuration.accessToken) {
2593
+ const token = this.configuration.accessToken;
2594
+ const tokenString = await token("BoatBearerAuth", []);
2595
+ if (tokenString) {
2596
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2597
+ }
2598
+ }
2599
+ let urlPath = `/credential-profiles`;
2600
+ return {
2601
+ path: urlPath,
2602
+ method: 'GET',
2603
+ headers: headerParameters,
2604
+ query: queryParameters,
2605
+ };
2606
+ }
2607
+ /**
2608
+ * Returns every AI credential profile you can use, yours and your organizations\'. Secret values are never returned. Needs an API key with `account.admin`.
2609
+ * List credential profiles
2610
+ */
2611
+ async listCredentialProfilesRaw(initOverrides) {
2612
+ const requestOptions = await this.listCredentialProfilesRequestOpts();
2613
+ const response = await this.request(requestOptions, initOverrides);
2614
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, CredentialProfileListResponse_1.CredentialProfileListResponseFromJSON)(jsonValue));
2615
+ }
2616
+ /**
2617
+ * Returns every AI credential profile you can use, yours and your organizations\'. Secret values are never returned. Needs an API key with `account.admin`.
2618
+ * List credential profiles
2619
+ */
2620
+ async listCredentialProfiles(initOverrides) {
2621
+ const response = await this.listCredentialProfilesRaw(initOverrides);
2622
+ return await response.value();
2623
+ }
2137
2624
  /**
2138
2625
  * Creates request options for listNamedSnapshots without sending the request
2139
2626
  */
@@ -2597,7 +3084,7 @@ class BoatApi extends runtime.BaseAPI {
2597
3084
  };
2598
3085
  }
2599
3086
  /**
2600
- * Files up to 5 MiB. Use `GET /sandboxes/{sandboxId}/artifacts` for files up to 50 MiB, and SCP over SSH for larger ones.
3087
+ * Files up to 5 MiB. For a larger file, use `POST /sandboxes/{sandboxId}/files/download-url`.
2601
3088
  * Read a file from a sandbox
2602
3089
  */
2603
3090
  async readFileRaw(requestParameters, initOverrides) {
@@ -2606,7 +3093,7 @@ class BoatApi extends runtime.BaseAPI {
2606
3093
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileReadResponse_1.FileReadResponseFromJSON)(jsonValue));
2607
3094
  }
2608
3095
  /**
2609
- * Files up to 5 MiB. Use `GET /sandboxes/{sandboxId}/artifacts` for files up to 50 MiB, and SCP over SSH for larger ones.
3096
+ * Files up to 5 MiB. For a larger file, use `POST /sandboxes/{sandboxId}/files/download-url`.
2610
3097
  * Read a file from a sandbox
2611
3098
  */
2612
3099
  async readFile(requestParameters, initOverrides) {
@@ -3152,11 +3639,115 @@ class BoatApi extends runtime.BaseAPI {
3152
3639
  const response = await this.setActiveOrganizationRaw(requestParameters, initOverrides);
3153
3640
  return await response.value();
3154
3641
  }
3642
+ /**
3643
+ * Creates request options for setCredentialProfileCustomApi without sending the request
3644
+ */
3645
+ async setCredentialProfileCustomApiRequestOpts(input) {
3646
+ const requestParameters = runtime.unflattenBody(input, 'setCustomApiRequest', ['profile', 'name'], []);
3647
+ if (requestParameters['profile'] == null) {
3648
+ throw new runtime.RequiredError('profile', 'Required parameter "profile" was null or undefined when calling setCredentialProfileCustomApi().');
3649
+ }
3650
+ if (requestParameters['name'] == null) {
3651
+ throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling setCredentialProfileCustomApi().');
3652
+ }
3653
+ if (requestParameters['setCustomApiRequest'] == null) {
3654
+ throw new runtime.RequiredError('setCustomApiRequest', 'Required parameter "setCustomApiRequest" was null or undefined when calling setCredentialProfileCustomApi().');
3655
+ }
3656
+ const queryParameters = {};
3657
+ const headerParameters = {};
3658
+ headerParameters['Content-Type'] = 'application/json';
3659
+ if (this.configuration && this.configuration.accessToken) {
3660
+ const token = this.configuration.accessToken;
3661
+ const tokenString = await token("BoatBearerAuth", []);
3662
+ if (tokenString) {
3663
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3664
+ }
3665
+ }
3666
+ let urlPath = `/credential-profiles/{profile}/custom-apis/{name}`;
3667
+ urlPath = urlPath.replace('{profile}', encodeURIComponent(String(requestParameters['profile'])));
3668
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
3669
+ return {
3670
+ path: urlPath,
3671
+ method: 'PUT',
3672
+ headers: headerParameters,
3673
+ query: queryParameters,
3674
+ body: (0, SetCustomApiRequest_1.SetCustomApiRequestToJSON)(requestParameters['setCustomApiRequest']),
3675
+ };
3676
+ }
3677
+ /**
3678
+ * Adds or replaces one custom API. The sandbox gets `<NAME>` and `<NAME>_BASE_URL`. Needs an API key with `account.admin`.
3679
+ * Set a custom API
3680
+ */
3681
+ async setCredentialProfileCustomApiRaw(requestParameters, initOverrides) {
3682
+ const requestOptions = await this.setCredentialProfileCustomApiRequestOpts(requestParameters);
3683
+ const response = await this.request(requestOptions, initOverrides);
3684
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, CredentialProfileResponse_1.CredentialProfileResponseFromJSON)(jsonValue));
3685
+ }
3686
+ /**
3687
+ * Adds or replaces one custom API. The sandbox gets `<NAME>` and `<NAME>_BASE_URL`. Needs an API key with `account.admin`.
3688
+ * Set a custom API
3689
+ */
3690
+ async setCredentialProfileCustomApi(requestParameters, initOverrides) {
3691
+ const response = await this.setCredentialProfileCustomApiRaw(requestParameters, initOverrides);
3692
+ return await response.value();
3693
+ }
3694
+ /**
3695
+ * Creates request options for setCredentialProfileKey without sending the request
3696
+ */
3697
+ async setCredentialProfileKeyRequestOpts(input) {
3698
+ const requestParameters = runtime.unflattenBody(input, 'setCredentialKeyRequest', ['profile', 'credential'], []);
3699
+ if (requestParameters['profile'] == null) {
3700
+ throw new runtime.RequiredError('profile', 'Required parameter "profile" was null or undefined when calling setCredentialProfileKey().');
3701
+ }
3702
+ if (requestParameters['credential'] == null) {
3703
+ throw new runtime.RequiredError('credential', 'Required parameter "credential" was null or undefined when calling setCredentialProfileKey().');
3704
+ }
3705
+ if (requestParameters['setCredentialKeyRequest'] == null) {
3706
+ throw new runtime.RequiredError('setCredentialKeyRequest', 'Required parameter "setCredentialKeyRequest" was null or undefined when calling setCredentialProfileKey().');
3707
+ }
3708
+ const queryParameters = {};
3709
+ const headerParameters = {};
3710
+ headerParameters['Content-Type'] = 'application/json';
3711
+ if (this.configuration && this.configuration.accessToken) {
3712
+ const token = this.configuration.accessToken;
3713
+ const tokenString = await token("BoatBearerAuth", []);
3714
+ if (tokenString) {
3715
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3716
+ }
3717
+ }
3718
+ let urlPath = `/credential-profiles/{profile}/keys/{credential}`;
3719
+ urlPath = urlPath.replace('{profile}', encodeURIComponent(String(requestParameters['profile'])));
3720
+ urlPath = urlPath.replace('{credential}', encodeURIComponent(String(requestParameters['credential'])));
3721
+ return {
3722
+ path: urlPath,
3723
+ method: 'PUT',
3724
+ headers: headerParameters,
3725
+ query: queryParameters,
3726
+ body: (0, SetCredentialKeyRequest_1.SetCredentialKeyRequestToJSON)(requestParameters['setCredentialKeyRequest']),
3727
+ };
3728
+ }
3729
+ /**
3730
+ * Sets one API key. A sign-in id returns `400 not_an_api_key`; connect sign-ins on the dashboard Agents page. Running sandboxes that use the profile get the new key. Needs an API key with `account.admin`.
3731
+ * Set a credential profile API key
3732
+ */
3733
+ async setCredentialProfileKeyRaw(requestParameters, initOverrides) {
3734
+ const requestOptions = await this.setCredentialProfileKeyRequestOpts(requestParameters);
3735
+ const response = await this.request(requestOptions, initOverrides);
3736
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, CredentialProfileResponse_1.CredentialProfileResponseFromJSON)(jsonValue));
3737
+ }
3738
+ /**
3739
+ * Sets one API key. A sign-in id returns `400 not_an_api_key`; connect sign-ins on the dashboard Agents page. Running sandboxes that use the profile get the new key. Needs an API key with `account.admin`.
3740
+ * Set a credential profile API key
3741
+ */
3742
+ async setCredentialProfileKey(requestParameters, initOverrides) {
3743
+ const response = await this.setCredentialProfileKeyRaw(requestParameters, initOverrides);
3744
+ return await response.value();
3745
+ }
3155
3746
  /**
3156
3747
  * Creates request options for setEnvironmentSecretFile without sending the request
3157
3748
  */
3158
3749
  async setEnvironmentSecretFileRequestOpts(input) {
3159
- const requestParameters = runtime.unflattenBody(input, 'setEnvironmentSecretFileRequest', ['environmentId'], []);
3750
+ const requestParameters = runtime.unflattenBody(input, 'setEnvironmentSecretFileRequest', ['environmentId', 'org'], []);
3160
3751
  if (requestParameters['environmentId'] == null) {
3161
3752
  throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling setEnvironmentSecretFile().');
3162
3753
  }
@@ -3164,6 +3755,9 @@ class BoatApi extends runtime.BaseAPI {
3164
3755
  throw new runtime.RequiredError('setEnvironmentSecretFileRequest', 'Required parameter "setEnvironmentSecretFileRequest" was null or undefined when calling setEnvironmentSecretFile().');
3165
3756
  }
3166
3757
  const queryParameters = {};
3758
+ if (requestParameters['org'] != null) {
3759
+ queryParameters['org'] = requestParameters['org'];
3760
+ }
3167
3761
  const headerParameters = {};
3168
3762
  headerParameters['Content-Type'] = 'application/json';
3169
3763
  if (this.configuration && this.configuration.accessToken) {
@@ -3204,7 +3798,7 @@ class BoatApi extends runtime.BaseAPI {
3204
3798
  * Creates request options for setEnvironmentVar without sending the request
3205
3799
  */
3206
3800
  async setEnvironmentVarRequestOpts(input) {
3207
- const requestParameters = runtime.unflattenBody(input, 'setEnvironmentVarRequest', ['environmentId', 'key'], []);
3801
+ const requestParameters = runtime.unflattenBody(input, 'setEnvironmentVarRequest', ['environmentId', 'key', 'org'], []);
3208
3802
  if (requestParameters['environmentId'] == null) {
3209
3803
  throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling setEnvironmentVar().');
3210
3804
  }
@@ -3215,6 +3809,9 @@ class BoatApi extends runtime.BaseAPI {
3215
3809
  throw new runtime.RequiredError('setEnvironmentVarRequest', 'Required parameter "setEnvironmentVarRequest" was null or undefined when calling setEnvironmentVar().');
3216
3810
  }
3217
3811
  const queryParameters = {};
3812
+ if (requestParameters['org'] != null) {
3813
+ queryParameters['org'] = requestParameters['org'];
3814
+ }
3218
3815
  const headerParameters = {};
3219
3816
  headerParameters['Content-Type'] = 'application/json';
3220
3817
  if (this.configuration && this.configuration.accessToken) {
@@ -3252,6 +3849,54 @@ class BoatApi extends runtime.BaseAPI {
3252
3849
  const response = await this.setEnvironmentVarRaw(requestParameters, initOverrides);
3253
3850
  return await response.value();
3254
3851
  }
3852
+ /**
3853
+ * Creates request options for setSandboxAiAccess without sending the request
3854
+ */
3855
+ async setSandboxAiAccessRequestOpts(input) {
3856
+ const requestParameters = runtime.unflattenBody(input, 'setSandboxAiAccessRequest', ['sandboxId'], []);
3857
+ if (requestParameters['sandboxId'] == null) {
3858
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling setSandboxAiAccess().');
3859
+ }
3860
+ if (requestParameters['setSandboxAiAccessRequest'] == null) {
3861
+ throw new runtime.RequiredError('setSandboxAiAccessRequest', 'Required parameter "setSandboxAiAccessRequest" was null or undefined when calling setSandboxAiAccess().');
3862
+ }
3863
+ const queryParameters = {};
3864
+ const headerParameters = {};
3865
+ headerParameters['Content-Type'] = 'application/json';
3866
+ if (this.configuration && this.configuration.accessToken) {
3867
+ const token = this.configuration.accessToken;
3868
+ const tokenString = await token("BoatBearerAuth", []);
3869
+ if (tokenString) {
3870
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
3871
+ }
3872
+ }
3873
+ let urlPath = `/sandboxes/{sandboxId}/ai-access`;
3874
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
3875
+ return {
3876
+ path: urlPath,
3877
+ method: 'PUT',
3878
+ headers: headerParameters,
3879
+ query: queryParameters,
3880
+ body: (0, SetSandboxAiAccessRequest_1.SetSandboxAiAccessRequestToJSON)(requestParameters['setSandboxAiAccessRequest']),
3881
+ };
3882
+ }
3883
+ /**
3884
+ * Blocks or unblocks the sandbox\'s AI placeholders, running or stopped. The proxy refuses a blocked sandbox\'s requests with `403`. It has no effect on a sandbox that holds real keys. The sandbox creator, or a manager of its credential profile, can call it. Needs an API key with `account.admin`.
3885
+ * Block or unblock sandbox AI access
3886
+ */
3887
+ async setSandboxAiAccessRaw(requestParameters, initOverrides) {
3888
+ const requestOptions = await this.setSandboxAiAccessRequestOpts(requestParameters);
3889
+ const response = await this.request(requestOptions, initOverrides);
3890
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, SandboxAiAccessResponse_1.SandboxAiAccessResponseFromJSON)(jsonValue));
3891
+ }
3892
+ /**
3893
+ * Blocks or unblocks the sandbox\'s AI placeholders, running or stopped. The proxy refuses a blocked sandbox\'s requests with `403`. It has no effect on a sandbox that holds real keys. The sandbox creator, or a manager of its credential profile, can call it. Needs an API key with `account.admin`.
3894
+ * Block or unblock sandbox AI access
3895
+ */
3896
+ async setSandboxAiAccess(requestParameters, initOverrides) {
3897
+ const response = await this.setSandboxAiAccessRaw(requestParameters, initOverrides);
3898
+ return await response.value();
3899
+ }
3255
3900
  /**
3256
3901
  * Creates request options for setTelemetry without sending the request
3257
3902
  */
@@ -3574,6 +4219,104 @@ class BoatApi extends runtime.BaseAPI {
3574
4219
  const response = await this.updateRaw(requestParameters, initOverrides);
3575
4220
  return await response.value();
3576
4221
  }
4222
+ /**
4223
+ * Creates request options for updateAiProxy without sending the request
4224
+ */
4225
+ async updateAiProxyRequestOpts(input) {
4226
+ const requestParameters = runtime.unflattenBody(input, 'updateAiProxyRequest', ['org', 'xBoatOrg'], []);
4227
+ if (requestParameters['updateAiProxyRequest'] == null) {
4228
+ throw new runtime.RequiredError('updateAiProxyRequest', 'Required parameter "updateAiProxyRequest" was null or undefined when calling updateAiProxy().');
4229
+ }
4230
+ const queryParameters = {};
4231
+ if (requestParameters['org'] != null) {
4232
+ queryParameters['org'] = requestParameters['org'];
4233
+ }
4234
+ const headerParameters = {};
4235
+ headerParameters['Content-Type'] = 'application/json';
4236
+ if (requestParameters['xBoatOrg'] != null) {
4237
+ headerParameters['X-Boat-Org'] = String(requestParameters['xBoatOrg']);
4238
+ }
4239
+ if (this.configuration && this.configuration.accessToken) {
4240
+ const token = this.configuration.accessToken;
4241
+ const tokenString = await token("BoatBearerAuth", []);
4242
+ if (tokenString) {
4243
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4244
+ }
4245
+ }
4246
+ let urlPath = `/ai-proxy`;
4247
+ return {
4248
+ path: urlPath,
4249
+ method: 'PUT',
4250
+ headers: headerParameters,
4251
+ query: queryParameters,
4252
+ body: (0, UpdateAiProxyRequest_1.UpdateAiProxyRequestToJSON)(requestParameters['updateAiProxyRequest']),
4253
+ };
4254
+ }
4255
+ /**
4256
+ * 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`.
4257
+ * Turn the AI credentials proxy on or off
4258
+ */
4259
+ async updateAiProxyRaw(requestParameters, initOverrides) {
4260
+ const requestOptions = await this.updateAiProxyRequestOpts(requestParameters);
4261
+ const response = await this.request(requestOptions, initOverrides);
4262
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, AiProxySettings_1.AiProxySettingsFromJSON)(jsonValue));
4263
+ }
4264
+ /**
4265
+ * 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`.
4266
+ * Turn the AI credentials proxy on or off
4267
+ */
4268
+ async updateAiProxy(requestParameters, initOverrides) {
4269
+ const response = await this.updateAiProxyRaw(requestParameters, initOverrides);
4270
+ return await response.value();
4271
+ }
4272
+ /**
4273
+ * Creates request options for updateCredentialProfile without sending the request
4274
+ */
4275
+ async updateCredentialProfileRequestOpts(input) {
4276
+ const requestParameters = runtime.unflattenBody(input, 'updateCredentialProfileRequest', ['profile'], []);
4277
+ if (requestParameters['profile'] == null) {
4278
+ throw new runtime.RequiredError('profile', 'Required parameter "profile" was null or undefined when calling updateCredentialProfile().');
4279
+ }
4280
+ if (requestParameters['updateCredentialProfileRequest'] == null) {
4281
+ throw new runtime.RequiredError('updateCredentialProfileRequest', 'Required parameter "updateCredentialProfileRequest" was null or undefined when calling updateCredentialProfile().');
4282
+ }
4283
+ const queryParameters = {};
4284
+ const headerParameters = {};
4285
+ headerParameters['Content-Type'] = 'application/json';
4286
+ if (this.configuration && this.configuration.accessToken) {
4287
+ const token = this.configuration.accessToken;
4288
+ const tokenString = await token("BoatBearerAuth", []);
4289
+ if (tokenString) {
4290
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
4291
+ }
4292
+ }
4293
+ let urlPath = `/credential-profiles/{profile}`;
4294
+ urlPath = urlPath.replace('{profile}', encodeURIComponent(String(requestParameters['profile'])));
4295
+ return {
4296
+ path: urlPath,
4297
+ method: 'PUT',
4298
+ headers: headerParameters,
4299
+ query: queryParameters,
4300
+ body: (0, UpdateCredentialProfileRequest_1.UpdateCredentialProfileRequestToJSON)(requestParameters['updateCredentialProfileRequest']),
4301
+ };
4302
+ }
4303
+ /**
4304
+ * Renames the profile, or makes it its owner\'s default. Sandboxes that use the owner\'s default switch to the new default at their next start. Needs an API key with `account.admin`.
4305
+ * Update a credential profile
4306
+ */
4307
+ async updateCredentialProfileRaw(requestParameters, initOverrides) {
4308
+ const requestOptions = await this.updateCredentialProfileRequestOpts(requestParameters);
4309
+ const response = await this.request(requestOptions, initOverrides);
4310
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, CredentialProfileResponse_1.CredentialProfileResponseFromJSON)(jsonValue));
4311
+ }
4312
+ /**
4313
+ * Renames the profile, or makes it its owner\'s default. Sandboxes that use the owner\'s default switch to the new default at their next start. Needs an API key with `account.admin`.
4314
+ * Update a credential profile
4315
+ */
4316
+ async updateCredentialProfile(requestParameters, initOverrides) {
4317
+ const response = await this.updateCredentialProfileRaw(requestParameters, initOverrides);
4318
+ return await response.value();
4319
+ }
3577
4320
  /**
3578
4321
  * Creates request options for updateDataRetention without sending the request
3579
4322
  */
@@ -3622,7 +4365,7 @@ class BoatApi extends runtime.BaseAPI {
3622
4365
  * Creates request options for updateEnvironment without sending the request
3623
4366
  */
3624
4367
  async updateEnvironmentRequestOpts(input) {
3625
- const requestParameters = runtime.unflattenBody(input, 'updateSandboxEnvironmentRequest', ['environmentId'], []);
4368
+ const requestParameters = runtime.unflattenBody(input, 'updateSandboxEnvironmentRequest', ['environmentId', 'org'], []);
3626
4369
  if (requestParameters['environmentId'] == null) {
3627
4370
  throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling updateEnvironment().');
3628
4371
  }
@@ -3630,6 +4373,9 @@ class BoatApi extends runtime.BaseAPI {
3630
4373
  throw new runtime.RequiredError('updateSandboxEnvironmentRequest', 'Required parameter "updateSandboxEnvironmentRequest" was null or undefined when calling updateEnvironment().');
3631
4374
  }
3632
4375
  const queryParameters = {};
4376
+ if (requestParameters['org'] != null) {
4377
+ queryParameters['org'] = requestParameters['org'];
4378
+ }
3633
4379
  const headerParameters = {};
3634
4380
  headerParameters['Content-Type'] = 'application/json';
3635
4381
  if (this.configuration && this.configuration.accessToken) {
@@ -3760,11 +4506,14 @@ class BoatApi extends runtime.BaseAPI {
3760
4506
  * Creates request options for upgradeEnvironment without sending the request
3761
4507
  */
3762
4508
  async upgradeEnvironmentRequestOpts(input) {
3763
- const requestParameters = runtime.unflattenBody(input, 'upgradeSandboxEnvironmentRequest', ['environmentId'], []);
4509
+ const requestParameters = runtime.unflattenBody(input, 'upgradeSandboxEnvironmentRequest', ['environmentId', 'org'], []);
3764
4510
  if (requestParameters['environmentId'] == null) {
3765
4511
  throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling upgradeEnvironment().');
3766
4512
  }
3767
4513
  const queryParameters = {};
4514
+ if (requestParameters['org'] != null) {
4515
+ queryParameters['org'] = requestParameters['org'];
4516
+ }
3768
4517
  const headerParameters = {};
3769
4518
  headerParameters['Content-Type'] = 'application/json';
3770
4519
  if (this.configuration && this.configuration.accessToken) {
@@ -3881,7 +4630,7 @@ class BoatApi extends runtime.BaseAPI {
3881
4630
  };
3882
4631
  }
3883
4632
  /**
3884
- * Files up to 5 MiB after decoding. Use SCP over SSH for larger files.
4633
+ * Files up to 5 MiB after decoding. For a larger file, use `POST /sandboxes/{sandboxId}/files/upload-url`.
3885
4634
  * Write a file in a sandbox
3886
4635
  */
3887
4636
  async writeFileRaw(requestParameters, initOverrides) {
@@ -3890,7 +4639,7 @@ class BoatApi extends runtime.BaseAPI {
3890
4639
  return new runtime.JSONApiResponse(response, (jsonValue) => (0, FileWriteResponse_1.FileWriteResponseFromJSON)(jsonValue));
3891
4640
  }
3892
4641
  /**
3893
- * Files up to 5 MiB after decoding. Use SCP over SSH for larger files.
4642
+ * Files up to 5 MiB after decoding. For a larger file, use `POST /sandboxes/{sandboxId}/files/upload-url`.
3894
4643
  * Write a file in a sandbox
3895
4644
  */
3896
4645
  async writeFile(requestParameters, initOverrides) {