@boatdev/sdk 1.0.0 → 1.1.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 (244) hide show
  1. package/.openapi-generator/FILES +22 -0
  2. package/README.md +8 -26
  3. package/dist/apis/BoatApi.d.ts +132 -79
  4. package/dist/apis/BoatApi.js +188 -29
  5. package/dist/esm/apis/BoatApi.d.ts +132 -79
  6. package/dist/esm/apis/BoatApi.js +188 -29
  7. package/dist/esm/models/ActiveOrgResponse.d.ts +52 -0
  8. package/dist/esm/models/ActiveOrgResponse.js +58 -0
  9. package/dist/esm/models/ActiveOrgResponseAllOfActive.d.ts +52 -0
  10. package/dist/esm/models/ActiveOrgResponseAllOfActive.js +58 -0
  11. package/dist/esm/models/ActiveOrgUpdateRequest.d.ts +32 -0
  12. package/dist/esm/models/ActiveOrgUpdateRequest.js +43 -0
  13. package/dist/esm/models/CommandResponse.d.ts +6 -0
  14. package/dist/esm/models/CommandResponse.js +2 -0
  15. package/dist/esm/models/CommandStatusResponse.d.ts +6 -0
  16. package/dist/esm/models/CommandStatusResponse.js +2 -0
  17. package/dist/esm/models/CreateSandboxRequest.d.ts +2 -3
  18. package/dist/esm/models/CreateSandboxRequest.js +1 -2
  19. package/dist/esm/models/CreateSandboxResponse.d.ts +8 -1
  20. package/dist/esm/models/CreateSandboxResponse.js +4 -1
  21. package/dist/esm/models/DeletionOperation.d.ts +24 -0
  22. package/dist/esm/models/DeletionOperation.js +15 -0
  23. package/dist/esm/models/DeletionOperationListResponse.d.ts +52 -0
  24. package/dist/esm/models/DeletionOperationListResponse.js +58 -0
  25. package/dist/esm/models/ForkRequest.d.ts +1 -2
  26. package/dist/esm/models/ForkRequest.js +1 -2
  27. package/dist/esm/models/LimitsFields.d.ts +80 -0
  28. package/dist/esm/models/LimitsFields.js +28 -0
  29. package/dist/esm/models/LimitsFieldsCurrentLimits.d.ts +6 -0
  30. package/dist/esm/models/LimitsFieldsCurrentLimits.js +2 -0
  31. package/dist/esm/models/LimitsFieldsGiftLimit.d.ts +50 -0
  32. package/dist/esm/models/LimitsFieldsGiftLimit.js +47 -0
  33. package/dist/esm/models/LimitsFieldsSandboxPlanTiersInner.d.ts +80 -0
  34. package/dist/esm/models/LimitsFieldsSandboxPlanTiersInner.js +57 -0
  35. package/dist/esm/models/LimitsResponse.d.ts +80 -0
  36. package/dist/esm/models/LimitsResponse.js +28 -0
  37. package/dist/esm/models/MeResponseAllOfUser.d.ts +109 -0
  38. package/dist/esm/models/MeResponseAllOfUser.js +47 -0
  39. package/dist/esm/models/Org.d.ts +84 -0
  40. package/dist/esm/models/Org.js +79 -0
  41. package/dist/esm/models/OrgListResponse.d.ts +58 -0
  42. package/dist/esm/models/OrgListResponse.js +62 -0
  43. package/dist/esm/models/PromptEventData.d.ts +20 -0
  44. package/dist/esm/models/PromptEventData.js +8 -0
  45. package/dist/esm/models/PromptEventDataAttachmentsInner.d.ts +44 -0
  46. package/dist/esm/models/PromptEventDataAttachmentsInner.js +45 -0
  47. package/dist/esm/models/PromptEventDataCitationsInner.d.ts +50 -0
  48. package/dist/esm/models/PromptEventDataCitationsInner.js +47 -0
  49. package/dist/esm/models/RepoSelectionResponse.d.ts +6 -0
  50. package/dist/esm/models/RepoSelectionResponse.js +2 -0
  51. package/dist/esm/models/ReposResponse.d.ts +6 -0
  52. package/dist/esm/models/ReposResponse.js +2 -0
  53. package/dist/esm/models/Repository.d.ts +18 -0
  54. package/dist/esm/models/Repository.js +6 -0
  55. package/dist/esm/models/ResponseEventData.d.ts +6 -0
  56. package/dist/esm/models/ResponseEventData.js +2 -0
  57. package/dist/esm/models/ResumeRequest.d.ts +1 -2
  58. package/dist/esm/models/ResumeRequest.js +1 -2
  59. package/dist/esm/models/Sandbox.d.ts +43 -4
  60. package/dist/esm/models/Sandbox.js +21 -3
  61. package/dist/esm/models/SandboxActionResponse.d.ts +12 -0
  62. package/dist/esm/models/SandboxActionResponse.js +4 -0
  63. package/dist/esm/models/SandboxEnvironment.d.ts +12 -0
  64. package/dist/esm/models/SandboxEnvironment.js +4 -0
  65. package/dist/esm/models/SandboxEnvironmentListResponse.d.ts +26 -0
  66. package/dist/esm/models/SandboxEnvironmentListResponse.js +16 -0
  67. package/dist/esm/models/SandboxInfoResponse.d.ts +6 -0
  68. package/dist/esm/models/SandboxInfoResponse.js +2 -0
  69. package/dist/esm/models/SandboxTeam.d.ts +38 -0
  70. package/dist/esm/models/SandboxTeam.js +47 -0
  71. package/dist/esm/models/SandboxUsageResponse.d.ts +1 -2
  72. package/dist/esm/models/SandboxUsageResponse.js +1 -2
  73. package/dist/esm/models/SecretsResponse.d.ts +6 -0
  74. package/dist/esm/models/SecretsResponse.js +2 -0
  75. package/dist/esm/models/SelectedRepository.d.ts +18 -0
  76. package/dist/esm/models/SelectedRepository.js +6 -0
  77. package/dist/esm/models/SnapshotChunk.d.ts +2 -2
  78. package/dist/esm/models/SnapshotSummary.d.ts +3 -3
  79. package/dist/esm/models/SshKeyResponse.d.ts +12 -0
  80. package/dist/esm/models/SshKeyResponse.js +4 -0
  81. package/dist/esm/models/UpgradeSandboxEnvironmentResponse.d.ts +18 -0
  82. package/dist/esm/models/UpgradeSandboxEnvironmentResponse.js +6 -0
  83. package/dist/esm/models/index.d.ts +11 -0
  84. package/dist/esm/models/index.js +11 -0
  85. package/dist/esm/runtime.d.ts +8 -0
  86. package/dist/esm/runtime.js +18 -0
  87. package/dist/models/ActiveOrgResponse.d.ts +52 -0
  88. package/dist/models/ActiveOrgResponse.js +66 -0
  89. package/dist/models/ActiveOrgResponseAllOfActive.d.ts +52 -0
  90. package/dist/models/ActiveOrgResponseAllOfActive.js +66 -0
  91. package/dist/models/ActiveOrgUpdateRequest.d.ts +32 -0
  92. package/dist/models/ActiveOrgUpdateRequest.js +50 -0
  93. package/dist/models/CommandResponse.d.ts +6 -0
  94. package/dist/models/CommandResponse.js +2 -0
  95. package/dist/models/CommandStatusResponse.d.ts +6 -0
  96. package/dist/models/CommandStatusResponse.js +2 -0
  97. package/dist/models/CreateSandboxRequest.d.ts +2 -3
  98. package/dist/models/CreateSandboxRequest.js +1 -2
  99. package/dist/models/CreateSandboxResponse.d.ts +8 -1
  100. package/dist/models/CreateSandboxResponse.js +4 -1
  101. package/dist/models/DeletionOperation.d.ts +24 -0
  102. package/dist/models/DeletionOperation.js +16 -1
  103. package/dist/models/DeletionOperationListResponse.d.ts +52 -0
  104. package/dist/models/DeletionOperationListResponse.js +66 -0
  105. package/dist/models/ForkRequest.d.ts +1 -2
  106. package/dist/models/ForkRequest.js +1 -2
  107. package/dist/models/LimitsFields.d.ts +80 -0
  108. package/dist/models/LimitsFields.js +28 -0
  109. package/dist/models/LimitsFieldsCurrentLimits.d.ts +6 -0
  110. package/dist/models/LimitsFieldsCurrentLimits.js +2 -0
  111. package/dist/models/LimitsFieldsGiftLimit.d.ts +50 -0
  112. package/dist/models/LimitsFieldsGiftLimit.js +54 -0
  113. package/dist/models/LimitsFieldsSandboxPlanTiersInner.d.ts +80 -0
  114. package/dist/models/LimitsFieldsSandboxPlanTiersInner.js +64 -0
  115. package/dist/models/LimitsResponse.d.ts +80 -0
  116. package/dist/models/LimitsResponse.js +28 -0
  117. package/dist/models/MeResponseAllOfUser.d.ts +109 -0
  118. package/dist/models/MeResponseAllOfUser.js +48 -0
  119. package/dist/models/Org.d.ts +84 -0
  120. package/dist/models/Org.js +87 -0
  121. package/dist/models/OrgListResponse.d.ts +58 -0
  122. package/dist/models/OrgListResponse.js +70 -0
  123. package/dist/models/PromptEventData.d.ts +20 -0
  124. package/dist/models/PromptEventData.js +8 -0
  125. package/dist/models/PromptEventDataAttachmentsInner.d.ts +44 -0
  126. package/dist/models/PromptEventDataAttachmentsInner.js +52 -0
  127. package/dist/models/PromptEventDataCitationsInner.d.ts +50 -0
  128. package/dist/models/PromptEventDataCitationsInner.js +54 -0
  129. package/dist/models/RepoSelectionResponse.d.ts +6 -0
  130. package/dist/models/RepoSelectionResponse.js +2 -0
  131. package/dist/models/ReposResponse.d.ts +6 -0
  132. package/dist/models/ReposResponse.js +2 -0
  133. package/dist/models/Repository.d.ts +18 -0
  134. package/dist/models/Repository.js +6 -0
  135. package/dist/models/ResponseEventData.d.ts +6 -0
  136. package/dist/models/ResponseEventData.js +2 -0
  137. package/dist/models/ResumeRequest.d.ts +1 -2
  138. package/dist/models/ResumeRequest.js +1 -2
  139. package/dist/models/Sandbox.d.ts +43 -4
  140. package/dist/models/Sandbox.js +22 -4
  141. package/dist/models/SandboxActionResponse.d.ts +12 -0
  142. package/dist/models/SandboxActionResponse.js +4 -0
  143. package/dist/models/SandboxEnvironment.d.ts +12 -0
  144. package/dist/models/SandboxEnvironment.js +4 -0
  145. package/dist/models/SandboxEnvironmentListResponse.d.ts +26 -0
  146. package/dist/models/SandboxEnvironmentListResponse.js +17 -0
  147. package/dist/models/SandboxInfoResponse.d.ts +6 -0
  148. package/dist/models/SandboxInfoResponse.js +2 -0
  149. package/dist/models/SandboxTeam.d.ts +38 -0
  150. package/dist/models/SandboxTeam.js +54 -0
  151. package/dist/models/SandboxUsageResponse.d.ts +1 -2
  152. package/dist/models/SandboxUsageResponse.js +1 -2
  153. package/dist/models/SecretsResponse.d.ts +6 -0
  154. package/dist/models/SecretsResponse.js +2 -0
  155. package/dist/models/SelectedRepository.d.ts +18 -0
  156. package/dist/models/SelectedRepository.js +6 -0
  157. package/dist/models/SnapshotChunk.d.ts +2 -2
  158. package/dist/models/SnapshotSummary.d.ts +3 -3
  159. package/dist/models/SshKeyResponse.d.ts +12 -0
  160. package/dist/models/SshKeyResponse.js +4 -0
  161. package/dist/models/UpgradeSandboxEnvironmentResponse.d.ts +18 -0
  162. package/dist/models/UpgradeSandboxEnvironmentResponse.js +6 -0
  163. package/dist/models/index.d.ts +11 -0
  164. package/dist/models/index.js +11 -0
  165. package/dist/runtime.d.ts +8 -0
  166. package/dist/runtime.js +19 -0
  167. package/docs/ActiveOrgResponse.md +36 -0
  168. package/docs/ActiveOrgResponseAllOfActive.md +36 -0
  169. package/docs/ActiveOrgUpdateRequest.md +32 -0
  170. package/docs/BoatApi.md +228 -8
  171. package/docs/Command200Response.md +2 -0
  172. package/docs/CommandResponse.md +2 -0
  173. package/docs/CommandStatusResponse.md +2 -0
  174. package/docs/CreateSandboxResponse.md +2 -0
  175. package/docs/DeletionOperation.md +4 -0
  176. package/docs/DeletionOperationListResponse.md +36 -0
  177. package/docs/LimitsFields.md +26 -0
  178. package/docs/LimitsFieldsCurrentLimits.md +2 -0
  179. package/docs/LimitsFieldsGiftLimit.md +39 -0
  180. package/docs/LimitsFieldsSandboxPlanTiersInner.md +48 -0
  181. package/docs/LimitsResponse.md +26 -0
  182. package/docs/MeResponseAllOfUser.md +30 -0
  183. package/docs/Org.md +44 -0
  184. package/docs/OrgListResponse.md +38 -0
  185. package/docs/PromptEventData.md +6 -0
  186. package/docs/PromptEventDataAttachmentsInner.md +36 -0
  187. package/docs/PromptEventDataCitationsInner.md +38 -0
  188. package/docs/RepoSelectionResponse.md +2 -0
  189. package/docs/ReposResponse.md +2 -0
  190. package/docs/Repository.md +6 -0
  191. package/docs/ResponseEventData.md +2 -0
  192. package/docs/Sandbox.md +10 -0
  193. package/docs/SandboxActionResponse.md +4 -0
  194. package/docs/SandboxEnvironment.md +4 -0
  195. package/docs/SandboxEnvironmentListResponse.md +4 -0
  196. package/docs/SandboxInfoResponse.md +2 -0
  197. package/docs/SandboxTeam.md +35 -0
  198. package/docs/SecretsResponse.md +2 -0
  199. package/docs/SelectedRepository.md +6 -0
  200. package/docs/SshKeyResponse.md +4 -0
  201. package/docs/UpgradeSandboxEnvironmentResponse.md +6 -0
  202. package/package.json +1 -1
  203. package/src/apis/BoatApi.ts +304 -79
  204. package/src/models/ActiveOrgResponse.ts +102 -0
  205. package/src/models/ActiveOrgResponseAllOfActive.ts +95 -0
  206. package/src/models/ActiveOrgUpdateRequest.ts +66 -0
  207. package/src/models/CommandResponse.ts +8 -0
  208. package/src/models/CommandStatusResponse.ts +8 -0
  209. package/src/models/CreateSandboxRequest.ts +3 -4
  210. package/src/models/CreateSandboxResponse.ts +11 -2
  211. package/src/models/DeletionOperation.ts +29 -0
  212. package/src/models/DeletionOperationListResponse.ts +102 -0
  213. package/src/models/ForkRequest.ts +2 -3
  214. package/src/models/LimitsFields.ts +118 -0
  215. package/src/models/LimitsFieldsCurrentLimits.ts +8 -0
  216. package/src/models/LimitsFieldsGiftLimit.ts +89 -0
  217. package/src/models/LimitsFieldsSandboxPlanTiersInner.ts +129 -0
  218. package/src/models/LimitsResponse.ts +118 -0
  219. package/src/models/MeResponseAllOfUser.ts +143 -0
  220. package/src/models/Org.ts +139 -0
  221. package/src/models/OrgListResponse.ts +111 -0
  222. package/src/models/PromptEventData.ts +39 -0
  223. package/src/models/PromptEventDataAttachmentsInner.ts +81 -0
  224. package/src/models/PromptEventDataCitationsInner.ts +89 -0
  225. package/src/models/RepoSelectionResponse.ts +8 -0
  226. package/src/models/ReposResponse.ts +8 -0
  227. package/src/models/Repository.ts +24 -0
  228. package/src/models/ResponseEventData.ts +8 -0
  229. package/src/models/ResumeRequest.ts +2 -3
  230. package/src/models/Sandbox.ts +63 -6
  231. package/src/models/SandboxActionResponse.ts +16 -0
  232. package/src/models/SandboxEnvironment.ts +16 -0
  233. package/src/models/SandboxEnvironmentListResponse.ts +34 -0
  234. package/src/models/SandboxInfoResponse.ts +8 -0
  235. package/src/models/SandboxTeam.ts +75 -0
  236. package/src/models/SandboxUsageResponse.ts +2 -3
  237. package/src/models/SecretsResponse.ts +8 -0
  238. package/src/models/SelectedRepository.ts +24 -0
  239. package/src/models/SnapshotChunk.ts +2 -2
  240. package/src/models/SnapshotSummary.ts +3 -3
  241. package/src/models/SshKeyResponse.ts +16 -0
  242. package/src/models/UpgradeSandboxEnvironmentResponse.ts +24 -0
  243. package/src/models/index.ts +11 -0
  244. package/src/runtime.ts +23 -0
@@ -31,6 +31,7 @@ export function ResponseEventDataFromJSONTyped(json, ignoreDiscriminator) {
31
31
  'model': json['model'] == null ? undefined : json['model'],
32
32
  'tools': json['tools'] == null ? undefined : json['tools'],
33
33
  'isStreaming': json['is_streaming'] == null ? undefined : json['is_streaming'],
34
+ 'isReverted': json['is_reverted'] == null ? undefined : json['is_reverted'],
34
35
  };
35
36
  }
36
37
  export function ResponseEventDataToJSON(json) {
@@ -45,5 +46,6 @@ export function ResponseEventDataToJSONTyped(value, ignoreDiscriminator = false)
45
46
  'model': value['model'],
46
47
  'tools': value['tools'],
47
48
  'is_streaming': value['isStreaming'],
49
+ 'is_reverted': value['isReverted'],
48
50
  };
49
51
  }
@@ -16,7 +16,7 @@
16
16
  */
17
17
  export interface ResumeRequest {
18
18
  /**
19
- * Resume onto a different machine size. Omit to keep the sandbox's current type. A resume already restores onto a fresh machine, so changing size costs nothing extra. Shrinking is rejected with `type_too_small` when the sandbox's data would not fit the smaller disk. `xlarge` requires the effective $100 plan or higher and an explicit bare-metal operator allocation.
19
+ * Resume onto a different machine size. Omit to keep the sandbox's current type. A resume already restores onto a fresh machine, so changing size costs nothing extra. Shrinking is rejected with `type_too_small` when the sandbox's data would not fit the smaller disk.
20
20
  * @type {ResumeRequestTypeEnum}
21
21
  * @memberof ResumeRequest
22
22
  */
@@ -55,7 +55,6 @@ export declare const ResumeRequestTypeEnum: {
55
55
  readonly Small: 'small';
56
56
  readonly Default: 'default';
57
57
  readonly Large: 'large';
58
- readonly Xlarge: 'xlarge';
59
58
  };
60
59
  export type ResumeRequestTypeEnum = typeof ResumeRequestTypeEnum[keyof typeof ResumeRequestTypeEnum];
61
60
  /**
@@ -17,8 +17,7 @@
17
17
  export const ResumeRequestTypeEnum = {
18
18
  Small: 'small',
19
19
  Default: 'default',
20
- Large: 'large',
21
- Xlarge: 'xlarge'
20
+ Large: 'large'
22
21
  };
23
22
  /**
24
23
  * Check if a given object implements the ResumeRequest interface.
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { SandboxTeam } from './SandboxTeam';
12
13
  /**
13
14
  *
14
15
  * @export
@@ -28,13 +29,19 @@ export interface Sandbox {
28
29
  */
29
30
  name: string;
30
31
  /**
31
- *
32
+ * `cancelled` is terminal: a create or fork that could not get a machine was removed. `GET /sandboxes/{sandboxId}` reports it once, with only `id`, `state` and `error`, then answers 404.
32
33
  * @type {SandboxStateEnum}
33
34
  * @memberof Sandbox
34
35
  */
35
36
  state: SandboxStateEnum;
36
37
  /**
37
- * Current machine size: what the sandbox was created with, or the size it was last resumed or forked onto. Legacy bare-metal sandboxes read as `default`.
38
+ * Why the sandbox is stopped, failed or cancelled, or null.
39
+ * @type {string}
40
+ * @memberof Sandbox
41
+ */
42
+ error?: string | null;
43
+ /**
44
+ * Current machine size: what the sandbox was created with, or the size it was last resumed or forked onto.
38
45
  * @type {SandboxTypeEnum}
39
46
  * @memberof Sandbox
40
47
  */
@@ -52,11 +59,17 @@ export interface Sandbox {
52
59
  */
53
60
  memoryGB?: number;
54
61
  /**
55
- * Rate at which this sandbox consumes machine time. 0.5 for `small`, 1 for `default`, 2 for `large`, and 50/9 for `xlarge`.
62
+ * Rate at which this sandbox consumes machine time. 0.5 for `small`, 1 for `default`, and 2 for `large`.
56
63
  * @type {number}
57
64
  * @memberof Sandbox
58
65
  */
59
66
  billingMultiplier?: number;
67
+ /**
68
+ * Machine provider of the machine the sandbox is on, or null when it has no machine.
69
+ * @type {SandboxMachineProviderEnum}
70
+ * @memberof Sandbox
71
+ */
72
+ machineProvider?: SandboxMachineProviderEnum | null;
60
73
  /**
61
74
  * Machine URL when assigned.
62
75
  * @type {string}
@@ -69,6 +82,12 @@ export interface Sandbox {
69
82
  * @memberof Sandbox
70
83
  */
71
84
  ip?: string | null;
85
+ /**
86
+ * Public IPv4 `host:port` that forwards to the sandbox SSH server. Set only when the machine has no public IPv4 of its own; null otherwise. Connect with `ssh -p <port> user@<host>`.
87
+ * @type {string}
88
+ * @memberof Sandbox
89
+ */
90
+ sshEndpoint?: string | null;
72
91
  /**
73
92
  *
74
93
  * @type {Date}
@@ -111,6 +130,18 @@ export interface Sandbox {
111
130
  * @memberof Sandbox
112
131
  */
113
132
  snapshotCompletedAt?: Date | null;
133
+ /**
134
+ * Last time a snapshot confirmed the sandbox's saved state, including checks that found nothing new to save. Falls back to `snapshotCompletedAt`; null if never.
135
+ * @type {Date}
136
+ * @memberof Sandbox
137
+ */
138
+ snapshotVerifiedAt?: Date | null;
139
+ /**
140
+ *
141
+ * @type {SandboxTeam}
142
+ * @memberof Sandbox
143
+ */
144
+ team?: SandboxTeam;
114
145
  /**
115
146
  * The sandbox's stable three-word subdomain slug (e.g. "frazil-pneuma-rallye"), or null before one is assigned.
116
147
  * @type {string}
@@ -168,6 +199,7 @@ export declare const SandboxStateEnum: {
168
199
  readonly Archiving: 'archiving';
169
200
  readonly Archived: 'archived';
170
201
  readonly Error: 'error';
202
+ readonly Cancelled: 'cancelled';
171
203
  };
172
204
  export type SandboxStateEnum = typeof SandboxStateEnum[keyof typeof SandboxStateEnum];
173
205
  /**
@@ -177,9 +209,16 @@ export declare const SandboxTypeEnum: {
177
209
  readonly Small: 'small';
178
210
  readonly Default: 'default';
179
211
  readonly Large: 'large';
180
- readonly Xlarge: 'xlarge';
181
212
  };
182
213
  export type SandboxTypeEnum = typeof SandboxTypeEnum[keyof typeof SandboxTypeEnum];
214
+ /**
215
+ * @export
216
+ */
217
+ export declare const SandboxMachineProviderEnum: {
218
+ readonly Hetzner: 'hetzner';
219
+ readonly Baremetal: 'baremetal';
220
+ };
221
+ export type SandboxMachineProviderEnum = typeof SandboxMachineProviderEnum[keyof typeof SandboxMachineProviderEnum];
183
222
  /**
184
223
  * @export
185
224
  */
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { SandboxTeamFromJSON, SandboxTeamToJSON, } from './SandboxTeam';
14
15
  /**
15
16
  * @export
16
17
  */
@@ -24,7 +25,8 @@ export const SandboxStateEnum = {
24
25
  Running: 'running',
25
26
  Archiving: 'archiving',
26
27
  Archived: 'archived',
27
- Error: 'error'
28
+ Error: 'error',
29
+ Cancelled: 'cancelled'
28
30
  };
29
31
  /**
30
32
  * @export
@@ -32,8 +34,14 @@ export const SandboxStateEnum = {
32
34
  export const SandboxTypeEnum = {
33
35
  Small: 'small',
34
36
  Default: 'default',
35
- Large: 'large',
36
- Xlarge: 'xlarge'
37
+ Large: 'large'
38
+ };
39
+ /**
40
+ * @export
41
+ */
42
+ export const SandboxMachineProviderEnum = {
43
+ Hetzner: 'hetzner',
44
+ Baremetal: 'baremetal'
37
45
  };
38
46
  /**
39
47
  * @export
@@ -81,12 +89,15 @@ export function SandboxFromJSONTyped(json, ignoreDiscriminator) {
81
89
  'id': json['id'],
82
90
  'name': json['name'],
83
91
  'state': json['state'],
92
+ 'error': json['error'] == null ? undefined : json['error'],
84
93
  'type': json['type'] == null ? undefined : json['type'],
85
94
  'vcpu': json['vcpu'] == null ? undefined : json['vcpu'],
86
95
  'memoryGB': json['memoryGB'] == null ? undefined : json['memoryGB'],
87
96
  'billingMultiplier': json['billingMultiplier'] == null ? undefined : json['billingMultiplier'],
97
+ 'machineProvider': json['machineProvider'] == null ? undefined : json['machineProvider'],
88
98
  'url': json['url'] == null ? undefined : json['url'],
89
99
  'ip': json['ip'] == null ? undefined : json['ip'],
100
+ 'sshEndpoint': json['sshEndpoint'] == null ? undefined : json['sshEndpoint'],
90
101
  'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])),
91
102
  'updatedAt': json['updatedAt'] == null ? undefined : (new Date(json['updatedAt'])),
92
103
  'archiveAfter': json['archiveAfter'] == null ? undefined : (new Date(json['archiveAfter'])),
@@ -94,6 +105,8 @@ export function SandboxFromJSONTyped(json, ignoreDiscriminator) {
94
105
  'desktopUrl': json['desktopUrl'] == null ? undefined : json['desktopUrl'],
95
106
  'snapshotAvailable': json['snapshotAvailable'],
96
107
  'snapshotCompletedAt': json['snapshotCompletedAt'] == null ? undefined : (new Date(json['snapshotCompletedAt'])),
108
+ 'snapshotVerifiedAt': json['snapshotVerifiedAt'] == null ? undefined : (new Date(json['snapshotVerifiedAt'])),
109
+ 'team': json['team'] == null ? undefined : SandboxTeamFromJSON(json['team']),
97
110
  'subdomain': json['subdomain'] == null ? undefined : json['subdomain'],
98
111
  'lastSnapshotAttemptAt': json['lastSnapshotAttemptAt'] == null ? undefined : (new Date(json['lastSnapshotAttemptAt'])),
99
112
  'lastSnapshotStatus': json['lastSnapshotStatus'] == null ? undefined : json['lastSnapshotStatus'],
@@ -114,12 +127,15 @@ export function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
114
127
  'id': value['id'],
115
128
  'name': value['name'],
116
129
  'state': value['state'],
130
+ 'error': value['error'],
117
131
  'type': value['type'],
118
132
  'vcpu': value['vcpu'],
119
133
  'memoryGB': value['memoryGB'],
120
134
  'billingMultiplier': value['billingMultiplier'],
135
+ 'machineProvider': value['machineProvider'],
121
136
  'url': value['url'],
122
137
  'ip': value['ip'],
138
+ 'sshEndpoint': value['sshEndpoint'],
123
139
  'createdAt': value['createdAt'] == null ? value['createdAt'] : value['createdAt'].toISOString(),
124
140
  'updatedAt': value['updatedAt'] == null ? value['updatedAt'] : value['updatedAt'].toISOString(),
125
141
  'archiveAfter': value['archiveAfter'] == null ? value['archiveAfter'] : value['archiveAfter'].toISOString(),
@@ -127,6 +143,8 @@ export function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
127
143
  'desktopUrl': value['desktopUrl'],
128
144
  'snapshotAvailable': value['snapshotAvailable'],
129
145
  'snapshotCompletedAt': value['snapshotCompletedAt'] == null ? value['snapshotCompletedAt'] : value['snapshotCompletedAt'].toISOString(),
146
+ 'snapshotVerifiedAt': value['snapshotVerifiedAt'] == null ? value['snapshotVerifiedAt'] : value['snapshotVerifiedAt'].toISOString(),
147
+ 'team': SandboxTeamToJSON(value['team']),
130
148
  'subdomain': value['subdomain'],
131
149
  'lastSnapshotAttemptAt': value['lastSnapshotAttemptAt'] == null ? value['lastSnapshotAttemptAt'] : value['lastSnapshotAttemptAt'].toISOString(),
132
150
  'lastSnapshotStatus': value['lastSnapshotStatus'],
@@ -46,6 +46,18 @@ export interface SandboxActionResponse {
46
46
  * @memberof SandboxActionResponse
47
47
  */
48
48
  sandbox?: Sandbox | null;
49
+ /**
50
+ * Present on resume or fork when a fair-use cap on a gifted account shortened the requested auto-stop time.
51
+ * @type {string}
52
+ * @memberof SandboxActionResponse
53
+ */
54
+ giftLimitNotice?: string;
55
+ /**
56
+ * On interrupt, the conversation whose turn was interrupted.
57
+ * @type {string}
58
+ * @memberof SandboxActionResponse
59
+ */
60
+ conversationId?: string;
49
61
  }
50
62
  /**
51
63
  * Check if a given object implements the SandboxActionResponse interface.
@@ -39,6 +39,8 @@ export function SandboxActionResponseFromJSONTyped(json, ignoreDiscriminator) {
39
39
  'id': json['id'],
40
40
  'status': json['status'],
41
41
  'sandbox': json['sandbox'] == null ? undefined : SandboxFromJSON(json['sandbox']),
42
+ 'giftLimitNotice': json['giftLimitNotice'] == null ? undefined : json['giftLimitNotice'],
43
+ 'conversationId': json['conversationId'] == null ? undefined : json['conversationId'],
42
44
  };
43
45
  }
44
46
  export function SandboxActionResponseToJSON(json) {
@@ -54,5 +56,7 @@ export function SandboxActionResponseToJSONTyped(value, ignoreDiscriminator = fa
54
56
  'id': value['id'],
55
57
  'status': value['status'],
56
58
  'sandbox': SandboxToJSON(value['sandbox']),
59
+ 'giftLimitNotice': value['giftLimitNotice'],
60
+ 'conversationId': value['conversationId'],
57
61
  };
58
62
  }
@@ -42,6 +42,18 @@ export interface SandboxEnvironment {
42
42
  * @memberof SandboxEnvironment
43
43
  */
44
44
  latestVersionId: string | null;
45
+ /**
46
+ * Number of the latest version, 0 when there is none.
47
+ * @type {number}
48
+ * @memberof SandboxEnvironment
49
+ */
50
+ latestVersionNumber?: number;
51
+ /**
52
+ * When the owner last answered whether this environment is safe for third parties, or null if never asked.
53
+ * @type {Date}
54
+ * @memberof SandboxEnvironment
55
+ */
56
+ safetyAnsweredAt?: Date | null;
45
57
  /**
46
58
  * When true the environment passes nothing to a sandbox (repos, secrets, and all credentials withheld), overriding the fine-grained flags below. Use for sandboxes handed to third parties.
47
59
  * @type {boolean}
@@ -56,6 +56,8 @@ export function SandboxEnvironmentFromJSONTyped(json, ignoreDiscriminator) {
56
56
  'name': json['name'],
57
57
  'isDefault': json['isDefault'],
58
58
  'latestVersionId': json['latestVersionId'],
59
+ 'latestVersionNumber': json['latestVersionNumber'] == null ? undefined : json['latestVersionNumber'],
60
+ 'safetyAnsweredAt': json['safetyAnsweredAt'] == null ? undefined : (new Date(json['safetyAnsweredAt'])),
59
61
  'safeForThirdParties': json['safeForThirdParties'],
60
62
  'passGithub': json['passGithub'],
61
63
  'passSecrets': json['passSecrets'],
@@ -79,6 +81,8 @@ export function SandboxEnvironmentToJSONTyped(value, ignoreDiscriminator = false
79
81
  'name': value['name'],
80
82
  'isDefault': value['isDefault'],
81
83
  'latestVersionId': value['latestVersionId'],
84
+ 'latestVersionNumber': value['latestVersionNumber'],
85
+ 'safetyAnsweredAt': value['safetyAnsweredAt'] == null ? value['safetyAnsweredAt'] : value['safetyAnsweredAt'].toISOString(),
82
86
  'safeForThirdParties': value['safeForThirdParties'],
83
87
  'passGithub': value['passGithub'],
84
88
  'passSecrets': value['passSecrets'],
@@ -16,6 +16,18 @@ import type { SandboxEnvironment } from './SandboxEnvironment';
16
16
  * @interface SandboxEnvironmentListResponse
17
17
  */
18
18
  export interface SandboxEnvironmentListResponse {
19
+ /**
20
+ *
21
+ * @type {SandboxEnvironmentListResponseOkEnum}
22
+ * @memberof SandboxEnvironmentListResponse
23
+ */
24
+ ok?: SandboxEnvironmentListResponseOkEnum;
25
+ /**
26
+ *
27
+ * @type {SandboxEnvironmentListResponseTypeEnum}
28
+ * @memberof SandboxEnvironmentListResponse
29
+ */
30
+ type?: SandboxEnvironmentListResponseTypeEnum;
19
31
  /**
20
32
  *
21
33
  * @type {Array<SandboxEnvironment>}
@@ -23,6 +35,20 @@ export interface SandboxEnvironmentListResponse {
23
35
  */
24
36
  environments: Array<SandboxEnvironment>;
25
37
  }
38
+ /**
39
+ * @export
40
+ */
41
+ export declare const SandboxEnvironmentListResponseOkEnum: {
42
+ readonly True: true;
43
+ };
44
+ export type SandboxEnvironmentListResponseOkEnum = typeof SandboxEnvironmentListResponseOkEnum[keyof typeof SandboxEnvironmentListResponseOkEnum];
45
+ /**
46
+ * @export
47
+ */
48
+ export declare const SandboxEnvironmentListResponseTypeEnum: {
49
+ readonly EnvironmentsList: 'environments.list';
50
+ };
51
+ export type SandboxEnvironmentListResponseTypeEnum = typeof SandboxEnvironmentListResponseTypeEnum[keyof typeof SandboxEnvironmentListResponseTypeEnum];
26
52
  /**
27
53
  * Check if a given object implements the SandboxEnvironmentListResponse interface.
28
54
  */
@@ -12,6 +12,18 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { SandboxEnvironmentFromJSON, SandboxEnvironmentToJSON, } from './SandboxEnvironment';
15
+ /**
16
+ * @export
17
+ */
18
+ export const SandboxEnvironmentListResponseOkEnum = {
19
+ True: true
20
+ };
21
+ /**
22
+ * @export
23
+ */
24
+ export const SandboxEnvironmentListResponseTypeEnum = {
25
+ EnvironmentsList: 'environments.list'
26
+ };
15
27
  /**
16
28
  * Check if a given object implements the SandboxEnvironmentListResponse interface.
17
29
  */
@@ -28,6 +40,8 @@ export function SandboxEnvironmentListResponseFromJSONTyped(json, ignoreDiscrimi
28
40
  return json;
29
41
  }
30
42
  return {
43
+ 'ok': json['ok'] == null ? undefined : json['ok'],
44
+ 'type': json['type'] == null ? undefined : json['type'],
31
45
  'environments': (json['environments'].map(SandboxEnvironmentFromJSON)),
32
46
  };
33
47
  }
@@ -39,6 +53,8 @@ export function SandboxEnvironmentListResponseToJSONTyped(value, ignoreDiscrimin
39
53
  return value;
40
54
  }
41
55
  return {
56
+ 'ok': value['ok'],
57
+ 'type': value['type'],
42
58
  'environments': (value['environments'].map(SandboxEnvironmentToJSON)),
43
59
  };
44
60
  }
@@ -34,6 +34,12 @@ export interface SandboxInfoResponse {
34
34
  * @memberof SandboxInfoResponse
35
35
  */
36
36
  sandbox: Sandbox;
37
+ /**
38
+ * Present when a fair-use cap on a gifted account shortened the requested auto-stop time.
39
+ * @type {string}
40
+ * @memberof SandboxInfoResponse
41
+ */
42
+ giftLimitNotice?: string;
37
43
  }
38
44
  /**
39
45
  * Check if a given object implements the SandboxInfoResponse interface.
@@ -35,6 +35,7 @@ export function SandboxInfoResponseFromJSONTyped(json, ignoreDiscriminator) {
35
35
  'ok': json['ok'],
36
36
  'type': json['type'],
37
37
  'sandbox': SandboxFromJSON(json['sandbox']),
38
+ 'giftLimitNotice': json['giftLimitNotice'] == null ? undefined : json['giftLimitNotice'],
38
39
  };
39
40
  }
40
41
  export function SandboxInfoResponseToJSON(json) {
@@ -48,5 +49,6 @@ export function SandboxInfoResponseToJSONTyped(value, ignoreDiscriminator = fals
48
49
  'ok': value['ok'],
49
50
  'type': value['type'],
50
51
  'sandbox': SandboxToJSON(value['sandbox']),
52
+ 'giftLimitNotice': value['giftLimitNotice'],
51
53
  };
52
54
  }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Boat Public API v1
3
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * The organization billed for this sandbox, or null when the owner is billed.
14
+ * @export
15
+ * @interface SandboxTeam
16
+ */
17
+ export interface SandboxTeam {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof SandboxTeam
22
+ */
23
+ id: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof SandboxTeam
28
+ */
29
+ name: string;
30
+ }
31
+ /**
32
+ * Check if a given object implements the SandboxTeam interface.
33
+ */
34
+ export declare function instanceOfSandboxTeam(value: object): value is SandboxTeam;
35
+ export declare function SandboxTeamFromJSON(json: any): SandboxTeam;
36
+ export declare function SandboxTeamFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxTeam;
37
+ export declare function SandboxTeamToJSON(json: any): SandboxTeam;
38
+ export declare function SandboxTeamToJSONTyped(value?: SandboxTeam | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,47 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the SandboxTeam interface.
16
+ */
17
+ export function instanceOfSandboxTeam(value) {
18
+ if (!('id' in value) || value['id'] === undefined)
19
+ return false;
20
+ if (!('name' in value) || value['name'] === undefined)
21
+ return false;
22
+ return true;
23
+ }
24
+ export function SandboxTeamFromJSON(json) {
25
+ return SandboxTeamFromJSONTyped(json, false);
26
+ }
27
+ export function SandboxTeamFromJSONTyped(json, ignoreDiscriminator) {
28
+ if (json == null) {
29
+ return json;
30
+ }
31
+ return {
32
+ 'id': json['id'],
33
+ 'name': json['name'],
34
+ };
35
+ }
36
+ export function SandboxTeamToJSON(json) {
37
+ return SandboxTeamToJSONTyped(json, false);
38
+ }
39
+ export function SandboxTeamToJSONTyped(value, ignoreDiscriminator = false) {
40
+ if (value == null) {
41
+ return value;
42
+ }
43
+ return {
44
+ 'id': value['id'],
45
+ 'name': value['name'],
46
+ };
47
+ }
@@ -40,7 +40,7 @@ export interface SandboxUsageResponse {
40
40
  */
41
41
  sandboxType: SandboxUsageResponseSandboxTypeEnum;
42
42
  /**
43
- * Rate at which this sandbox consumes machine time. 0.5 for `small`, 1 for `default`, 2 for `large`, and 50/9 for `xlarge`.
43
+ * Rate at which this sandbox consumes machine time. 0.5 for `small`, 1 for `default`, and 2 for `large`.
44
44
  * @type {number}
45
45
  * @memberof SandboxUsageResponse
46
46
  */
@@ -89,7 +89,6 @@ export declare const SandboxUsageResponseSandboxTypeEnum: {
89
89
  readonly Small: 'small';
90
90
  readonly Default: 'default';
91
91
  readonly Large: 'large';
92
- readonly Xlarge: 'xlarge';
93
92
  };
94
93
  export type SandboxUsageResponseSandboxTypeEnum = typeof SandboxUsageResponseSandboxTypeEnum[keyof typeof SandboxUsageResponseSandboxTypeEnum];
95
94
  /**
@@ -17,8 +17,7 @@
17
17
  export const SandboxUsageResponseSandboxTypeEnum = {
18
18
  Small: 'small',
19
19
  Default: 'default',
20
- Large: 'large',
21
- Xlarge: 'xlarge'
20
+ Large: 'large'
22
21
  };
23
22
  /**
24
23
  * Check if a given object implements the SandboxUsageResponse interface.
@@ -40,6 +40,12 @@ export interface SecretsResponse {
40
40
  * @memberof SecretsResponse
41
41
  */
42
42
  environmentId: string;
43
+ /**
44
+ * Id of the default environment. `environmentId` is the id of its latest version.
45
+ * @type {string}
46
+ * @memberof SecretsResponse
47
+ */
48
+ subenvironmentId?: string;
43
49
  /**
44
50
  *
45
51
  * @type {string}
@@ -40,6 +40,7 @@ export function SecretsResponseFromJSONTyped(json, ignoreDiscriminator) {
40
40
  'type': json['type'],
41
41
  'success': json['success'] == null ? undefined : json['success'],
42
42
  'environmentId': json['environmentId'],
43
+ 'subenvironmentId': json['subenvironmentId'] == null ? undefined : json['subenvironmentId'],
43
44
  'envContents': json['envContents'],
44
45
  'secretFiles': (json['secretFiles'].map(SecretFileFromJSON)),
45
46
  'pushed': json['pushed'] == null ? undefined : json['pushed'],
@@ -57,6 +58,7 @@ export function SecretsResponseToJSONTyped(value, ignoreDiscriminator = false) {
57
58
  'type': value['type'],
58
59
  'success': value['success'],
59
60
  'environmentId': value['environmentId'],
61
+ 'subenvironmentId': value['subenvironmentId'],
60
62
  'envContents': value['envContents'],
61
63
  'secretFiles': (value['secretFiles'].map(SecretFileToJSON)),
62
64
  'pushed': value['pushed'],
@@ -39,6 +39,18 @@ export interface SelectedRepository {
39
39
  * @memberof SelectedRepository
40
40
  */
41
41
  fullName?: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof SelectedRepository
46
+ */
47
+ description?: string;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof SelectedRepository
52
+ */
53
+ url?: string;
42
54
  /**
43
55
  *
44
56
  * @type {boolean}
@@ -57,6 +69,12 @@ export interface SelectedRepository {
57
69
  * @memberof SelectedRepository
58
70
  */
59
71
  pushedAt?: Date;
72
+ /**
73
+ * Reserved; always null.
74
+ * @type {Date}
75
+ * @memberof SelectedRepository
76
+ */
77
+ lastUserCommitAt?: Date;
60
78
  /**
61
79
  *
62
80
  * @type {string}
@@ -29,9 +29,12 @@ export function SelectedRepositoryFromJSONTyped(json, ignoreDiscriminator) {
29
29
  'databaseId': json['databaseId'] == null ? undefined : json['databaseId'],
30
30
  'name': json['name'] == null ? undefined : json['name'],
31
31
  'fullName': json['fullName'] == null ? undefined : json['fullName'],
32
+ 'description': json['description'] == null ? undefined : json['description'],
33
+ 'url': json['url'] == null ? undefined : json['url'],
32
34
  '_private': json['private'] == null ? undefined : json['private'],
33
35
  'permissions': json['permissions'] == null ? undefined : json['permissions'],
34
36
  'pushedAt': json['pushedAt'] == null ? undefined : (new Date(json['pushedAt'])),
37
+ 'lastUserCommitAt': json['lastUserCommitAt'] == null ? undefined : (new Date(json['lastUserCommitAt'])),
35
38
  'baseBranch': json['baseBranch'] == null ? undefined : json['baseBranch'],
36
39
  'setupRoutineId': json['setupRoutineId'] == null ? undefined : json['setupRoutineId'],
37
40
  'setupScript': json['setupScript'] == null ? undefined : json['setupScript'],
@@ -50,9 +53,12 @@ export function SelectedRepositoryToJSONTyped(value, ignoreDiscriminator = false
50
53
  'databaseId': value['databaseId'],
51
54
  'name': value['name'],
52
55
  'fullName': value['fullName'],
56
+ 'description': value['description'],
57
+ 'url': value['url'],
53
58
  'private': value['_private'],
54
59
  'permissions': value['permissions'],
55
60
  'pushedAt': value['pushedAt'] == null ? value['pushedAt'] : value['pushedAt'].toISOString(),
61
+ 'lastUserCommitAt': value['lastUserCommitAt'] == null ? value['lastUserCommitAt'] : value['lastUserCommitAt'].toISOString(),
56
62
  'baseBranch': value['baseBranch'],
57
63
  'setupRoutineId': value['setupRoutineId'],
58
64
  'setupScript': value['setupScript'],
@@ -44,13 +44,13 @@ export interface SnapshotChunk {
44
44
  * @type {number}
45
45
  * @memberof SnapshotChunk
46
46
  */
47
- sizeBytes: number;
47
+ sizeBytes: number | null;
48
48
  /**
49
49
  *
50
50
  * @type {string}
51
51
  * @memberof SnapshotChunk
52
52
  */
53
- sha256: string;
53
+ sha256: string | null;
54
54
  /**
55
55
  * Time-limited download URL (see `expiresInSeconds`).
56
56
  * @type {string}
@@ -44,7 +44,7 @@ export interface SnapshotSummary {
44
44
  * @type {number}
45
45
  * @memberof SnapshotSummary
46
46
  */
47
- generation: number;
47
+ generation: number | null;
48
48
  /**
49
49
  *
50
50
  * @type {string}
@@ -68,13 +68,13 @@ export interface SnapshotSummary {
68
68
  * @type {number}
69
69
  * @memberof SnapshotSummary
70
70
  */
71
- sizeBytes: number;
71
+ sizeBytes: number | null;
72
72
  /**
73
73
  * Inventory entries alive in the chain at this generation (includes base-image system entries).
74
74
  * @type {number}
75
75
  * @memberof SnapshotSummary
76
76
  */
77
- fileCount: number;
77
+ fileCount: number | null;
78
78
  /**
79
79
  * Total bytes of your data restored by this snapshot (what resume/download returns; base image excluded). `null` on legacy snapshots.
80
80
  * @type {number}