@boatdev/sdk 1.0.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 (777) hide show
  1. package/.openapi-generator/FILES +259 -0
  2. package/.openapi-generator/VERSION +1 -0
  3. package/.openapi-generator-ignore +23 -0
  4. package/LICENSE +21 -0
  5. package/README.md +151 -0
  6. package/dist/apis/BoatApi.d.ts +1275 -0
  7. package/dist/apis/BoatApi.js +3084 -0
  8. package/dist/apis/index.d.ts +1 -0
  9. package/dist/apis/index.js +19 -0
  10. package/dist/boat-helpers.d.ts +56 -0
  11. package/dist/boat-helpers.js +176 -0
  12. package/dist/esm/apis/BoatApi.d.ts +1275 -0
  13. package/dist/esm/apis/BoatApi.js +3047 -0
  14. package/dist/esm/apis/index.d.ts +1 -0
  15. package/dist/esm/apis/index.js +3 -0
  16. package/dist/esm/boat-helpers.d.ts +56 -0
  17. package/dist/esm/boat-helpers.js +163 -0
  18. package/dist/esm/index.d.ts +4 -0
  19. package/dist/esm/index.js +6 -0
  20. package/dist/esm/models/AddEnvironmentRepoRequest.d.ts +38 -0
  21. package/dist/esm/models/AddEnvironmentRepoRequest.js +45 -0
  22. package/dist/esm/models/ApiKey.d.ts +121 -0
  23. package/dist/esm/models/ApiKey.js +97 -0
  24. package/dist/esm/models/ApiKeyCatalog.d.ts +65 -0
  25. package/dist/esm/models/ApiKeyCatalog.js +62 -0
  26. package/dist/esm/models/ApiKeyCatalogScopeResources.d.ts +39 -0
  27. package/dist/esm/models/ApiKeyCatalogScopeResources.js +48 -0
  28. package/dist/esm/models/ApiKeyCreatedResource.d.ts +64 -0
  29. package/dist/esm/models/ApiKeyCreatedResource.js +66 -0
  30. package/dist/esm/models/ApiKeyRequestUsage.d.ts +45 -0
  31. package/dist/esm/models/ApiKeyRequestUsage.js +53 -0
  32. package/dist/esm/models/ApiKeyResourceTotals.d.ts +44 -0
  33. package/dist/esm/models/ApiKeyResourceTotals.js +51 -0
  34. package/dist/esm/models/ApiKeyRevokeResponse.d.ts +45 -0
  35. package/dist/esm/models/ApiKeyRevokeResponse.js +52 -0
  36. package/dist/esm/models/ApiKeyScope.d.ts +57 -0
  37. package/dist/esm/models/ApiKeyScope.js +50 -0
  38. package/dist/esm/models/ApiKeyScopeResource.d.ts +50 -0
  39. package/dist/esm/models/ApiKeyScopeResource.js +55 -0
  40. package/dist/esm/models/ApiKeyScopeSandboxes.d.ts +21 -0
  41. package/dist/esm/models/ApiKeyScopeSandboxes.js +47 -0
  42. package/dist/esm/models/ApiKeySecretResponse.d.ts +57 -0
  43. package/dist/esm/models/ApiKeySecretResponse.js +60 -0
  44. package/dist/esm/models/ApiKeyUsageResponse.d.ts +140 -0
  45. package/dist/esm/models/ApiKeyUsageResponse.js +110 -0
  46. package/dist/esm/models/ApiKeysResponse.d.ts +52 -0
  47. package/dist/esm/models/ApiKeysResponse.js +57 -0
  48. package/dist/esm/models/Command200Response.d.ts +23 -0
  49. package/dist/esm/models/Command200Response.js +51 -0
  50. package/dist/esm/models/CommandRequest.d.ts +50 -0
  51. package/dist/esm/models/CommandRequest.js +49 -0
  52. package/dist/esm/models/CommandResponse.d.ts +111 -0
  53. package/dist/esm/models/CommandResponse.js +85 -0
  54. package/dist/esm/models/CommandStartedResponse.d.ts +93 -0
  55. package/dist/esm/models/CommandStartedResponse.js +79 -0
  56. package/dist/esm/models/CommandStatusResponse.d.ts +162 -0
  57. package/dist/esm/models/CommandStatusResponse.js +111 -0
  58. package/dist/esm/models/CompletionEvent.d.ts +65 -0
  59. package/dist/esm/models/CompletionEvent.js +63 -0
  60. package/dist/esm/models/Conversation.d.ts +80 -0
  61. package/dist/esm/models/Conversation.js +75 -0
  62. package/dist/esm/models/ConversationsResponse.d.ts +58 -0
  63. package/dist/esm/models/ConversationsResponse.js +62 -0
  64. package/dist/esm/models/CreateSandboxEnvironmentRequest.d.ts +32 -0
  65. package/dist/esm/models/CreateSandboxEnvironmentRequest.js +43 -0
  66. package/dist/esm/models/CreateSandboxRequest.d.ts +92 -0
  67. package/dist/esm/models/CreateSandboxRequest.js +66 -0
  68. package/dist/esm/models/CreateSandboxResponse.d.ts +71 -0
  69. package/dist/esm/models/CreateSandboxResponse.js +72 -0
  70. package/dist/esm/models/CreateScopedApiKey503Response.d.ts +58 -0
  71. package/dist/esm/models/CreateScopedApiKey503Response.js +63 -0
  72. package/dist/esm/models/CreateScopedApiKeyRequest.d.ts +72 -0
  73. package/dist/esm/models/CreateScopedApiKeyRequest.js +60 -0
  74. package/dist/esm/models/DataRetentionPolicyResponse.d.ts +70 -0
  75. package/dist/esm/models/DataRetentionPolicyResponse.js +66 -0
  76. package/dist/esm/models/DataRetentionUpdateRequest.d.ts +45 -0
  77. package/dist/esm/models/DataRetentionUpdateRequest.js +51 -0
  78. package/dist/esm/models/DeletionOperation.d.ts +101 -0
  79. package/dist/esm/models/DeletionOperation.js +95 -0
  80. package/dist/esm/models/DeletionOperationResponse.d.ts +54 -0
  81. package/dist/esm/models/DeletionOperationResponse.js +60 -0
  82. package/dist/esm/models/DesktopRequest.d.ts +33 -0
  83. package/dist/esm/models/DesktopRequest.js +43 -0
  84. package/dist/esm/models/DesktopResponse.d.ts +74 -0
  85. package/dist/esm/models/DesktopResponse.js +59 -0
  86. package/dist/esm/models/EnvironmentItemChangeResponse.d.ts +44 -0
  87. package/dist/esm/models/EnvironmentItemChangeResponse.js +47 -0
  88. package/dist/esm/models/ErrorEnvelope.d.ts +69 -0
  89. package/dist/esm/models/ErrorEnvelope.js +68 -0
  90. package/dist/esm/models/ErrorEnvelopeError.d.ts +52 -0
  91. package/dist/esm/models/ErrorEnvelopeError.js +53 -0
  92. package/dist/esm/models/ErrorEvent.d.ts +65 -0
  93. package/dist/esm/models/ErrorEvent.js +63 -0
  94. package/dist/esm/models/EventsResponse.d.ts +65 -0
  95. package/dist/esm/models/EventsResponse.js +65 -0
  96. package/dist/esm/models/FileReadResponse.d.ts +83 -0
  97. package/dist/esm/models/FileReadResponse.js +80 -0
  98. package/dist/esm/models/FileWriteRequest.d.ts +52 -0
  99. package/dist/esm/models/FileWriteRequest.js +56 -0
  100. package/dist/esm/models/FileWriteResponse.d.ts +77 -0
  101. package/dist/esm/models/FileWriteResponse.js +76 -0
  102. package/dist/esm/models/ForkRequest.d.ts +68 -0
  103. package/dist/esm/models/ForkRequest.js +58 -0
  104. package/dist/esm/models/HostPortRequest.d.ts +44 -0
  105. package/dist/esm/models/HostPortRequest.js +47 -0
  106. package/dist/esm/models/HostPortResponse.d.ts +76 -0
  107. package/dist/esm/models/HostPortResponse.js +64 -0
  108. package/dist/esm/models/LimitsFields.d.ts +262 -0
  109. package/dist/esm/models/LimitsFields.js +128 -0
  110. package/dist/esm/models/LimitsFieldsCurrentLimits.d.ts +45 -0
  111. package/dist/esm/models/LimitsFieldsCurrentLimits.js +47 -0
  112. package/dist/esm/models/LimitsFieldsStartLimits.d.ts +44 -0
  113. package/dist/esm/models/LimitsFieldsStartLimits.js +45 -0
  114. package/dist/esm/models/LimitsFieldsStarts.d.ts +51 -0
  115. package/dist/esm/models/LimitsFieldsStarts.js +48 -0
  116. package/dist/esm/models/LimitsResponse.d.ts +273 -0
  117. package/dist/esm/models/LimitsResponse.js +134 -0
  118. package/dist/esm/models/MeResponse.d.ts +52 -0
  119. package/dist/esm/models/MeResponse.js +58 -0
  120. package/dist/esm/models/MeResponseAllOfUser.d.ts +50 -0
  121. package/dist/esm/models/MeResponseAllOfUser.js +47 -0
  122. package/dist/esm/models/NamedSnapshot.d.ts +83 -0
  123. package/dist/esm/models/NamedSnapshot.js +71 -0
  124. package/dist/esm/models/NamedSnapshotDeletedResponse.d.ts +64 -0
  125. package/dist/esm/models/NamedSnapshotDeletedResponse.js +67 -0
  126. package/dist/esm/models/NamedSnapshotInfoResponse.d.ts +52 -0
  127. package/dist/esm/models/NamedSnapshotInfoResponse.js +58 -0
  128. package/dist/esm/models/NamedSnapshotListResponse.d.ts +52 -0
  129. package/dist/esm/models/NamedSnapshotListResponse.js +58 -0
  130. package/dist/esm/models/NamedSnapshotSaveRequest.d.ts +38 -0
  131. package/dist/esm/models/NamedSnapshotSaveRequest.js +47 -0
  132. package/dist/esm/models/NamedSnapshotSavingResponse.d.ts +65 -0
  133. package/dist/esm/models/NamedSnapshotSavingResponse.js +68 -0
  134. package/dist/esm/models/PageInfo.d.ts +44 -0
  135. package/dist/esm/models/PageInfo.js +51 -0
  136. package/dist/esm/models/PromptEvent.d.ts +70 -0
  137. package/dist/esm/models/PromptEvent.js +66 -0
  138. package/dist/esm/models/PromptEventData.d.ts +56 -0
  139. package/dist/esm/models/PromptEventData.js +60 -0
  140. package/dist/esm/models/PromptRequest.d.ts +84 -0
  141. package/dist/esm/models/PromptRequest.js +69 -0
  142. package/dist/esm/models/PromptResponse.d.ts +101 -0
  143. package/dist/esm/models/PromptResponse.js +86 -0
  144. package/dist/esm/models/PromptRun.d.ts +92 -0
  145. package/dist/esm/models/PromptRun.js +78 -0
  146. package/dist/esm/models/PromptRunResponse.d.ts +58 -0
  147. package/dist/esm/models/PromptRunResponse.js +62 -0
  148. package/dist/esm/models/RepoSelectionRequest.d.ts +38 -0
  149. package/dist/esm/models/RepoSelectionRequest.js +45 -0
  150. package/dist/esm/models/RepoSelectionResponse.d.ts +57 -0
  151. package/dist/esm/models/RepoSelectionResponse.js +60 -0
  152. package/dist/esm/models/ReposResponse.d.ts +65 -0
  153. package/dist/esm/models/ReposResponse.js +64 -0
  154. package/dist/esm/models/Repository.d.ts +69 -0
  155. package/dist/esm/models/Repository.js +55 -0
  156. package/dist/esm/models/RepositoryInstallation.d.ts +51 -0
  157. package/dist/esm/models/RepositoryInstallation.js +48 -0
  158. package/dist/esm/models/ResponseEvent.d.ts +70 -0
  159. package/dist/esm/models/ResponseEvent.js +66 -0
  160. package/dist/esm/models/ResponseEventData.d.ts +52 -0
  161. package/dist/esm/models/ResponseEventData.js +49 -0
  162. package/dist/esm/models/ResumeRequest.d.ts +68 -0
  163. package/dist/esm/models/ResumeRequest.js +58 -0
  164. package/dist/esm/models/RotateApiKey409Response.d.ts +45 -0
  165. package/dist/esm/models/RotateApiKey409Response.js +53 -0
  166. package/dist/esm/models/Sandbox.d.ts +211 -0
  167. package/dist/esm/models/Sandbox.js +138 -0
  168. package/dist/esm/models/SandboxActionResponse.d.ts +57 -0
  169. package/dist/esm/models/SandboxActionResponse.js +58 -0
  170. package/dist/esm/models/SandboxEnvironment.d.ts +107 -0
  171. package/dist/esm/models/SandboxEnvironment.js +92 -0
  172. package/dist/esm/models/SandboxEnvironmentListResponse.d.ts +33 -0
  173. package/dist/esm/models/SandboxEnvironmentListResponse.js +44 -0
  174. package/dist/esm/models/SandboxEnvironmentResponse.d.ts +39 -0
  175. package/dist/esm/models/SandboxEnvironmentResponse.js +46 -0
  176. package/dist/esm/models/SandboxEnvironmentVersionSummary.d.ts +50 -0
  177. package/dist/esm/models/SandboxEnvironmentVersionSummary.js +55 -0
  178. package/dist/esm/models/SandboxEvent.d.ts +65 -0
  179. package/dist/esm/models/SandboxEvent.js +55 -0
  180. package/dist/esm/models/SandboxInfoResponse.d.ts +45 -0
  181. package/dist/esm/models/SandboxInfoResponse.js +52 -0
  182. package/dist/esm/models/SandboxListResponse.d.ts +59 -0
  183. package/dist/esm/models/SandboxListResponse.js +61 -0
  184. package/dist/esm/models/SandboxUsageResponse.d.ts +102 -0
  185. package/dist/esm/models/SandboxUsageResponse.js +92 -0
  186. package/dist/esm/models/SecretFile.d.ts +38 -0
  187. package/dist/esm/models/SecretFile.js +47 -0
  188. package/dist/esm/models/SecretsResponse.d.ts +71 -0
  189. package/dist/esm/models/SecretsResponse.js +64 -0
  190. package/dist/esm/models/SecretsUpdateRequest.d.ts +39 -0
  191. package/dist/esm/models/SecretsUpdateRequest.js +44 -0
  192. package/dist/esm/models/SelectedRepository.d.ts +92 -0
  193. package/dist/esm/models/SelectedRepository.js +61 -0
  194. package/dist/esm/models/SetEnvironmentSecretFileRequest.d.ts +38 -0
  195. package/dist/esm/models/SetEnvironmentSecretFileRequest.js +47 -0
  196. package/dist/esm/models/SetEnvironmentVarRequest.d.ts +32 -0
  197. package/dist/esm/models/SetEnvironmentVarRequest.js +43 -0
  198. package/dist/esm/models/SnapshotChunk.d.ts +68 -0
  199. package/dist/esm/models/SnapshotChunk.js +67 -0
  200. package/dist/esm/models/SnapshotDownloadResponse.d.ts +104 -0
  201. package/dist/esm/models/SnapshotDownloadResponse.js +93 -0
  202. package/dist/esm/models/SnapshotDownloadResponseAllOfInventory.d.ts +38 -0
  203. package/dist/esm/models/SnapshotDownloadResponseAllOfInventory.js +47 -0
  204. package/dist/esm/models/SnapshotLatestResponse.d.ts +52 -0
  205. package/dist/esm/models/SnapshotLatestResponse.js +58 -0
  206. package/dist/esm/models/SnapshotListResponse.d.ts +59 -0
  207. package/dist/esm/models/SnapshotListResponse.js +61 -0
  208. package/dist/esm/models/SnapshotSummary.d.ts +113 -0
  209. package/dist/esm/models/SnapshotSummary.js +90 -0
  210. package/dist/esm/models/SnapshotTreeEntry.d.ts +53 -0
  211. package/dist/esm/models/SnapshotTreeEntry.js +57 -0
  212. package/dist/esm/models/SnapshotTreeResponse.d.ts +100 -0
  213. package/dist/esm/models/SnapshotTreeResponse.js +88 -0
  214. package/dist/esm/models/SshKeyRequest.d.ts +32 -0
  215. package/dist/esm/models/SshKeyRequest.js +43 -0
  216. package/dist/esm/models/SshKeyResponse.d.ts +56 -0
  217. package/dist/esm/models/SshKeyResponse.js +53 -0
  218. package/dist/esm/models/StartWindowUsage.d.ts +44 -0
  219. package/dist/esm/models/StartWindowUsage.js +45 -0
  220. package/dist/esm/models/SteerEvent.d.ts +70 -0
  221. package/dist/esm/models/SteerEvent.js +66 -0
  222. package/dist/esm/models/SteerEventData.d.ts +54 -0
  223. package/dist/esm/models/SteerEventData.js +60 -0
  224. package/dist/esm/models/SteerRequest.d.ts +43 -0
  225. package/dist/esm/models/SteerRequest.js +45 -0
  226. package/dist/esm/models/SteerResponse.d.ts +97 -0
  227. package/dist/esm/models/SteerResponse.js +89 -0
  228. package/dist/esm/models/StopRequest.d.ts +32 -0
  229. package/dist/esm/models/StopRequest.js +41 -0
  230. package/dist/esm/models/SuccessBase.d.ts +38 -0
  231. package/dist/esm/models/SuccessBase.js +47 -0
  232. package/dist/esm/models/UnknownEvent.d.ts +33 -0
  233. package/dist/esm/models/UnknownEvent.js +45 -0
  234. package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +88 -0
  235. package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +61 -0
  236. package/dist/esm/models/UpdateSandboxEnvironmentRequestRepositoriesInner.d.ts +50 -0
  237. package/dist/esm/models/UpdateSandboxEnvironmentRequestRepositoriesInner.js +49 -0
  238. package/dist/esm/models/UpdateSandboxRequest.d.ts +44 -0
  239. package/dist/esm/models/UpdateSandboxRequest.js +45 -0
  240. package/dist/esm/models/UpgradeSandboxEnvironmentRequest.d.ts +32 -0
  241. package/dist/esm/models/UpgradeSandboxEnvironmentRequest.js +41 -0
  242. package/dist/esm/models/UpgradeSandboxEnvironmentResponse.d.ts +44 -0
  243. package/dist/esm/models/UpgradeSandboxEnvironmentResponse.js +51 -0
  244. package/dist/esm/models/Webhook.d.ts +63 -0
  245. package/dist/esm/models/Webhook.js +64 -0
  246. package/dist/esm/models/WebhookCreateRequest.d.ts +45 -0
  247. package/dist/esm/models/WebhookCreateRequest.js +50 -0
  248. package/dist/esm/models/WebhookDeleteResponse.d.ts +44 -0
  249. package/dist/esm/models/WebhookDeleteResponse.js +51 -0
  250. package/dist/esm/models/WebhookEvent.d.ts +52 -0
  251. package/dist/esm/models/WebhookEvent.js +57 -0
  252. package/dist/esm/models/WebhookEventData.d.ts +45 -0
  253. package/dist/esm/models/WebhookEventData.js +52 -0
  254. package/dist/esm/models/WebhookEventDataSandbox.d.ts +38 -0
  255. package/dist/esm/models/WebhookEventDataSandbox.js +47 -0
  256. package/dist/esm/models/WebhookEventType.d.ts +27 -0
  257. package/dist/esm/models/WebhookEventType.js +45 -0
  258. package/dist/esm/models/WebhookListResponse.d.ts +45 -0
  259. package/dist/esm/models/WebhookListResponse.js +52 -0
  260. package/dist/esm/models/WebhookResponse.d.ts +45 -0
  261. package/dist/esm/models/WebhookResponse.js +52 -0
  262. package/dist/esm/models/WebhookSecretResponse.d.ts +51 -0
  263. package/dist/esm/models/WebhookSecretResponse.js +56 -0
  264. package/dist/esm/models/WebhookUpdateRequest.d.ts +45 -0
  265. package/dist/esm/models/WebhookUpdateRequest.js +46 -0
  266. package/dist/esm/models/index.d.ts +123 -0
  267. package/dist/esm/models/index.js +125 -0
  268. package/dist/esm/runtime.d.ts +184 -0
  269. package/dist/esm/runtime.js +337 -0
  270. package/dist/index.d.ts +4 -0
  271. package/dist/index.js +22 -0
  272. package/dist/models/AddEnvironmentRepoRequest.d.ts +38 -0
  273. package/dist/models/AddEnvironmentRepoRequest.js +52 -0
  274. package/dist/models/ApiKey.d.ts +121 -0
  275. package/dist/models/ApiKey.js +105 -0
  276. package/dist/models/ApiKeyCatalog.d.ts +65 -0
  277. package/dist/models/ApiKeyCatalog.js +69 -0
  278. package/dist/models/ApiKeyCatalogScopeResources.d.ts +39 -0
  279. package/dist/models/ApiKeyCatalogScopeResources.js +55 -0
  280. package/dist/models/ApiKeyCreatedResource.d.ts +64 -0
  281. package/dist/models/ApiKeyCreatedResource.js +74 -0
  282. package/dist/models/ApiKeyRequestUsage.d.ts +45 -0
  283. package/dist/models/ApiKeyRequestUsage.js +61 -0
  284. package/dist/models/ApiKeyResourceTotals.d.ts +44 -0
  285. package/dist/models/ApiKeyResourceTotals.js +58 -0
  286. package/dist/models/ApiKeyRevokeResponse.d.ts +45 -0
  287. package/dist/models/ApiKeyRevokeResponse.js +59 -0
  288. package/dist/models/ApiKeyScope.d.ts +57 -0
  289. package/dist/models/ApiKeyScope.js +57 -0
  290. package/dist/models/ApiKeyScopeResource.d.ts +50 -0
  291. package/dist/models/ApiKeyScopeResource.js +62 -0
  292. package/dist/models/ApiKeyScopeSandboxes.d.ts +21 -0
  293. package/dist/models/ApiKeyScopeSandboxes.js +53 -0
  294. package/dist/models/ApiKeySecretResponse.d.ts +57 -0
  295. package/dist/models/ApiKeySecretResponse.js +67 -0
  296. package/dist/models/ApiKeyUsageResponse.d.ts +140 -0
  297. package/dist/models/ApiKeyUsageResponse.js +118 -0
  298. package/dist/models/ApiKeysResponse.d.ts +52 -0
  299. package/dist/models/ApiKeysResponse.js +64 -0
  300. package/dist/models/Command200Response.d.ts +23 -0
  301. package/dist/models/Command200Response.js +57 -0
  302. package/dist/models/CommandRequest.d.ts +50 -0
  303. package/dist/models/CommandRequest.js +56 -0
  304. package/dist/models/CommandResponse.d.ts +111 -0
  305. package/dist/models/CommandResponse.js +93 -0
  306. package/dist/models/CommandStartedResponse.d.ts +93 -0
  307. package/dist/models/CommandStartedResponse.js +87 -0
  308. package/dist/models/CommandStatusResponse.d.ts +162 -0
  309. package/dist/models/CommandStatusResponse.js +119 -0
  310. package/dist/models/CompletionEvent.d.ts +65 -0
  311. package/dist/models/CompletionEvent.js +71 -0
  312. package/dist/models/Conversation.d.ts +80 -0
  313. package/dist/models/Conversation.js +82 -0
  314. package/dist/models/ConversationsResponse.d.ts +58 -0
  315. package/dist/models/ConversationsResponse.js +70 -0
  316. package/dist/models/CreateSandboxEnvironmentRequest.d.ts +32 -0
  317. package/dist/models/CreateSandboxEnvironmentRequest.js +50 -0
  318. package/dist/models/CreateSandboxRequest.d.ts +92 -0
  319. package/dist/models/CreateSandboxRequest.js +74 -0
  320. package/dist/models/CreateSandboxResponse.d.ts +71 -0
  321. package/dist/models/CreateSandboxResponse.js +80 -0
  322. package/dist/models/CreateScopedApiKey503Response.d.ts +58 -0
  323. package/dist/models/CreateScopedApiKey503Response.js +71 -0
  324. package/dist/models/CreateScopedApiKeyRequest.d.ts +72 -0
  325. package/dist/models/CreateScopedApiKeyRequest.js +68 -0
  326. package/dist/models/DataRetentionPolicyResponse.d.ts +70 -0
  327. package/dist/models/DataRetentionPolicyResponse.js +74 -0
  328. package/dist/models/DataRetentionUpdateRequest.d.ts +45 -0
  329. package/dist/models/DataRetentionUpdateRequest.js +59 -0
  330. package/dist/models/DeletionOperation.d.ts +101 -0
  331. package/dist/models/DeletionOperation.js +103 -0
  332. package/dist/models/DeletionOperationResponse.d.ts +54 -0
  333. package/dist/models/DeletionOperationResponse.js +68 -0
  334. package/dist/models/DesktopRequest.d.ts +33 -0
  335. package/dist/models/DesktopRequest.js +50 -0
  336. package/dist/models/DesktopResponse.d.ts +74 -0
  337. package/dist/models/DesktopResponse.js +66 -0
  338. package/dist/models/EnvironmentItemChangeResponse.d.ts +44 -0
  339. package/dist/models/EnvironmentItemChangeResponse.js +54 -0
  340. package/dist/models/ErrorEnvelope.d.ts +69 -0
  341. package/dist/models/ErrorEnvelope.js +75 -0
  342. package/dist/models/ErrorEnvelopeError.d.ts +52 -0
  343. package/dist/models/ErrorEnvelopeError.js +60 -0
  344. package/dist/models/ErrorEvent.d.ts +65 -0
  345. package/dist/models/ErrorEvent.js +71 -0
  346. package/dist/models/EventsResponse.d.ts +65 -0
  347. package/dist/models/EventsResponse.js +73 -0
  348. package/dist/models/FileReadResponse.d.ts +83 -0
  349. package/dist/models/FileReadResponse.js +88 -0
  350. package/dist/models/FileWriteRequest.d.ts +52 -0
  351. package/dist/models/FileWriteRequest.js +64 -0
  352. package/dist/models/FileWriteResponse.d.ts +77 -0
  353. package/dist/models/FileWriteResponse.js +84 -0
  354. package/dist/models/ForkRequest.d.ts +68 -0
  355. package/dist/models/ForkRequest.js +66 -0
  356. package/dist/models/HostPortRequest.d.ts +44 -0
  357. package/dist/models/HostPortRequest.js +54 -0
  358. package/dist/models/HostPortResponse.d.ts +76 -0
  359. package/dist/models/HostPortResponse.js +72 -0
  360. package/dist/models/LimitsFields.d.ts +262 -0
  361. package/dist/models/LimitsFields.js +135 -0
  362. package/dist/models/LimitsFieldsCurrentLimits.d.ts +45 -0
  363. package/dist/models/LimitsFieldsCurrentLimits.js +54 -0
  364. package/dist/models/LimitsFieldsStartLimits.d.ts +44 -0
  365. package/dist/models/LimitsFieldsStartLimits.js +52 -0
  366. package/dist/models/LimitsFieldsStarts.d.ts +51 -0
  367. package/dist/models/LimitsFieldsStarts.js +55 -0
  368. package/dist/models/LimitsResponse.d.ts +273 -0
  369. package/dist/models/LimitsResponse.js +141 -0
  370. package/dist/models/MeResponse.d.ts +52 -0
  371. package/dist/models/MeResponse.js +66 -0
  372. package/dist/models/MeResponseAllOfUser.d.ts +50 -0
  373. package/dist/models/MeResponseAllOfUser.js +54 -0
  374. package/dist/models/NamedSnapshot.d.ts +83 -0
  375. package/dist/models/NamedSnapshot.js +79 -0
  376. package/dist/models/NamedSnapshotDeletedResponse.d.ts +64 -0
  377. package/dist/models/NamedSnapshotDeletedResponse.js +75 -0
  378. package/dist/models/NamedSnapshotInfoResponse.d.ts +52 -0
  379. package/dist/models/NamedSnapshotInfoResponse.js +66 -0
  380. package/dist/models/NamedSnapshotListResponse.d.ts +52 -0
  381. package/dist/models/NamedSnapshotListResponse.js +66 -0
  382. package/dist/models/NamedSnapshotSaveRequest.d.ts +38 -0
  383. package/dist/models/NamedSnapshotSaveRequest.js +54 -0
  384. package/dist/models/NamedSnapshotSavingResponse.d.ts +65 -0
  385. package/dist/models/NamedSnapshotSavingResponse.js +76 -0
  386. package/dist/models/PageInfo.d.ts +44 -0
  387. package/dist/models/PageInfo.js +58 -0
  388. package/dist/models/PromptEvent.d.ts +70 -0
  389. package/dist/models/PromptEvent.js +74 -0
  390. package/dist/models/PromptEventData.d.ts +56 -0
  391. package/dist/models/PromptEventData.js +68 -0
  392. package/dist/models/PromptRequest.d.ts +84 -0
  393. package/dist/models/PromptRequest.js +77 -0
  394. package/dist/models/PromptResponse.d.ts +101 -0
  395. package/dist/models/PromptResponse.js +94 -0
  396. package/dist/models/PromptRun.d.ts +92 -0
  397. package/dist/models/PromptRun.js +86 -0
  398. package/dist/models/PromptRunResponse.d.ts +58 -0
  399. package/dist/models/PromptRunResponse.js +70 -0
  400. package/dist/models/RepoSelectionRequest.d.ts +38 -0
  401. package/dist/models/RepoSelectionRequest.js +52 -0
  402. package/dist/models/RepoSelectionResponse.d.ts +57 -0
  403. package/dist/models/RepoSelectionResponse.js +67 -0
  404. package/dist/models/ReposResponse.d.ts +65 -0
  405. package/dist/models/ReposResponse.js +71 -0
  406. package/dist/models/Repository.d.ts +69 -0
  407. package/dist/models/Repository.js +62 -0
  408. package/dist/models/RepositoryInstallation.d.ts +51 -0
  409. package/dist/models/RepositoryInstallation.js +55 -0
  410. package/dist/models/ResponseEvent.d.ts +70 -0
  411. package/dist/models/ResponseEvent.js +74 -0
  412. package/dist/models/ResponseEventData.d.ts +52 -0
  413. package/dist/models/ResponseEventData.js +56 -0
  414. package/dist/models/ResumeRequest.d.ts +68 -0
  415. package/dist/models/ResumeRequest.js +66 -0
  416. package/dist/models/RotateApiKey409Response.d.ts +45 -0
  417. package/dist/models/RotateApiKey409Response.js +61 -0
  418. package/dist/models/Sandbox.d.ts +211 -0
  419. package/dist/models/Sandbox.js +146 -0
  420. package/dist/models/SandboxActionResponse.d.ts +57 -0
  421. package/dist/models/SandboxActionResponse.js +65 -0
  422. package/dist/models/SandboxEnvironment.d.ts +107 -0
  423. package/dist/models/SandboxEnvironment.js +99 -0
  424. package/dist/models/SandboxEnvironmentListResponse.d.ts +33 -0
  425. package/dist/models/SandboxEnvironmentListResponse.js +51 -0
  426. package/dist/models/SandboxEnvironmentResponse.d.ts +39 -0
  427. package/dist/models/SandboxEnvironmentResponse.js +53 -0
  428. package/dist/models/SandboxEnvironmentVersionSummary.d.ts +50 -0
  429. package/dist/models/SandboxEnvironmentVersionSummary.js +62 -0
  430. package/dist/models/SandboxEvent.d.ts +65 -0
  431. package/dist/models/SandboxEvent.js +62 -0
  432. package/dist/models/SandboxInfoResponse.d.ts +45 -0
  433. package/dist/models/SandboxInfoResponse.js +59 -0
  434. package/dist/models/SandboxListResponse.d.ts +59 -0
  435. package/dist/models/SandboxListResponse.js +69 -0
  436. package/dist/models/SandboxUsageResponse.d.ts +102 -0
  437. package/dist/models/SandboxUsageResponse.js +100 -0
  438. package/dist/models/SecretFile.d.ts +38 -0
  439. package/dist/models/SecretFile.js +54 -0
  440. package/dist/models/SecretsResponse.d.ts +71 -0
  441. package/dist/models/SecretsResponse.js +71 -0
  442. package/dist/models/SecretsUpdateRequest.d.ts +39 -0
  443. package/dist/models/SecretsUpdateRequest.js +51 -0
  444. package/dist/models/SelectedRepository.d.ts +92 -0
  445. package/dist/models/SelectedRepository.js +68 -0
  446. package/dist/models/SetEnvironmentSecretFileRequest.d.ts +38 -0
  447. package/dist/models/SetEnvironmentSecretFileRequest.js +54 -0
  448. package/dist/models/SetEnvironmentVarRequest.d.ts +32 -0
  449. package/dist/models/SetEnvironmentVarRequest.js +50 -0
  450. package/dist/models/SnapshotChunk.d.ts +68 -0
  451. package/dist/models/SnapshotChunk.js +74 -0
  452. package/dist/models/SnapshotDownloadResponse.d.ts +104 -0
  453. package/dist/models/SnapshotDownloadResponse.js +101 -0
  454. package/dist/models/SnapshotDownloadResponseAllOfInventory.d.ts +38 -0
  455. package/dist/models/SnapshotDownloadResponseAllOfInventory.js +54 -0
  456. package/dist/models/SnapshotLatestResponse.d.ts +52 -0
  457. package/dist/models/SnapshotLatestResponse.js +66 -0
  458. package/dist/models/SnapshotListResponse.d.ts +59 -0
  459. package/dist/models/SnapshotListResponse.js +69 -0
  460. package/dist/models/SnapshotSummary.d.ts +113 -0
  461. package/dist/models/SnapshotSummary.js +98 -0
  462. package/dist/models/SnapshotTreeEntry.d.ts +53 -0
  463. package/dist/models/SnapshotTreeEntry.js +65 -0
  464. package/dist/models/SnapshotTreeResponse.d.ts +100 -0
  465. package/dist/models/SnapshotTreeResponse.js +96 -0
  466. package/dist/models/SshKeyRequest.d.ts +32 -0
  467. package/dist/models/SshKeyRequest.js +50 -0
  468. package/dist/models/SshKeyResponse.d.ts +56 -0
  469. package/dist/models/SshKeyResponse.js +60 -0
  470. package/dist/models/StartWindowUsage.d.ts +44 -0
  471. package/dist/models/StartWindowUsage.js +52 -0
  472. package/dist/models/SteerEvent.d.ts +70 -0
  473. package/dist/models/SteerEvent.js +74 -0
  474. package/dist/models/SteerEventData.d.ts +54 -0
  475. package/dist/models/SteerEventData.js +68 -0
  476. package/dist/models/SteerRequest.d.ts +43 -0
  477. package/dist/models/SteerRequest.js +52 -0
  478. package/dist/models/SteerResponse.d.ts +97 -0
  479. package/dist/models/SteerResponse.js +97 -0
  480. package/dist/models/StopRequest.d.ts +32 -0
  481. package/dist/models/StopRequest.js +48 -0
  482. package/dist/models/SuccessBase.d.ts +38 -0
  483. package/dist/models/SuccessBase.js +54 -0
  484. package/dist/models/UnknownEvent.d.ts +33 -0
  485. package/dist/models/UnknownEvent.js +52 -0
  486. package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +88 -0
  487. package/dist/models/UpdateSandboxEnvironmentRequest.js +68 -0
  488. package/dist/models/UpdateSandboxEnvironmentRequestRepositoriesInner.d.ts +50 -0
  489. package/dist/models/UpdateSandboxEnvironmentRequestRepositoriesInner.js +56 -0
  490. package/dist/models/UpdateSandboxRequest.d.ts +44 -0
  491. package/dist/models/UpdateSandboxRequest.js +52 -0
  492. package/dist/models/UpgradeSandboxEnvironmentRequest.d.ts +32 -0
  493. package/dist/models/UpgradeSandboxEnvironmentRequest.js +48 -0
  494. package/dist/models/UpgradeSandboxEnvironmentResponse.d.ts +44 -0
  495. package/dist/models/UpgradeSandboxEnvironmentResponse.js +58 -0
  496. package/dist/models/Webhook.d.ts +63 -0
  497. package/dist/models/Webhook.js +71 -0
  498. package/dist/models/WebhookCreateRequest.d.ts +45 -0
  499. package/dist/models/WebhookCreateRequest.js +57 -0
  500. package/dist/models/WebhookDeleteResponse.d.ts +44 -0
  501. package/dist/models/WebhookDeleteResponse.js +58 -0
  502. package/dist/models/WebhookEvent.d.ts +52 -0
  503. package/dist/models/WebhookEvent.js +64 -0
  504. package/dist/models/WebhookEventData.d.ts +45 -0
  505. package/dist/models/WebhookEventData.js +59 -0
  506. package/dist/models/WebhookEventDataSandbox.d.ts +38 -0
  507. package/dist/models/WebhookEventDataSandbox.js +54 -0
  508. package/dist/models/WebhookEventType.d.ts +27 -0
  509. package/dist/models/WebhookEventType.js +53 -0
  510. package/dist/models/WebhookListResponse.d.ts +45 -0
  511. package/dist/models/WebhookListResponse.js +59 -0
  512. package/dist/models/WebhookResponse.d.ts +45 -0
  513. package/dist/models/WebhookResponse.js +59 -0
  514. package/dist/models/WebhookSecretResponse.d.ts +51 -0
  515. package/dist/models/WebhookSecretResponse.js +63 -0
  516. package/dist/models/WebhookUpdateRequest.d.ts +45 -0
  517. package/dist/models/WebhookUpdateRequest.js +53 -0
  518. package/dist/models/index.d.ts +123 -0
  519. package/dist/models/index.js +141 -0
  520. package/dist/runtime.d.ts +184 -0
  521. package/dist/runtime.js +353 -0
  522. package/docs/AddEnvironmentRepoRequest.md +34 -0
  523. package/docs/ApiKey.md +58 -0
  524. package/docs/ApiKeyCatalog.md +42 -0
  525. package/docs/ApiKeyCatalogScopeResources.md +35 -0
  526. package/docs/ApiKeyCreatedResource.md +40 -0
  527. package/docs/ApiKeyRequestUsage.md +34 -0
  528. package/docs/ApiKeyResourceTotals.md +36 -0
  529. package/docs/ApiKeyRevokeResponse.md +36 -0
  530. package/docs/ApiKeyScope.md +40 -0
  531. package/docs/ApiKeyScopeResource.md +38 -0
  532. package/docs/ApiKeyScopeSandboxes.md +30 -0
  533. package/docs/ApiKeySecretResponse.md +40 -0
  534. package/docs/ApiKeyUsageResponse.md +64 -0
  535. package/docs/ApiKeysResponse.md +38 -0
  536. package/docs/BoatApi.md +4967 -0
  537. package/docs/Command200Response.md +66 -0
  538. package/docs/CommandRequest.md +38 -0
  539. package/docs/CommandResponse.md +56 -0
  540. package/docs/CommandStartedResponse.md +50 -0
  541. package/docs/CommandStatusResponse.md +70 -0
  542. package/docs/CompletionEvent.md +40 -0
  543. package/docs/Conversation.md +48 -0
  544. package/docs/ConversationsResponse.md +38 -0
  545. package/docs/CreateSandboxEnvironmentRequest.md +32 -0
  546. package/docs/CreateSandboxRequest.md +49 -0
  547. package/docs/CreateSandboxResponse.md +40 -0
  548. package/docs/CreateScopedApiKey503Response.md +36 -0
  549. package/docs/CreateScopedApiKeyRequest.md +42 -0
  550. package/docs/DataRetentionPolicyResponse.md +42 -0
  551. package/docs/DataRetentionUpdateRequest.md +34 -0
  552. package/docs/DeletionOperation.md +46 -0
  553. package/docs/DeletionOperationResponse.md +36 -0
  554. package/docs/DesktopRequest.md +33 -0
  555. package/docs/DesktopResponse.md +46 -0
  556. package/docs/EnvironmentItemChangeResponse.md +37 -0
  557. package/docs/ErrorEnvelope.md +44 -0
  558. package/docs/ErrorEnvelopeError.md +38 -0
  559. package/docs/ErrorEvent.md +40 -0
  560. package/docs/EventsResponse.md +40 -0
  561. package/docs/FileReadResponse.md +44 -0
  562. package/docs/FileWriteRequest.md +36 -0
  563. package/docs/FileWriteResponse.md +42 -0
  564. package/docs/ForkRequest.md +40 -0
  565. package/docs/HostPortRequest.md +36 -0
  566. package/docs/HostPortResponse.md +44 -0
  567. package/docs/LimitsFields.md +106 -0
  568. package/docs/LimitsFieldsCurrentLimits.md +36 -0
  569. package/docs/LimitsFieldsStartLimits.md +37 -0
  570. package/docs/LimitsFieldsStarts.md +39 -0
  571. package/docs/LimitsResponse.md +110 -0
  572. package/docs/MeResponse.md +36 -0
  573. package/docs/MeResponseAllOfUser.md +38 -0
  574. package/docs/NamedSnapshot.md +47 -0
  575. package/docs/NamedSnapshotDeletedResponse.md +38 -0
  576. package/docs/NamedSnapshotInfoResponse.md +36 -0
  577. package/docs/NamedSnapshotListResponse.md +36 -0
  578. package/docs/NamedSnapshotSaveRequest.md +34 -0
  579. package/docs/NamedSnapshotSavingResponse.md +38 -0
  580. package/docs/PageInfo.md +36 -0
  581. package/docs/PromptEvent.md +42 -0
  582. package/docs/PromptEventData.md +36 -0
  583. package/docs/PromptRequest.md +43 -0
  584. package/docs/PromptResponse.md +50 -0
  585. package/docs/PromptRun.md +48 -0
  586. package/docs/PromptRunResponse.md +38 -0
  587. package/docs/RepoSelectionRequest.md +35 -0
  588. package/docs/RepoSelectionResponse.md +40 -0
  589. package/docs/ReposResponse.md +42 -0
  590. package/docs/Repository.md +44 -0
  591. package/docs/RepositoryInstallation.md +38 -0
  592. package/docs/ResponseEvent.md +43 -0
  593. package/docs/ResponseEventData.md +38 -0
  594. package/docs/ResumeRequest.md +41 -0
  595. package/docs/RotateApiKey409Response.md +34 -0
  596. package/docs/Sandbox.md +76 -0
  597. package/docs/SandboxActionResponse.md +40 -0
  598. package/docs/SandboxEnvironment.md +57 -0
  599. package/docs/SandboxEnvironmentListResponse.md +32 -0
  600. package/docs/SandboxEnvironmentResponse.md +34 -0
  601. package/docs/SandboxEnvironmentVersionSummary.md +39 -0
  602. package/docs/SandboxEvent.md +42 -0
  603. package/docs/SandboxInfoResponse.md +36 -0
  604. package/docs/SandboxListResponse.md +38 -0
  605. package/docs/SandboxUsageResponse.md +52 -0
  606. package/docs/SecretFile.md +34 -0
  607. package/docs/SecretsResponse.md +44 -0
  608. package/docs/SecretsUpdateRequest.md +35 -0
  609. package/docs/SelectedRepository.md +52 -0
  610. package/docs/SetEnvironmentSecretFileRequest.md +34 -0
  611. package/docs/SetEnvironmentVarRequest.md +32 -0
  612. package/docs/SnapshotChunk.md +44 -0
  613. package/docs/SnapshotDownloadResponse.md +50 -0
  614. package/docs/SnapshotDownloadResponseAllOfInventory.md +34 -0
  615. package/docs/SnapshotLatestResponse.md +36 -0
  616. package/docs/SnapshotListResponse.md +38 -0
  617. package/docs/SnapshotSummary.md +54 -0
  618. package/docs/SnapshotTreeEntry.md +36 -0
  619. package/docs/SnapshotTreeResponse.md +52 -0
  620. package/docs/SshKeyRequest.md +32 -0
  621. package/docs/SshKeyResponse.md +40 -0
  622. package/docs/StartWindowUsage.md +37 -0
  623. package/docs/SteerEvent.md +43 -0
  624. package/docs/SteerEventData.md +36 -0
  625. package/docs/SteerRequest.md +35 -0
  626. package/docs/SteerResponse.md +46 -0
  627. package/docs/StopRequest.md +33 -0
  628. package/docs/SuccessBase.md +34 -0
  629. package/docs/UnknownEvent.md +32 -0
  630. package/docs/UpdateSandboxEnvironmentRequest.md +51 -0
  631. package/docs/UpdateSandboxEnvironmentRequestRepositoriesInner.md +38 -0
  632. package/docs/UpdateSandboxRequest.md +36 -0
  633. package/docs/UpgradeSandboxEnvironmentRequest.md +33 -0
  634. package/docs/UpgradeSandboxEnvironmentResponse.md +36 -0
  635. package/docs/Webhook.md +42 -0
  636. package/docs/WebhookCreateRequest.md +36 -0
  637. package/docs/WebhookDeleteResponse.md +36 -0
  638. package/docs/WebhookEvent.md +39 -0
  639. package/docs/WebhookEventData.md +36 -0
  640. package/docs/WebhookEventDataSandbox.md +34 -0
  641. package/docs/WebhookEventType.md +30 -0
  642. package/docs/WebhookListResponse.md +36 -0
  643. package/docs/WebhookResponse.md +36 -0
  644. package/docs/WebhookSecretResponse.md +38 -0
  645. package/docs/WebhookUpdateRequest.md +36 -0
  646. package/package.json +19 -0
  647. package/src/apis/BoatApi.ts +4594 -0
  648. package/src/apis/index.ts +3 -0
  649. package/src/boat-helpers.ts +187 -0
  650. package/src/index.ts +7 -0
  651. package/src/models/AddEnvironmentRepoRequest.ts +74 -0
  652. package/src/models/ApiKey.ts +212 -0
  653. package/src/models/ApiKeyCatalog.ts +118 -0
  654. package/src/models/ApiKeyCatalogScopeResources.ts +83 -0
  655. package/src/models/ApiKeyCreatedResource.ts +113 -0
  656. package/src/models/ApiKeyRequestUsage.ts +85 -0
  657. package/src/models/ApiKeyResourceTotals.ts +84 -0
  658. package/src/models/ApiKeyRevokeResponse.ts +92 -0
  659. package/src/models/ApiKeyScope.ts +105 -0
  660. package/src/models/ApiKeyScopeResource.ts +93 -0
  661. package/src/models/ApiKeyScopeSandboxes.ts +59 -0
  662. package/src/models/ApiKeySecretResponse.ts +110 -0
  663. package/src/models/ApiKeyUsageResponse.ts +246 -0
  664. package/src/models/ApiKeysResponse.ts +108 -0
  665. package/src/models/Command200Response.ts +76 -0
  666. package/src/models/CommandRequest.ts +90 -0
  667. package/src/models/CommandResponse.ts +178 -0
  668. package/src/models/CommandStartedResponse.ts +154 -0
  669. package/src/models/CommandStatusResponse.ts +246 -0
  670. package/src/models/CompletionEvent.ts +111 -0
  671. package/src/models/Conversation.ts +138 -0
  672. package/src/models/ConversationsResponse.ts +111 -0
  673. package/src/models/CreateSandboxEnvironmentRequest.ts +66 -0
  674. package/src/models/CreateSandboxRequest.ts +142 -0
  675. package/src/models/CreateSandboxResponse.ts +128 -0
  676. package/src/models/CreateScopedApiKey503Response.ts +102 -0
  677. package/src/models/CreateScopedApiKeyRequest.ts +118 -0
  678. package/src/models/DataRetentionPolicyResponse.ts +120 -0
  679. package/src/models/DataRetentionUpdateRequest.ts +84 -0
  680. package/src/models/DeletionOperation.ts +161 -0
  681. package/src/models/DeletionOperationResponse.ts +104 -0
  682. package/src/models/DesktopRequest.ts +68 -0
  683. package/src/models/DesktopResponse.ts +123 -0
  684. package/src/models/EnvironmentItemChangeResponse.ts +82 -0
  685. package/src/models/ErrorEnvelope.ts +128 -0
  686. package/src/models/ErrorEnvelopeError.ts +92 -0
  687. package/src/models/ErrorEvent.ts +111 -0
  688. package/src/models/EventsResponse.ts +126 -0
  689. package/src/models/FileReadResponse.ts +139 -0
  690. package/src/models/FileWriteRequest.ts +94 -0
  691. package/src/models/FileWriteResponse.ts +130 -0
  692. package/src/models/ForkRequest.ts +110 -0
  693. package/src/models/HostPortRequest.ts +82 -0
  694. package/src/models/HostPortResponse.ts +126 -0
  695. package/src/models/LimitsFields.ts +390 -0
  696. package/src/models/LimitsFieldsCurrentLimits.ts +84 -0
  697. package/src/models/LimitsFieldsStartLimits.ts +81 -0
  698. package/src/models/LimitsFieldsStarts.ts +97 -0
  699. package/src/models/LimitsResponse.ts +405 -0
  700. package/src/models/MeResponse.ts +102 -0
  701. package/src/models/MeResponseAllOfUser.ts +89 -0
  702. package/src/models/NamedSnapshot.ts +137 -0
  703. package/src/models/NamedSnapshotDeletedResponse.ts +111 -0
  704. package/src/models/NamedSnapshotInfoResponse.ts +102 -0
  705. package/src/models/NamedSnapshotListResponse.ts +102 -0
  706. package/src/models/NamedSnapshotSaveRequest.ts +75 -0
  707. package/src/models/NamedSnapshotSavingResponse.ts +119 -0
  708. package/src/models/PageInfo.ts +84 -0
  709. package/src/models/PromptEvent.ts +127 -0
  710. package/src/models/PromptEventData.ts +98 -0
  711. package/src/models/PromptRequest.ts +132 -0
  712. package/src/models/PromptResponse.ts +170 -0
  713. package/src/models/PromptRun.ts +149 -0
  714. package/src/models/PromptRunResponse.ts +111 -0
  715. package/src/models/RepoSelectionRequest.ts +74 -0
  716. package/src/models/RepoSelectionResponse.ts +110 -0
  717. package/src/models/ReposResponse.ts +132 -0
  718. package/src/models/Repository.ts +116 -0
  719. package/src/models/RepositoryInstallation.ts +97 -0
  720. package/src/models/ResponseEvent.ts +127 -0
  721. package/src/models/ResponseEventData.ts +90 -0
  722. package/src/models/ResumeRequest.ts +110 -0
  723. package/src/models/RotateApiKey409Response.ts +85 -0
  724. package/src/models/Sandbox.ts +299 -0
  725. package/src/models/SandboxActionResponse.ts +109 -0
  726. package/src/models/SandboxEnvironment.ts +195 -0
  727. package/src/models/SandboxEnvironmentListResponse.ts +74 -0
  728. package/src/models/SandboxEnvironmentResponse.ts +82 -0
  729. package/src/models/SandboxEnvironmentVersionSummary.ts +93 -0
  730. package/src/models/SandboxEvent.ts +109 -0
  731. package/src/models/SandboxInfoResponse.ts +92 -0
  732. package/src/models/SandboxListResponse.ts +117 -0
  733. package/src/models/SandboxUsageResponse.ts +169 -0
  734. package/src/models/SecretFile.ts +75 -0
  735. package/src/models/SecretsResponse.ts +126 -0
  736. package/src/models/SecretsUpdateRequest.ts +81 -0
  737. package/src/models/SelectedRepository.ts +145 -0
  738. package/src/models/SetEnvironmentSecretFileRequest.ts +75 -0
  739. package/src/models/SetEnvironmentVarRequest.ts +66 -0
  740. package/src/models/SnapshotChunk.ts +120 -0
  741. package/src/models/SnapshotDownloadResponse.ts +181 -0
  742. package/src/models/SnapshotDownloadResponseAllOfInventory.ts +75 -0
  743. package/src/models/SnapshotLatestResponse.ts +102 -0
  744. package/src/models/SnapshotListResponse.ts +117 -0
  745. package/src/models/SnapshotSummary.ts +179 -0
  746. package/src/models/SnapshotTreeEntry.ts +95 -0
  747. package/src/models/SnapshotTreeResponse.ts +173 -0
  748. package/src/models/SshKeyRequest.ts +66 -0
  749. package/src/models/SshKeyResponse.ts +99 -0
  750. package/src/models/StartWindowUsage.ts +81 -0
  751. package/src/models/SteerEvent.ts +127 -0
  752. package/src/models/SteerEventData.ts +97 -0
  753. package/src/models/SteerRequest.ts +79 -0
  754. package/src/models/SteerResponse.ts +156 -0
  755. package/src/models/StopRequest.ts +65 -0
  756. package/src/models/SuccessBase.ts +75 -0
  757. package/src/models/UnknownEvent.ts +69 -0
  758. package/src/models/UpdateSandboxEnvironmentRequest.ts +152 -0
  759. package/src/models/UpdateSandboxEnvironmentRequestRepositoriesInner.ts +90 -0
  760. package/src/models/UpdateSandboxRequest.ts +81 -0
  761. package/src/models/UpgradeSandboxEnvironmentRequest.ts +65 -0
  762. package/src/models/UpgradeSandboxEnvironmentResponse.ts +84 -0
  763. package/src/models/Webhook.ts +119 -0
  764. package/src/models/WebhookCreateRequest.ts +91 -0
  765. package/src/models/WebhookDeleteResponse.ts +84 -0
  766. package/src/models/WebhookEvent.ts +110 -0
  767. package/src/models/WebhookEventData.ts +92 -0
  768. package/src/models/WebhookEventDataSandbox.ts +75 -0
  769. package/src/models/WebhookEventType.ts +55 -0
  770. package/src/models/WebhookListResponse.ts +92 -0
  771. package/src/models/WebhookResponse.ts +92 -0
  772. package/src/models/WebhookSecretResponse.ts +101 -0
  773. package/src/models/WebhookUpdateRequest.ts +89 -0
  774. package/src/models/index.ts +125 -0
  775. package/src/runtime.ts +449 -0
  776. package/tsconfig.esm.json +7 -0
  777. package/tsconfig.json +22 -0
@@ -0,0 +1,3047 @@
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
+ import * as runtime from '../runtime';
15
+ import { AddEnvironmentRepoRequestToJSON, } from '../models/AddEnvironmentRepoRequest';
16
+ import { ApiKeyRevokeResponseFromJSON, } from '../models/ApiKeyRevokeResponse';
17
+ import { ApiKeySecretResponseFromJSON, } from '../models/ApiKeySecretResponse';
18
+ import { ApiKeyUsageResponseFromJSON, } from '../models/ApiKeyUsageResponse';
19
+ import { ApiKeysResponseFromJSON, } from '../models/ApiKeysResponse';
20
+ import { Command200ResponseFromJSON, } from '../models/Command200Response';
21
+ import { CommandRequestToJSON, } from '../models/CommandRequest';
22
+ import { CommandStatusResponseFromJSON, } from '../models/CommandStatusResponse';
23
+ import { ConversationsResponseFromJSON, } from '../models/ConversationsResponse';
24
+ import { CreateSandboxEnvironmentRequestToJSON, } from '../models/CreateSandboxEnvironmentRequest';
25
+ import { CreateSandboxRequestToJSON, } from '../models/CreateSandboxRequest';
26
+ import { CreateSandboxResponseFromJSON, } from '../models/CreateSandboxResponse';
27
+ import { CreateScopedApiKeyRequestToJSON, } from '../models/CreateScopedApiKeyRequest';
28
+ import { DataRetentionPolicyResponseFromJSON, } from '../models/DataRetentionPolicyResponse';
29
+ import { DataRetentionUpdateRequestToJSON, } from '../models/DataRetentionUpdateRequest';
30
+ import { DeletionOperationResponseFromJSON, } from '../models/DeletionOperationResponse';
31
+ import { DesktopRequestToJSON, } from '../models/DesktopRequest';
32
+ import { DesktopResponseFromJSON, } from '../models/DesktopResponse';
33
+ import { EnvironmentItemChangeResponseFromJSON, } from '../models/EnvironmentItemChangeResponse';
34
+ import { EventsResponseFromJSON, } from '../models/EventsResponse';
35
+ import { FileReadResponseFromJSON, } from '../models/FileReadResponse';
36
+ import { FileWriteRequestToJSON, } from '../models/FileWriteRequest';
37
+ import { FileWriteResponseFromJSON, } from '../models/FileWriteResponse';
38
+ import { ForkRequestToJSON, } from '../models/ForkRequest';
39
+ import { HostPortRequestToJSON, } from '../models/HostPortRequest';
40
+ import { HostPortResponseFromJSON, } from '../models/HostPortResponse';
41
+ import { LimitsResponseFromJSON, } from '../models/LimitsResponse';
42
+ import { MeResponseFromJSON, } from '../models/MeResponse';
43
+ import { NamedSnapshotDeletedResponseFromJSON, } from '../models/NamedSnapshotDeletedResponse';
44
+ import { NamedSnapshotInfoResponseFromJSON, } from '../models/NamedSnapshotInfoResponse';
45
+ import { NamedSnapshotListResponseFromJSON, } from '../models/NamedSnapshotListResponse';
46
+ import { NamedSnapshotSaveRequestToJSON, } from '../models/NamedSnapshotSaveRequest';
47
+ import { NamedSnapshotSavingResponseFromJSON, } from '../models/NamedSnapshotSavingResponse';
48
+ import { PromptRequestToJSON, } from '../models/PromptRequest';
49
+ import { PromptResponseFromJSON, } from '../models/PromptResponse';
50
+ import { PromptRunResponseFromJSON, } from '../models/PromptRunResponse';
51
+ import { RepoSelectionRequestToJSON, } from '../models/RepoSelectionRequest';
52
+ import { RepoSelectionResponseFromJSON, } from '../models/RepoSelectionResponse';
53
+ import { ReposResponseFromJSON, } from '../models/ReposResponse';
54
+ import { ResumeRequestToJSON, } from '../models/ResumeRequest';
55
+ import { SandboxActionResponseFromJSON, } from '../models/SandboxActionResponse';
56
+ import { SandboxEnvironmentListResponseFromJSON, } from '../models/SandboxEnvironmentListResponse';
57
+ import { SandboxEnvironmentResponseFromJSON, } from '../models/SandboxEnvironmentResponse';
58
+ import { SandboxInfoResponseFromJSON, } from '../models/SandboxInfoResponse';
59
+ import { SandboxListResponseFromJSON, } from '../models/SandboxListResponse';
60
+ import { SandboxUsageResponseFromJSON, } from '../models/SandboxUsageResponse';
61
+ import { SecretsResponseFromJSON, } from '../models/SecretsResponse';
62
+ import { SecretsUpdateRequestToJSON, } from '../models/SecretsUpdateRequest';
63
+ import { SetEnvironmentSecretFileRequestToJSON, } from '../models/SetEnvironmentSecretFileRequest';
64
+ import { SetEnvironmentVarRequestToJSON, } from '../models/SetEnvironmentVarRequest';
65
+ import { SnapshotDownloadResponseFromJSON, } from '../models/SnapshotDownloadResponse';
66
+ import { SnapshotLatestResponseFromJSON, } from '../models/SnapshotLatestResponse';
67
+ import { SnapshotListResponseFromJSON, } from '../models/SnapshotListResponse';
68
+ import { SnapshotTreeResponseFromJSON, } from '../models/SnapshotTreeResponse';
69
+ import { SshKeyRequestToJSON, } from '../models/SshKeyRequest';
70
+ import { SshKeyResponseFromJSON, } from '../models/SshKeyResponse';
71
+ import { SteerRequestToJSON, } from '../models/SteerRequest';
72
+ import { SteerResponseFromJSON, } from '../models/SteerResponse';
73
+ import { StopRequestToJSON, } from '../models/StopRequest';
74
+ import { UpdateSandboxEnvironmentRequestToJSON, } from '../models/UpdateSandboxEnvironmentRequest';
75
+ import { UpdateSandboxRequestToJSON, } from '../models/UpdateSandboxRequest';
76
+ import { UpgradeSandboxEnvironmentRequestToJSON, } from '../models/UpgradeSandboxEnvironmentRequest';
77
+ import { UpgradeSandboxEnvironmentResponseFromJSON, } from '../models/UpgradeSandboxEnvironmentResponse';
78
+ import { WebhookCreateRequestToJSON, } from '../models/WebhookCreateRequest';
79
+ import { WebhookDeleteResponseFromJSON, } from '../models/WebhookDeleteResponse';
80
+ import { WebhookListResponseFromJSON, } from '../models/WebhookListResponse';
81
+ import { WebhookResponseFromJSON, } from '../models/WebhookResponse';
82
+ import { WebhookSecretResponseFromJSON, } from '../models/WebhookSecretResponse';
83
+ import { WebhookUpdateRequestToJSON, } from '../models/WebhookUpdateRequest';
84
+ /**
85
+ *
86
+ */
87
+ export class BoatApi extends runtime.BaseAPI {
88
+ /**
89
+ * Creates request options for addEnvironmentRepo without sending the request
90
+ */
91
+ async addEnvironmentRepoRequestOpts(requestParameters) {
92
+ if (requestParameters['environmentId'] == null) {
93
+ throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling addEnvironmentRepo().');
94
+ }
95
+ if (requestParameters['addEnvironmentRepoRequest'] == null) {
96
+ throw new runtime.RequiredError('addEnvironmentRepoRequest', 'Required parameter "addEnvironmentRepoRequest" was null or undefined when calling addEnvironmentRepo().');
97
+ }
98
+ const queryParameters = {};
99
+ const headerParameters = {};
100
+ headerParameters['Content-Type'] = 'application/json';
101
+ if (this.configuration && this.configuration.accessToken) {
102
+ const token = this.configuration.accessToken;
103
+ const tokenString = await token("BoatBearerAuth", []);
104
+ if (tokenString) {
105
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
106
+ }
107
+ }
108
+ let urlPath = `/environments/{environmentId}/repos`;
109
+ urlPath = urlPath.replace('{environmentId}', encodeURIComponent(String(requestParameters['environmentId'])));
110
+ return {
111
+ path: urlPath,
112
+ method: 'POST',
113
+ headers: headerParameters,
114
+ query: queryParameters,
115
+ body: AddEnvironmentRepoRequestToJSON(requestParameters['addEnvironmentRepoRequest']),
116
+ };
117
+ }
118
+ /**
119
+ * Adds a repository (or updates its base branch) by database id from the repository list. Mints a new immutable version.
120
+ * Add a repository to an environment
121
+ */
122
+ async addEnvironmentRepoRaw(requestParameters, initOverrides) {
123
+ const requestOptions = await this.addEnvironmentRepoRequestOpts(requestParameters);
124
+ const response = await this.request(requestOptions, initOverrides);
125
+ return new runtime.JSONApiResponse(response, (jsonValue) => EnvironmentItemChangeResponseFromJSON(jsonValue));
126
+ }
127
+ /**
128
+ * Adds a repository (or updates its base branch) by database id from the repository list. Mints a new immutable version.
129
+ * Add a repository to an environment
130
+ */
131
+ async addEnvironmentRepo(requestParameters, initOverrides) {
132
+ const response = await this.addEnvironmentRepoRaw(requestParameters, initOverrides);
133
+ return await response.value();
134
+ }
135
+ /**
136
+ * Creates request options for apiKeyUsage without sending the request
137
+ */
138
+ async apiKeyUsageRequestOpts(requestParameters) {
139
+ if (requestParameters['apiKeyId'] == null) {
140
+ throw new runtime.RequiredError('apiKeyId', 'Required parameter "apiKeyId" was null or undefined when calling apiKeyUsage().');
141
+ }
142
+ const queryParameters = {};
143
+ const headerParameters = {};
144
+ if (this.configuration && this.configuration.accessToken) {
145
+ const token = this.configuration.accessToken;
146
+ const tokenString = await token("BoatBearerAuth", []);
147
+ if (tokenString) {
148
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
149
+ }
150
+ }
151
+ let urlPath = `/api-keys/{apiKeyId}/usage`;
152
+ urlPath = urlPath.replace('{apiKeyId}', encodeURIComponent(String(requestParameters['apiKeyId'])));
153
+ return {
154
+ path: urlPath,
155
+ method: 'GET',
156
+ headers: headerParameters,
157
+ query: queryParameters,
158
+ };
159
+ }
160
+ /**
161
+ * Returns the key\'s request total for the 30-day UTC window and the sandboxes and Agents it created that still exist, including sandboxes that never got a sandbox row. Works for revoked keys owned by the authenticated account.
162
+ * Get API key usage
163
+ */
164
+ async apiKeyUsageRaw(requestParameters, initOverrides) {
165
+ const requestOptions = await this.apiKeyUsageRequestOpts(requestParameters);
166
+ const response = await this.request(requestOptions, initOverrides);
167
+ return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeyUsageResponseFromJSON(jsonValue));
168
+ }
169
+ /**
170
+ * Returns the key\'s request total for the 30-day UTC window and the sandboxes and Agents it created that still exist, including sandboxes that never got a sandbox row. Works for revoked keys owned by the authenticated account.
171
+ * Get API key usage
172
+ */
173
+ async apiKeyUsage(requestParameters, initOverrides) {
174
+ const response = await this.apiKeyUsageRaw(requestParameters, initOverrides);
175
+ return await response.value();
176
+ }
177
+ /**
178
+ * Creates request options for apiKeys without sending the request
179
+ */
180
+ async apiKeysRequestOpts() {
181
+ const queryParameters = {};
182
+ const headerParameters = {};
183
+ if (this.configuration && this.configuration.accessToken) {
184
+ const token = this.configuration.accessToken;
185
+ const tokenString = await token("BoatBearerAuth", []);
186
+ if (tokenString) {
187
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
188
+ }
189
+ }
190
+ let urlPath = `/api-keys`;
191
+ return {
192
+ path: urlPath,
193
+ method: 'GET',
194
+ headers: headerParameters,
195
+ query: queryParameters,
196
+ };
197
+ }
198
+ /**
199
+ * Lists API key metadata only. Raw key secrets are not returned after creation/rotation. Results include expiry and scope. A restricted API-key caller receives `apiKeys: []`; only an unrestricted account key or browser/CLI session receives the account inventory. Bearer header is unchanged; scope lives on the key.
200
+ * List API keys
201
+ */
202
+ async apiKeysRaw(initOverrides) {
203
+ const requestOptions = await this.apiKeysRequestOpts();
204
+ const response = await this.request(requestOptions, initOverrides);
205
+ return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeysResponseFromJSON(jsonValue));
206
+ }
207
+ /**
208
+ * Lists API key metadata only. Raw key secrets are not returned after creation/rotation. Results include expiry and scope. A restricted API-key caller receives `apiKeys: []`; only an unrestricted account key or browser/CLI session receives the account inventory. Bearer header is unchanged; scope lives on the key.
209
+ * List API keys
210
+ */
211
+ async apiKeys(initOverrides) {
212
+ const response = await this.apiKeysRaw(initOverrides);
213
+ return await response.value();
214
+ }
215
+ /**
216
+ * Creates request options for artifact without sending the request
217
+ */
218
+ async artifactRequestOpts(requestParameters) {
219
+ if (requestParameters['sandboxId'] == null) {
220
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling artifact().');
221
+ }
222
+ if (requestParameters['path'] == null) {
223
+ throw new runtime.RequiredError('path', 'Required parameter "path" was null or undefined when calling artifact().');
224
+ }
225
+ const queryParameters = {};
226
+ if (requestParameters['path'] != null) {
227
+ queryParameters['path'] = requestParameters['path'];
228
+ }
229
+ const headerParameters = {};
230
+ if (this.configuration && this.configuration.accessToken) {
231
+ const token = this.configuration.accessToken;
232
+ const tokenString = await token("BoatBearerAuth", []);
233
+ if (tokenString) {
234
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
235
+ }
236
+ }
237
+ let urlPath = `/sandboxes/{sandboxId}/artifacts`;
238
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
239
+ return {
240
+ path: urlPath,
241
+ method: 'GET',
242
+ headers: headerParameters,
243
+ query: queryParameters,
244
+ };
245
+ }
246
+ /**
247
+ * Download a sandbox artifact
248
+ */
249
+ async artifactRaw(requestParameters, initOverrides) {
250
+ const requestOptions = await this.artifactRequestOpts(requestParameters);
251
+ const response = await this.request(requestOptions, initOverrides);
252
+ return new runtime.BlobApiResponse(response);
253
+ }
254
+ /**
255
+ * Download a sandbox artifact
256
+ */
257
+ async artifact(requestParameters, initOverrides) {
258
+ const response = await this.artifactRaw(requestParameters, initOverrides);
259
+ return await response.value();
260
+ }
261
+ /**
262
+ * Creates request options for command without sending the request
263
+ */
264
+ async commandRequestOpts(requestParameters) {
265
+ if (requestParameters['sandboxId'] == null) {
266
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling command().');
267
+ }
268
+ if (requestParameters['commandRequest'] == null) {
269
+ throw new runtime.RequiredError('commandRequest', 'Required parameter "commandRequest" was null or undefined when calling command().');
270
+ }
271
+ const queryParameters = {};
272
+ const headerParameters = {};
273
+ headerParameters['Content-Type'] = 'application/json';
274
+ if (this.configuration && this.configuration.accessToken) {
275
+ const token = this.configuration.accessToken;
276
+ const tokenString = await token("BoatBearerAuth", []);
277
+ if (tokenString) {
278
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
279
+ }
280
+ }
281
+ let urlPath = `/sandboxes/{sandboxId}/commands`;
282
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
283
+ return {
284
+ path: urlPath,
285
+ method: 'POST',
286
+ headers: headerParameters,
287
+ query: queryParameters,
288
+ body: CommandRequestToJSON(requestParameters['commandRequest']),
289
+ };
290
+ }
291
+ /**
292
+ * Runs the command synchronously by default (timeout configurable via `timeoutSeconds`, 600s cap). With `detached: true` the command starts in the background and a process id is returned immediately; poll `/sandboxes/{sandboxId}/commands/{processId}` for status and logs. Returns 400 invalid_timeout when `timeoutSeconds` is not an integer in 1-600. Returns 409 boat_starting (retryable) while the sandbox is still provisioning -- wait until the sandbox state is ready before running commands. Command execution is never retried automatically: a 502 boat_direct_failed means the command may already be running on the sandbox.
293
+ * Execute a command in a sandbox
294
+ */
295
+ async commandRaw(requestParameters, initOverrides) {
296
+ const requestOptions = await this.commandRequestOpts(requestParameters);
297
+ const response = await this.request(requestOptions, initOverrides);
298
+ return new runtime.JSONApiResponse(response, (jsonValue) => Command200ResponseFromJSON(jsonValue));
299
+ }
300
+ /**
301
+ * Runs the command synchronously by default (timeout configurable via `timeoutSeconds`, 600s cap). With `detached: true` the command starts in the background and a process id is returned immediately; poll `/sandboxes/{sandboxId}/commands/{processId}` for status and logs. Returns 400 invalid_timeout when `timeoutSeconds` is not an integer in 1-600. Returns 409 boat_starting (retryable) while the sandbox is still provisioning -- wait until the sandbox state is ready before running commands. Command execution is never retried automatically: a 502 boat_direct_failed means the command may already be running on the sandbox.
302
+ * Execute a command in a sandbox
303
+ */
304
+ async command(requestParameters, initOverrides) {
305
+ const response = await this.commandRaw(requestParameters, initOverrides);
306
+ return await response.value();
307
+ }
308
+ /**
309
+ * Creates request options for commandStatus without sending the request
310
+ */
311
+ async commandStatusRequestOpts(requestParameters) {
312
+ if (requestParameters['sandboxId'] == null) {
313
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling commandStatus().');
314
+ }
315
+ if (requestParameters['processId'] == null) {
316
+ throw new runtime.RequiredError('processId', 'Required parameter "processId" was null or undefined when calling commandStatus().');
317
+ }
318
+ const queryParameters = {};
319
+ if (requestParameters['tailBytes'] != null) {
320
+ queryParameters['tailBytes'] = requestParameters['tailBytes'];
321
+ }
322
+ const headerParameters = {};
323
+ if (this.configuration && this.configuration.accessToken) {
324
+ const token = this.configuration.accessToken;
325
+ const tokenString = await token("BoatBearerAuth", []);
326
+ if (tokenString) {
327
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
328
+ }
329
+ }
330
+ let urlPath = `/sandboxes/{sandboxId}/commands/{processId}`;
331
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
332
+ urlPath = urlPath.replace('{processId}', encodeURIComponent(String(requestParameters['processId'])));
333
+ return {
334
+ path: urlPath,
335
+ method: 'GET',
336
+ headers: headerParameters,
337
+ query: queryParameters,
338
+ };
339
+ }
340
+ /**
341
+ * Get detached command status and logs
342
+ */
343
+ async commandStatusRaw(requestParameters, initOverrides) {
344
+ const requestOptions = await this.commandStatusRequestOpts(requestParameters);
345
+ const response = await this.request(requestOptions, initOverrides);
346
+ return new runtime.JSONApiResponse(response, (jsonValue) => CommandStatusResponseFromJSON(jsonValue));
347
+ }
348
+ /**
349
+ * Get detached command status and logs
350
+ */
351
+ async commandStatus(requestParameters, initOverrides) {
352
+ const response = await this.commandStatusRaw(requestParameters, initOverrides);
353
+ return await response.value();
354
+ }
355
+ /**
356
+ * Creates request options for conversations without sending the request
357
+ */
358
+ async conversationsRequestOpts(requestParameters) {
359
+ if (requestParameters['sandboxId'] == null) {
360
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling conversations().');
361
+ }
362
+ const queryParameters = {};
363
+ const headerParameters = {};
364
+ if (this.configuration && this.configuration.accessToken) {
365
+ const token = this.configuration.accessToken;
366
+ const tokenString = await token("BoatBearerAuth", []);
367
+ if (tokenString) {
368
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
369
+ }
370
+ }
371
+ let urlPath = `/sandboxes/{sandboxId}/conversations`;
372
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
373
+ return {
374
+ path: urlPath,
375
+ method: 'GET',
376
+ headers: headerParameters,
377
+ query: queryParameters,
378
+ };
379
+ }
380
+ /**
381
+ * Every conversation on the sandbox, most recently prompted first, with what you need to pick one: how many prompts it holds, whether a turn is running in it right now, the last harness and model it ran on, a preview of its last prompt, and `current`, the one a `POST /prompt` without `new` or `conversationId` would continue. Pass an `id` back as `conversationId` on `POST /prompt` to resume that thread, or as `conversation` on `POST /steer`, `POST /interrupt` and `GET /events` to scope those. See [Integrated agents](/integrated-agents).
382
+ * List boat conversations
383
+ */
384
+ async conversationsRaw(requestParameters, initOverrides) {
385
+ const requestOptions = await this.conversationsRequestOpts(requestParameters);
386
+ const response = await this.request(requestOptions, initOverrides);
387
+ return new runtime.JSONApiResponse(response, (jsonValue) => ConversationsResponseFromJSON(jsonValue));
388
+ }
389
+ /**
390
+ * Every conversation on the sandbox, most recently prompted first, with what you need to pick one: how many prompts it holds, whether a turn is running in it right now, the last harness and model it ran on, a preview of its last prompt, and `current`, the one a `POST /prompt` without `new` or `conversationId` would continue. Pass an `id` back as `conversationId` on `POST /prompt` to resume that thread, or as `conversation` on `POST /steer`, `POST /interrupt` and `GET /events` to scope those. See [Integrated agents](/integrated-agents).
391
+ * List boat conversations
392
+ */
393
+ async conversations(requestParameters, initOverrides) {
394
+ const response = await this.conversationsRaw(requestParameters, initOverrides);
395
+ return await response.value();
396
+ }
397
+ /**
398
+ * Creates request options for create without sending the request
399
+ */
400
+ async createRequestOpts(requestParameters) {
401
+ const queryParameters = {};
402
+ if (requestParameters['org'] != null) {
403
+ queryParameters['org'] = requestParameters['org'];
404
+ }
405
+ const headerParameters = {};
406
+ headerParameters['Content-Type'] = 'application/json';
407
+ if (requestParameters['idempotencyKey'] != null) {
408
+ headerParameters['Idempotency-Key'] = String(requestParameters['idempotencyKey']);
409
+ }
410
+ if (requestParameters['xBoatOrg'] != null) {
411
+ headerParameters['X-Boat-Org'] = String(requestParameters['xBoatOrg']);
412
+ }
413
+ if (this.configuration && this.configuration.accessToken) {
414
+ const token = this.configuration.accessToken;
415
+ const tokenString = await token("BoatBearerAuth", []);
416
+ if (tokenString) {
417
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
418
+ }
419
+ }
420
+ let urlPath = `/sandboxes`;
421
+ return {
422
+ path: urlPath,
423
+ method: 'POST',
424
+ headers: headerParameters,
425
+ query: queryParameters,
426
+ body: CreateSandboxRequestToJSON(requestParameters['createSandboxRequest']),
427
+ };
428
+ }
429
+ /**
430
+ * Provision a new cloud computer. Store the returned `sandbox.id` with your product job/session record. Send an `Idempotency-Key` header to make this call safe to retry after a lost response without creating a second billable sandbox.
431
+ * Create sandbox
432
+ */
433
+ async createRaw(requestParameters, initOverrides) {
434
+ const requestOptions = await this.createRequestOpts(requestParameters);
435
+ const response = await this.request(requestOptions, initOverrides);
436
+ return new runtime.JSONApiResponse(response, (jsonValue) => CreateSandboxResponseFromJSON(jsonValue));
437
+ }
438
+ /**
439
+ * Provision a new cloud computer. Store the returned `sandbox.id` with your product job/session record. Send an `Idempotency-Key` header to make this call safe to retry after a lost response without creating a second billable sandbox.
440
+ * Create sandbox
441
+ */
442
+ async create(requestParameters = {}, initOverrides) {
443
+ const response = await this.createRaw(requestParameters, initOverrides);
444
+ return await response.value();
445
+ }
446
+ /**
447
+ * Creates request options for createEnvironment without sending the request
448
+ */
449
+ async createEnvironmentRequestOpts(requestParameters) {
450
+ if (requestParameters['createSandboxEnvironmentRequest'] == null) {
451
+ throw new runtime.RequiredError('createSandboxEnvironmentRequest', 'Required parameter "createSandboxEnvironmentRequest" was null or undefined when calling createEnvironment().');
452
+ }
453
+ const queryParameters = {};
454
+ const headerParameters = {};
455
+ headerParameters['Content-Type'] = 'application/json';
456
+ if (this.configuration && this.configuration.accessToken) {
457
+ const token = this.configuration.accessToken;
458
+ const tokenString = await token("BoatBearerAuth", []);
459
+ if (tokenString) {
460
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
461
+ }
462
+ }
463
+ let urlPath = `/environments`;
464
+ return {
465
+ path: urlPath,
466
+ method: 'POST',
467
+ headers: headerParameters,
468
+ query: queryParameters,
469
+ body: CreateSandboxEnvironmentRequestToJSON(requestParameters['createSandboxEnvironmentRequest']),
470
+ };
471
+ }
472
+ /**
473
+ * Create a new named environment. It starts on version 1 with all fine-grained flags on and `safeForThirdParties` off.
474
+ * Create a sandbox environment
475
+ */
476
+ async createEnvironmentRaw(requestParameters, initOverrides) {
477
+ const requestOptions = await this.createEnvironmentRequestOpts(requestParameters);
478
+ const response = await this.request(requestOptions, initOverrides);
479
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxEnvironmentListResponseFromJSON(jsonValue));
480
+ }
481
+ /**
482
+ * Create a new named environment. It starts on version 1 with all fine-grained flags on and `safeForThirdParties` off.
483
+ * Create a sandbox environment
484
+ */
485
+ async createEnvironment(requestParameters, initOverrides) {
486
+ const response = await this.createEnvironmentRaw(requestParameters, initOverrides);
487
+ return await response.value();
488
+ }
489
+ /**
490
+ * Creates request options for createScopedApiKey without sending the request
491
+ */
492
+ async createScopedApiKeyRequestOpts(requestParameters) {
493
+ if (requestParameters['createScopedApiKeyRequest'] == null) {
494
+ throw new runtime.RequiredError('createScopedApiKeyRequest', 'Required parameter "createScopedApiKeyRequest" was null or undefined when calling createScopedApiKey().');
495
+ }
496
+ const queryParameters = {};
497
+ const headerParameters = {};
498
+ headerParameters['Content-Type'] = 'application/json';
499
+ if (this.configuration && this.configuration.accessToken) {
500
+ const token = this.configuration.accessToken;
501
+ const tokenString = await token("BoatBearerAuth", []);
502
+ if (tokenString) {
503
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
504
+ }
505
+ }
506
+ let urlPath = `/api-keys/scoped`;
507
+ return {
508
+ path: urlPath,
509
+ method: 'POST',
510
+ headers: headerParameters,
511
+ query: queryParameters,
512
+ body: CreateScopedApiKeyRequestToJSON(requestParameters['createScopedApiKeyRequest']),
513
+ };
514
+ }
515
+ /**
516
+ * Creates a scoped, expiring API key. Requires a dashboard/CLI session or an admin-scoped token. The secret is returned once. This dedicated path returns a typed 503 until scoped credential creation is activated.
517
+ * Create a scoped API key
518
+ */
519
+ async createScopedApiKeyRaw(requestParameters, initOverrides) {
520
+ const requestOptions = await this.createScopedApiKeyRequestOpts(requestParameters);
521
+ const response = await this.request(requestOptions, initOverrides);
522
+ return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeySecretResponseFromJSON(jsonValue));
523
+ }
524
+ /**
525
+ * Creates a scoped, expiring API key. Requires a dashboard/CLI session or an admin-scoped token. The secret is returned once. This dedicated path returns a typed 503 until scoped credential creation is activated.
526
+ * Create a scoped API key
527
+ */
528
+ async createScopedApiKey(requestParameters, initOverrides) {
529
+ const response = await this.createScopedApiKeyRaw(requestParameters, initOverrides);
530
+ return await response.value();
531
+ }
532
+ /**
533
+ * Creates request options for createWebhook without sending the request
534
+ */
535
+ async createWebhookRequestOpts(requestParameters) {
536
+ if (requestParameters['webhookCreateRequest'] == null) {
537
+ throw new runtime.RequiredError('webhookCreateRequest', 'Required parameter "webhookCreateRequest" was null or undefined when calling createWebhook().');
538
+ }
539
+ const queryParameters = {};
540
+ const headerParameters = {};
541
+ headerParameters['Content-Type'] = 'application/json';
542
+ if (this.configuration && this.configuration.accessToken) {
543
+ const token = this.configuration.accessToken;
544
+ const tokenString = await token("BoatBearerAuth", []);
545
+ if (tokenString) {
546
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
547
+ }
548
+ }
549
+ let urlPath = `/webhooks`;
550
+ return {
551
+ path: urlPath,
552
+ method: 'POST',
553
+ headers: headerParameters,
554
+ query: queryParameters,
555
+ body: WebhookCreateRequestToJSON(requestParameters['webhookCreateRequest']),
556
+ };
557
+ }
558
+ /**
559
+ * Registers an account-wide endpoint for sandbox lifecycle events. The endpoint must use HTTPS on port 443 and resolve only to public addresses. Redirects are not followed during delivery. The signing secret is returned only in this response. An account can register at most 10 unique endpoint URLs.
560
+ * Create webhook
561
+ */
562
+ async createWebhookRaw(requestParameters, initOverrides) {
563
+ const requestOptions = await this.createWebhookRequestOpts(requestParameters);
564
+ const response = await this.request(requestOptions, initOverrides);
565
+ return new runtime.JSONApiResponse(response, (jsonValue) => WebhookSecretResponseFromJSON(jsonValue));
566
+ }
567
+ /**
568
+ * Registers an account-wide endpoint for sandbox lifecycle events. The endpoint must use HTTPS on port 443 and resolve only to public addresses. Redirects are not followed during delivery. The signing secret is returned only in this response. An account can register at most 10 unique endpoint URLs.
569
+ * Create webhook
570
+ */
571
+ async createWebhook(requestParameters, initOverrides) {
572
+ const response = await this.createWebhookRaw(requestParameters, initOverrides);
573
+ return await response.value();
574
+ }
575
+ /**
576
+ * Creates request options for deleteEnvironment without sending the request
577
+ */
578
+ async deleteEnvironmentRequestOpts(requestParameters) {
579
+ if (requestParameters['environmentId'] == null) {
580
+ throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling deleteEnvironment().');
581
+ }
582
+ const queryParameters = {};
583
+ const headerParameters = {};
584
+ if (this.configuration && this.configuration.accessToken) {
585
+ const token = this.configuration.accessToken;
586
+ const tokenString = await token("BoatBearerAuth", []);
587
+ if (tokenString) {
588
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
589
+ }
590
+ }
591
+ let urlPath = `/environments/{environmentId}`;
592
+ urlPath = urlPath.replace('{environmentId}', encodeURIComponent(String(requestParameters['environmentId'])));
593
+ return {
594
+ path: urlPath,
595
+ method: 'DELETE',
596
+ headers: headerParameters,
597
+ query: queryParameters,
598
+ };
599
+ }
600
+ /**
601
+ * Soft-deletes an environment. The default environment cannot be deleted, and at least one environment is always kept.
602
+ * Delete a sandbox environment
603
+ */
604
+ async deleteEnvironmentRaw(requestParameters, initOverrides) {
605
+ const requestOptions = await this.deleteEnvironmentRequestOpts(requestParameters);
606
+ const response = await this.request(requestOptions, initOverrides);
607
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxEnvironmentResponseFromJSON(jsonValue));
608
+ }
609
+ /**
610
+ * Soft-deletes an environment. The default environment cannot be deleted, and at least one environment is always kept.
611
+ * Delete a sandbox environment
612
+ */
613
+ async deleteEnvironment(requestParameters, initOverrides) {
614
+ const response = await this.deleteEnvironmentRaw(requestParameters, initOverrides);
615
+ return await response.value();
616
+ }
617
+ /**
618
+ * Creates request options for deleteEnvironmentRepo without sending the request
619
+ */
620
+ async deleteEnvironmentRepoRequestOpts(requestParameters) {
621
+ if (requestParameters['environmentId'] == null) {
622
+ throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling deleteEnvironmentRepo().');
623
+ }
624
+ if (requestParameters['repositoryId'] == null) {
625
+ throw new runtime.RequiredError('repositoryId', 'Required parameter "repositoryId" was null or undefined when calling deleteEnvironmentRepo().');
626
+ }
627
+ const queryParameters = {};
628
+ const headerParameters = {};
629
+ if (this.configuration && this.configuration.accessToken) {
630
+ const token = this.configuration.accessToken;
631
+ const tokenString = await token("BoatBearerAuth", []);
632
+ if (tokenString) {
633
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
634
+ }
635
+ }
636
+ let urlPath = `/environments/{environmentId}/repos/{repositoryId}`;
637
+ urlPath = urlPath.replace('{environmentId}', encodeURIComponent(String(requestParameters['environmentId'])));
638
+ urlPath = urlPath.replace('{repositoryId}', encodeURIComponent(String(requestParameters['repositoryId'])));
639
+ return {
640
+ path: urlPath,
641
+ method: 'DELETE',
642
+ headers: headerParameters,
643
+ query: queryParameters,
644
+ };
645
+ }
646
+ /**
647
+ * Removes one repository from the environment\'s selection. Mints a new immutable version.
648
+ * Remove a repository from an environment
649
+ */
650
+ async deleteEnvironmentRepoRaw(requestParameters, initOverrides) {
651
+ const requestOptions = await this.deleteEnvironmentRepoRequestOpts(requestParameters);
652
+ const response = await this.request(requestOptions, initOverrides);
653
+ return new runtime.JSONApiResponse(response, (jsonValue) => EnvironmentItemChangeResponseFromJSON(jsonValue));
654
+ }
655
+ /**
656
+ * Removes one repository from the environment\'s selection. Mints a new immutable version.
657
+ * Remove a repository from an environment
658
+ */
659
+ async deleteEnvironmentRepo(requestParameters, initOverrides) {
660
+ const response = await this.deleteEnvironmentRepoRaw(requestParameters, initOverrides);
661
+ return await response.value();
662
+ }
663
+ /**
664
+ * Creates request options for deleteEnvironmentSecretFile without sending the request
665
+ */
666
+ async deleteEnvironmentSecretFileRequestOpts(requestParameters) {
667
+ if (requestParameters['path'] == null) {
668
+ throw new runtime.RequiredError('path', 'Required parameter "path" was null or undefined when calling deleteEnvironmentSecretFile().');
669
+ }
670
+ if (requestParameters['environmentId'] == null) {
671
+ throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling deleteEnvironmentSecretFile().');
672
+ }
673
+ const queryParameters = {};
674
+ if (requestParameters['path'] != null) {
675
+ queryParameters['path'] = requestParameters['path'];
676
+ }
677
+ const headerParameters = {};
678
+ if (this.configuration && this.configuration.accessToken) {
679
+ const token = this.configuration.accessToken;
680
+ const tokenString = await token("BoatBearerAuth", []);
681
+ if (tokenString) {
682
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
683
+ }
684
+ }
685
+ let urlPath = `/environments/{environmentId}/secret-files`;
686
+ urlPath = urlPath.replace('{environmentId}', encodeURIComponent(String(requestParameters['environmentId'])));
687
+ return {
688
+ path: urlPath,
689
+ method: 'DELETE',
690
+ headers: headerParameters,
691
+ query: queryParameters,
692
+ };
693
+ }
694
+ /**
695
+ * Removes the secret file at `path`. Mints a new immutable version.
696
+ * Remove one secret file
697
+ */
698
+ async deleteEnvironmentSecretFileRaw(requestParameters, initOverrides) {
699
+ const requestOptions = await this.deleteEnvironmentSecretFileRequestOpts(requestParameters);
700
+ const response = await this.request(requestOptions, initOverrides);
701
+ return new runtime.JSONApiResponse(response, (jsonValue) => EnvironmentItemChangeResponseFromJSON(jsonValue));
702
+ }
703
+ /**
704
+ * Removes the secret file at `path`. Mints a new immutable version.
705
+ * Remove one secret file
706
+ */
707
+ async deleteEnvironmentSecretFile(requestParameters, initOverrides) {
708
+ const response = await this.deleteEnvironmentSecretFileRaw(requestParameters, initOverrides);
709
+ return await response.value();
710
+ }
711
+ /**
712
+ * Creates request options for deleteEnvironmentVar without sending the request
713
+ */
714
+ async deleteEnvironmentVarRequestOpts(requestParameters) {
715
+ if (requestParameters['environmentId'] == null) {
716
+ throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling deleteEnvironmentVar().');
717
+ }
718
+ if (requestParameters['key'] == null) {
719
+ throw new runtime.RequiredError('key', 'Required parameter "key" was null or undefined when calling deleteEnvironmentVar().');
720
+ }
721
+ const queryParameters = {};
722
+ const headerParameters = {};
723
+ if (this.configuration && this.configuration.accessToken) {
724
+ const token = this.configuration.accessToken;
725
+ const tokenString = await token("BoatBearerAuth", []);
726
+ if (tokenString) {
727
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
728
+ }
729
+ }
730
+ let urlPath = `/environments/{environmentId}/vars/{key}`;
731
+ urlPath = urlPath.replace('{environmentId}', encodeURIComponent(String(requestParameters['environmentId'])));
732
+ urlPath = urlPath.replace('{key}', encodeURIComponent(String(requestParameters['key'])));
733
+ return {
734
+ path: urlPath,
735
+ method: 'DELETE',
736
+ headers: headerParameters,
737
+ query: queryParameters,
738
+ };
739
+ }
740
+ /**
741
+ * Removes a single variable. Mints a new immutable version.
742
+ * Remove one environment variable
743
+ */
744
+ async deleteEnvironmentVarRaw(requestParameters, initOverrides) {
745
+ const requestOptions = await this.deleteEnvironmentVarRequestOpts(requestParameters);
746
+ const response = await this.request(requestOptions, initOverrides);
747
+ return new runtime.JSONApiResponse(response, (jsonValue) => EnvironmentItemChangeResponseFromJSON(jsonValue));
748
+ }
749
+ /**
750
+ * Removes a single variable. Mints a new immutable version.
751
+ * Remove one environment variable
752
+ */
753
+ async deleteEnvironmentVar(requestParameters, initOverrides) {
754
+ const response = await this.deleteEnvironmentVarRaw(requestParameters, initOverrides);
755
+ return await response.value();
756
+ }
757
+ /**
758
+ * Creates request options for deleteNamedSnapshot without sending the request
759
+ */
760
+ async deleteNamedSnapshotRequestOpts(requestParameters) {
761
+ if (requestParameters['name'] == null) {
762
+ throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling deleteNamedSnapshot().');
763
+ }
764
+ const queryParameters = {};
765
+ const headerParameters = {};
766
+ if (this.configuration && this.configuration.accessToken) {
767
+ const token = this.configuration.accessToken;
768
+ const tokenString = await token("BoatBearerAuth", []);
769
+ if (tokenString) {
770
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
771
+ }
772
+ }
773
+ let urlPath = `/named-snapshots/{name}`;
774
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
775
+ return {
776
+ path: urlPath,
777
+ method: 'DELETE',
778
+ headers: headerParameters,
779
+ query: queryParameters,
780
+ };
781
+ }
782
+ /**
783
+ * Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
784
+ * Remove a named snapshot
785
+ */
786
+ async deleteNamedSnapshotRaw(requestParameters, initOverrides) {
787
+ const requestOptions = await this.deleteNamedSnapshotRequestOpts(requestParameters);
788
+ const response = await this.request(requestOptions, initOverrides);
789
+ return new runtime.JSONApiResponse(response, (jsonValue) => NamedSnapshotDeletedResponseFromJSON(jsonValue));
790
+ }
791
+ /**
792
+ * Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
793
+ * Remove a named snapshot
794
+ */
795
+ async deleteNamedSnapshot(requestParameters, initOverrides) {
796
+ const response = await this.deleteNamedSnapshotRaw(requestParameters, initOverrides);
797
+ return await response.value();
798
+ }
799
+ /**
800
+ * Creates request options for deleteSandbox without sending the request
801
+ */
802
+ async deleteSandboxRequestOpts(requestParameters) {
803
+ if (requestParameters['xAsciiConfirmDelete'] == null) {
804
+ throw new runtime.RequiredError('xAsciiConfirmDelete', 'Required parameter "xAsciiConfirmDelete" was null or undefined when calling deleteSandbox().');
805
+ }
806
+ if (requestParameters['sandboxId'] == null) {
807
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling deleteSandbox().');
808
+ }
809
+ const queryParameters = {};
810
+ const headerParameters = {};
811
+ if (requestParameters['xAsciiConfirmDelete'] != null) {
812
+ headerParameters['X-Ascii-Confirm-Delete'] = String(requestParameters['xAsciiConfirmDelete']);
813
+ }
814
+ if (this.configuration && this.configuration.accessToken) {
815
+ const token = this.configuration.accessToken;
816
+ const tokenString = await token("BoatBearerAuth", []);
817
+ if (tokenString) {
818
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
819
+ }
820
+ }
821
+ let urlPath = `/sandboxes/{sandboxId}`;
822
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
823
+ return {
824
+ path: urlPath,
825
+ method: 'DELETE',
826
+ headers: headerParameters,
827
+ query: queryParameters,
828
+ };
829
+ }
830
+ /**
831
+ * 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`.
832
+ * Permanently delete sandbox data
833
+ */
834
+ async deleteSandboxRaw(requestParameters, initOverrides) {
835
+ const requestOptions = await this.deleteSandboxRequestOpts(requestParameters);
836
+ const response = await this.request(requestOptions, initOverrides);
837
+ return new runtime.JSONApiResponse(response, (jsonValue) => DeletionOperationResponseFromJSON(jsonValue));
838
+ }
839
+ /**
840
+ * 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`.
841
+ * Permanently delete sandbox data
842
+ */
843
+ async deleteSandbox(requestParameters, initOverrides) {
844
+ const response = await this.deleteSandboxRaw(requestParameters, initOverrides);
845
+ return await response.value();
846
+ }
847
+ /**
848
+ * Creates request options for deleteSnapshot without sending the request
849
+ */
850
+ async deleteSnapshotRequestOpts(requestParameters) {
851
+ if (requestParameters['snapshotId'] == null) {
852
+ throw new runtime.RequiredError('snapshotId', 'Required parameter "snapshotId" was null or undefined when calling deleteSnapshot().');
853
+ }
854
+ if (requestParameters['xAsciiConfirmDelete'] == null) {
855
+ throw new runtime.RequiredError('xAsciiConfirmDelete', 'Required parameter "xAsciiConfirmDelete" was null or undefined when calling deleteSnapshot().');
856
+ }
857
+ const queryParameters = {};
858
+ const headerParameters = {};
859
+ if (requestParameters['xAsciiConfirmDelete'] != null) {
860
+ headerParameters['X-Ascii-Confirm-Delete'] = String(requestParameters['xAsciiConfirmDelete']);
861
+ }
862
+ if (this.configuration && this.configuration.accessToken) {
863
+ const token = this.configuration.accessToken;
864
+ const tokenString = await token("BoatBearerAuth", []);
865
+ if (tokenString) {
866
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
867
+ }
868
+ }
869
+ let urlPath = `/snapshots/{snapshotId}`;
870
+ urlPath = urlPath.replace('{snapshotId}', encodeURIComponent(String(requestParameters['snapshotId'])));
871
+ return {
872
+ path: urlPath,
873
+ method: 'DELETE',
874
+ headers: headerParameters,
875
+ query: queryParameters,
876
+ };
877
+ }
878
+ /**
879
+ * Accept irreversible background deletion of an unpinned snapshot owned by the authenticated account. Snapshots required by another incremental snapshot or active restore return `409`. Poll the returned operation until `completed`.
880
+ * Permanently delete snapshot data
881
+ */
882
+ async deleteSnapshotRaw(requestParameters, initOverrides) {
883
+ const requestOptions = await this.deleteSnapshotRequestOpts(requestParameters);
884
+ const response = await this.request(requestOptions, initOverrides);
885
+ return new runtime.JSONApiResponse(response, (jsonValue) => DeletionOperationResponseFromJSON(jsonValue));
886
+ }
887
+ /**
888
+ * Accept irreversible background deletion of an unpinned snapshot owned by the authenticated account. Snapshots required by another incremental snapshot or active restore return `409`. Poll the returned operation until `completed`.
889
+ * Permanently delete snapshot data
890
+ */
891
+ async deleteSnapshot(requestParameters, initOverrides) {
892
+ const response = await this.deleteSnapshotRaw(requestParameters, initOverrides);
893
+ return await response.value();
894
+ }
895
+ /**
896
+ * Creates request options for deleteWebhook without sending the request
897
+ */
898
+ async deleteWebhookRequestOpts(requestParameters) {
899
+ if (requestParameters['webhookId'] == null) {
900
+ throw new runtime.RequiredError('webhookId', 'Required parameter "webhookId" was null or undefined when calling deleteWebhook().');
901
+ }
902
+ const queryParameters = {};
903
+ const headerParameters = {};
904
+ if (this.configuration && this.configuration.accessToken) {
905
+ const token = this.configuration.accessToken;
906
+ const tokenString = await token("BoatBearerAuth", []);
907
+ if (tokenString) {
908
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
909
+ }
910
+ }
911
+ let urlPath = `/webhooks/{webhookId}`;
912
+ urlPath = urlPath.replace('{webhookId}', encodeURIComponent(String(requestParameters['webhookId'])));
913
+ return {
914
+ path: urlPath,
915
+ method: 'DELETE',
916
+ headers: headerParameters,
917
+ query: queryParameters,
918
+ };
919
+ }
920
+ /**
921
+ * Deletes the endpoint and its queued deliveries. An attempt already in flight can still arrive.
922
+ * Delete webhook
923
+ */
924
+ async deleteWebhookRaw(requestParameters, initOverrides) {
925
+ const requestOptions = await this.deleteWebhookRequestOpts(requestParameters);
926
+ const response = await this.request(requestOptions, initOverrides);
927
+ return new runtime.JSONApiResponse(response, (jsonValue) => WebhookDeleteResponseFromJSON(jsonValue));
928
+ }
929
+ /**
930
+ * Deletes the endpoint and its queued deliveries. An attempt already in flight can still arrive.
931
+ * Delete webhook
932
+ */
933
+ async deleteWebhook(requestParameters, initOverrides) {
934
+ const response = await this.deleteWebhookRaw(requestParameters, initOverrides);
935
+ return await response.value();
936
+ }
937
+ /**
938
+ * Creates request options for desktop without sending the request
939
+ */
940
+ async desktopRequestOpts(requestParameters) {
941
+ if (requestParameters['sandboxId'] == null) {
942
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling desktop().');
943
+ }
944
+ const queryParameters = {};
945
+ if (requestParameters['vnc'] != null) {
946
+ queryParameters['vnc'] = requestParameters['vnc'];
947
+ }
948
+ if (requestParameters['theme'] != null) {
949
+ queryParameters['theme'] = requestParameters['theme'];
950
+ }
951
+ const headerParameters = {};
952
+ headerParameters['Content-Type'] = 'application/json';
953
+ if (this.configuration && this.configuration.accessToken) {
954
+ const token = this.configuration.accessToken;
955
+ const tokenString = await token("BoatBearerAuth", []);
956
+ if (tokenString) {
957
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
958
+ }
959
+ }
960
+ let urlPath = `/sandboxes/{sandboxId}/desktop`;
961
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
962
+ return {
963
+ path: urlPath,
964
+ method: 'POST',
965
+ headers: headerParameters,
966
+ query: queryParameters,
967
+ body: DesktopRequestToJSON(requestParameters['desktopRequest']),
968
+ };
969
+ }
970
+ /**
971
+ * Create or fetch a secret-bearing desktop/noVNC URL for live computer-use visibility. Use `?vnc=1` for noVNC; a `provisioning: true` response means poll again.
972
+ * Get desktop streaming URL
973
+ */
974
+ async desktopRaw(requestParameters, initOverrides) {
975
+ const requestOptions = await this.desktopRequestOpts(requestParameters);
976
+ const response = await this.request(requestOptions, initOverrides);
977
+ return new runtime.JSONApiResponse(response, (jsonValue) => DesktopResponseFromJSON(jsonValue));
978
+ }
979
+ /**
980
+ * Create or fetch a secret-bearing desktop/noVNC URL for live computer-use visibility. Use `?vnc=1` for noVNC; a `provisioning: true` response means poll again.
981
+ * Get desktop streaming URL
982
+ */
983
+ async desktop(requestParameters, initOverrides) {
984
+ const response = await this.desktopRaw(requestParameters, initOverrides);
985
+ return await response.value();
986
+ }
987
+ /**
988
+ * Creates request options for environments without sending the request
989
+ */
990
+ async environmentsRequestOpts() {
991
+ const queryParameters = {};
992
+ const headerParameters = {};
993
+ if (this.configuration && this.configuration.accessToken) {
994
+ const token = this.configuration.accessToken;
995
+ const tokenString = await token("BoatBearerAuth", []);
996
+ if (tokenString) {
997
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
998
+ }
999
+ }
1000
+ let urlPath = `/environments`;
1001
+ return {
1002
+ path: urlPath,
1003
+ method: 'GET',
1004
+ headers: headerParameters,
1005
+ query: queryParameters,
1006
+ };
1007
+ }
1008
+ /**
1009
+ * 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.
1010
+ * List Sandbox environments
1011
+ */
1012
+ async environmentsRaw(initOverrides) {
1013
+ const requestOptions = await this.environmentsRequestOpts();
1014
+ const response = await this.request(requestOptions, initOverrides);
1015
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxEnvironmentListResponseFromJSON(jsonValue));
1016
+ }
1017
+ /**
1018
+ * 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.
1019
+ * List Sandbox environments
1020
+ */
1021
+ async environments(initOverrides) {
1022
+ const response = await this.environmentsRaw(initOverrides);
1023
+ return await response.value();
1024
+ }
1025
+ /**
1026
+ * Creates request options for events without sending the request
1027
+ */
1028
+ async eventsRequestOpts(requestParameters) {
1029
+ if (requestParameters['sandboxId'] == null) {
1030
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling events().');
1031
+ }
1032
+ const queryParameters = {};
1033
+ if (requestParameters['limit'] != null) {
1034
+ queryParameters['limit'] = requestParameters['limit'];
1035
+ }
1036
+ if (requestParameters['cursor'] != null) {
1037
+ queryParameters['cursor'] = requestParameters['cursor'];
1038
+ }
1039
+ if (requestParameters['sort'] != null) {
1040
+ queryParameters['sort'] = requestParameters['sort'];
1041
+ }
1042
+ if (requestParameters['type'] != null) {
1043
+ queryParameters['type'] = requestParameters['type'];
1044
+ }
1045
+ if (requestParameters['conversation'] != null) {
1046
+ queryParameters['conversation'] = requestParameters['conversation'];
1047
+ }
1048
+ const headerParameters = {};
1049
+ if (this.configuration && this.configuration.accessToken) {
1050
+ const token = this.configuration.accessToken;
1051
+ const tokenString = await token("BoatBearerAuth", []);
1052
+ if (tokenString) {
1053
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1054
+ }
1055
+ }
1056
+ let urlPath = `/sandboxes/{sandboxId}/events`;
1057
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1058
+ return {
1059
+ path: urlPath,
1060
+ method: 'GET',
1061
+ headers: headerParameters,
1062
+ query: queryParameters,
1063
+ };
1064
+ }
1065
+ /**
1066
+ * Return Sandbox work, lifecycle, and progress events so product UIs can show what the sandbox is doing. A Sandbox runs many conversations in parallel; this streams **all** of them by default and every event carries a `conversationId`. Filter to one or more with `conversation`. Event payloads are extensible. Clients can long-poll this endpoint with `sort=asc` and a cursor to stream responses. Response events expose agent text, streaming partials via `data.is_streaming`, and tool calls/results via `data.tools`.
1067
+ * List boat events
1068
+ */
1069
+ async eventsRaw(requestParameters, initOverrides) {
1070
+ const requestOptions = await this.eventsRequestOpts(requestParameters);
1071
+ const response = await this.request(requestOptions, initOverrides);
1072
+ return new runtime.JSONApiResponse(response, (jsonValue) => EventsResponseFromJSON(jsonValue));
1073
+ }
1074
+ /**
1075
+ * Return Sandbox work, lifecycle, and progress events so product UIs can show what the sandbox is doing. A Sandbox runs many conversations in parallel; this streams **all** of them by default and every event carries a `conversationId`. Filter to one or more with `conversation`. Event payloads are extensible. Clients can long-poll this endpoint with `sort=asc` and a cursor to stream responses. Response events expose agent text, streaming partials via `data.is_streaming`, and tool calls/results via `data.tools`.
1076
+ * List boat events
1077
+ */
1078
+ async events(requestParameters, initOverrides) {
1079
+ const response = await this.eventsRaw(requestParameters, initOverrides);
1080
+ return await response.value();
1081
+ }
1082
+ /**
1083
+ * Creates request options for fork without sending the request
1084
+ */
1085
+ async forkRequestOpts(requestParameters) {
1086
+ if (requestParameters['sandboxId'] == null) {
1087
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling fork().');
1088
+ }
1089
+ const queryParameters = {};
1090
+ const headerParameters = {};
1091
+ headerParameters['Content-Type'] = 'application/json';
1092
+ if (requestParameters['idempotencyKey'] != null) {
1093
+ headerParameters['Idempotency-Key'] = String(requestParameters['idempotencyKey']);
1094
+ }
1095
+ if (this.configuration && this.configuration.accessToken) {
1096
+ const token = this.configuration.accessToken;
1097
+ const tokenString = await token("BoatBearerAuth", []);
1098
+ if (tokenString) {
1099
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1100
+ }
1101
+ }
1102
+ let urlPath = `/sandboxes/{sandboxId}/fork`;
1103
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1104
+ return {
1105
+ path: urlPath,
1106
+ method: 'POST',
1107
+ headers: headerParameters,
1108
+ query: queryParameters,
1109
+ body: ForkRequestToJSON(requestParameters['forkRequest']),
1110
+ };
1111
+ }
1112
+ /**
1113
+ * Provision a new sandbox from an existing one. Send an `Idempotency-Key` header to make this call safe to retry after a lost response without creating a second billable fork.
1114
+ * Fork sandbox
1115
+ */
1116
+ async forkRaw(requestParameters, initOverrides) {
1117
+ const requestOptions = await this.forkRequestOpts(requestParameters);
1118
+ const response = await this.request(requestOptions, initOverrides);
1119
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxActionResponseFromJSON(jsonValue));
1120
+ }
1121
+ /**
1122
+ * Provision a new sandbox from an existing one. Send an `Idempotency-Key` header to make this call safe to retry after a lost response without creating a second billable fork.
1123
+ * Fork sandbox
1124
+ */
1125
+ async fork(requestParameters, initOverrides) {
1126
+ const response = await this.forkRaw(requestParameters, initOverrides);
1127
+ return await response.value();
1128
+ }
1129
+ /**
1130
+ * Creates request options for get without sending the request
1131
+ */
1132
+ async getRequestOpts(requestParameters) {
1133
+ if (requestParameters['sandboxId'] == null) {
1134
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling get().');
1135
+ }
1136
+ const queryParameters = {};
1137
+ const headerParameters = {};
1138
+ if (this.configuration && this.configuration.accessToken) {
1139
+ const token = this.configuration.accessToken;
1140
+ const tokenString = await token("BoatBearerAuth", []);
1141
+ if (tokenString) {
1142
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1143
+ }
1144
+ }
1145
+ let urlPath = `/sandboxes/{sandboxId}`;
1146
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1147
+ return {
1148
+ path: urlPath,
1149
+ method: 'GET',
1150
+ headers: headerParameters,
1151
+ query: queryParameters,
1152
+ };
1153
+ }
1154
+ /**
1155
+ * Poll this endpoint after create, stop, resume, or fork operations.
1156
+ * Get sandbox
1157
+ */
1158
+ async getRaw(requestParameters, initOverrides) {
1159
+ const requestOptions = await this.getRequestOpts(requestParameters);
1160
+ const response = await this.request(requestOptions, initOverrides);
1161
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxInfoResponseFromJSON(jsonValue));
1162
+ }
1163
+ /**
1164
+ * Poll this endpoint after create, stop, resume, or fork operations.
1165
+ * Get sandbox
1166
+ */
1167
+ async get(requestParameters, initOverrides) {
1168
+ const response = await this.getRaw(requestParameters, initOverrides);
1169
+ return await response.value();
1170
+ }
1171
+ /**
1172
+ * Creates request options for getDataRetention without sending the request
1173
+ */
1174
+ async getDataRetentionRequestOpts() {
1175
+ const queryParameters = {};
1176
+ const headerParameters = {};
1177
+ if (this.configuration && this.configuration.accessToken) {
1178
+ const token = this.configuration.accessToken;
1179
+ const tokenString = await token("BoatBearerAuth", []);
1180
+ if (tokenString) {
1181
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1182
+ }
1183
+ }
1184
+ let urlPath = `/account/data-retention`;
1185
+ return {
1186
+ path: urlPath,
1187
+ method: 'GET',
1188
+ headers: headerParameters,
1189
+ query: queryParameters,
1190
+ };
1191
+ }
1192
+ /**
1193
+ * Returns the current zero-data-retention policy. Per-Boat API keys cannot access this account-wide setting. Responses are never cached.
1194
+ * Get account data-retention policy
1195
+ */
1196
+ async getDataRetentionRaw(initOverrides) {
1197
+ const requestOptions = await this.getDataRetentionRequestOpts();
1198
+ const response = await this.request(requestOptions, initOverrides);
1199
+ return new runtime.JSONApiResponse(response, (jsonValue) => DataRetentionPolicyResponseFromJSON(jsonValue));
1200
+ }
1201
+ /**
1202
+ * Returns the current zero-data-retention policy. Per-Boat API keys cannot access this account-wide setting. Responses are never cached.
1203
+ * Get account data-retention policy
1204
+ */
1205
+ async getDataRetention(initOverrides) {
1206
+ const response = await this.getDataRetentionRaw(initOverrides);
1207
+ return await response.value();
1208
+ }
1209
+ /**
1210
+ * Creates request options for getDeletionOperation without sending the request
1211
+ */
1212
+ async getDeletionOperationRequestOpts(requestParameters) {
1213
+ if (requestParameters['operationId'] == null) {
1214
+ throw new runtime.RequiredError('operationId', 'Required parameter "operationId" was null or undefined when calling getDeletionOperation().');
1215
+ }
1216
+ const queryParameters = {};
1217
+ const headerParameters = {};
1218
+ if (this.configuration && this.configuration.accessToken) {
1219
+ const token = this.configuration.accessToken;
1220
+ const tokenString = await token("BoatBearerAuth", []);
1221
+ if (tokenString) {
1222
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1223
+ }
1224
+ }
1225
+ let urlPath = `/deletion-operations/{operationId}`;
1226
+ urlPath = urlPath.replace('{operationId}', encodeURIComponent(String(requestParameters['operationId'])));
1227
+ return {
1228
+ path: urlPath,
1229
+ method: 'GET',
1230
+ headers: headerParameters,
1231
+ query: queryParameters,
1232
+ };
1233
+ }
1234
+ /**
1235
+ * Poll an accepted Boat or snapshot deletion. Only operations owned by the authenticated account are returned. Responses are never cached.
1236
+ * Get deletion operation
1237
+ */
1238
+ async getDeletionOperationRaw(requestParameters, initOverrides) {
1239
+ const requestOptions = await this.getDeletionOperationRequestOpts(requestParameters);
1240
+ const response = await this.request(requestOptions, initOverrides);
1241
+ return new runtime.JSONApiResponse(response, (jsonValue) => DeletionOperationResponseFromJSON(jsonValue));
1242
+ }
1243
+ /**
1244
+ * Poll an accepted Boat or snapshot deletion. Only operations owned by the authenticated account are returned. Responses are never cached.
1245
+ * Get deletion operation
1246
+ */
1247
+ async getDeletionOperation(requestParameters, initOverrides) {
1248
+ const response = await this.getDeletionOperationRaw(requestParameters, initOverrides);
1249
+ return await response.value();
1250
+ }
1251
+ /**
1252
+ * Creates request options for getLatestSandboxSnapshot without sending the request
1253
+ */
1254
+ async getLatestSandboxSnapshotRequestOpts(requestParameters) {
1255
+ if (requestParameters['sandboxId'] == null) {
1256
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling getLatestSandboxSnapshot().');
1257
+ }
1258
+ const queryParameters = {};
1259
+ const headerParameters = {};
1260
+ if (this.configuration && this.configuration.accessToken) {
1261
+ const token = this.configuration.accessToken;
1262
+ const tokenString = await token("BoatBearerAuth", []);
1263
+ if (tokenString) {
1264
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1265
+ }
1266
+ }
1267
+ let urlPath = `/sandboxes/{sandboxId}/snapshots/latest`;
1268
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1269
+ return {
1270
+ path: urlPath,
1271
+ method: 'GET',
1272
+ headers: headerParameters,
1273
+ query: queryParameters,
1274
+ };
1275
+ }
1276
+ /**
1277
+ * Return the most recent completed snapshot for this sandbox, or `null` if it has none.
1278
+ * Get latest boat snapshot
1279
+ */
1280
+ async getLatestSandboxSnapshotRaw(requestParameters, initOverrides) {
1281
+ const requestOptions = await this.getLatestSandboxSnapshotRequestOpts(requestParameters);
1282
+ const response = await this.request(requestOptions, initOverrides);
1283
+ return new runtime.JSONApiResponse(response, (jsonValue) => SnapshotLatestResponseFromJSON(jsonValue));
1284
+ }
1285
+ /**
1286
+ * Return the most recent completed snapshot for this sandbox, or `null` if it has none.
1287
+ * Get latest boat snapshot
1288
+ */
1289
+ async getLatestSandboxSnapshot(requestParameters, initOverrides) {
1290
+ const response = await this.getLatestSandboxSnapshotRaw(requestParameters, initOverrides);
1291
+ return await response.value();
1292
+ }
1293
+ /**
1294
+ * Creates request options for getNamedSnapshot without sending the request
1295
+ */
1296
+ async getNamedSnapshotRequestOpts(requestParameters) {
1297
+ if (requestParameters['name'] == null) {
1298
+ throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling getNamedSnapshot().');
1299
+ }
1300
+ const queryParameters = {};
1301
+ const headerParameters = {};
1302
+ if (this.configuration && this.configuration.accessToken) {
1303
+ const token = this.configuration.accessToken;
1304
+ const tokenString = await token("BoatBearerAuth", []);
1305
+ if (tokenString) {
1306
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1307
+ }
1308
+ }
1309
+ let urlPath = `/named-snapshots/{name}`;
1310
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
1311
+ return {
1312
+ path: urlPath,
1313
+ method: 'GET',
1314
+ headers: headerParameters,
1315
+ query: queryParameters,
1316
+ };
1317
+ }
1318
+ /**
1319
+ * Get a named snapshot
1320
+ */
1321
+ async getNamedSnapshotRaw(requestParameters, initOverrides) {
1322
+ const requestOptions = await this.getNamedSnapshotRequestOpts(requestParameters);
1323
+ const response = await this.request(requestOptions, initOverrides);
1324
+ return new runtime.JSONApiResponse(response, (jsonValue) => NamedSnapshotInfoResponseFromJSON(jsonValue));
1325
+ }
1326
+ /**
1327
+ * Get a named snapshot
1328
+ */
1329
+ async getNamedSnapshot(requestParameters, initOverrides) {
1330
+ const response = await this.getNamedSnapshotRaw(requestParameters, initOverrides);
1331
+ return await response.value();
1332
+ }
1333
+ /**
1334
+ * Creates request options for getSnapshotDownload without sending the request
1335
+ */
1336
+ async getSnapshotDownloadRequestOpts(requestParameters) {
1337
+ if (requestParameters['snapshotId'] == null) {
1338
+ throw new runtime.RequiredError('snapshotId', 'Required parameter "snapshotId" was null or undefined when calling getSnapshotDownload().');
1339
+ }
1340
+ const queryParameters = {};
1341
+ const headerParameters = {};
1342
+ if (this.configuration && this.configuration.accessToken) {
1343
+ const token = this.configuration.accessToken;
1344
+ const tokenString = await token("BoatBearerAuth", []);
1345
+ if (tokenString) {
1346
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1347
+ }
1348
+ }
1349
+ let urlPath = `/snapshots/{snapshotId}/download`;
1350
+ urlPath = urlPath.replace('{snapshotId}', encodeURIComponent(String(requestParameters['snapshotId'])));
1351
+ return {
1352
+ path: urlPath,
1353
+ method: 'GET',
1354
+ headers: headerParameters,
1355
+ query: queryParameters,
1356
+ };
1357
+ }
1358
+ /**
1359
+ * Return time-limited signed URLs for every chunk needed to reconstruct the sandbox filesystem at this snapshot (the full chain, base through this generation), plus the inventory. Download the chunks and reassemble them as described by `reconstruct`. The `boat snapshot pull` CLI command does this for you.
1360
+ * Get snapshot download
1361
+ */
1362
+ async getSnapshotDownloadRaw(requestParameters, initOverrides) {
1363
+ const requestOptions = await this.getSnapshotDownloadRequestOpts(requestParameters);
1364
+ const response = await this.request(requestOptions, initOverrides);
1365
+ return new runtime.JSONApiResponse(response, (jsonValue) => SnapshotDownloadResponseFromJSON(jsonValue));
1366
+ }
1367
+ /**
1368
+ * Return time-limited signed URLs for every chunk needed to reconstruct the sandbox filesystem at this snapshot (the full chain, base through this generation), plus the inventory. Download the chunks and reassemble them as described by `reconstruct`. The `boat snapshot pull` CLI command does this for you.
1369
+ * Get snapshot download
1370
+ */
1371
+ async getSnapshotDownload(requestParameters, initOverrides) {
1372
+ const response = await this.getSnapshotDownloadRaw(requestParameters, initOverrides);
1373
+ return await response.value();
1374
+ }
1375
+ /**
1376
+ * Creates request options for getSnapshotFile without sending the request
1377
+ */
1378
+ async getSnapshotFileRequestOpts(requestParameters) {
1379
+ if (requestParameters['snapshotId'] == null) {
1380
+ throw new runtime.RequiredError('snapshotId', 'Required parameter "snapshotId" was null or undefined when calling getSnapshotFile().');
1381
+ }
1382
+ const queryParameters = {};
1383
+ if (requestParameters['path'] != null) {
1384
+ queryParameters['path'] = requestParameters['path'];
1385
+ }
1386
+ const headerParameters = {};
1387
+ if (this.configuration && this.configuration.accessToken) {
1388
+ const token = this.configuration.accessToken;
1389
+ const tokenString = await token("BoatBearerAuth", []);
1390
+ if (tokenString) {
1391
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1392
+ }
1393
+ }
1394
+ let urlPath = `/snapshots/{snapshotId}/files`;
1395
+ urlPath = urlPath.replace('{snapshotId}', encodeURIComponent(String(requestParameters['snapshotId'])));
1396
+ return {
1397
+ path: urlPath,
1398
+ method: 'GET',
1399
+ headers: headerParameters,
1400
+ query: queryParameters,
1401
+ };
1402
+ }
1403
+ /**
1404
+ * Stream a single file\'s bytes, or a folder subtree as a tar archive, directly out of a snapshot, the sandbox can be stopped or archived; the machine is never contacted. Use `GET /snapshots/{snapshotId}/tree` to list paths, then pass one here. Paths are relative to the snapshot root (same space as `tree` entries; docker volumes under `__dockervol__/`). An empty or `/` path downloads the whole snapshot as a tar. Folder responses set `X-Snapshot-File-Count`, `X-Snapshot-Total-Size-Bytes` and `X-Snapshot-Skipped-Base-Image-Files` headers; both response shapes set `X-Snapshot-Entry-Kind` (`file` or `dir`).
1405
+ * Download a file or folder from a snapshot
1406
+ */
1407
+ async getSnapshotFileRaw(requestParameters, initOverrides) {
1408
+ const requestOptions = await this.getSnapshotFileRequestOpts(requestParameters);
1409
+ const response = await this.request(requestOptions, initOverrides);
1410
+ return new runtime.BlobApiResponse(response);
1411
+ }
1412
+ /**
1413
+ * Stream a single file\'s bytes, or a folder subtree as a tar archive, directly out of a snapshot, the sandbox can be stopped or archived; the machine is never contacted. Use `GET /snapshots/{snapshotId}/tree` to list paths, then pass one here. Paths are relative to the snapshot root (same space as `tree` entries; docker volumes under `__dockervol__/`). An empty or `/` path downloads the whole snapshot as a tar. Folder responses set `X-Snapshot-File-Count`, `X-Snapshot-Total-Size-Bytes` and `X-Snapshot-Skipped-Base-Image-Files` headers; both response shapes set `X-Snapshot-Entry-Kind` (`file` or `dir`).
1414
+ * Download a file or folder from a snapshot
1415
+ */
1416
+ async getSnapshotFile(requestParameters, initOverrides) {
1417
+ const response = await this.getSnapshotFileRaw(requestParameters, initOverrides);
1418
+ return await response.value();
1419
+ }
1420
+ /**
1421
+ * Creates request options for getSnapshotTree without sending the request
1422
+ */
1423
+ async getSnapshotTreeRequestOpts(requestParameters) {
1424
+ if (requestParameters['snapshotId'] == null) {
1425
+ throw new runtime.RequiredError('snapshotId', 'Required parameter "snapshotId" was null or undefined when calling getSnapshotTree().');
1426
+ }
1427
+ const queryParameters = {};
1428
+ const headerParameters = {};
1429
+ if (this.configuration && this.configuration.accessToken) {
1430
+ const token = this.configuration.accessToken;
1431
+ const tokenString = await token("BoatBearerAuth", []);
1432
+ if (tokenString) {
1433
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1434
+ }
1435
+ }
1436
+ let urlPath = `/snapshots/{snapshotId}/tree`;
1437
+ urlPath = urlPath.replace('{snapshotId}', encodeURIComponent(String(requestParameters['snapshotId'])));
1438
+ return {
1439
+ path: urlPath,
1440
+ method: 'GET',
1441
+ headers: headerParameters,
1442
+ query: queryParameters,
1443
+ };
1444
+ }
1445
+ /**
1446
+ * List the files and folders captured in a snapshot, with sizes. Returns a flat list of entries you can render as a tree.
1447
+ * Get snapshot file tree
1448
+ */
1449
+ async getSnapshotTreeRaw(requestParameters, initOverrides) {
1450
+ const requestOptions = await this.getSnapshotTreeRequestOpts(requestParameters);
1451
+ const response = await this.request(requestOptions, initOverrides);
1452
+ return new runtime.JSONApiResponse(response, (jsonValue) => SnapshotTreeResponseFromJSON(jsonValue));
1453
+ }
1454
+ /**
1455
+ * List the files and folders captured in a snapshot, with sizes. Returns a flat list of entries you can render as a tree.
1456
+ * Get snapshot file tree
1457
+ */
1458
+ async getSnapshotTree(requestParameters, initOverrides) {
1459
+ const response = await this.getSnapshotTreeRaw(requestParameters, initOverrides);
1460
+ return await response.value();
1461
+ }
1462
+ /**
1463
+ * Creates request options for getWebhook without sending the request
1464
+ */
1465
+ async getWebhookRequestOpts(requestParameters) {
1466
+ if (requestParameters['webhookId'] == null) {
1467
+ throw new runtime.RequiredError('webhookId', 'Required parameter "webhookId" was null or undefined when calling getWebhook().');
1468
+ }
1469
+ const queryParameters = {};
1470
+ const headerParameters = {};
1471
+ if (this.configuration && this.configuration.accessToken) {
1472
+ const token = this.configuration.accessToken;
1473
+ const tokenString = await token("BoatBearerAuth", []);
1474
+ if (tokenString) {
1475
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1476
+ }
1477
+ }
1478
+ let urlPath = `/webhooks/{webhookId}`;
1479
+ urlPath = urlPath.replace('{webhookId}', encodeURIComponent(String(requestParameters['webhookId'])));
1480
+ return {
1481
+ path: urlPath,
1482
+ method: 'GET',
1483
+ headers: headerParameters,
1484
+ query: queryParameters,
1485
+ };
1486
+ }
1487
+ /**
1488
+ * Returns webhook metadata without the signing secret.
1489
+ * Get webhook
1490
+ */
1491
+ async getWebhookRaw(requestParameters, initOverrides) {
1492
+ const requestOptions = await this.getWebhookRequestOpts(requestParameters);
1493
+ const response = await this.request(requestOptions, initOverrides);
1494
+ return new runtime.JSONApiResponse(response, (jsonValue) => WebhookResponseFromJSON(jsonValue));
1495
+ }
1496
+ /**
1497
+ * Returns webhook metadata without the signing secret.
1498
+ * Get webhook
1499
+ */
1500
+ async getWebhook(requestParameters, initOverrides) {
1501
+ const response = await this.getWebhookRaw(requestParameters, initOverrides);
1502
+ return await response.value();
1503
+ }
1504
+ /**
1505
+ * Creates request options for hostPort without sending the request
1506
+ */
1507
+ async hostPortRequestOpts(requestParameters) {
1508
+ if (requestParameters['sandboxId'] == null) {
1509
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling hostPort().');
1510
+ }
1511
+ if (requestParameters['hostPortRequest'] == null) {
1512
+ throw new runtime.RequiredError('hostPortRequest', 'Required parameter "hostPortRequest" was null or undefined when calling hostPort().');
1513
+ }
1514
+ const queryParameters = {};
1515
+ const headerParameters = {};
1516
+ headerParameters['Content-Type'] = 'application/json';
1517
+ if (this.configuration && this.configuration.accessToken) {
1518
+ const token = this.configuration.accessToken;
1519
+ const tokenString = await token("BoatBearerAuth", []);
1520
+ if (tokenString) {
1521
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1522
+ }
1523
+ }
1524
+ let urlPath = `/sandboxes/{sandboxId}/host`;
1525
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1526
+ return {
1527
+ path: urlPath,
1528
+ method: 'POST',
1529
+ headers: headerParameters,
1530
+ query: queryParameters,
1531
+ body: HostPortRequestToJSON(requestParameters['hostPortRequest']),
1532
+ };
1533
+ }
1534
+ /**
1535
+ * Registers a stable `https://<sandbox-subdomain>-<port>.on.boat.dev` route for a port inside the sandbox and opens the sandbox firewall for it. Idempotent: calling it again for the same sandbox and port returns the same URL and token.
1536
+ * Expose a sandbox port on a public HTTPS URL
1537
+ */
1538
+ async hostPortRaw(requestParameters, initOverrides) {
1539
+ const requestOptions = await this.hostPortRequestOpts(requestParameters);
1540
+ const response = await this.request(requestOptions, initOverrides);
1541
+ return new runtime.JSONApiResponse(response, (jsonValue) => HostPortResponseFromJSON(jsonValue));
1542
+ }
1543
+ /**
1544
+ * Registers a stable `https://<sandbox-subdomain>-<port>.on.boat.dev` route for a port inside the sandbox and opens the sandbox firewall for it. Idempotent: calling it again for the same sandbox and port returns the same URL and token.
1545
+ * Expose a sandbox port on a public HTTPS URL
1546
+ */
1547
+ async hostPort(requestParameters, initOverrides) {
1548
+ const response = await this.hostPortRaw(requestParameters, initOverrides);
1549
+ return await response.value();
1550
+ }
1551
+ /**
1552
+ * Creates request options for interrupt without sending the request
1553
+ */
1554
+ async interruptRequestOpts(requestParameters) {
1555
+ if (requestParameters['sandboxId'] == null) {
1556
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling interrupt().');
1557
+ }
1558
+ const queryParameters = {};
1559
+ if (requestParameters['conversation'] != null) {
1560
+ queryParameters['conversation'] = requestParameters['conversation'];
1561
+ }
1562
+ const headerParameters = {};
1563
+ if (this.configuration && this.configuration.accessToken) {
1564
+ const token = this.configuration.accessToken;
1565
+ const tokenString = await token("BoatBearerAuth", []);
1566
+ if (tokenString) {
1567
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1568
+ }
1569
+ }
1570
+ let urlPath = `/sandboxes/{sandboxId}/interrupt`;
1571
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1572
+ return {
1573
+ path: urlPath,
1574
+ method: 'POST',
1575
+ headers: headerParameters,
1576
+ query: queryParameters,
1577
+ };
1578
+ }
1579
+ /**
1580
+ * Interrupt running agent work. By default this stops **every** conversation on the sandbox. Pass `conversation` to stop just one, leaving the others running. See [Integrated agents](/integrated-agents).
1581
+ * Interrupt running work
1582
+ */
1583
+ async interruptRaw(requestParameters, initOverrides) {
1584
+ const requestOptions = await this.interruptRequestOpts(requestParameters);
1585
+ const response = await this.request(requestOptions, initOverrides);
1586
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxActionResponseFromJSON(jsonValue));
1587
+ }
1588
+ /**
1589
+ * Interrupt running agent work. By default this stops **every** conversation on the sandbox. Pass `conversation` to stop just one, leaving the others running. See [Integrated agents](/integrated-agents).
1590
+ * Interrupt running work
1591
+ */
1592
+ async interrupt(requestParameters, initOverrides) {
1593
+ const response = await this.interruptRaw(requestParameters, initOverrides);
1594
+ return await response.value();
1595
+ }
1596
+ /**
1597
+ * Creates request options for limits without sending the request
1598
+ */
1599
+ async limitsRequestOpts(requestParameters) {
1600
+ const queryParameters = {};
1601
+ if (requestParameters['org'] != null) {
1602
+ queryParameters['org'] = requestParameters['org'];
1603
+ }
1604
+ if (requestParameters['teamId'] != null) {
1605
+ queryParameters['teamId'] = requestParameters['teamId'];
1606
+ }
1607
+ const headerParameters = {};
1608
+ if (requestParameters['xBoatOrg'] != null) {
1609
+ headerParameters['X-Boat-Org'] = String(requestParameters['xBoatOrg']);
1610
+ }
1611
+ if (this.configuration && this.configuration.accessToken) {
1612
+ const token = this.configuration.accessToken;
1613
+ const tokenString = await token("BoatBearerAuth", []);
1614
+ if (tokenString) {
1615
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1616
+ }
1617
+ }
1618
+ let urlPath = `/limits`;
1619
+ return {
1620
+ path: urlPath,
1621
+ method: 'GET',
1622
+ headers: headerParameters,
1623
+ query: queryParameters,
1624
+ };
1625
+ }
1626
+ /**
1627
+ * Check remaining machine starts, compute time, credits, access readiness, and concurrent-sandbox capacity for the authenticated account. Pass `org` / `X-Boat-Org` (or `teamId`) to read a team wallet you belong to.
1628
+ * Get Boat limits
1629
+ */
1630
+ async limitsRaw(requestParameters, initOverrides) {
1631
+ const requestOptions = await this.limitsRequestOpts(requestParameters);
1632
+ const response = await this.request(requestOptions, initOverrides);
1633
+ return new runtime.JSONApiResponse(response, (jsonValue) => LimitsResponseFromJSON(jsonValue));
1634
+ }
1635
+ /**
1636
+ * Check remaining machine starts, compute time, credits, access readiness, and concurrent-sandbox capacity for the authenticated account. Pass `org` / `X-Boat-Org` (or `teamId`) to read a team wallet you belong to.
1637
+ * Get Boat limits
1638
+ */
1639
+ async limits(requestParameters = {}, initOverrides) {
1640
+ const response = await this.limitsRaw(requestParameters, initOverrides);
1641
+ return await response.value();
1642
+ }
1643
+ /**
1644
+ * Creates request options for listNamedSnapshots without sending the request
1645
+ */
1646
+ async listNamedSnapshotsRequestOpts() {
1647
+ const queryParameters = {};
1648
+ const headerParameters = {};
1649
+ if (this.configuration && this.configuration.accessToken) {
1650
+ const token = this.configuration.accessToken;
1651
+ const tokenString = await token("BoatBearerAuth", []);
1652
+ if (tokenString) {
1653
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1654
+ }
1655
+ }
1656
+ let urlPath = `/named-snapshots`;
1657
+ return {
1658
+ path: urlPath,
1659
+ method: 'GET',
1660
+ headers: headerParameters,
1661
+ query: queryParameters,
1662
+ };
1663
+ }
1664
+ /**
1665
+ * List your named snapshots, newest first.
1666
+ * List named snapshots
1667
+ */
1668
+ async listNamedSnapshotsRaw(initOverrides) {
1669
+ const requestOptions = await this.listNamedSnapshotsRequestOpts();
1670
+ const response = await this.request(requestOptions, initOverrides);
1671
+ return new runtime.JSONApiResponse(response, (jsonValue) => NamedSnapshotListResponseFromJSON(jsonValue));
1672
+ }
1673
+ /**
1674
+ * List your named snapshots, newest first.
1675
+ * List named snapshots
1676
+ */
1677
+ async listNamedSnapshots(initOverrides) {
1678
+ const response = await this.listNamedSnapshotsRaw(initOverrides);
1679
+ return await response.value();
1680
+ }
1681
+ /**
1682
+ * Creates request options for listSandboxSnapshots without sending the request
1683
+ */
1684
+ async listSandboxSnapshotsRequestOpts(requestParameters) {
1685
+ if (requestParameters['sandboxId'] == null) {
1686
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling listSandboxSnapshots().');
1687
+ }
1688
+ const queryParameters = {};
1689
+ if (requestParameters['limit'] != null) {
1690
+ queryParameters['limit'] = requestParameters['limit'];
1691
+ }
1692
+ if (requestParameters['cursor'] != null) {
1693
+ queryParameters['cursor'] = requestParameters['cursor'];
1694
+ }
1695
+ if (requestParameters['sort'] != null) {
1696
+ queryParameters['sort'] = requestParameters['sort'];
1697
+ }
1698
+ const headerParameters = {};
1699
+ if (this.configuration && this.configuration.accessToken) {
1700
+ const token = this.configuration.accessToken;
1701
+ const tokenString = await token("BoatBearerAuth", []);
1702
+ if (tokenString) {
1703
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1704
+ }
1705
+ }
1706
+ let urlPath = `/sandboxes/{sandboxId}/snapshots`;
1707
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1708
+ return {
1709
+ path: urlPath,
1710
+ method: 'GET',
1711
+ headers: headerParameters,
1712
+ query: queryParameters,
1713
+ };
1714
+ }
1715
+ /**
1716
+ * List visible completed snapshots for one sandbox with uncapped cursor pagination.
1717
+ * List boat snapshots
1718
+ */
1719
+ async listSandboxSnapshotsRaw(requestParameters, initOverrides) {
1720
+ const requestOptions = await this.listSandboxSnapshotsRequestOpts(requestParameters);
1721
+ const response = await this.request(requestOptions, initOverrides);
1722
+ return new runtime.JSONApiResponse(response, (jsonValue) => SnapshotListResponseFromJSON(jsonValue));
1723
+ }
1724
+ /**
1725
+ * List visible completed snapshots for one sandbox with uncapped cursor pagination.
1726
+ * List boat snapshots
1727
+ */
1728
+ async listSandboxSnapshots(requestParameters, initOverrides) {
1729
+ const response = await this.listSandboxSnapshotsRaw(requestParameters, initOverrides);
1730
+ return await response.value();
1731
+ }
1732
+ /**
1733
+ * Creates request options for listSnapshots without sending the request
1734
+ */
1735
+ async listSnapshotsRequestOpts(requestParameters) {
1736
+ const queryParameters = {};
1737
+ if (requestParameters['limit'] != null) {
1738
+ queryParameters['limit'] = requestParameters['limit'];
1739
+ }
1740
+ if (requestParameters['cursor'] != null) {
1741
+ queryParameters['cursor'] = requestParameters['cursor'];
1742
+ }
1743
+ if (requestParameters['sort'] != null) {
1744
+ queryParameters['sort'] = requestParameters['sort'];
1745
+ }
1746
+ const headerParameters = {};
1747
+ if (this.configuration && this.configuration.accessToken) {
1748
+ const token = this.configuration.accessToken;
1749
+ const tokenString = await token("BoatBearerAuth", []);
1750
+ if (tokenString) {
1751
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1752
+ }
1753
+ }
1754
+ let urlPath = `/snapshots`;
1755
+ return {
1756
+ path: urlPath,
1757
+ method: 'GET',
1758
+ headers: headerParameters,
1759
+ query: queryParameters,
1760
+ };
1761
+ }
1762
+ /**
1763
+ * List visible completed snapshots across all of your sandboxes using immutable ownership attribution. Pinned, deletion-scheduled, and privacy-fenced sandbox snapshots are omitted. Follow `nextCursor` through the complete history; there is no hidden 500-snapshot cap.
1764
+ * List snapshots
1765
+ */
1766
+ async listSnapshotsRaw(requestParameters, initOverrides) {
1767
+ const requestOptions = await this.listSnapshotsRequestOpts(requestParameters);
1768
+ const response = await this.request(requestOptions, initOverrides);
1769
+ return new runtime.JSONApiResponse(response, (jsonValue) => SnapshotListResponseFromJSON(jsonValue));
1770
+ }
1771
+ /**
1772
+ * List visible completed snapshots across all of your sandboxes using immutable ownership attribution. Pinned, deletion-scheduled, and privacy-fenced sandbox snapshots are omitted. Follow `nextCursor` through the complete history; there is no hidden 500-snapshot cap.
1773
+ * List snapshots
1774
+ */
1775
+ async listSnapshots(requestParameters = {}, initOverrides) {
1776
+ const response = await this.listSnapshotsRaw(requestParameters, initOverrides);
1777
+ return await response.value();
1778
+ }
1779
+ /**
1780
+ * Creates request options for listWebhooks without sending the request
1781
+ */
1782
+ async listWebhooksRequestOpts() {
1783
+ const queryParameters = {};
1784
+ const headerParameters = {};
1785
+ if (this.configuration && this.configuration.accessToken) {
1786
+ const token = this.configuration.accessToken;
1787
+ const tokenString = await token("BoatBearerAuth", []);
1788
+ if (tokenString) {
1789
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1790
+ }
1791
+ }
1792
+ let urlPath = `/webhooks`;
1793
+ return {
1794
+ path: urlPath,
1795
+ method: 'GET',
1796
+ headers: headerParameters,
1797
+ query: queryParameters,
1798
+ };
1799
+ }
1800
+ /**
1801
+ * Lists account-wide sandbox lifecycle webhook endpoints. Signing secrets are never included.
1802
+ * List webhooks
1803
+ */
1804
+ async listWebhooksRaw(initOverrides) {
1805
+ const requestOptions = await this.listWebhooksRequestOpts();
1806
+ const response = await this.request(requestOptions, initOverrides);
1807
+ return new runtime.JSONApiResponse(response, (jsonValue) => WebhookListResponseFromJSON(jsonValue));
1808
+ }
1809
+ /**
1810
+ * Lists account-wide sandbox lifecycle webhook endpoints. Signing secrets are never included.
1811
+ * List webhooks
1812
+ */
1813
+ async listWebhooks(initOverrides) {
1814
+ const response = await this.listWebhooksRaw(initOverrides);
1815
+ return await response.value();
1816
+ }
1817
+ /**
1818
+ * Creates request options for me without sending the request
1819
+ */
1820
+ async meRequestOpts() {
1821
+ const queryParameters = {};
1822
+ const headerParameters = {};
1823
+ if (this.configuration && this.configuration.accessToken) {
1824
+ const token = this.configuration.accessToken;
1825
+ const tokenString = await token("BoatBearerAuth", []);
1826
+ if (tokenString) {
1827
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1828
+ }
1829
+ }
1830
+ let urlPath = `/me`;
1831
+ return {
1832
+ path: urlPath,
1833
+ method: 'GET',
1834
+ headers: headerParameters,
1835
+ query: queryParameters,
1836
+ };
1837
+ }
1838
+ /**
1839
+ * Returns GitHub identity for the authenticated Boat account.
1840
+ * Get current Boat user
1841
+ */
1842
+ async meRaw(initOverrides) {
1843
+ const requestOptions = await this.meRequestOpts();
1844
+ const response = await this.request(requestOptions, initOverrides);
1845
+ return new runtime.JSONApiResponse(response, (jsonValue) => MeResponseFromJSON(jsonValue));
1846
+ }
1847
+ /**
1848
+ * Returns GitHub identity for the authenticated Boat account.
1849
+ * Get current Boat user
1850
+ */
1851
+ async me(initOverrides) {
1852
+ const response = await this.meRaw(initOverrides);
1853
+ return await response.value();
1854
+ }
1855
+ /**
1856
+ * Creates request options for prompt without sending the request
1857
+ */
1858
+ async promptRequestOpts(requestParameters) {
1859
+ if (requestParameters['sandboxId'] == null) {
1860
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling prompt().');
1861
+ }
1862
+ if (requestParameters['promptRequest'] == null) {
1863
+ throw new runtime.RequiredError('promptRequest', 'Required parameter "promptRequest" was null or undefined when calling prompt().');
1864
+ }
1865
+ const queryParameters = {};
1866
+ const headerParameters = {};
1867
+ headerParameters['Content-Type'] = 'application/json';
1868
+ if (this.configuration && this.configuration.accessToken) {
1869
+ const token = this.configuration.accessToken;
1870
+ const tokenString = await token("BoatBearerAuth", []);
1871
+ if (tokenString) {
1872
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1873
+ }
1874
+ }
1875
+ let urlPath = `/sandboxes/{sandboxId}/prompt`;
1876
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1877
+ return {
1878
+ path: urlPath,
1879
+ method: 'POST',
1880
+ headers: headerParameters,
1881
+ query: queryParameters,
1882
+ body: PromptRequestToJSON(requestParameters['promptRequest']),
1883
+ };
1884
+ }
1885
+ /**
1886
+ * Queue a natural-language work item for an agent harness (Codex, Claude Code, pi, OpenCode, or Prime Agent) inside the sandbox. Observe progress with `GET /sandboxes/{sandboxId}/events`. A Sandbox runs many conversations in parallel. Set `new: true` to start a fresh one, `conversationId` to continue a specific one, or omit both to continue the most-recently-active conversation; the response returns the `conversationId`. See [Integrated agents](/integrated-agents).
1887
+ * Prompt Sandbox
1888
+ */
1889
+ async promptRaw(requestParameters, initOverrides) {
1890
+ const requestOptions = await this.promptRequestOpts(requestParameters);
1891
+ const response = await this.request(requestOptions, initOverrides);
1892
+ return new runtime.JSONApiResponse(response, (jsonValue) => PromptResponseFromJSON(jsonValue));
1893
+ }
1894
+ /**
1895
+ * Queue a natural-language work item for an agent harness (Codex, Claude Code, pi, OpenCode, or Prime Agent) inside the sandbox. Observe progress with `GET /sandboxes/{sandboxId}/events`. A Sandbox runs many conversations in parallel. Set `new: true` to start a fresh one, `conversationId` to continue a specific one, or omit both to continue the most-recently-active conversation; the response returns the `conversationId`. See [Integrated agents](/integrated-agents).
1896
+ * Prompt Sandbox
1897
+ */
1898
+ async prompt(requestParameters, initOverrides) {
1899
+ const response = await this.promptRaw(requestParameters, initOverrides);
1900
+ return await response.value();
1901
+ }
1902
+ /**
1903
+ * Creates request options for promptRunStatus without sending the request
1904
+ */
1905
+ async promptRunStatusRequestOpts(requestParameters) {
1906
+ if (requestParameters['sandboxId'] == null) {
1907
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling promptRunStatus().');
1908
+ }
1909
+ if (requestParameters['promptId'] == null) {
1910
+ throw new runtime.RequiredError('promptId', 'Required parameter "promptId" was null or undefined when calling promptRunStatus().');
1911
+ }
1912
+ const queryParameters = {};
1913
+ const headerParameters = {};
1914
+ if (this.configuration && this.configuration.accessToken) {
1915
+ const token = this.configuration.accessToken;
1916
+ const tokenString = await token("BoatBearerAuth", []);
1917
+ if (tokenString) {
1918
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1919
+ }
1920
+ }
1921
+ let urlPath = `/sandboxes/{sandboxId}/prompts/{promptId}`;
1922
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1923
+ urlPath = urlPath.replace('{promptId}', encodeURIComponent(String(requestParameters['promptId'])));
1924
+ return {
1925
+ path: urlPath,
1926
+ method: 'GET',
1927
+ headers: headerParameters,
1928
+ query: queryParameters,
1929
+ };
1930
+ }
1931
+ /**
1932
+ * Returns first-class status for a queued/running/finished prompt so clients do not infer completion from sandbox state and events.
1933
+ * Get prompt run status
1934
+ */
1935
+ async promptRunStatusRaw(requestParameters, initOverrides) {
1936
+ const requestOptions = await this.promptRunStatusRequestOpts(requestParameters);
1937
+ const response = await this.request(requestOptions, initOverrides);
1938
+ return new runtime.JSONApiResponse(response, (jsonValue) => PromptRunResponseFromJSON(jsonValue));
1939
+ }
1940
+ /**
1941
+ * Returns first-class status for a queued/running/finished prompt so clients do not infer completion from sandbox state and events.
1942
+ * Get prompt run status
1943
+ */
1944
+ async promptRunStatus(requestParameters, initOverrides) {
1945
+ const response = await this.promptRunStatusRaw(requestParameters, initOverrides);
1946
+ return await response.value();
1947
+ }
1948
+ /**
1949
+ * Creates request options for readFile without sending the request
1950
+ */
1951
+ async readFileRequestOpts(requestParameters) {
1952
+ if (requestParameters['sandboxId'] == null) {
1953
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling readFile().');
1954
+ }
1955
+ if (requestParameters['path'] == null) {
1956
+ throw new runtime.RequiredError('path', 'Required parameter "path" was null or undefined when calling readFile().');
1957
+ }
1958
+ const queryParameters = {};
1959
+ if (requestParameters['path'] != null) {
1960
+ queryParameters['path'] = requestParameters['path'];
1961
+ }
1962
+ if (requestParameters['encoding'] != null) {
1963
+ queryParameters['encoding'] = requestParameters['encoding'];
1964
+ }
1965
+ const headerParameters = {};
1966
+ if (this.configuration && this.configuration.accessToken) {
1967
+ const token = this.configuration.accessToken;
1968
+ const tokenString = await token("BoatBearerAuth", []);
1969
+ if (tokenString) {
1970
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
1971
+ }
1972
+ }
1973
+ let urlPath = `/sandboxes/{sandboxId}/files`;
1974
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
1975
+ return {
1976
+ path: urlPath,
1977
+ method: 'GET',
1978
+ headers: headerParameters,
1979
+ query: queryParameters,
1980
+ };
1981
+ }
1982
+ /**
1983
+ * Read a file from a sandbox
1984
+ */
1985
+ async readFileRaw(requestParameters, initOverrides) {
1986
+ const requestOptions = await this.readFileRequestOpts(requestParameters);
1987
+ const response = await this.request(requestOptions, initOverrides);
1988
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileReadResponseFromJSON(jsonValue));
1989
+ }
1990
+ /**
1991
+ * Read a file from a sandbox
1992
+ */
1993
+ async readFile(requestParameters, initOverrides) {
1994
+ const response = await this.readFileRaw(requestParameters, initOverrides);
1995
+ return await response.value();
1996
+ }
1997
+ /**
1998
+ * Creates request options for repos without sending the request
1999
+ */
2000
+ async reposRequestOpts(requestParameters) {
2001
+ const queryParameters = {};
2002
+ if (requestParameters['sync'] != null) {
2003
+ queryParameters['sync'] = requestParameters['sync'];
2004
+ }
2005
+ if (requestParameters['limit'] != null) {
2006
+ queryParameters['limit'] = requestParameters['limit'];
2007
+ }
2008
+ if (requestParameters['cursor'] != null) {
2009
+ queryParameters['cursor'] = requestParameters['cursor'];
2010
+ }
2011
+ if (requestParameters['sort'] != null) {
2012
+ queryParameters['sort'] = requestParameters['sort'];
2013
+ }
2014
+ if (requestParameters['q'] != null) {
2015
+ queryParameters['q'] = requestParameters['q'];
2016
+ }
2017
+ if (requestParameters['selected'] != null) {
2018
+ queryParameters['selected'] = requestParameters['selected'];
2019
+ }
2020
+ const headerParameters = {};
2021
+ if (this.configuration && this.configuration.accessToken) {
2022
+ const token = this.configuration.accessToken;
2023
+ const tokenString = await token("BoatBearerAuth", []);
2024
+ if (tokenString) {
2025
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2026
+ }
2027
+ }
2028
+ let urlPath = `/repos`;
2029
+ return {
2030
+ path: urlPath,
2031
+ method: 'GET',
2032
+ headers: headerParameters,
2033
+ query: queryParameters,
2034
+ };
2035
+ }
2036
+ /**
2037
+ * Returns GitHub repositories grouped by installation plus the current selected repositories for new Sandboxes.
2038
+ * List GitHub repositories available to Boat
2039
+ */
2040
+ async reposRaw(requestParameters, initOverrides) {
2041
+ const requestOptions = await this.reposRequestOpts(requestParameters);
2042
+ const response = await this.request(requestOptions, initOverrides);
2043
+ return new runtime.JSONApiResponse(response, (jsonValue) => ReposResponseFromJSON(jsonValue));
2044
+ }
2045
+ /**
2046
+ * Returns GitHub repositories grouped by installation plus the current selected repositories for new Sandboxes.
2047
+ * List GitHub repositories available to Boat
2048
+ */
2049
+ async repos(requestParameters = {}, initOverrides) {
2050
+ const response = await this.reposRaw(requestParameters, initOverrides);
2051
+ return await response.value();
2052
+ }
2053
+ /**
2054
+ * Creates request options for resume without sending the request
2055
+ */
2056
+ async resumeRequestOpts(requestParameters) {
2057
+ if (requestParameters['sandboxId'] == null) {
2058
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling resume().');
2059
+ }
2060
+ const queryParameters = {};
2061
+ const headerParameters = {};
2062
+ headerParameters['Content-Type'] = 'application/json';
2063
+ if (this.configuration && this.configuration.accessToken) {
2064
+ const token = this.configuration.accessToken;
2065
+ const tokenString = await token("BoatBearerAuth", []);
2066
+ if (tokenString) {
2067
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2068
+ }
2069
+ }
2070
+ let urlPath = `/sandboxes/{sandboxId}/resume`;
2071
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2072
+ return {
2073
+ path: urlPath,
2074
+ method: 'POST',
2075
+ headers: headerParameters,
2076
+ query: queryParameters,
2077
+ body: ResumeRequestToJSON(requestParameters['resumeRequest']),
2078
+ };
2079
+ }
2080
+ /**
2081
+ * Resume sandbox
2082
+ */
2083
+ async resumeRaw(requestParameters, initOverrides) {
2084
+ const requestOptions = await this.resumeRequestOpts(requestParameters);
2085
+ const response = await this.request(requestOptions, initOverrides);
2086
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxActionResponseFromJSON(jsonValue));
2087
+ }
2088
+ /**
2089
+ * Resume sandbox
2090
+ */
2091
+ async resume(requestParameters, initOverrides) {
2092
+ const response = await this.resumeRaw(requestParameters, initOverrides);
2093
+ return await response.value();
2094
+ }
2095
+ /**
2096
+ * Creates request options for revokeApiKey without sending the request
2097
+ */
2098
+ async revokeApiKeyRequestOpts(requestParameters) {
2099
+ if (requestParameters['apiKeyId'] == null) {
2100
+ throw new runtime.RequiredError('apiKeyId', 'Required parameter "apiKeyId" was null or undefined when calling revokeApiKey().');
2101
+ }
2102
+ const queryParameters = {};
2103
+ const headerParameters = {};
2104
+ if (this.configuration && this.configuration.accessToken) {
2105
+ const token = this.configuration.accessToken;
2106
+ const tokenString = await token("BoatBearerAuth", []);
2107
+ if (tokenString) {
2108
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2109
+ }
2110
+ }
2111
+ let urlPath = `/api-keys/{apiKeyId}`;
2112
+ urlPath = urlPath.replace('{apiKeyId}', encodeURIComponent(String(requestParameters['apiKeyId'])));
2113
+ return {
2114
+ path: urlPath,
2115
+ method: 'DELETE',
2116
+ headers: headerParameters,
2117
+ query: queryParameters,
2118
+ };
2119
+ }
2120
+ /**
2121
+ * Revokes the key immediately. Requires a dashboard or CLI session.
2122
+ * Revoke an API key
2123
+ */
2124
+ async revokeApiKeyRaw(requestParameters, initOverrides) {
2125
+ const requestOptions = await this.revokeApiKeyRequestOpts(requestParameters);
2126
+ const response = await this.request(requestOptions, initOverrides);
2127
+ return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeyRevokeResponseFromJSON(jsonValue));
2128
+ }
2129
+ /**
2130
+ * Revokes the key immediately. Requires a dashboard or CLI session.
2131
+ * Revoke an API key
2132
+ */
2133
+ async revokeApiKey(requestParameters, initOverrides) {
2134
+ const response = await this.revokeApiKeyRaw(requestParameters, initOverrides);
2135
+ return await response.value();
2136
+ }
2137
+ /**
2138
+ * Creates request options for rotateApiKey without sending the request
2139
+ */
2140
+ async rotateApiKeyRequestOpts(requestParameters) {
2141
+ if (requestParameters['apiKeyId'] == null) {
2142
+ throw new runtime.RequiredError('apiKeyId', 'Required parameter "apiKeyId" was null or undefined when calling rotateApiKey().');
2143
+ }
2144
+ const queryParameters = {};
2145
+ const headerParameters = {};
2146
+ if (this.configuration && this.configuration.accessToken) {
2147
+ const token = this.configuration.accessToken;
2148
+ const tokenString = await token("BoatBearerAuth", []);
2149
+ if (tokenString) {
2150
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2151
+ }
2152
+ }
2153
+ let urlPath = `/api-keys/{apiKeyId}/rotate`;
2154
+ urlPath = urlPath.replace('{apiKeyId}', encodeURIComponent(String(requestParameters['apiKeyId'])));
2155
+ return {
2156
+ path: urlPath,
2157
+ method: 'POST',
2158
+ headers: headerParameters,
2159
+ query: queryParameters,
2160
+ };
2161
+ }
2162
+ /**
2163
+ * Replaces the raw secret without changing expiry or scope. Requires a dashboard or CLI session.
2164
+ * Rotate an API key
2165
+ */
2166
+ async rotateApiKeyRaw(requestParameters, initOverrides) {
2167
+ const requestOptions = await this.rotateApiKeyRequestOpts(requestParameters);
2168
+ const response = await this.request(requestOptions, initOverrides);
2169
+ return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeySecretResponseFromJSON(jsonValue));
2170
+ }
2171
+ /**
2172
+ * Replaces the raw secret without changing expiry or scope. Requires a dashboard or CLI session.
2173
+ * Rotate an API key
2174
+ */
2175
+ async rotateApiKey(requestParameters, initOverrides) {
2176
+ const response = await this.rotateApiKeyRaw(requestParameters, initOverrides);
2177
+ return await response.value();
2178
+ }
2179
+ /**
2180
+ * Creates request options for rotateWebhookSigningSecret without sending the request
2181
+ */
2182
+ async rotateWebhookSigningSecretRequestOpts(requestParameters) {
2183
+ if (requestParameters['webhookId'] == null) {
2184
+ throw new runtime.RequiredError('webhookId', 'Required parameter "webhookId" was null or undefined when calling rotateWebhookSigningSecret().');
2185
+ }
2186
+ const queryParameters = {};
2187
+ const headerParameters = {};
2188
+ if (this.configuration && this.configuration.accessToken) {
2189
+ const token = this.configuration.accessToken;
2190
+ const tokenString = await token("BoatBearerAuth", []);
2191
+ if (tokenString) {
2192
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2193
+ }
2194
+ }
2195
+ let urlPath = `/webhooks/{webhookId}/rotate`;
2196
+ urlPath = urlPath.replace('{webhookId}', encodeURIComponent(String(requestParameters['webhookId'])));
2197
+ return {
2198
+ path: urlPath,
2199
+ method: 'POST',
2200
+ headers: headerParameters,
2201
+ query: queryParameters,
2202
+ };
2203
+ }
2204
+ /**
2205
+ * Replaces the endpoint\'s signing secret. The new secret is returned only in this response; briefly accept the old secret for attempts already in flight.
2206
+ * Rotate webhook signing secret
2207
+ */
2208
+ async rotateWebhookSigningSecretRaw(requestParameters, initOverrides) {
2209
+ const requestOptions = await this.rotateWebhookSigningSecretRequestOpts(requestParameters);
2210
+ const response = await this.request(requestOptions, initOverrides);
2211
+ return new runtime.JSONApiResponse(response, (jsonValue) => WebhookSecretResponseFromJSON(jsonValue));
2212
+ }
2213
+ /**
2214
+ * Replaces the endpoint\'s signing secret. The new secret is returned only in this response; briefly accept the old secret for attempts already in flight.
2215
+ * Rotate webhook signing secret
2216
+ */
2217
+ async rotateWebhookSigningSecret(requestParameters, initOverrides) {
2218
+ const response = await this.rotateWebhookSigningSecretRaw(requestParameters, initOverrides);
2219
+ return await response.value();
2220
+ }
2221
+ /**
2222
+ * Creates request options for sandboxes without sending the request
2223
+ */
2224
+ async sandboxesRequestOpts(requestParameters) {
2225
+ const queryParameters = {};
2226
+ if (requestParameters['limit'] != null) {
2227
+ queryParameters['limit'] = requestParameters['limit'];
2228
+ }
2229
+ if (requestParameters['cursor'] != null) {
2230
+ queryParameters['cursor'] = requestParameters['cursor'];
2231
+ }
2232
+ if (requestParameters['sort'] != null) {
2233
+ queryParameters['sort'] = requestParameters['sort'];
2234
+ }
2235
+ if (requestParameters['state'] != null) {
2236
+ queryParameters['state'] = requestParameters['state'];
2237
+ }
2238
+ const headerParameters = {};
2239
+ if (this.configuration && this.configuration.accessToken) {
2240
+ const token = this.configuration.accessToken;
2241
+ const tokenString = await token("BoatBearerAuth", []);
2242
+ if (tokenString) {
2243
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2244
+ }
2245
+ }
2246
+ let urlPath = `/sandboxes`;
2247
+ return {
2248
+ path: urlPath,
2249
+ method: 'GET',
2250
+ headers: headerParameters,
2251
+ query: queryParameters,
2252
+ };
2253
+ }
2254
+ /**
2255
+ * List sandboxes
2256
+ */
2257
+ async sandboxesRaw(requestParameters, initOverrides) {
2258
+ const requestOptions = await this.sandboxesRequestOpts(requestParameters);
2259
+ const response = await this.request(requestOptions, initOverrides);
2260
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxListResponseFromJSON(jsonValue));
2261
+ }
2262
+ /**
2263
+ * List sandboxes
2264
+ */
2265
+ async sandboxes(requestParameters = {}, initOverrides) {
2266
+ const response = await this.sandboxesRaw(requestParameters, initOverrides);
2267
+ return await response.value();
2268
+ }
2269
+ /**
2270
+ * Creates request options for saveNamedSnapshot without sending the request
2271
+ */
2272
+ async saveNamedSnapshotRequestOpts(requestParameters) {
2273
+ if (requestParameters['namedSnapshotSaveRequest'] == null) {
2274
+ throw new runtime.RequiredError('namedSnapshotSaveRequest', 'Required parameter "namedSnapshotSaveRequest" was null or undefined when calling saveNamedSnapshot().');
2275
+ }
2276
+ const queryParameters = {};
2277
+ const headerParameters = {};
2278
+ headerParameters['Content-Type'] = 'application/json';
2279
+ if (this.configuration && this.configuration.accessToken) {
2280
+ const token = this.configuration.accessToken;
2281
+ const tokenString = await token("BoatBearerAuth", []);
2282
+ if (tokenString) {
2283
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2284
+ }
2285
+ }
2286
+ let urlPath = `/named-snapshots`;
2287
+ return {
2288
+ path: urlPath,
2289
+ method: 'POST',
2290
+ headers: headerParameters,
2291
+ query: queryParameters,
2292
+ body: NamedSnapshotSaveRequestToJSON(requestParameters['namedSnapshotSaveRequest']),
2293
+ };
2294
+ }
2295
+ /**
2296
+ * 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.
2297
+ * Save a named snapshot
2298
+ */
2299
+ async saveNamedSnapshotRaw(requestParameters, initOverrides) {
2300
+ const requestOptions = await this.saveNamedSnapshotRequestOpts(requestParameters);
2301
+ const response = await this.request(requestOptions, initOverrides);
2302
+ return new runtime.JSONApiResponse(response, (jsonValue) => NamedSnapshotSavingResponseFromJSON(jsonValue));
2303
+ }
2304
+ /**
2305
+ * 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.
2306
+ * Save a named snapshot
2307
+ */
2308
+ async saveNamedSnapshot(requestParameters, initOverrides) {
2309
+ const response = await this.saveNamedSnapshotRaw(requestParameters, initOverrides);
2310
+ return await response.value();
2311
+ }
2312
+ /**
2313
+ * Creates request options for secrets without sending the request
2314
+ */
2315
+ async secretsRequestOpts() {
2316
+ const queryParameters = {};
2317
+ const headerParameters = {};
2318
+ if (this.configuration && this.configuration.accessToken) {
2319
+ const token = this.configuration.accessToken;
2320
+ const tokenString = await token("BoatBearerAuth", []);
2321
+ if (tokenString) {
2322
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2323
+ }
2324
+ }
2325
+ let urlPath = `/secrets`;
2326
+ return {
2327
+ path: urlPath,
2328
+ method: 'GET',
2329
+ headers: headerParameters,
2330
+ query: queryParameters,
2331
+ };
2332
+ }
2333
+ /**
2334
+ * Returns the environment variables and secret files configured for sandboxes.
2335
+ * Get Boat secrets setup
2336
+ */
2337
+ async secretsRaw(initOverrides) {
2338
+ const requestOptions = await this.secretsRequestOpts();
2339
+ const response = await this.request(requestOptions, initOverrides);
2340
+ return new runtime.JSONApiResponse(response, (jsonValue) => SecretsResponseFromJSON(jsonValue));
2341
+ }
2342
+ /**
2343
+ * Returns the environment variables and secret files configured for sandboxes.
2344
+ * Get Boat secrets setup
2345
+ */
2346
+ async secrets(initOverrides) {
2347
+ const response = await this.secretsRaw(initOverrides);
2348
+ return await response.value();
2349
+ }
2350
+ /**
2351
+ * Creates request options for selectRepo without sending the request
2352
+ */
2353
+ async selectRepoRequestOpts(requestParameters) {
2354
+ if (requestParameters['repoSelectionRequest'] == null) {
2355
+ throw new runtime.RequiredError('repoSelectionRequest', 'Required parameter "repoSelectionRequest" was null or undefined when calling selectRepo().');
2356
+ }
2357
+ const queryParameters = {};
2358
+ const headerParameters = {};
2359
+ headerParameters['Content-Type'] = 'application/json';
2360
+ if (this.configuration && this.configuration.accessToken) {
2361
+ const token = this.configuration.accessToken;
2362
+ const tokenString = await token("BoatBearerAuth", []);
2363
+ if (tokenString) {
2364
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2365
+ }
2366
+ }
2367
+ let urlPath = `/repos`;
2368
+ return {
2369
+ path: urlPath,
2370
+ method: 'POST',
2371
+ headers: headerParameters,
2372
+ query: queryParameters,
2373
+ body: RepoSelectionRequestToJSON(requestParameters['repoSelectionRequest']),
2374
+ };
2375
+ }
2376
+ /**
2377
+ * Idempotently selects one repository for the sandbox environment. Use `databaseId` from `GET /repos` as `repositoryId`; selecting an already-selected repository updates its `baseBranch`.
2378
+ * Select repository for sandboxes
2379
+ */
2380
+ async selectRepoRaw(requestParameters, initOverrides) {
2381
+ const requestOptions = await this.selectRepoRequestOpts(requestParameters);
2382
+ const response = await this.request(requestOptions, initOverrides);
2383
+ return new runtime.JSONApiResponse(response, (jsonValue) => RepoSelectionResponseFromJSON(jsonValue));
2384
+ }
2385
+ /**
2386
+ * Idempotently selects one repository for the sandbox environment. Use `databaseId` from `GET /repos` as `repositoryId`; selecting an already-selected repository updates its `baseBranch`.
2387
+ * Select repository for sandboxes
2388
+ */
2389
+ async selectRepo(requestParameters, initOverrides) {
2390
+ const response = await this.selectRepoRaw(requestParameters, initOverrides);
2391
+ return await response.value();
2392
+ }
2393
+ /**
2394
+ * Creates request options for setEnvironmentSecretFile without sending the request
2395
+ */
2396
+ async setEnvironmentSecretFileRequestOpts(requestParameters) {
2397
+ if (requestParameters['environmentId'] == null) {
2398
+ throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling setEnvironmentSecretFile().');
2399
+ }
2400
+ if (requestParameters['setEnvironmentSecretFileRequest'] == null) {
2401
+ throw new runtime.RequiredError('setEnvironmentSecretFileRequest', 'Required parameter "setEnvironmentSecretFileRequest" was null or undefined when calling setEnvironmentSecretFile().');
2402
+ }
2403
+ const queryParameters = {};
2404
+ const headerParameters = {};
2405
+ headerParameters['Content-Type'] = 'application/json';
2406
+ if (this.configuration && this.configuration.accessToken) {
2407
+ const token = this.configuration.accessToken;
2408
+ const tokenString = await token("BoatBearerAuth", []);
2409
+ if (tokenString) {
2410
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2411
+ }
2412
+ }
2413
+ let urlPath = `/environments/{environmentId}/secret-files`;
2414
+ urlPath = urlPath.replace('{environmentId}', encodeURIComponent(String(requestParameters['environmentId'])));
2415
+ return {
2416
+ path: urlPath,
2417
+ method: 'PUT',
2418
+ headers: headerParameters,
2419
+ query: queryParameters,
2420
+ body: SetEnvironmentSecretFileRequestToJSON(requestParameters['setEnvironmentSecretFileRequest']),
2421
+ };
2422
+ }
2423
+ /**
2424
+ * Adds or replaces a single secret file by path. Mints a new immutable version.
2425
+ * Write one secret file
2426
+ */
2427
+ async setEnvironmentSecretFileRaw(requestParameters, initOverrides) {
2428
+ const requestOptions = await this.setEnvironmentSecretFileRequestOpts(requestParameters);
2429
+ const response = await this.request(requestOptions, initOverrides);
2430
+ return new runtime.JSONApiResponse(response, (jsonValue) => EnvironmentItemChangeResponseFromJSON(jsonValue));
2431
+ }
2432
+ /**
2433
+ * Adds or replaces a single secret file by path. Mints a new immutable version.
2434
+ * Write one secret file
2435
+ */
2436
+ async setEnvironmentSecretFile(requestParameters, initOverrides) {
2437
+ const response = await this.setEnvironmentSecretFileRaw(requestParameters, initOverrides);
2438
+ return await response.value();
2439
+ }
2440
+ /**
2441
+ * Creates request options for setEnvironmentVar without sending the request
2442
+ */
2443
+ async setEnvironmentVarRequestOpts(requestParameters) {
2444
+ if (requestParameters['environmentId'] == null) {
2445
+ throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling setEnvironmentVar().');
2446
+ }
2447
+ if (requestParameters['key'] == null) {
2448
+ throw new runtime.RequiredError('key', 'Required parameter "key" was null or undefined when calling setEnvironmentVar().');
2449
+ }
2450
+ if (requestParameters['setEnvironmentVarRequest'] == null) {
2451
+ throw new runtime.RequiredError('setEnvironmentVarRequest', 'Required parameter "setEnvironmentVarRequest" was null or undefined when calling setEnvironmentVar().');
2452
+ }
2453
+ const queryParameters = {};
2454
+ const headerParameters = {};
2455
+ headerParameters['Content-Type'] = 'application/json';
2456
+ if (this.configuration && this.configuration.accessToken) {
2457
+ const token = this.configuration.accessToken;
2458
+ const tokenString = await token("BoatBearerAuth", []);
2459
+ if (tokenString) {
2460
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2461
+ }
2462
+ }
2463
+ let urlPath = `/environments/{environmentId}/vars/{key}`;
2464
+ urlPath = urlPath.replace('{environmentId}', encodeURIComponent(String(requestParameters['environmentId'])));
2465
+ urlPath = urlPath.replace('{key}', encodeURIComponent(String(requestParameters['key'])));
2466
+ return {
2467
+ path: urlPath,
2468
+ method: 'PUT',
2469
+ headers: headerParameters,
2470
+ query: queryParameters,
2471
+ body: SetEnvironmentVarRequestToJSON(requestParameters['setEnvironmentVarRequest']),
2472
+ };
2473
+ }
2474
+ /**
2475
+ * Sets or replaces a single variable without reading or rewriting the rest. Mints a new immutable version.
2476
+ * Set one environment variable
2477
+ */
2478
+ async setEnvironmentVarRaw(requestParameters, initOverrides) {
2479
+ const requestOptions = await this.setEnvironmentVarRequestOpts(requestParameters);
2480
+ const response = await this.request(requestOptions, initOverrides);
2481
+ return new runtime.JSONApiResponse(response, (jsonValue) => EnvironmentItemChangeResponseFromJSON(jsonValue));
2482
+ }
2483
+ /**
2484
+ * Sets or replaces a single variable without reading or rewriting the rest. Mints a new immutable version.
2485
+ * Set one environment variable
2486
+ */
2487
+ async setEnvironmentVar(requestParameters, initOverrides) {
2488
+ const response = await this.setEnvironmentVarRaw(requestParameters, initOverrides);
2489
+ return await response.value();
2490
+ }
2491
+ /**
2492
+ * Creates request options for sshKey without sending the request
2493
+ */
2494
+ async sshKeyRequestOpts(requestParameters) {
2495
+ if (requestParameters['sandboxId'] == null) {
2496
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling sshKey().');
2497
+ }
2498
+ if (requestParameters['sshKeyRequest'] == null) {
2499
+ throw new runtime.RequiredError('sshKeyRequest', 'Required parameter "sshKeyRequest" was null or undefined when calling sshKey().');
2500
+ }
2501
+ const queryParameters = {};
2502
+ const headerParameters = {};
2503
+ headerParameters['Content-Type'] = 'application/json';
2504
+ if (this.configuration && this.configuration.accessToken) {
2505
+ const token = this.configuration.accessToken;
2506
+ const tokenString = await token("BoatBearerAuth", []);
2507
+ if (tokenString) {
2508
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2509
+ }
2510
+ }
2511
+ let urlPath = `/sandboxes/{sandboxId}/sshkey`;
2512
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2513
+ return {
2514
+ path: urlPath,
2515
+ method: 'POST',
2516
+ headers: headerParameters,
2517
+ query: queryParameters,
2518
+ body: SshKeyRequestToJSON(requestParameters['sshKeyRequest']),
2519
+ };
2520
+ }
2521
+ /**
2522
+ * Adds an OpenSSH public key to the running sandbox so the caller can SSH as user `user`. The response carries `machineIp`, which is the host to connect to on port 22. This is also how you reach your own machine from inside a sandbox without the CLI: authorize the key, then open a reverse tunnel with stock OpenSSH, and a port on your machine answers at `127.0.0.1:<port>` inside the sandbox for as long as the ssh process runs. ```bash ssh -o ExitOnForwardFailure=yes -i ~/.ssh/id_ed25519 -N -R 7777:127.0.0.1:7777 user@<machineIp> ``` `boat forward <id> --reverse --local 7777` is the same tunnel with the key handling and redial done for you.
2523
+ * Configure sandbox SSH key
2524
+ */
2525
+ async sshKeyRaw(requestParameters, initOverrides) {
2526
+ const requestOptions = await this.sshKeyRequestOpts(requestParameters);
2527
+ const response = await this.request(requestOptions, initOverrides);
2528
+ return new runtime.JSONApiResponse(response, (jsonValue) => SshKeyResponseFromJSON(jsonValue));
2529
+ }
2530
+ /**
2531
+ * Adds an OpenSSH public key to the running sandbox so the caller can SSH as user `user`. The response carries `machineIp`, which is the host to connect to on port 22. This is also how you reach your own machine from inside a sandbox without the CLI: authorize the key, then open a reverse tunnel with stock OpenSSH, and a port on your machine answers at `127.0.0.1:<port>` inside the sandbox for as long as the ssh process runs. ```bash ssh -o ExitOnForwardFailure=yes -i ~/.ssh/id_ed25519 -N -R 7777:127.0.0.1:7777 user@<machineIp> ``` `boat forward <id> --reverse --local 7777` is the same tunnel with the key handling and redial done for you.
2532
+ * Configure sandbox SSH key
2533
+ */
2534
+ async sshKey(requestParameters, initOverrides) {
2535
+ const response = await this.sshKeyRaw(requestParameters, initOverrides);
2536
+ return await response.value();
2537
+ }
2538
+ /**
2539
+ * Creates request options for steer without sending the request
2540
+ */
2541
+ async steerRequestOpts(requestParameters) {
2542
+ if (requestParameters['sandboxId'] == null) {
2543
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling steer().');
2544
+ }
2545
+ if (requestParameters['steerRequest'] == null) {
2546
+ throw new runtime.RequiredError('steerRequest', 'Required parameter "steerRequest" was null or undefined when calling steer().');
2547
+ }
2548
+ const queryParameters = {};
2549
+ if (requestParameters['conversation'] != null) {
2550
+ queryParameters['conversation'] = requestParameters['conversation'];
2551
+ }
2552
+ const headerParameters = {};
2553
+ headerParameters['Content-Type'] = 'application/json';
2554
+ if (this.configuration && this.configuration.accessToken) {
2555
+ const token = this.configuration.accessToken;
2556
+ const tokenString = await token("BoatBearerAuth", []);
2557
+ if (tokenString) {
2558
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2559
+ }
2560
+ }
2561
+ let urlPath = `/sandboxes/{sandboxId}/steer`;
2562
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2563
+ return {
2564
+ path: urlPath,
2565
+ method: 'POST',
2566
+ headers: headerParameters,
2567
+ query: queryParameters,
2568
+ body: SteerRequestToJSON(requestParameters['steerRequest']),
2569
+ };
2570
+ }
2571
+ /**
2572
+ * Send a new message to a turn that is already running, without losing what the agent is doing. This is what typing into a coding agent while it works does: the instruction is taken into account and the work continues. Where the harness has a native mid-turn primitive (Claude Code, Codex, pi, Prime Agent) nothing is interrupted and the response has `native: true`. Where it does not (OpenCode), Boat interrupts that turn and immediately continues the SAME conversation with the instruction, keeping the session and its memory, and the response has `native: false`. Refused with **409 `no_running_turn`** when the conversation has nothing in flight; queue work with `POST /prompt` instead. The steer shows up in `GET /events` as a `steer` event. See [Integrated agents](/integrated-agents).
2573
+ * Steer a running turn
2574
+ */
2575
+ async steerRaw(requestParameters, initOverrides) {
2576
+ const requestOptions = await this.steerRequestOpts(requestParameters);
2577
+ const response = await this.request(requestOptions, initOverrides);
2578
+ return new runtime.JSONApiResponse(response, (jsonValue) => SteerResponseFromJSON(jsonValue));
2579
+ }
2580
+ /**
2581
+ * Send a new message to a turn that is already running, without losing what the agent is doing. This is what typing into a coding agent while it works does: the instruction is taken into account and the work continues. Where the harness has a native mid-turn primitive (Claude Code, Codex, pi, Prime Agent) nothing is interrupted and the response has `native: true`. Where it does not (OpenCode), Boat interrupts that turn and immediately continues the SAME conversation with the instruction, keeping the session and its memory, and the response has `native: false`. Refused with **409 `no_running_turn`** when the conversation has nothing in flight; queue work with `POST /prompt` instead. The steer shows up in `GET /events` as a `steer` event. See [Integrated agents](/integrated-agents).
2582
+ * Steer a running turn
2583
+ */
2584
+ async steer(requestParameters, initOverrides) {
2585
+ const response = await this.steerRaw(requestParameters, initOverrides);
2586
+ return await response.value();
2587
+ }
2588
+ /**
2589
+ * Creates request options for stop without sending the request
2590
+ */
2591
+ async stopRequestOpts(requestParameters) {
2592
+ if (requestParameters['sandboxId'] == null) {
2593
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling stop().');
2594
+ }
2595
+ const queryParameters = {};
2596
+ const headerParameters = {};
2597
+ headerParameters['Content-Type'] = 'application/json';
2598
+ if (this.configuration && this.configuration.accessToken) {
2599
+ const token = this.configuration.accessToken;
2600
+ const tokenString = await token("BoatBearerAuth", []);
2601
+ if (tokenString) {
2602
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2603
+ }
2604
+ }
2605
+ let urlPath = `/sandboxes/{sandboxId}/stop`;
2606
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2607
+ return {
2608
+ path: urlPath,
2609
+ method: 'POST',
2610
+ headers: headerParameters,
2611
+ query: queryParameters,
2612
+ body: StopRequestToJSON(requestParameters['stopRequest']),
2613
+ };
2614
+ }
2615
+ /**
2616
+ * Stop active work and archive/snapshot the sandbox for later resume or fork. A stop always saves the sandbox\'s disk first. If that save is failing, the stop is refused and the sandbox keeps running so your work is not discarded, we retry automatically and email you. You are not billed for time spent in that state. Set `force: true` to stop anyway, accepting the loss of everything written since the last successful snapshot. This is irreversible; only reach for it after a stop has already failed.
2617
+ * Stop and archive sandbox
2618
+ */
2619
+ async stopRaw(requestParameters, initOverrides) {
2620
+ const requestOptions = await this.stopRequestOpts(requestParameters);
2621
+ const response = await this.request(requestOptions, initOverrides);
2622
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxActionResponseFromJSON(jsonValue));
2623
+ }
2624
+ /**
2625
+ * Stop active work and archive/snapshot the sandbox for later resume or fork. A stop always saves the sandbox\'s disk first. If that save is failing, the stop is refused and the sandbox keeps running so your work is not discarded, we retry automatically and email you. You are not billed for time spent in that state. Set `force: true` to stop anyway, accepting the loss of everything written since the last successful snapshot. This is irreversible; only reach for it after a stop has already failed.
2626
+ * Stop and archive sandbox
2627
+ */
2628
+ async stop(requestParameters, initOverrides) {
2629
+ const response = await this.stopRaw(requestParameters, initOverrides);
2630
+ return await response.value();
2631
+ }
2632
+ /**
2633
+ * Creates request options for update without sending the request
2634
+ */
2635
+ async updateRequestOpts(requestParameters) {
2636
+ if (requestParameters['sandboxId'] == null) {
2637
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling update().');
2638
+ }
2639
+ if (requestParameters['updateSandboxRequest'] == null) {
2640
+ throw new runtime.RequiredError('updateSandboxRequest', 'Required parameter "updateSandboxRequest" was null or undefined when calling update().');
2641
+ }
2642
+ const queryParameters = {};
2643
+ const headerParameters = {};
2644
+ headerParameters['Content-Type'] = 'application/json';
2645
+ if (this.configuration && this.configuration.accessToken) {
2646
+ const token = this.configuration.accessToken;
2647
+ const tokenString = await token("BoatBearerAuth", []);
2648
+ if (tokenString) {
2649
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2650
+ }
2651
+ }
2652
+ let urlPath = `/sandboxes/{sandboxId}`;
2653
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2654
+ return {
2655
+ path: urlPath,
2656
+ method: 'PATCH',
2657
+ headers: headerParameters,
2658
+ query: queryParameters,
2659
+ body: UpdateSandboxRequestToJSON(requestParameters['updateSandboxRequest']),
2660
+ };
2661
+ }
2662
+ /**
2663
+ * Update sandbox
2664
+ */
2665
+ async updateRaw(requestParameters, initOverrides) {
2666
+ const requestOptions = await this.updateRequestOpts(requestParameters);
2667
+ const response = await this.request(requestOptions, initOverrides);
2668
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxInfoResponseFromJSON(jsonValue));
2669
+ }
2670
+ /**
2671
+ * Update sandbox
2672
+ */
2673
+ async update(requestParameters, initOverrides) {
2674
+ const response = await this.updateRaw(requestParameters, initOverrides);
2675
+ return await response.value();
2676
+ }
2677
+ /**
2678
+ * Creates request options for updateDataRetention without sending the request
2679
+ */
2680
+ async updateDataRetentionRequestOpts(requestParameters) {
2681
+ if (requestParameters['dataRetentionUpdateRequest'] == null) {
2682
+ throw new runtime.RequiredError('dataRetentionUpdateRequest', 'Required parameter "dataRetentionUpdateRequest" was null or undefined when calling updateDataRetention().');
2683
+ }
2684
+ const queryParameters = {};
2685
+ const headerParameters = {};
2686
+ headerParameters['Content-Type'] = 'application/json';
2687
+ if (this.configuration && this.configuration.accessToken) {
2688
+ const token = this.configuration.accessToken;
2689
+ const tokenString = await token("BoatBearerAuth", []);
2690
+ if (tokenString) {
2691
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2692
+ }
2693
+ }
2694
+ let urlPath = `/account/data-retention`;
2695
+ return {
2696
+ path: urlPath,
2697
+ method: 'PATCH',
2698
+ headers: headerParameters,
2699
+ query: queryParameters,
2700
+ body: DataRetentionUpdateRequestToJSON(requestParameters['dataRetentionUpdateRequest']),
2701
+ };
2702
+ }
2703
+ /**
2704
+ * Requires an interactive sandbox session; API keys and legacy permanent tokens are refused. Enabling requires the exact confirmation phrase `delete archived sandbox data`. Disabling affects future archives only and cannot cancel deletion operations already accepted.
2705
+ * Update account data-retention policy
2706
+ */
2707
+ async updateDataRetentionRaw(requestParameters, initOverrides) {
2708
+ const requestOptions = await this.updateDataRetentionRequestOpts(requestParameters);
2709
+ const response = await this.request(requestOptions, initOverrides);
2710
+ return new runtime.JSONApiResponse(response, (jsonValue) => DataRetentionPolicyResponseFromJSON(jsonValue));
2711
+ }
2712
+ /**
2713
+ * Requires an interactive sandbox session; API keys and legacy permanent tokens are refused. Enabling requires the exact confirmation phrase `delete archived sandbox data`. Disabling affects future archives only and cannot cancel deletion operations already accepted.
2714
+ * Update account data-retention policy
2715
+ */
2716
+ async updateDataRetention(requestParameters, initOverrides) {
2717
+ const response = await this.updateDataRetentionRaw(requestParameters, initOverrides);
2718
+ return await response.value();
2719
+ }
2720
+ /**
2721
+ * Creates request options for updateEnvironment without sending the request
2722
+ */
2723
+ async updateEnvironmentRequestOpts(requestParameters) {
2724
+ if (requestParameters['environmentId'] == null) {
2725
+ throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling updateEnvironment().');
2726
+ }
2727
+ if (requestParameters['updateSandboxEnvironmentRequest'] == null) {
2728
+ throw new runtime.RequiredError('updateSandboxEnvironmentRequest', 'Required parameter "updateSandboxEnvironmentRequest" was null or undefined when calling updateEnvironment().');
2729
+ }
2730
+ const queryParameters = {};
2731
+ const headerParameters = {};
2732
+ headerParameters['Content-Type'] = 'application/json';
2733
+ if (this.configuration && this.configuration.accessToken) {
2734
+ const token = this.configuration.accessToken;
2735
+ const tokenString = await token("BoatBearerAuth", []);
2736
+ if (tokenString) {
2737
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2738
+ }
2739
+ }
2740
+ let urlPath = `/environments/{environmentId}`;
2741
+ urlPath = urlPath.replace('{environmentId}', encodeURIComponent(String(requestParameters['environmentId'])));
2742
+ return {
2743
+ path: urlPath,
2744
+ method: 'PUT',
2745
+ headers: headerParameters,
2746
+ query: queryParameters,
2747
+ body: UpdateSandboxEnvironmentRequestToJSON(requestParameters['updateSandboxEnvironmentRequest']),
2748
+ };
2749
+ }
2750
+ /**
2751
+ * Rename, set as default, and/or edit flags and contents. Any flag or content change mints a new immutable version; existing sandboxes stay on their pinned version until you call upgrade.
2752
+ * Update a sandbox environment
2753
+ */
2754
+ async updateEnvironmentRaw(requestParameters, initOverrides) {
2755
+ const requestOptions = await this.updateEnvironmentRequestOpts(requestParameters);
2756
+ const response = await this.request(requestOptions, initOverrides);
2757
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxEnvironmentResponseFromJSON(jsonValue));
2758
+ }
2759
+ /**
2760
+ * Rename, set as default, and/or edit flags and contents. Any flag or content change mints a new immutable version; existing sandboxes stay on their pinned version until you call upgrade.
2761
+ * Update a sandbox environment
2762
+ */
2763
+ async updateEnvironment(requestParameters, initOverrides) {
2764
+ const response = await this.updateEnvironmentRaw(requestParameters, initOverrides);
2765
+ return await response.value();
2766
+ }
2767
+ /**
2768
+ * Creates request options for updateSecrets without sending the request
2769
+ */
2770
+ async updateSecretsRequestOpts(requestParameters) {
2771
+ if (requestParameters['secretsUpdateRequest'] == null) {
2772
+ throw new runtime.RequiredError('secretsUpdateRequest', 'Required parameter "secretsUpdateRequest" was null or undefined when calling updateSecrets().');
2773
+ }
2774
+ const queryParameters = {};
2775
+ const headerParameters = {};
2776
+ headerParameters['Content-Type'] = 'application/json';
2777
+ if (this.configuration && this.configuration.accessToken) {
2778
+ const token = this.configuration.accessToken;
2779
+ const tokenString = await token("BoatBearerAuth", []);
2780
+ if (tokenString) {
2781
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2782
+ }
2783
+ }
2784
+ let urlPath = `/secrets`;
2785
+ return {
2786
+ path: urlPath,
2787
+ method: 'POST',
2788
+ headers: headerParameters,
2789
+ query: queryParameters,
2790
+ body: SecretsUpdateRequestToJSON(requestParameters['secretsUpdateRequest']),
2791
+ };
2792
+ }
2793
+ /**
2794
+ * Update Boat secrets setup
2795
+ */
2796
+ async updateSecretsRaw(requestParameters, initOverrides) {
2797
+ const requestOptions = await this.updateSecretsRequestOpts(requestParameters);
2798
+ const response = await this.request(requestOptions, initOverrides);
2799
+ return new runtime.JSONApiResponse(response, (jsonValue) => SecretsResponseFromJSON(jsonValue));
2800
+ }
2801
+ /**
2802
+ * Update Boat secrets setup
2803
+ */
2804
+ async updateSecrets(requestParameters, initOverrides) {
2805
+ const response = await this.updateSecretsRaw(requestParameters, initOverrides);
2806
+ return await response.value();
2807
+ }
2808
+ /**
2809
+ * Creates request options for updateWebhook without sending the request
2810
+ */
2811
+ async updateWebhookRequestOpts(requestParameters) {
2812
+ if (requestParameters['webhookId'] == null) {
2813
+ throw new runtime.RequiredError('webhookId', 'Required parameter "webhookId" was null or undefined when calling updateWebhook().');
2814
+ }
2815
+ if (requestParameters['webhookUpdateRequest'] == null) {
2816
+ throw new runtime.RequiredError('webhookUpdateRequest', 'Required parameter "webhookUpdateRequest" was null or undefined when calling updateWebhook().');
2817
+ }
2818
+ const queryParameters = {};
2819
+ const headerParameters = {};
2820
+ headerParameters['Content-Type'] = 'application/json';
2821
+ if (this.configuration && this.configuration.accessToken) {
2822
+ const token = this.configuration.accessToken;
2823
+ const tokenString = await token("BoatBearerAuth", []);
2824
+ if (tokenString) {
2825
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2826
+ }
2827
+ }
2828
+ let urlPath = `/webhooks/{webhookId}`;
2829
+ urlPath = urlPath.replace('{webhookId}', encodeURIComponent(String(requestParameters['webhookId'])));
2830
+ return {
2831
+ path: urlPath,
2832
+ method: 'PATCH',
2833
+ headers: headerParameters,
2834
+ query: queryParameters,
2835
+ body: WebhookUpdateRequestToJSON(requestParameters['webhookUpdateRequest']),
2836
+ };
2837
+ }
2838
+ /**
2839
+ * Updates the name, endpoint URL, or subscribed events without changing the signing secret.
2840
+ * Update webhook
2841
+ */
2842
+ async updateWebhookRaw(requestParameters, initOverrides) {
2843
+ const requestOptions = await this.updateWebhookRequestOpts(requestParameters);
2844
+ const response = await this.request(requestOptions, initOverrides);
2845
+ return new runtime.JSONApiResponse(response, (jsonValue) => WebhookResponseFromJSON(jsonValue));
2846
+ }
2847
+ /**
2848
+ * Updates the name, endpoint URL, or subscribed events without changing the signing secret.
2849
+ * Update webhook
2850
+ */
2851
+ async updateWebhook(requestParameters, initOverrides) {
2852
+ const response = await this.updateWebhookRaw(requestParameters, initOverrides);
2853
+ return await response.value();
2854
+ }
2855
+ /**
2856
+ * Creates request options for upgradeEnvironment without sending the request
2857
+ */
2858
+ async upgradeEnvironmentRequestOpts(requestParameters) {
2859
+ if (requestParameters['environmentId'] == null) {
2860
+ throw new runtime.RequiredError('environmentId', 'Required parameter "environmentId" was null or undefined when calling upgradeEnvironment().');
2861
+ }
2862
+ const queryParameters = {};
2863
+ const headerParameters = {};
2864
+ headerParameters['Content-Type'] = 'application/json';
2865
+ if (this.configuration && this.configuration.accessToken) {
2866
+ const token = this.configuration.accessToken;
2867
+ const tokenString = await token("BoatBearerAuth", []);
2868
+ if (tokenString) {
2869
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2870
+ }
2871
+ }
2872
+ let urlPath = `/environments/{environmentId}/upgrade`;
2873
+ urlPath = urlPath.replace('{environmentId}', encodeURIComponent(String(requestParameters['environmentId'])));
2874
+ return {
2875
+ path: urlPath,
2876
+ method: 'POST',
2877
+ headers: headerParameters,
2878
+ query: queryParameters,
2879
+ body: UpgradeSandboxEnvironmentRequestToJSON(requestParameters['upgradeSandboxEnvironmentRequest']),
2880
+ };
2881
+ }
2882
+ /**
2883
+ * Repoints the caller\'s active sandboxes from an older version of this environment to its latest version, scrubbing any owner secrets the new version drops and hot-pushing the new config.
2884
+ * Upgrade sandboxes to an environment\'s latest version
2885
+ */
2886
+ async upgradeEnvironmentRaw(requestParameters, initOverrides) {
2887
+ const requestOptions = await this.upgradeEnvironmentRequestOpts(requestParameters);
2888
+ const response = await this.request(requestOptions, initOverrides);
2889
+ return new runtime.JSONApiResponse(response, (jsonValue) => UpgradeSandboxEnvironmentResponseFromJSON(jsonValue));
2890
+ }
2891
+ /**
2892
+ * Repoints the caller\'s active sandboxes from an older version of this environment to its latest version, scrubbing any owner secrets the new version drops and hot-pushing the new config.
2893
+ * Upgrade sandboxes to an environment\'s latest version
2894
+ */
2895
+ async upgradeEnvironment(requestParameters, initOverrides) {
2896
+ const response = await this.upgradeEnvironmentRaw(requestParameters, initOverrides);
2897
+ return await response.value();
2898
+ }
2899
+ /**
2900
+ * Creates request options for usage without sending the request
2901
+ */
2902
+ async usageRequestOpts(requestParameters) {
2903
+ if (requestParameters['sandboxId'] == null) {
2904
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling usage().');
2905
+ }
2906
+ const queryParameters = {};
2907
+ if (requestParameters['since'] != null) {
2908
+ queryParameters['since'] = requestParameters['since'];
2909
+ }
2910
+ if (requestParameters['until'] != null) {
2911
+ queryParameters['until'] = requestParameters['until'];
2912
+ }
2913
+ const headerParameters = {};
2914
+ if (this.configuration && this.configuration.accessToken) {
2915
+ const token = this.configuration.accessToken;
2916
+ const tokenString = await token("BoatBearerAuth", []);
2917
+ if (tokenString) {
2918
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2919
+ }
2920
+ }
2921
+ let urlPath = `/sandboxes/{sandboxId}/usage`;
2922
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2923
+ return {
2924
+ path: urlPath,
2925
+ method: 'GET',
2926
+ headers: headerParameters,
2927
+ query: queryParameters,
2928
+ };
2929
+ }
2930
+ /**
2931
+ * Machine time one sandbox consumed, and what it costs, so you can bill your own users per sandbox. Same meter as `GET /limits`: billable seconds with the sandbox type\'s multiplier applied, paused past a refused stop, never counting time stopped. Narrow it to a billing period with `since` and `until`; a period boundary that falls inside a running stretch splits that stretch pro rata. Works while the sandbox runs and after it stops.
2932
+ * Get boat usage
2933
+ */
2934
+ async usageRaw(requestParameters, initOverrides) {
2935
+ const requestOptions = await this.usageRequestOpts(requestParameters);
2936
+ const response = await this.request(requestOptions, initOverrides);
2937
+ return new runtime.JSONApiResponse(response, (jsonValue) => SandboxUsageResponseFromJSON(jsonValue));
2938
+ }
2939
+ /**
2940
+ * Machine time one sandbox consumed, and what it costs, so you can bill your own users per sandbox. Same meter as `GET /limits`: billable seconds with the sandbox type\'s multiplier applied, paused past a refused stop, never counting time stopped. Narrow it to a billing period with `since` and `until`; a period boundary that falls inside a running stretch splits that stretch pro rata. Works while the sandbox runs and after it stops.
2941
+ * Get boat usage
2942
+ */
2943
+ async usage(requestParameters, initOverrides) {
2944
+ const response = await this.usageRaw(requestParameters, initOverrides);
2945
+ return await response.value();
2946
+ }
2947
+ /**
2948
+ * Creates request options for writeFile without sending the request
2949
+ */
2950
+ async writeFileRequestOpts(requestParameters) {
2951
+ if (requestParameters['sandboxId'] == null) {
2952
+ throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling writeFile().');
2953
+ }
2954
+ if (requestParameters['fileWriteRequest'] == null) {
2955
+ throw new runtime.RequiredError('fileWriteRequest', 'Required parameter "fileWriteRequest" was null or undefined when calling writeFile().');
2956
+ }
2957
+ const queryParameters = {};
2958
+ const headerParameters = {};
2959
+ headerParameters['Content-Type'] = 'application/json';
2960
+ if (this.configuration && this.configuration.accessToken) {
2961
+ const token = this.configuration.accessToken;
2962
+ const tokenString = await token("BoatBearerAuth", []);
2963
+ if (tokenString) {
2964
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
2965
+ }
2966
+ }
2967
+ let urlPath = `/sandboxes/{sandboxId}/files`;
2968
+ urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
2969
+ return {
2970
+ path: urlPath,
2971
+ method: 'PUT',
2972
+ headers: headerParameters,
2973
+ query: queryParameters,
2974
+ body: FileWriteRequestToJSON(requestParameters['fileWriteRequest']),
2975
+ };
2976
+ }
2977
+ /**
2978
+ * Write a file in a sandbox
2979
+ */
2980
+ async writeFileRaw(requestParameters, initOverrides) {
2981
+ const requestOptions = await this.writeFileRequestOpts(requestParameters);
2982
+ const response = await this.request(requestOptions, initOverrides);
2983
+ return new runtime.JSONApiResponse(response, (jsonValue) => FileWriteResponseFromJSON(jsonValue));
2984
+ }
2985
+ /**
2986
+ * Write a file in a sandbox
2987
+ */
2988
+ async writeFile(requestParameters, initOverrides) {
2989
+ const response = await this.writeFileRaw(requestParameters, initOverrides);
2990
+ return await response.value();
2991
+ }
2992
+ }
2993
+ /**
2994
+ * @export
2995
+ */
2996
+ export const DesktopOperationVncEnum = {
2997
+ NUMBER_1: 1
2998
+ };
2999
+ /**
3000
+ * @export
3001
+ */
3002
+ export const DesktopOperationThemeEnum = {
3003
+ Light: 'light',
3004
+ Dark: 'dark'
3005
+ };
3006
+ /**
3007
+ * @export
3008
+ */
3009
+ export const EventsSortEnum = {
3010
+ Asc: 'asc',
3011
+ Desc: 'desc'
3012
+ };
3013
+ /**
3014
+ * @export
3015
+ */
3016
+ export const ListSandboxSnapshotsSortEnum = {
3017
+ Asc: 'asc',
3018
+ Desc: 'desc'
3019
+ };
3020
+ /**
3021
+ * @export
3022
+ */
3023
+ export const ListSnapshotsSortEnum = {
3024
+ Asc: 'asc',
3025
+ Desc: 'desc'
3026
+ };
3027
+ /**
3028
+ * @export
3029
+ */
3030
+ export const ReadFileEncodingEnum = {
3031
+ Utf8: 'utf8',
3032
+ Base64: 'base64'
3033
+ };
3034
+ /**
3035
+ * @export
3036
+ */
3037
+ export const ReposSortEnum = {
3038
+ Asc: 'asc',
3039
+ Desc: 'desc'
3040
+ };
3041
+ /**
3042
+ * @export
3043
+ */
3044
+ export const SandboxesSortEnum = {
3045
+ Asc: 'asc',
3046
+ Desc: 'desc'
3047
+ };