@boatdev/sdk 1.0.0 → 1.0.1

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 (226) hide show
  1. package/.openapi-generator/FILES +20 -0
  2. package/dist/apis/BoatApi.d.ts +36 -2
  3. package/dist/apis/BoatApi.js +86 -2
  4. package/dist/esm/apis/BoatApi.d.ts +36 -2
  5. package/dist/esm/apis/BoatApi.js +86 -2
  6. package/dist/esm/models/ActiveOrgResponse.d.ts +52 -0
  7. package/dist/esm/models/ActiveOrgResponse.js +58 -0
  8. package/dist/esm/models/ActiveOrgResponseAllOfActive.d.ts +52 -0
  9. package/dist/esm/models/ActiveOrgResponseAllOfActive.js +58 -0
  10. package/dist/esm/models/ActiveOrgUpdateRequest.d.ts +32 -0
  11. package/dist/esm/models/ActiveOrgUpdateRequest.js +43 -0
  12. package/dist/esm/models/CommandResponse.d.ts +6 -0
  13. package/dist/esm/models/CommandResponse.js +2 -0
  14. package/dist/esm/models/CommandStatusResponse.d.ts +6 -0
  15. package/dist/esm/models/CommandStatusResponse.js +2 -0
  16. package/dist/esm/models/CreateSandboxRequest.d.ts +2 -3
  17. package/dist/esm/models/CreateSandboxRequest.js +1 -2
  18. package/dist/esm/models/CreateSandboxResponse.d.ts +8 -1
  19. package/dist/esm/models/CreateSandboxResponse.js +4 -1
  20. package/dist/esm/models/ForkRequest.d.ts +1 -2
  21. package/dist/esm/models/ForkRequest.js +1 -2
  22. package/dist/esm/models/LimitsFields.d.ts +80 -0
  23. package/dist/esm/models/LimitsFields.js +28 -0
  24. package/dist/esm/models/LimitsFieldsCurrentLimits.d.ts +6 -0
  25. package/dist/esm/models/LimitsFieldsCurrentLimits.js +2 -0
  26. package/dist/esm/models/LimitsFieldsGiftLimit.d.ts +50 -0
  27. package/dist/esm/models/LimitsFieldsGiftLimit.js +47 -0
  28. package/dist/esm/models/LimitsFieldsSandboxPlanTiersInner.d.ts +80 -0
  29. package/dist/esm/models/LimitsFieldsSandboxPlanTiersInner.js +57 -0
  30. package/dist/esm/models/LimitsResponse.d.ts +80 -0
  31. package/dist/esm/models/LimitsResponse.js +28 -0
  32. package/dist/esm/models/MeResponseAllOfUser.d.ts +109 -0
  33. package/dist/esm/models/MeResponseAllOfUser.js +47 -0
  34. package/dist/esm/models/Org.d.ts +84 -0
  35. package/dist/esm/models/Org.js +79 -0
  36. package/dist/esm/models/OrgListResponse.d.ts +58 -0
  37. package/dist/esm/models/OrgListResponse.js +62 -0
  38. package/dist/esm/models/PromptEventData.d.ts +20 -0
  39. package/dist/esm/models/PromptEventData.js +8 -0
  40. package/dist/esm/models/PromptEventDataAttachmentsInner.d.ts +44 -0
  41. package/dist/esm/models/PromptEventDataAttachmentsInner.js +45 -0
  42. package/dist/esm/models/PromptEventDataCitationsInner.d.ts +50 -0
  43. package/dist/esm/models/PromptEventDataCitationsInner.js +47 -0
  44. package/dist/esm/models/RepoSelectionResponse.d.ts +6 -0
  45. package/dist/esm/models/RepoSelectionResponse.js +2 -0
  46. package/dist/esm/models/ReposResponse.d.ts +6 -0
  47. package/dist/esm/models/ReposResponse.js +2 -0
  48. package/dist/esm/models/Repository.d.ts +18 -0
  49. package/dist/esm/models/Repository.js +6 -0
  50. package/dist/esm/models/ResponseEventData.d.ts +6 -0
  51. package/dist/esm/models/ResponseEventData.js +2 -0
  52. package/dist/esm/models/ResumeRequest.d.ts +1 -2
  53. package/dist/esm/models/ResumeRequest.js +1 -2
  54. package/dist/esm/models/Sandbox.d.ts +43 -4
  55. package/dist/esm/models/Sandbox.js +21 -3
  56. package/dist/esm/models/SandboxActionResponse.d.ts +12 -0
  57. package/dist/esm/models/SandboxActionResponse.js +4 -0
  58. package/dist/esm/models/SandboxEnvironment.d.ts +12 -0
  59. package/dist/esm/models/SandboxEnvironment.js +4 -0
  60. package/dist/esm/models/SandboxEnvironmentListResponse.d.ts +26 -0
  61. package/dist/esm/models/SandboxEnvironmentListResponse.js +16 -0
  62. package/dist/esm/models/SandboxInfoResponse.d.ts +6 -0
  63. package/dist/esm/models/SandboxInfoResponse.js +2 -0
  64. package/dist/esm/models/SandboxTeam.d.ts +38 -0
  65. package/dist/esm/models/SandboxTeam.js +47 -0
  66. package/dist/esm/models/SandboxUsageResponse.d.ts +1 -2
  67. package/dist/esm/models/SandboxUsageResponse.js +1 -2
  68. package/dist/esm/models/SecretsResponse.d.ts +6 -0
  69. package/dist/esm/models/SecretsResponse.js +2 -0
  70. package/dist/esm/models/SelectedRepository.d.ts +18 -0
  71. package/dist/esm/models/SelectedRepository.js +6 -0
  72. package/dist/esm/models/SnapshotChunk.d.ts +2 -2
  73. package/dist/esm/models/SnapshotSummary.d.ts +3 -3
  74. package/dist/esm/models/SshKeyResponse.d.ts +12 -0
  75. package/dist/esm/models/SshKeyResponse.js +4 -0
  76. package/dist/esm/models/UpgradeSandboxEnvironmentResponse.d.ts +18 -0
  77. package/dist/esm/models/UpgradeSandboxEnvironmentResponse.js +6 -0
  78. package/dist/esm/models/index.d.ts +10 -0
  79. package/dist/esm/models/index.js +10 -0
  80. package/dist/models/ActiveOrgResponse.d.ts +52 -0
  81. package/dist/models/ActiveOrgResponse.js +66 -0
  82. package/dist/models/ActiveOrgResponseAllOfActive.d.ts +52 -0
  83. package/dist/models/ActiveOrgResponseAllOfActive.js +66 -0
  84. package/dist/models/ActiveOrgUpdateRequest.d.ts +32 -0
  85. package/dist/models/ActiveOrgUpdateRequest.js +50 -0
  86. package/dist/models/CommandResponse.d.ts +6 -0
  87. package/dist/models/CommandResponse.js +2 -0
  88. package/dist/models/CommandStatusResponse.d.ts +6 -0
  89. package/dist/models/CommandStatusResponse.js +2 -0
  90. package/dist/models/CreateSandboxRequest.d.ts +2 -3
  91. package/dist/models/CreateSandboxRequest.js +1 -2
  92. package/dist/models/CreateSandboxResponse.d.ts +8 -1
  93. package/dist/models/CreateSandboxResponse.js +4 -1
  94. package/dist/models/ForkRequest.d.ts +1 -2
  95. package/dist/models/ForkRequest.js +1 -2
  96. package/dist/models/LimitsFields.d.ts +80 -0
  97. package/dist/models/LimitsFields.js +28 -0
  98. package/dist/models/LimitsFieldsCurrentLimits.d.ts +6 -0
  99. package/dist/models/LimitsFieldsCurrentLimits.js +2 -0
  100. package/dist/models/LimitsFieldsGiftLimit.d.ts +50 -0
  101. package/dist/models/LimitsFieldsGiftLimit.js +54 -0
  102. package/dist/models/LimitsFieldsSandboxPlanTiersInner.d.ts +80 -0
  103. package/dist/models/LimitsFieldsSandboxPlanTiersInner.js +64 -0
  104. package/dist/models/LimitsResponse.d.ts +80 -0
  105. package/dist/models/LimitsResponse.js +28 -0
  106. package/dist/models/MeResponseAllOfUser.d.ts +109 -0
  107. package/dist/models/MeResponseAllOfUser.js +48 -0
  108. package/dist/models/Org.d.ts +84 -0
  109. package/dist/models/Org.js +87 -0
  110. package/dist/models/OrgListResponse.d.ts +58 -0
  111. package/dist/models/OrgListResponse.js +70 -0
  112. package/dist/models/PromptEventData.d.ts +20 -0
  113. package/dist/models/PromptEventData.js +8 -0
  114. package/dist/models/PromptEventDataAttachmentsInner.d.ts +44 -0
  115. package/dist/models/PromptEventDataAttachmentsInner.js +52 -0
  116. package/dist/models/PromptEventDataCitationsInner.d.ts +50 -0
  117. package/dist/models/PromptEventDataCitationsInner.js +54 -0
  118. package/dist/models/RepoSelectionResponse.d.ts +6 -0
  119. package/dist/models/RepoSelectionResponse.js +2 -0
  120. package/dist/models/ReposResponse.d.ts +6 -0
  121. package/dist/models/ReposResponse.js +2 -0
  122. package/dist/models/Repository.d.ts +18 -0
  123. package/dist/models/Repository.js +6 -0
  124. package/dist/models/ResponseEventData.d.ts +6 -0
  125. package/dist/models/ResponseEventData.js +2 -0
  126. package/dist/models/ResumeRequest.d.ts +1 -2
  127. package/dist/models/ResumeRequest.js +1 -2
  128. package/dist/models/Sandbox.d.ts +43 -4
  129. package/dist/models/Sandbox.js +22 -4
  130. package/dist/models/SandboxActionResponse.d.ts +12 -0
  131. package/dist/models/SandboxActionResponse.js +4 -0
  132. package/dist/models/SandboxEnvironment.d.ts +12 -0
  133. package/dist/models/SandboxEnvironment.js +4 -0
  134. package/dist/models/SandboxEnvironmentListResponse.d.ts +26 -0
  135. package/dist/models/SandboxEnvironmentListResponse.js +17 -0
  136. package/dist/models/SandboxInfoResponse.d.ts +6 -0
  137. package/dist/models/SandboxInfoResponse.js +2 -0
  138. package/dist/models/SandboxTeam.d.ts +38 -0
  139. package/dist/models/SandboxTeam.js +54 -0
  140. package/dist/models/SandboxUsageResponse.d.ts +1 -2
  141. package/dist/models/SandboxUsageResponse.js +1 -2
  142. package/dist/models/SecretsResponse.d.ts +6 -0
  143. package/dist/models/SecretsResponse.js +2 -0
  144. package/dist/models/SelectedRepository.d.ts +18 -0
  145. package/dist/models/SelectedRepository.js +6 -0
  146. package/dist/models/SnapshotChunk.d.ts +2 -2
  147. package/dist/models/SnapshotSummary.d.ts +3 -3
  148. package/dist/models/SshKeyResponse.d.ts +12 -0
  149. package/dist/models/SshKeyResponse.js +4 -0
  150. package/dist/models/UpgradeSandboxEnvironmentResponse.d.ts +18 -0
  151. package/dist/models/UpgradeSandboxEnvironmentResponse.js +6 -0
  152. package/dist/models/index.d.ts +10 -0
  153. package/dist/models/index.js +10 -0
  154. package/docs/ActiveOrgResponse.md +36 -0
  155. package/docs/ActiveOrgResponseAllOfActive.md +36 -0
  156. package/docs/ActiveOrgUpdateRequest.md +32 -0
  157. package/docs/BoatApi.md +148 -7
  158. package/docs/Command200Response.md +2 -0
  159. package/docs/CommandResponse.md +2 -0
  160. package/docs/CommandStatusResponse.md +2 -0
  161. package/docs/CreateSandboxResponse.md +2 -0
  162. package/docs/LimitsFields.md +26 -0
  163. package/docs/LimitsFieldsCurrentLimits.md +2 -0
  164. package/docs/LimitsFieldsGiftLimit.md +39 -0
  165. package/docs/LimitsFieldsSandboxPlanTiersInner.md +48 -0
  166. package/docs/LimitsResponse.md +26 -0
  167. package/docs/MeResponseAllOfUser.md +30 -0
  168. package/docs/Org.md +44 -0
  169. package/docs/OrgListResponse.md +38 -0
  170. package/docs/PromptEventData.md +6 -0
  171. package/docs/PromptEventDataAttachmentsInner.md +36 -0
  172. package/docs/PromptEventDataCitationsInner.md +38 -0
  173. package/docs/RepoSelectionResponse.md +2 -0
  174. package/docs/ReposResponse.md +2 -0
  175. package/docs/Repository.md +6 -0
  176. package/docs/ResponseEventData.md +2 -0
  177. package/docs/Sandbox.md +10 -0
  178. package/docs/SandboxActionResponse.md +4 -0
  179. package/docs/SandboxEnvironment.md +4 -0
  180. package/docs/SandboxEnvironmentListResponse.md +4 -0
  181. package/docs/SandboxInfoResponse.md +2 -0
  182. package/docs/SandboxTeam.md +35 -0
  183. package/docs/SecretsResponse.md +2 -0
  184. package/docs/SelectedRepository.md +6 -0
  185. package/docs/SshKeyResponse.md +4 -0
  186. package/docs/UpgradeSandboxEnvironmentResponse.md +6 -0
  187. package/package.json +1 -1
  188. package/src/apis/BoatApi.ts +125 -2
  189. package/src/models/ActiveOrgResponse.ts +102 -0
  190. package/src/models/ActiveOrgResponseAllOfActive.ts +95 -0
  191. package/src/models/ActiveOrgUpdateRequest.ts +66 -0
  192. package/src/models/CommandResponse.ts +8 -0
  193. package/src/models/CommandStatusResponse.ts +8 -0
  194. package/src/models/CreateSandboxRequest.ts +3 -4
  195. package/src/models/CreateSandboxResponse.ts +11 -2
  196. package/src/models/ForkRequest.ts +2 -3
  197. package/src/models/LimitsFields.ts +118 -0
  198. package/src/models/LimitsFieldsCurrentLimits.ts +8 -0
  199. package/src/models/LimitsFieldsGiftLimit.ts +89 -0
  200. package/src/models/LimitsFieldsSandboxPlanTiersInner.ts +129 -0
  201. package/src/models/LimitsResponse.ts +118 -0
  202. package/src/models/MeResponseAllOfUser.ts +143 -0
  203. package/src/models/Org.ts +139 -0
  204. package/src/models/OrgListResponse.ts +111 -0
  205. package/src/models/PromptEventData.ts +39 -0
  206. package/src/models/PromptEventDataAttachmentsInner.ts +81 -0
  207. package/src/models/PromptEventDataCitationsInner.ts +89 -0
  208. package/src/models/RepoSelectionResponse.ts +8 -0
  209. package/src/models/ReposResponse.ts +8 -0
  210. package/src/models/Repository.ts +24 -0
  211. package/src/models/ResponseEventData.ts +8 -0
  212. package/src/models/ResumeRequest.ts +2 -3
  213. package/src/models/Sandbox.ts +63 -6
  214. package/src/models/SandboxActionResponse.ts +16 -0
  215. package/src/models/SandboxEnvironment.ts +16 -0
  216. package/src/models/SandboxEnvironmentListResponse.ts +34 -0
  217. package/src/models/SandboxInfoResponse.ts +8 -0
  218. package/src/models/SandboxTeam.ts +75 -0
  219. package/src/models/SandboxUsageResponse.ts +2 -3
  220. package/src/models/SecretsResponse.ts +8 -0
  221. package/src/models/SelectedRepository.ts +24 -0
  222. package/src/models/SnapshotChunk.ts +2 -2
  223. package/src/models/SnapshotSummary.ts +3 -3
  224. package/src/models/SshKeyResponse.ts +16 -0
  225. package/src/models/UpgradeSandboxEnvironmentResponse.ts +24 -0
  226. package/src/models/index.ts +10 -0
@@ -40,7 +40,7 @@ export interface CreateSandboxResponse {
40
40
  */
41
41
  type: CreateSandboxResponseTypeEnum;
42
42
  /**
43
- *
43
+ * `ready` only when an idempotent retry finds a sandbox that is already past provisioning.
44
44
  * @type {CreateSandboxResponseStatusEnum}
45
45
  * @memberof CreateSandboxResponse
46
46
  */
@@ -57,6 +57,12 @@ export interface CreateSandboxResponse {
57
57
  * @memberof CreateSandboxResponse
58
58
  */
59
59
  sandbox: Sandbox;
60
+ /**
61
+ * Present when a fair-use cap on a gifted account shortened the requested auto-stop time.
62
+ * @type {string}
63
+ * @memberof CreateSandboxResponse
64
+ */
65
+ giftLimitNotice?: string;
60
66
  }
61
67
 
62
68
 
@@ -72,7 +78,8 @@ export type CreateSandboxResponseTypeEnum = typeof CreateSandboxResponseTypeEnum
72
78
  * @export
73
79
  */
74
80
  export const CreateSandboxResponseStatusEnum = {
75
- Provisioning: 'provisioning'
81
+ Provisioning: 'provisioning',
82
+ Ready: 'ready'
76
83
  } as const;
77
84
  export type CreateSandboxResponseStatusEnum = typeof CreateSandboxResponseStatusEnum[keyof typeof CreateSandboxResponseStatusEnum];
78
85
 
@@ -104,6 +111,7 @@ export function CreateSandboxResponseFromJSONTyped(json: any, ignoreDiscriminato
104
111
  'status': json['status'],
105
112
  'ttlSeconds': json['ttlSeconds'],
106
113
  'sandbox': SandboxFromJSON(json['sandbox']),
114
+ 'giftLimitNotice': json['giftLimitNotice'] == null ? undefined : json['giftLimitNotice'],
107
115
  };
108
116
  }
109
117
 
@@ -123,6 +131,7 @@ export function CreateSandboxResponseToJSONTyped(value?: CreateSandboxResponse |
123
131
  'status': value['status'],
124
132
  'ttlSeconds': value['ttlSeconds'],
125
133
  'sandbox': SandboxToJSON(value['sandbox']),
134
+ 'giftLimitNotice': value['giftLimitNotice'],
126
135
  };
127
136
  }
128
137
 
@@ -38,7 +38,7 @@ export interface ForkRequest {
38
38
  */
39
39
  noEnv?: boolean;
40
40
  /**
41
- * Machine size for the fork. Omit to inherit the source sandbox's type. The source sandbox is never modified. Shrinking is rejected with `type_too_small` when the source's data would not fit the smaller disk. `xlarge` requires the effective $100 plan or higher and an explicit bare-metal operator allocation.
41
+ * Machine size for the fork. Omit to inherit the source sandbox's type. The source sandbox is never modified. Shrinking is rejected with `type_too_small` when the source's data would not fit the smaller disk.
42
42
  * @type {ForkRequestTypeEnum}
43
43
  * @memberof ForkRequest
44
44
  */
@@ -58,8 +58,7 @@ export interface ForkRequest {
58
58
  export const ForkRequestTypeEnum = {
59
59
  Small: 'small',
60
60
  Default: 'default',
61
- Large: 'large',
62
- Xlarge: 'xlarge'
61
+ Large: 'large'
63
62
  } as const;
64
63
  export type ForkRequestTypeEnum = typeof ForkRequestTypeEnum[keyof typeof ForkRequestTypeEnum];
65
64
 
@@ -13,6 +13,13 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { LimitsFieldsGiftLimit } from './LimitsFieldsGiftLimit';
17
+ import {
18
+ LimitsFieldsGiftLimitFromJSON,
19
+ LimitsFieldsGiftLimitFromJSONTyped,
20
+ LimitsFieldsGiftLimitToJSON,
21
+ LimitsFieldsGiftLimitToJSONTyped,
22
+ } from './LimitsFieldsGiftLimit';
16
23
  import type { LimitsFieldsCurrentLimits } from './LimitsFieldsCurrentLimits';
17
24
  import {
18
25
  LimitsFieldsCurrentLimitsFromJSON,
@@ -34,6 +41,13 @@ import {
34
41
  LimitsFieldsStartsToJSON,
35
42
  LimitsFieldsStartsToJSONTyped,
36
43
  } from './LimitsFieldsStarts';
44
+ import type { LimitsFieldsSandboxPlanTiersInner } from './LimitsFieldsSandboxPlanTiersInner';
45
+ import {
46
+ LimitsFieldsSandboxPlanTiersInnerFromJSON,
47
+ LimitsFieldsSandboxPlanTiersInnerFromJSONTyped,
48
+ LimitsFieldsSandboxPlanTiersInnerToJSON,
49
+ LimitsFieldsSandboxPlanTiersInnerToJSONTyped,
50
+ } from './LimitsFieldsSandboxPlanTiersInner';
37
51
 
38
52
  /**
39
53
  *
@@ -216,6 +230,84 @@ export interface LimitsFields {
216
230
  * @memberof LimitsFields
217
231
  */
218
232
  creditSecondsPerDollar?: number;
233
+ /**
234
+ * Current plan key, or `trial` before any payment.
235
+ * @type {string}
236
+ * @memberof LimitsFields
237
+ */
238
+ sandboxPlanKey?: string;
239
+ /**
240
+ * Monthly price of the current plan in dollars.
241
+ * @type {number}
242
+ * @memberof LimitsFields
243
+ */
244
+ sandboxPlanDollars?: number;
245
+ /**
246
+ * Every plan tier and its limits.
247
+ * @type {Array<LimitsFieldsSandboxPlanTiersInner>}
248
+ * @memberof LimitsFields
249
+ */
250
+ sandboxPlanTiers?: Array<LimitsFieldsSandboxPlanTiersInner>;
251
+ /**
252
+ *
253
+ * @type {string}
254
+ * @memberof LimitsFields
255
+ */
256
+ accountPlan?: string;
257
+ /**
258
+ * `service` for service accounts, otherwise null.
259
+ * @type {string}
260
+ * @memberof LimitsFields
261
+ */
262
+ plan?: string | null;
263
+ /**
264
+ * `Service` for service accounts, otherwise null.
265
+ * @type {string}
266
+ * @memberof LimitsFields
267
+ */
268
+ planName?: string | null;
269
+ /**
270
+ *
271
+ * @type {boolean}
272
+ * @memberof LimitsFields
273
+ */
274
+ serviceAccount?: boolean;
275
+ /**
276
+ * True when the account has no machine-time or start limits.
277
+ * @type {boolean}
278
+ * @memberof LimitsFields
279
+ */
280
+ unlimited?: boolean;
281
+ /**
282
+ * True when an organization has an active per-seat plan.
283
+ * @type {boolean}
284
+ * @memberof LimitsFields
285
+ */
286
+ hasSeatPlan?: boolean;
287
+ /**
288
+ * Machine time used in the last 24 hours, in seconds. Useful to estimate how long the balance lasts.
289
+ * @type {number}
290
+ * @memberof LimitsFields
291
+ */
292
+ last24hUsageSeconds?: number;
293
+ /**
294
+ * Lifetime machine-time allowance for a trial that never paid. Null once the account has paid or has a plan.
295
+ * @type {number}
296
+ * @memberof LimitsFields
297
+ */
298
+ trialComputeCapSeconds?: number | null;
299
+ /**
300
+ * The trial limits in one readable line. Null on paid accounts.
301
+ * @type {string}
302
+ * @memberof LimitsFields
303
+ */
304
+ trialLine?: string | null;
305
+ /**
306
+ *
307
+ * @type {LimitsFieldsGiftLimit}
308
+ * @memberof LimitsFields
309
+ */
310
+ giftLimit?: LimitsFieldsGiftLimit;
219
311
  /**
220
312
  * Account access state returned by the current backend. Billing endpoints are not part of v1.
221
313
  * @type {string}
@@ -323,6 +415,19 @@ export function LimitsFieldsFromJSONTyped(json: any, ignoreDiscriminator: boolea
323
415
  'creditUsedSeconds': json['creditUsedSeconds'] == null ? undefined : json['creditUsedSeconds'],
324
416
  'liveUsageSeconds': json['liveUsageSeconds'] == null ? undefined : json['liveUsageSeconds'],
325
417
  'creditSecondsPerDollar': json['creditSecondsPerDollar'] == null ? undefined : json['creditSecondsPerDollar'],
418
+ 'sandboxPlanKey': json['sandboxPlanKey'] == null ? undefined : json['sandboxPlanKey'],
419
+ 'sandboxPlanDollars': json['sandboxPlanDollars'] == null ? undefined : json['sandboxPlanDollars'],
420
+ 'sandboxPlanTiers': json['sandboxPlanTiers'] == null ? undefined : ((json['sandboxPlanTiers'] as Array<any>).map(LimitsFieldsSandboxPlanTiersInnerFromJSON)),
421
+ 'accountPlan': json['accountPlan'] == null ? undefined : json['accountPlan'],
422
+ 'plan': json['plan'] == null ? undefined : json['plan'],
423
+ 'planName': json['planName'] == null ? undefined : json['planName'],
424
+ 'serviceAccount': json['serviceAccount'] == null ? undefined : json['serviceAccount'],
425
+ 'unlimited': json['unlimited'] == null ? undefined : json['unlimited'],
426
+ 'hasSeatPlan': json['hasSeatPlan'] == null ? undefined : json['hasSeatPlan'],
427
+ 'last24hUsageSeconds': json['last24hUsageSeconds'] == null ? undefined : json['last24hUsageSeconds'],
428
+ 'trialComputeCapSeconds': json['trialComputeCapSeconds'] == null ? undefined : json['trialComputeCapSeconds'],
429
+ 'trialLine': json['trialLine'] == null ? undefined : json['trialLine'],
430
+ 'giftLimit': json['giftLimit'] == null ? undefined : LimitsFieldsGiftLimitFromJSON(json['giftLimit']),
326
431
  'billingStatus': json['billingStatus'],
327
432
  'subscriptionStatus': json['subscriptionStatus'] == null ? undefined : json['subscriptionStatus'],
328
433
  'subscriptionCancelAtPeriodEnd': json['subscriptionCancelAtPeriodEnd'] == null ? undefined : json['subscriptionCancelAtPeriodEnd'],
@@ -376,6 +481,19 @@ export function LimitsFieldsToJSONTyped(value?: LimitsFields | null, ignoreDiscr
376
481
  'creditUsedSeconds': value['creditUsedSeconds'],
377
482
  'liveUsageSeconds': value['liveUsageSeconds'],
378
483
  'creditSecondsPerDollar': value['creditSecondsPerDollar'],
484
+ 'sandboxPlanKey': value['sandboxPlanKey'],
485
+ 'sandboxPlanDollars': value['sandboxPlanDollars'],
486
+ 'sandboxPlanTiers': value['sandboxPlanTiers'] == null ? undefined : ((value['sandboxPlanTiers'] as Array<any>).map(LimitsFieldsSandboxPlanTiersInnerToJSON)),
487
+ 'accountPlan': value['accountPlan'],
488
+ 'plan': value['plan'],
489
+ 'planName': value['planName'],
490
+ 'serviceAccount': value['serviceAccount'],
491
+ 'unlimited': value['unlimited'],
492
+ 'hasSeatPlan': value['hasSeatPlan'],
493
+ 'last24hUsageSeconds': value['last24hUsageSeconds'],
494
+ 'trialComputeCapSeconds': value['trialComputeCapSeconds'],
495
+ 'trialLine': value['trialLine'],
496
+ 'giftLimit': LimitsFieldsGiftLimitToJSON(value['giftLimit']),
379
497
  'billingStatus': value['billingStatus'],
380
498
  'subscriptionStatus': value['subscriptionStatus'],
381
499
  'subscriptionCancelAtPeriodEnd': value['subscriptionCancelAtPeriodEnd'],
@@ -32,6 +32,12 @@ export interface LimitsFieldsCurrentLimits {
32
32
  * @memberof LimitsFieldsCurrentLimits
33
33
  */
34
34
  creationRatePerMinute?: number;
35
+ /**
36
+ *
37
+ * @type {number}
38
+ * @memberof LimitsFieldsCurrentLimits
39
+ */
40
+ creationRequestsPerHour?: number | null;
35
41
  /**
36
42
  *
37
43
  * @type {number}
@@ -60,6 +66,7 @@ export function LimitsFieldsCurrentLimitsFromJSONTyped(json: any, ignoreDiscrimi
60
66
  ...json,
61
67
  'activeSandboxes': json['activeSandboxes'] == null ? undefined : json['activeSandboxes'],
62
68
  'creationRatePerMinute': json['creationRatePerMinute'] == null ? undefined : json['creationRatePerMinute'],
69
+ 'creationRequestsPerHour': json['creationRequestsPerHour'] == null ? undefined : json['creationRequestsPerHour'],
63
70
  'creationRequestsPerDay': json['creationRequestsPerDay'] == null ? undefined : json['creationRequestsPerDay'],
64
71
  };
65
72
  }
@@ -78,6 +85,7 @@ export function LimitsFieldsCurrentLimitsToJSONTyped(value?: LimitsFieldsCurrent
78
85
  ...value,
79
86
  'activeSandboxes': value['activeSandboxes'],
80
87
  'creationRatePerMinute': value['creationRatePerMinute'],
88
+ 'creationRequestsPerHour': value['creationRequestsPerHour'],
81
89
  'creationRequestsPerDay': value['creationRequestsPerDay'],
82
90
  };
83
91
  }
@@ -0,0 +1,89 @@
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
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Fair-use caps on a gifted account, or null when there are none.
18
+ * @export
19
+ * @interface LimitsFieldsGiftLimit
20
+ */
21
+ export interface LimitsFieldsGiftLimit {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof LimitsFieldsGiftLimit
26
+ */
27
+ maxActiveSandboxes?: number | null;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof LimitsFieldsGiftLimit
32
+ */
33
+ maxTtlSeconds?: number | null;
34
+ /**
35
+ * The caps in one readable line.
36
+ * @type {string}
37
+ * @memberof LimitsFieldsGiftLimit
38
+ */
39
+ line?: string | null;
40
+ /**
41
+ * The same text shown when a cap is hit.
42
+ * @type {string}
43
+ * @memberof LimitsFieldsGiftLimit
44
+ */
45
+ message?: string;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the LimitsFieldsGiftLimit interface.
50
+ */
51
+ export function instanceOfLimitsFieldsGiftLimit(value: object): value is LimitsFieldsGiftLimit {
52
+ return true;
53
+ }
54
+
55
+ export function LimitsFieldsGiftLimitFromJSON(json: any): LimitsFieldsGiftLimit {
56
+ return LimitsFieldsGiftLimitFromJSONTyped(json, false);
57
+ }
58
+
59
+ export function LimitsFieldsGiftLimitFromJSONTyped(json: any, ignoreDiscriminator: boolean): LimitsFieldsGiftLimit {
60
+ if (json == null) {
61
+ return json;
62
+ }
63
+ return {
64
+
65
+ 'maxActiveSandboxes': json['maxActiveSandboxes'] == null ? undefined : json['maxActiveSandboxes'],
66
+ 'maxTtlSeconds': json['maxTtlSeconds'] == null ? undefined : json['maxTtlSeconds'],
67
+ 'line': json['line'] == null ? undefined : json['line'],
68
+ 'message': json['message'] == null ? undefined : json['message'],
69
+ };
70
+ }
71
+
72
+ export function LimitsFieldsGiftLimitToJSON(json: any): LimitsFieldsGiftLimit {
73
+ return LimitsFieldsGiftLimitToJSONTyped(json, false);
74
+ }
75
+
76
+ export function LimitsFieldsGiftLimitToJSONTyped(value?: LimitsFieldsGiftLimit | null, ignoreDiscriminator: boolean = false): any {
77
+ if (value == null) {
78
+ return value;
79
+ }
80
+
81
+ return {
82
+
83
+ 'maxActiveSandboxes': value['maxActiveSandboxes'],
84
+ 'maxTtlSeconds': value['maxTtlSeconds'],
85
+ 'line': value['line'],
86
+ 'message': value['message'],
87
+ };
88
+ }
89
+
@@ -0,0 +1,129 @@
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
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface LimitsFieldsSandboxPlanTiersInner
20
+ */
21
+ export interface LimitsFieldsSandboxPlanTiersInner {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof LimitsFieldsSandboxPlanTiersInner
26
+ */
27
+ key?: string;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof LimitsFieldsSandboxPlanTiersInner
32
+ */
33
+ dollars?: number;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof LimitsFieldsSandboxPlanTiersInner
38
+ */
39
+ displayPrice?: string;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof LimitsFieldsSandboxPlanTiersInner
44
+ */
45
+ maxActiveSandboxes?: number;
46
+ /**
47
+ *
48
+ * @type {number}
49
+ * @memberof LimitsFieldsSandboxPlanTiersInner
50
+ */
51
+ startsPerMinute?: number;
52
+ /**
53
+ *
54
+ * @type {number}
55
+ * @memberof LimitsFieldsSandboxPlanTiersInner
56
+ */
57
+ startsPerHour?: number;
58
+ /**
59
+ *
60
+ * @type {number}
61
+ * @memberof LimitsFieldsSandboxPlanTiersInner
62
+ */
63
+ startsPerDay?: number;
64
+ /**
65
+ * Machine time included each month.
66
+ * @type {number}
67
+ * @memberof LimitsFieldsSandboxPlanTiersInner
68
+ */
69
+ includedSeconds?: number;
70
+ /**
71
+ * Whether this tier can be bought right now.
72
+ * @type {boolean}
73
+ * @memberof LimitsFieldsSandboxPlanTiersInner
74
+ */
75
+ purchasable?: boolean;
76
+ }
77
+
78
+ /**
79
+ * Check if a given object implements the LimitsFieldsSandboxPlanTiersInner interface.
80
+ */
81
+ export function instanceOfLimitsFieldsSandboxPlanTiersInner(value: object): value is LimitsFieldsSandboxPlanTiersInner {
82
+ return true;
83
+ }
84
+
85
+ export function LimitsFieldsSandboxPlanTiersInnerFromJSON(json: any): LimitsFieldsSandboxPlanTiersInner {
86
+ return LimitsFieldsSandboxPlanTiersInnerFromJSONTyped(json, false);
87
+ }
88
+
89
+ export function LimitsFieldsSandboxPlanTiersInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): LimitsFieldsSandboxPlanTiersInner {
90
+ if (json == null) {
91
+ return json;
92
+ }
93
+ return {
94
+
95
+ 'key': json['key'] == null ? undefined : json['key'],
96
+ 'dollars': json['dollars'] == null ? undefined : json['dollars'],
97
+ 'displayPrice': json['displayPrice'] == null ? undefined : json['displayPrice'],
98
+ 'maxActiveSandboxes': json['maxActiveSandboxes'] == null ? undefined : json['maxActiveSandboxes'],
99
+ 'startsPerMinute': json['startsPerMinute'] == null ? undefined : json['startsPerMinute'],
100
+ 'startsPerHour': json['startsPerHour'] == null ? undefined : json['startsPerHour'],
101
+ 'startsPerDay': json['startsPerDay'] == null ? undefined : json['startsPerDay'],
102
+ 'includedSeconds': json['includedSeconds'] == null ? undefined : json['includedSeconds'],
103
+ 'purchasable': json['purchasable'] == null ? undefined : json['purchasable'],
104
+ };
105
+ }
106
+
107
+ export function LimitsFieldsSandboxPlanTiersInnerToJSON(json: any): LimitsFieldsSandboxPlanTiersInner {
108
+ return LimitsFieldsSandboxPlanTiersInnerToJSONTyped(json, false);
109
+ }
110
+
111
+ export function LimitsFieldsSandboxPlanTiersInnerToJSONTyped(value?: LimitsFieldsSandboxPlanTiersInner | null, ignoreDiscriminator: boolean = false): any {
112
+ if (value == null) {
113
+ return value;
114
+ }
115
+
116
+ return {
117
+
118
+ 'key': value['key'],
119
+ 'dollars': value['dollars'],
120
+ 'displayPrice': value['displayPrice'],
121
+ 'maxActiveSandboxes': value['maxActiveSandboxes'],
122
+ 'startsPerMinute': value['startsPerMinute'],
123
+ 'startsPerHour': value['startsPerHour'],
124
+ 'startsPerDay': value['startsPerDay'],
125
+ 'includedSeconds': value['includedSeconds'],
126
+ 'purchasable': value['purchasable'],
127
+ };
128
+ }
129
+
@@ -13,6 +13,13 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { LimitsFieldsGiftLimit } from './LimitsFieldsGiftLimit';
17
+ import {
18
+ LimitsFieldsGiftLimitFromJSON,
19
+ LimitsFieldsGiftLimitFromJSONTyped,
20
+ LimitsFieldsGiftLimitToJSON,
21
+ LimitsFieldsGiftLimitToJSONTyped,
22
+ } from './LimitsFieldsGiftLimit';
16
23
  import type { LimitsFieldsCurrentLimits } from './LimitsFieldsCurrentLimits';
17
24
  import {
18
25
  LimitsFieldsCurrentLimitsFromJSON,
@@ -34,6 +41,13 @@ import {
34
41
  LimitsFieldsStartsToJSON,
35
42
  LimitsFieldsStartsToJSONTyped,
36
43
  } from './LimitsFieldsStarts';
44
+ import type { LimitsFieldsSandboxPlanTiersInner } from './LimitsFieldsSandboxPlanTiersInner';
45
+ import {
46
+ LimitsFieldsSandboxPlanTiersInnerFromJSON,
47
+ LimitsFieldsSandboxPlanTiersInnerFromJSONTyped,
48
+ LimitsFieldsSandboxPlanTiersInnerToJSON,
49
+ LimitsFieldsSandboxPlanTiersInnerToJSONTyped,
50
+ } from './LimitsFieldsSandboxPlanTiersInner';
37
51
 
38
52
  /**
39
53
  *
@@ -227,6 +241,84 @@ export interface LimitsResponse {
227
241
  * @memberof LimitsResponse
228
242
  */
229
243
  creditSecondsPerDollar?: number;
244
+ /**
245
+ * Current plan key, or `trial` before any payment.
246
+ * @type {string}
247
+ * @memberof LimitsResponse
248
+ */
249
+ sandboxPlanKey?: string;
250
+ /**
251
+ * Monthly price of the current plan in dollars.
252
+ * @type {number}
253
+ * @memberof LimitsResponse
254
+ */
255
+ sandboxPlanDollars?: number;
256
+ /**
257
+ * Every plan tier and its limits.
258
+ * @type {Array<LimitsFieldsSandboxPlanTiersInner>}
259
+ * @memberof LimitsResponse
260
+ */
261
+ sandboxPlanTiers?: Array<LimitsFieldsSandboxPlanTiersInner>;
262
+ /**
263
+ *
264
+ * @type {string}
265
+ * @memberof LimitsResponse
266
+ */
267
+ accountPlan?: string;
268
+ /**
269
+ * `service` for service accounts, otherwise null.
270
+ * @type {string}
271
+ * @memberof LimitsResponse
272
+ */
273
+ plan?: string;
274
+ /**
275
+ * `Service` for service accounts, otherwise null.
276
+ * @type {string}
277
+ * @memberof LimitsResponse
278
+ */
279
+ planName?: string;
280
+ /**
281
+ *
282
+ * @type {boolean}
283
+ * @memberof LimitsResponse
284
+ */
285
+ serviceAccount?: boolean;
286
+ /**
287
+ * True when the account has no machine-time or start limits.
288
+ * @type {boolean}
289
+ * @memberof LimitsResponse
290
+ */
291
+ unlimited?: boolean;
292
+ /**
293
+ * True when an organization has an active per-seat plan.
294
+ * @type {boolean}
295
+ * @memberof LimitsResponse
296
+ */
297
+ hasSeatPlan?: boolean;
298
+ /**
299
+ * Machine time used in the last 24 hours, in seconds. Useful to estimate how long the balance lasts.
300
+ * @type {number}
301
+ * @memberof LimitsResponse
302
+ */
303
+ last24hUsageSeconds?: number;
304
+ /**
305
+ * Lifetime machine-time allowance for a trial that never paid. Null once the account has paid or has a plan.
306
+ * @type {number}
307
+ * @memberof LimitsResponse
308
+ */
309
+ trialComputeCapSeconds?: number;
310
+ /**
311
+ * The trial limits in one readable line. Null on paid accounts.
312
+ * @type {string}
313
+ * @memberof LimitsResponse
314
+ */
315
+ trialLine?: string;
316
+ /**
317
+ *
318
+ * @type {LimitsFieldsGiftLimit}
319
+ * @memberof LimitsResponse
320
+ */
321
+ giftLimit?: LimitsFieldsGiftLimit;
230
322
  /**
231
323
  * Account access state returned by the current backend. Billing endpoints are not part of v1.
232
324
  * @type {string}
@@ -337,6 +429,19 @@ export function LimitsResponseFromJSONTyped(json: any, ignoreDiscriminator: bool
337
429
  'creditUsedSeconds': json['creditUsedSeconds'] == null ? undefined : json['creditUsedSeconds'],
338
430
  'liveUsageSeconds': json['liveUsageSeconds'] == null ? undefined : json['liveUsageSeconds'],
339
431
  'creditSecondsPerDollar': json['creditSecondsPerDollar'] == null ? undefined : json['creditSecondsPerDollar'],
432
+ 'sandboxPlanKey': json['sandboxPlanKey'] == null ? undefined : json['sandboxPlanKey'],
433
+ 'sandboxPlanDollars': json['sandboxPlanDollars'] == null ? undefined : json['sandboxPlanDollars'],
434
+ 'sandboxPlanTiers': json['sandboxPlanTiers'] == null ? undefined : ((json['sandboxPlanTiers'] as Array<any>).map(LimitsFieldsSandboxPlanTiersInnerFromJSON)),
435
+ 'accountPlan': json['accountPlan'] == null ? undefined : json['accountPlan'],
436
+ 'plan': json['plan'] == null ? undefined : json['plan'],
437
+ 'planName': json['planName'] == null ? undefined : json['planName'],
438
+ 'serviceAccount': json['serviceAccount'] == null ? undefined : json['serviceAccount'],
439
+ 'unlimited': json['unlimited'] == null ? undefined : json['unlimited'],
440
+ 'hasSeatPlan': json['hasSeatPlan'] == null ? undefined : json['hasSeatPlan'],
441
+ 'last24hUsageSeconds': json['last24hUsageSeconds'] == null ? undefined : json['last24hUsageSeconds'],
442
+ 'trialComputeCapSeconds': json['trialComputeCapSeconds'] == null ? undefined : json['trialComputeCapSeconds'],
443
+ 'trialLine': json['trialLine'] == null ? undefined : json['trialLine'],
444
+ 'giftLimit': json['giftLimit'] == null ? undefined : LimitsFieldsGiftLimitFromJSON(json['giftLimit']),
340
445
  'billingStatus': json['billingStatus'],
341
446
  'subscriptionStatus': json['subscriptionStatus'] == null ? undefined : json['subscriptionStatus'],
342
447
  'subscriptionCancelAtPeriodEnd': json['subscriptionCancelAtPeriodEnd'] == null ? undefined : json['subscriptionCancelAtPeriodEnd'],
@@ -391,6 +496,19 @@ export function LimitsResponseToJSONTyped(value?: LimitsResponse | null, ignoreD
391
496
  'creditUsedSeconds': value['creditUsedSeconds'],
392
497
  'liveUsageSeconds': value['liveUsageSeconds'],
393
498
  'creditSecondsPerDollar': value['creditSecondsPerDollar'],
499
+ 'sandboxPlanKey': value['sandboxPlanKey'],
500
+ 'sandboxPlanDollars': value['sandboxPlanDollars'],
501
+ 'sandboxPlanTiers': value['sandboxPlanTiers'] == null ? undefined : ((value['sandboxPlanTiers'] as Array<any>).map(LimitsFieldsSandboxPlanTiersInnerToJSON)),
502
+ 'accountPlan': value['accountPlan'],
503
+ 'plan': value['plan'],
504
+ 'planName': value['planName'],
505
+ 'serviceAccount': value['serviceAccount'],
506
+ 'unlimited': value['unlimited'],
507
+ 'hasSeatPlan': value['hasSeatPlan'],
508
+ 'last24hUsageSeconds': value['last24hUsageSeconds'],
509
+ 'trialComputeCapSeconds': value['trialComputeCapSeconds'],
510
+ 'trialLine': value['trialLine'],
511
+ 'giftLimit': LimitsFieldsGiftLimitToJSON(value['giftLimit']),
394
512
  'billingStatus': value['billingStatus'],
395
513
  'subscriptionStatus': value['subscriptionStatus'],
396
514
  'subscriptionCancelAtPeriodEnd': value['subscriptionCancelAtPeriodEnd'],