@boatdev/sdk 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/.openapi-generator/FILES +22 -0
  2. package/dist/apis/BoatApi.d.ts +92 -12
  3. package/dist/apis/BoatApi.js +196 -15
  4. package/dist/esm/apis/BoatApi.d.ts +92 -12
  5. package/dist/esm/apis/BoatApi.js +196 -15
  6. package/dist/esm/models/CreateSandboxRequest.d.ts +3 -3
  7. package/dist/esm/models/CredentialId.d.ts +3 -0
  8. package/dist/esm/models/CredentialId.js +3 -0
  9. package/dist/esm/models/CredentialProfile.d.ts +7 -0
  10. package/dist/esm/models/CredentialProfile.js +3 -0
  11. package/dist/esm/models/DeletionOperation.d.ts +1 -1
  12. package/dist/esm/models/ResourceAccess.d.ts +38 -0
  13. package/dist/esm/models/ResourceAccess.js +47 -0
  14. package/dist/esm/models/ResourceAccessUpdate.d.ts +38 -0
  15. package/dist/esm/models/ResourceAccessUpdate.js +45 -0
  16. package/dist/esm/models/Sandbox.d.ts +7 -0
  17. package/dist/esm/models/Sandbox.js +3 -0
  18. package/dist/esm/models/SandboxEnvironment.d.ts +7 -0
  19. package/dist/esm/models/SandboxEnvironment.js +3 -0
  20. package/dist/esm/models/SandboxLastReboot.d.ts +47 -0
  21. package/dist/esm/models/SandboxLastReboot.js +51 -0
  22. package/dist/esm/models/SandboxListResponse.d.ts +7 -0
  23. package/dist/esm/models/SandboxListResponse.js +3 -0
  24. package/dist/esm/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
  25. package/dist/esm/models/SandboxListResponseAllOfDeletedCost.js +51 -0
  26. package/dist/esm/models/SavedSnapshot.d.ts +83 -0
  27. package/dist/esm/models/SavedSnapshot.js +71 -0
  28. package/dist/esm/models/SavedSnapshotAllowance.d.ts +81 -0
  29. package/dist/esm/models/SavedSnapshotAllowance.js +57 -0
  30. package/dist/esm/models/SavedSnapshotDeletedResponse.d.ts +64 -0
  31. package/dist/esm/models/SavedSnapshotDeletedResponse.js +67 -0
  32. package/dist/esm/models/SavedSnapshotInfoResponse.d.ts +52 -0
  33. package/dist/esm/models/SavedSnapshotInfoResponse.js +58 -0
  34. package/dist/esm/models/SavedSnapshotListResponse.d.ts +59 -0
  35. package/dist/esm/models/SavedSnapshotListResponse.js +61 -0
  36. package/dist/esm/models/SavedSnapshotSaveRequest.d.ts +38 -0
  37. package/dist/esm/models/SavedSnapshotSaveRequest.js +47 -0
  38. package/dist/esm/models/SavedSnapshotSavingResponse.d.ts +65 -0
  39. package/dist/esm/models/SavedSnapshotSavingResponse.js +68 -0
  40. package/dist/esm/models/SnapshotSummary.d.ts +1 -1
  41. package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +7 -0
  42. package/dist/esm/models/UpdateCredentialProfileRequest.js +3 -0
  43. package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
  44. package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +3 -0
  45. package/dist/esm/models/index.d.ts +11 -0
  46. package/dist/esm/models/index.js +11 -0
  47. package/dist/models/CreateSandboxRequest.d.ts +3 -3
  48. package/dist/models/CredentialId.d.ts +3 -0
  49. package/dist/models/CredentialId.js +3 -0
  50. package/dist/models/CredentialProfile.d.ts +7 -0
  51. package/dist/models/CredentialProfile.js +3 -0
  52. package/dist/models/DeletionOperation.d.ts +1 -1
  53. package/dist/models/ResourceAccess.d.ts +38 -0
  54. package/dist/models/ResourceAccess.js +54 -0
  55. package/dist/models/ResourceAccessUpdate.d.ts +38 -0
  56. package/dist/models/ResourceAccessUpdate.js +52 -0
  57. package/dist/models/Sandbox.d.ts +7 -0
  58. package/dist/models/Sandbox.js +3 -0
  59. package/dist/models/SandboxEnvironment.d.ts +7 -0
  60. package/dist/models/SandboxEnvironment.js +3 -0
  61. package/dist/models/SandboxLastReboot.d.ts +47 -0
  62. package/dist/models/SandboxLastReboot.js +59 -0
  63. package/dist/models/SandboxListResponse.d.ts +7 -0
  64. package/dist/models/SandboxListResponse.js +3 -0
  65. package/dist/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
  66. package/dist/models/SandboxListResponseAllOfDeletedCost.js +58 -0
  67. package/dist/models/SavedSnapshot.d.ts +83 -0
  68. package/dist/models/SavedSnapshot.js +79 -0
  69. package/dist/models/SavedSnapshotAllowance.d.ts +81 -0
  70. package/dist/models/SavedSnapshotAllowance.js +64 -0
  71. package/dist/models/SavedSnapshotDeletedResponse.d.ts +64 -0
  72. package/dist/models/SavedSnapshotDeletedResponse.js +75 -0
  73. package/dist/models/SavedSnapshotInfoResponse.d.ts +52 -0
  74. package/dist/models/SavedSnapshotInfoResponse.js +66 -0
  75. package/dist/models/SavedSnapshotListResponse.d.ts +59 -0
  76. package/dist/models/SavedSnapshotListResponse.js +69 -0
  77. package/dist/models/SavedSnapshotSaveRequest.d.ts +38 -0
  78. package/dist/models/SavedSnapshotSaveRequest.js +54 -0
  79. package/dist/models/SavedSnapshotSavingResponse.d.ts +65 -0
  80. package/dist/models/SavedSnapshotSavingResponse.js +76 -0
  81. package/dist/models/SnapshotSummary.d.ts +1 -1
  82. package/dist/models/UpdateCredentialProfileRequest.d.ts +7 -0
  83. package/dist/models/UpdateCredentialProfileRequest.js +3 -0
  84. package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
  85. package/dist/models/UpdateSandboxEnvironmentRequest.js +3 -0
  86. package/dist/models/index.d.ts +11 -0
  87. package/dist/models/index.js +11 -0
  88. package/docs/BoatApi.md +307 -15
  89. package/docs/CredentialProfile.md +2 -0
  90. package/docs/ResourceAccess.md +35 -0
  91. package/docs/ResourceAccessUpdate.md +35 -0
  92. package/docs/Sandbox.md +2 -0
  93. package/docs/SandboxEnvironment.md +2 -0
  94. package/docs/SandboxLastReboot.md +35 -0
  95. package/docs/SandboxListResponse.md +2 -0
  96. package/docs/SandboxListResponseAllOfDeletedCost.md +37 -0
  97. package/docs/SavedSnapshot.md +47 -0
  98. package/docs/SavedSnapshotAllowance.md +49 -0
  99. package/docs/SavedSnapshotDeletedResponse.md +38 -0
  100. package/docs/SavedSnapshotInfoResponse.md +36 -0
  101. package/docs/SavedSnapshotListResponse.md +38 -0
  102. package/docs/SavedSnapshotSaveRequest.md +34 -0
  103. package/docs/SavedSnapshotSavingResponse.md +38 -0
  104. package/docs/UpdateCredentialProfileRequest.md +2 -0
  105. package/docs/UpdateSandboxEnvironmentRequest.md +2 -0
  106. package/package.json +1 -1
  107. package/src/apis/BoatApi.ts +277 -15
  108. package/src/models/CreateSandboxRequest.ts +3 -3
  109. package/src/models/CredentialId.ts +3 -0
  110. package/src/models/CredentialProfile.ts +15 -0
  111. package/src/models/DeletionOperation.ts +1 -1
  112. package/src/models/ResourceAccess.ts +75 -0
  113. package/src/models/ResourceAccessUpdate.ts +74 -0
  114. package/src/models/Sandbox.ts +15 -0
  115. package/src/models/SandboxEnvironment.ts +15 -0
  116. package/src/models/SandboxLastReboot.ts +85 -0
  117. package/src/models/SandboxListResponse.ts +15 -0
  118. package/src/models/SandboxListResponseAllOfDeletedCost.ts +84 -0
  119. package/src/models/SavedSnapshot.ts +137 -0
  120. package/src/models/SavedSnapshotAllowance.ts +130 -0
  121. package/src/models/SavedSnapshotDeletedResponse.ts +111 -0
  122. package/src/models/SavedSnapshotInfoResponse.ts +102 -0
  123. package/src/models/SavedSnapshotListResponse.ts +117 -0
  124. package/src/models/SavedSnapshotSaveRequest.ts +75 -0
  125. package/src/models/SavedSnapshotSavingResponse.ts +119 -0
  126. package/src/models/SnapshotSummary.ts +1 -1
  127. package/src/models/UpdateCredentialProfileRequest.ts +16 -0
  128. package/src/models/UpdateSandboxEnvironmentRequest.ts +15 -0
  129. package/src/models/index.ts +11 -0
@@ -12,6 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { UpdateSandboxEnvironmentRequestRepositoriesInnerFromJSON, UpdateSandboxEnvironmentRequestRepositoriesInnerToJSON, } from './UpdateSandboxEnvironmentRequestRepositoriesInner';
15
+ import { ResourceAccessUpdateFromJSON, ResourceAccessUpdateToJSON, } from './ResourceAccessUpdate';
15
16
  import { SecretFileFromJSON, SecretFileToJSON, } from './SecretFile';
16
17
  /**
17
18
  * Check if a given object implements the UpdateSandboxEnvironmentRequest interface.
@@ -36,6 +37,7 @@ export function UpdateSandboxEnvironmentRequestFromJSONTyped(json, ignoreDiscrim
36
37
  'passAgentsCredentials': json['passAgentsCredentials'] == null ? undefined : json['passAgentsCredentials'],
37
38
  'credentialProfileId': json['credentialProfileId'] == null ? undefined : json['credentialProfileId'],
38
39
  'proxyAiCredentials': json['proxyAiCredentials'] == null ? undefined : json['proxyAiCredentials'],
40
+ 'access': json['access'] == null ? undefined : ResourceAccessUpdateFromJSON(json['access']),
39
41
  'envContents': json['envContents'] == null ? undefined : json['envContents'],
40
42
  'secretFiles': json['secretFiles'] == null ? undefined : (json['secretFiles'].map(SecretFileFromJSON)),
41
43
  'repositories': json['repositories'] == null ? undefined : (json['repositories'].map(UpdateSandboxEnvironmentRequestRepositoriesInnerFromJSON)),
@@ -58,6 +60,7 @@ export function UpdateSandboxEnvironmentRequestToJSONTyped(value, ignoreDiscrimi
58
60
  'passAgentsCredentials': value['passAgentsCredentials'],
59
61
  'credentialProfileId': value['credentialProfileId'],
60
62
  'proxyAiCredentials': value['proxyAiCredentials'],
63
+ 'access': ResourceAccessUpdateToJSON(value['access']),
61
64
  'envContents': value['envContents'],
62
65
  'secretFiles': value['secretFiles'] == null ? undefined : (value['secretFiles'].map(SecretFileToJSON)),
63
66
  'repositories': value['repositories'] == null ? undefined : (value['repositories'].map(UpdateSandboxEnvironmentRequestRepositoriesInnerToJSON)),
@@ -108,6 +108,8 @@ export * from './RepoSelectionResponse';
108
108
  export * from './ReposResponse';
109
109
  export * from './Repository';
110
110
  export * from './RepositoryInstallation';
111
+ export * from './ResourceAccess';
112
+ export * from './ResourceAccessUpdate';
111
113
  export * from './ResponseEvent';
112
114
  export * from './ResponseEventData';
113
115
  export * from './ResumeRequest';
@@ -125,10 +127,19 @@ export * from './SandboxEnvironmentVersionSummary';
125
127
  export * from './SandboxEvent';
126
128
  export * from './SandboxHydration';
127
129
  export * from './SandboxInfoResponse';
130
+ export * from './SandboxLastReboot';
128
131
  export * from './SandboxListResponse';
132
+ export * from './SandboxListResponseAllOfDeletedCost';
129
133
  export * from './SandboxProcess';
130
134
  export * from './SandboxTeam';
131
135
  export * from './SandboxUsageResponse';
136
+ export * from './SavedSnapshot';
137
+ export * from './SavedSnapshotAllowance';
138
+ export * from './SavedSnapshotDeletedResponse';
139
+ export * from './SavedSnapshotInfoResponse';
140
+ export * from './SavedSnapshotListResponse';
141
+ export * from './SavedSnapshotSaveRequest';
142
+ export * from './SavedSnapshotSavingResponse';
132
143
  export * from './SecretFile';
133
144
  export * from './SecretsResponse';
134
145
  export * from './SecretsUpdateRequest';
@@ -110,6 +110,8 @@ export * from './RepoSelectionResponse';
110
110
  export * from './ReposResponse';
111
111
  export * from './Repository';
112
112
  export * from './RepositoryInstallation';
113
+ export * from './ResourceAccess';
114
+ export * from './ResourceAccessUpdate';
113
115
  export * from './ResponseEvent';
114
116
  export * from './ResponseEventData';
115
117
  export * from './ResumeRequest';
@@ -127,10 +129,19 @@ export * from './SandboxEnvironmentVersionSummary';
127
129
  export * from './SandboxEvent';
128
130
  export * from './SandboxHydration';
129
131
  export * from './SandboxInfoResponse';
132
+ export * from './SandboxLastReboot';
130
133
  export * from './SandboxListResponse';
134
+ export * from './SandboxListResponseAllOfDeletedCost';
131
135
  export * from './SandboxProcess';
132
136
  export * from './SandboxTeam';
133
137
  export * from './SandboxUsageResponse';
138
+ export * from './SavedSnapshot';
139
+ export * from './SavedSnapshotAllowance';
140
+ export * from './SavedSnapshotDeletedResponse';
141
+ export * from './SavedSnapshotInfoResponse';
142
+ export * from './SavedSnapshotListResponse';
143
+ export * from './SavedSnapshotSaveRequest';
144
+ export * from './SavedSnapshotSavingResponse';
134
145
  export * from './SecretFile';
135
146
  export * from './SecretsResponse';
136
147
  export * from './SecretsUpdateRequest';
@@ -48,7 +48,7 @@ export interface CreateSandboxRequest {
48
48
  */
49
49
  noEnv?: boolean;
50
50
  /**
51
- * Pass `false` to never snapshot this sandbox. Nothing is captured in the background, so it pays no CPU or memory for it, and stopping it erases its disk the way zero data retention does. It cannot be resumed, forked, or saved as a named snapshot, and if its machine fails there is no backup to rebuild it from.
51
+ * Pass `false` to never snapshot this sandbox. Nothing is captured in the background, so it pays no CPU or memory for it, and stopping it erases its disk the way zero data retention does. It cannot be resumed, forked, or saved as a saved snapshot, and if its machine fails there is no backup to rebuild it from.
52
52
  * @type {boolean}
53
53
  * @memberof CreateSandboxRequest
54
54
  */
@@ -66,7 +66,7 @@ export interface CreateSandboxRequest {
66
66
  */
67
67
  failFast?: boolean;
68
68
  /**
69
- * With `from`: create this many sandboxes from the named snapshot in one request. Boat creates them together, which is faster than separate creates when you need many sandboxes at once. Start limits and the active-sandbox limit count every sandbox of the batch; if the batch does not fit, nothing is created. The answer lists all of them in `sandboxes` (and the first one in `sandbox`). Refused with 400 `count_requires_from` without `from`, and with 400 `count_with_fail_fast` together with `failFast`.
69
+ * With `from`: create this many sandboxes from the saved snapshot in one request. Boat creates them together, which is faster than separate creates when you need many sandboxes at once. Start limits and the active-sandbox limit count every sandbox of the batch; if the batch does not fit, nothing is created. The answer lists all of them in `sandboxes` (and the first one in `sandbox`). Refused with 400 `count_requires_from` without `from`, and with 400 `count_with_fail_fast` together with `failFast`.
70
70
  * @type {number}
71
71
  * @memberof CreateSandboxRequest
72
72
  */
@@ -90,7 +90,7 @@ export interface CreateSandboxRequest {
90
90
  */
91
91
  teamId?: string;
92
92
  /**
93
- * Create the sandbox from a named snapshot (saved with `POST /named-snapshots`, or `boat snapshot <id> <name>` in the CLI). The sandbox starts from that exact frozen state. Omitting `type` inherits the type the snapshot was saved from; env and no-env inherit from the snapshot's source sandbox unless the request passes its own, with the same rules as forking. Also accepts a share code (`bsh_...`) that another account made with `POST /named-snapshots/{name}/shares`. The new sandbox lives in and is billed to your account. It does not get the owner's per-sandbox env; your own environment applies normally. A wrong or revoked code returns `404 snapshot_not_found`.
93
+ * Create the sandbox from a saved snapshot (saved with `POST /saved-snapshots`, or `boat snapshot <id> <name>` in the CLI). The sandbox starts from that exact frozen state. Omitting `type` inherits the type the snapshot was saved from; env and no-env inherit from the snapshot's source sandbox unless the request passes its own, with the same rules as forking. Also accepts a share code (`bsh_...`) that another account made with `POST /saved-snapshots/{name}/shares`. The new sandbox lives in and is billed to your account. It does not get the owner's per-sandbox env; your own environment applies normally. A wrong or revoked code returns `404 snapshot_not_found`.
94
94
  * @type {string}
95
95
  * @memberof CreateSandboxRequest
96
96
  */
@@ -21,10 +21,13 @@ export declare const CredentialId: {
21
21
  readonly DeepseekApiKey: 'deepseek-api-key';
22
22
  readonly MoonshotApiKey: 'moonshot-api-key';
23
23
  readonly MistralApiKey: 'mistral-api-key';
24
+ readonly XaiApiKey: 'xai-api-key';
25
+ readonly OpencodeApiKey: 'opencode-api-key';
24
26
  readonly ClaudeSubscription: 'claude-subscription';
25
27
  readonly ChatgptSubscription: 'chatgpt-subscription';
26
28
  readonly KimiSubscription: 'kimi-subscription';
27
29
  readonly MistralVibeSubscription: 'mistral-vibe-subscription';
30
+ readonly GrokSubscription: 'grok-subscription';
28
31
  readonly ClaudeBedrock: 'claude-bedrock';
29
32
  readonly CodexBedrock: 'codex-bedrock';
30
33
  };
@@ -31,10 +31,13 @@ exports.CredentialId = {
31
31
  DeepseekApiKey: 'deepseek-api-key',
32
32
  MoonshotApiKey: 'moonshot-api-key',
33
33
  MistralApiKey: 'mistral-api-key',
34
+ XaiApiKey: 'xai-api-key',
35
+ OpencodeApiKey: 'opencode-api-key',
34
36
  ClaudeSubscription: 'claude-subscription',
35
37
  ChatgptSubscription: 'chatgpt-subscription',
36
38
  KimiSubscription: 'kimi-subscription',
37
39
  MistralVibeSubscription: 'mistral-vibe-subscription',
40
+ GrokSubscription: 'grok-subscription',
38
41
  ClaudeBedrock: 'claude-bedrock',
39
42
  CodexBedrock: 'codex-bedrock'
40
43
  };
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { ResourceAccess } from './ResourceAccess';
12
13
  import type { CredentialId } from './CredentialId';
13
14
  import type { CredentialProfileOwner } from './CredentialProfileOwner';
14
15
  import type { CredentialAccount } from './CredentialAccount';
@@ -80,6 +81,12 @@ export interface CredentialProfile {
80
81
  * @memberof CredentialProfile
81
82
  */
82
83
  updatedAt: Date;
84
+ /**
85
+ *
86
+ * @type {ResourceAccess}
87
+ * @memberof CredentialProfile
88
+ */
89
+ access?: ResourceAccess;
83
90
  }
84
91
  /**
85
92
  * Check if a given object implements the CredentialProfile interface.
@@ -18,6 +18,7 @@ exports.CredentialProfileFromJSON = CredentialProfileFromJSON;
18
18
  exports.CredentialProfileFromJSONTyped = CredentialProfileFromJSONTyped;
19
19
  exports.CredentialProfileToJSON = CredentialProfileToJSON;
20
20
  exports.CredentialProfileToJSONTyped = CredentialProfileToJSONTyped;
21
+ const ResourceAccess_1 = require("./ResourceAccess");
21
22
  const CredentialId_1 = require("./CredentialId");
22
23
  const CredentialProfileOwner_1 = require("./CredentialProfileOwner");
23
24
  /**
@@ -62,6 +63,7 @@ function CredentialProfileFromJSONTyped(json, ignoreDiscriminator) {
62
63
  'customApis': json['customApis'],
63
64
  'createdAt': (new Date(json['createdAt'])),
64
65
  'updatedAt': (new Date(json['updatedAt'])),
66
+ 'access': json['access'] == null ? undefined : (0, ResourceAccess_1.ResourceAccessFromJSON)(json['access']),
65
67
  };
66
68
  }
67
69
  function CredentialProfileToJSON(json) {
@@ -82,5 +84,6 @@ function CredentialProfileToJSONTyped(value, ignoreDiscriminator = false) {
82
84
  'customApis': value['customApis'],
83
85
  'createdAt': value['createdAt'].toISOString(),
84
86
  'updatedAt': value['updatedAt'].toISOString(),
87
+ 'access': (0, ResourceAccess_1.ResourceAccessToJSON)(value['access']),
85
88
  };
86
89
  }
@@ -46,7 +46,7 @@ export interface DeletionOperation {
46
46
  */
47
47
  status: DeletionOperationStatusEnum;
48
48
  /**
49
- * What the background purge is doing. The target is already gone from every list, restore and fork once the operation exists. `waiting_for_uploads`: stored data is erased once the last upload URL issued for it expires (`expectedBy`). `retrying`: a transient fault, retried automatically. `completed`: a newer snapshot, a fork or a named snapshot made from it keeps the data it reads, until that is deleted too.
49
+ * What the background purge is doing. The target is already gone from every list, restore and fork once the operation exists. `waiting_for_uploads`: stored data is erased once the last upload URL issued for it expires (`expectedBy`). `retrying`: a transient fault, retried automatically. `completed`: a newer snapshot, a fork or a saved snapshot made from it keeps the data it reads, until that is deleted too.
50
50
  * @type {DeletionOperationStageEnum}
51
51
  * @memberof DeletionOperation
52
52
  */
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Boat Public API v1
3
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Which organization members can use this organization environment or profile. `restricted` false means every member. `restricted` true means owners, admins and `members` only. Others do not see it in lists. Personal environments and profiles always return `restricted` false.
14
+ * @export
15
+ * @interface ResourceAccess
16
+ */
17
+ export interface ResourceAccess {
18
+ /**
19
+ *
20
+ * @type {boolean}
21
+ * @memberof ResourceAccess
22
+ */
23
+ restricted: boolean;
24
+ /**
25
+ * Member ids. Empty when `restricted` is false.
26
+ * @type {Array<string>}
27
+ * @memberof ResourceAccess
28
+ */
29
+ members: Array<string>;
30
+ }
31
+ /**
32
+ * Check if a given object implements the ResourceAccess interface.
33
+ */
34
+ export declare function instanceOfResourceAccess(value: object): value is ResourceAccess;
35
+ export declare function ResourceAccessFromJSON(json: any): ResourceAccess;
36
+ export declare function ResourceAccessFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceAccess;
37
+ export declare function ResourceAccessToJSON(json: any): ResourceAccess;
38
+ export declare function ResourceAccessToJSONTyped(value?: ResourceAccess | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Boat Public API v1
6
+ * 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.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfResourceAccess = instanceOfResourceAccess;
17
+ exports.ResourceAccessFromJSON = ResourceAccessFromJSON;
18
+ exports.ResourceAccessFromJSONTyped = ResourceAccessFromJSONTyped;
19
+ exports.ResourceAccessToJSON = ResourceAccessToJSON;
20
+ exports.ResourceAccessToJSONTyped = ResourceAccessToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the ResourceAccess interface.
23
+ */
24
+ function instanceOfResourceAccess(value) {
25
+ if (!('restricted' in value) || value['restricted'] === undefined)
26
+ return false;
27
+ if (!('members' in value) || value['members'] === undefined)
28
+ return false;
29
+ return true;
30
+ }
31
+ function ResourceAccessFromJSON(json) {
32
+ return ResourceAccessFromJSONTyped(json, false);
33
+ }
34
+ function ResourceAccessFromJSONTyped(json, ignoreDiscriminator) {
35
+ if (json == null) {
36
+ return json;
37
+ }
38
+ return {
39
+ 'restricted': json['restricted'],
40
+ 'members': json['members'],
41
+ };
42
+ }
43
+ function ResourceAccessToJSON(json) {
44
+ return ResourceAccessToJSONTyped(json, false);
45
+ }
46
+ function ResourceAccessToJSONTyped(value, ignoreDiscriminator = false) {
47
+ if (value == null) {
48
+ return value;
49
+ }
50
+ return {
51
+ 'restricted': value['restricted'],
52
+ 'members': value['members'],
53
+ };
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
+ * Set who can use an organization environment (owner or admin) or profile (owner). A change does not touch running sandboxes. A bad list returns `400 invalid_access`.
14
+ * @export
15
+ * @interface ResourceAccessUpdate
16
+ */
17
+ export interface ResourceAccessUpdate {
18
+ /**
19
+ * False opens it to every member. True limits it to owners, admins and `members`.
20
+ * @type {boolean}
21
+ * @memberof ResourceAccessUpdate
22
+ */
23
+ restricted: boolean;
24
+ /**
25
+ * Member ids or emails of active members. Replaces the full list.
26
+ * @type {Array<string>}
27
+ * @memberof ResourceAccessUpdate
28
+ */
29
+ members?: Array<string>;
30
+ }
31
+ /**
32
+ * Check if a given object implements the ResourceAccessUpdate interface.
33
+ */
34
+ export declare function instanceOfResourceAccessUpdate(value: object): value is ResourceAccessUpdate;
35
+ export declare function ResourceAccessUpdateFromJSON(json: any): ResourceAccessUpdate;
36
+ export declare function ResourceAccessUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceAccessUpdate;
37
+ export declare function ResourceAccessUpdateToJSON(json: any): ResourceAccessUpdate;
38
+ export declare function ResourceAccessUpdateToJSONTyped(value?: ResourceAccessUpdate | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Boat Public API v1
6
+ * 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.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfResourceAccessUpdate = instanceOfResourceAccessUpdate;
17
+ exports.ResourceAccessUpdateFromJSON = ResourceAccessUpdateFromJSON;
18
+ exports.ResourceAccessUpdateFromJSONTyped = ResourceAccessUpdateFromJSONTyped;
19
+ exports.ResourceAccessUpdateToJSON = ResourceAccessUpdateToJSON;
20
+ exports.ResourceAccessUpdateToJSONTyped = ResourceAccessUpdateToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the ResourceAccessUpdate interface.
23
+ */
24
+ function instanceOfResourceAccessUpdate(value) {
25
+ if (!('restricted' in value) || value['restricted'] === undefined)
26
+ return false;
27
+ return true;
28
+ }
29
+ function ResourceAccessUpdateFromJSON(json) {
30
+ return ResourceAccessUpdateFromJSONTyped(json, false);
31
+ }
32
+ function ResourceAccessUpdateFromJSONTyped(json, ignoreDiscriminator) {
33
+ if (json == null) {
34
+ return json;
35
+ }
36
+ return {
37
+ 'restricted': json['restricted'],
38
+ 'members': json['members'] == null ? undefined : json['members'],
39
+ };
40
+ }
41
+ function ResourceAccessUpdateToJSON(json) {
42
+ return ResourceAccessUpdateToJSONTyped(json, false);
43
+ }
44
+ function ResourceAccessUpdateToJSONTyped(value, ignoreDiscriminator = false) {
45
+ if (value == null) {
46
+ return value;
47
+ }
48
+ return {
49
+ 'restricted': value['restricted'],
50
+ 'members': value['members'],
51
+ };
52
+ }
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import type { SandboxTeam } from './SandboxTeam';
13
13
  import type { StopOperation } from './StopOperation';
14
+ import type { SandboxLastReboot } from './SandboxLastReboot';
14
15
  import type { SandboxCost } from './SandboxCost';
15
16
  import type { SandboxHydration } from './SandboxHydration';
16
17
  /**
@@ -265,6 +266,12 @@ export interface Sandbox {
265
266
  * @memberof Sandbox
266
267
  */
267
268
  lastSnapshotStatus?: SandboxLastSnapshotStatusEnum | null;
269
+ /**
270
+ *
271
+ * @type {SandboxLastReboot}
272
+ * @memberof Sandbox
273
+ */
274
+ lastReboot?: SandboxLastReboot;
268
275
  /**
269
276
  * Outcome of the create-time `setupScript`: `pending` (stored, not yet started), `running` (executing on the sandbox in the background), `done` (exit code 0) or `failed` (non-zero exit, or the sandbox lost track of the process). Null when the sandbox was created without a setup script.
270
277
  * @type {SandboxSetupStatusEnum}
@@ -21,6 +21,7 @@ exports.SandboxToJSON = SandboxToJSON;
21
21
  exports.SandboxToJSONTyped = SandboxToJSONTyped;
22
22
  const SandboxTeam_1 = require("./SandboxTeam");
23
23
  const StopOperation_1 = require("./StopOperation");
24
+ const SandboxLastReboot_1 = require("./SandboxLastReboot");
24
25
  const SandboxCost_1 = require("./SandboxCost");
25
26
  const SandboxHydration_1 = require("./SandboxHydration");
26
27
  /**
@@ -161,6 +162,7 @@ function SandboxFromJSONTyped(json, ignoreDiscriminator) {
161
162
  'subdomain': json['subdomain'] == null ? undefined : json['subdomain'],
162
163
  'lastSnapshotAttemptAt': json['lastSnapshotAttemptAt'] == null ? undefined : (new Date(json['lastSnapshotAttemptAt'])),
163
164
  'lastSnapshotStatus': json['lastSnapshotStatus'] == null ? undefined : json['lastSnapshotStatus'],
165
+ 'lastReboot': json['lastReboot'] == null ? undefined : (0, SandboxLastReboot_1.SandboxLastRebootFromJSON)(json['lastReboot']),
164
166
  'setupStatus': json['setupStatus'] == null ? undefined : json['setupStatus'],
165
167
  'setupError': json['setupError'] == null ? undefined : json['setupError'],
166
168
  'environment': json['environment'] == null ? undefined : json['environment'],
@@ -217,6 +219,7 @@ function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
217
219
  'subdomain': value['subdomain'],
218
220
  'lastSnapshotAttemptAt': value['lastSnapshotAttemptAt'] == null ? value['lastSnapshotAttemptAt'] : value['lastSnapshotAttemptAt'].toISOString(),
219
221
  'lastSnapshotStatus': value['lastSnapshotStatus'],
222
+ 'lastReboot': (0, SandboxLastReboot_1.SandboxLastRebootToJSON)(value['lastReboot']),
220
223
  'setupStatus': value['setupStatus'],
221
224
  'setupError': value['setupError'],
222
225
  'environment': value['environment'],
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { ResourceAccess } from './ResourceAccess';
12
13
  import type { SelectedRepository } from './SelectedRepository';
13
14
  import type { SandboxEnvironmentVersionSummary } from './SandboxEnvironmentVersionSummary';
14
15
  import type { SecretFile } from './SecretFile';
@@ -96,6 +97,12 @@ export interface SandboxEnvironment {
96
97
  * @memberof SandboxEnvironment
97
98
  */
98
99
  proxyAiCredentials?: boolean;
100
+ /**
101
+ *
102
+ * @type {ResourceAccess}
103
+ * @memberof SandboxEnvironment
104
+ */
105
+ access?: ResourceAccess;
99
106
  /**
100
107
  * The latest version's .env-style content. Treat as sensitive.
101
108
  * @type {string}
@@ -18,6 +18,7 @@ exports.SandboxEnvironmentFromJSON = SandboxEnvironmentFromJSON;
18
18
  exports.SandboxEnvironmentFromJSONTyped = SandboxEnvironmentFromJSONTyped;
19
19
  exports.SandboxEnvironmentToJSON = SandboxEnvironmentToJSON;
20
20
  exports.SandboxEnvironmentToJSONTyped = SandboxEnvironmentToJSONTyped;
21
+ const ResourceAccess_1 = require("./ResourceAccess");
21
22
  const SelectedRepository_1 = require("./SelectedRepository");
22
23
  const SandboxEnvironmentVersionSummary_1 = require("./SandboxEnvironmentVersionSummary");
23
24
  const SecretFile_1 = require("./SecretFile");
@@ -72,6 +73,7 @@ function SandboxEnvironmentFromJSONTyped(json, ignoreDiscriminator) {
72
73
  'passAgentsCredentials': json['passAgentsCredentials'],
73
74
  'credentialProfileId': json['credentialProfileId'] == null ? undefined : json['credentialProfileId'],
74
75
  'proxyAiCredentials': json['proxyAiCredentials'] == null ? undefined : json['proxyAiCredentials'],
76
+ 'access': json['access'] == null ? undefined : (0, ResourceAccess_1.ResourceAccessFromJSON)(json['access']),
75
77
  'envContents': json['envContents'],
76
78
  'secretFiles': (json['secretFiles'].map(SecretFile_1.SecretFileFromJSON)),
77
79
  'selectedRepositories': json['selectedRepositories'] == null ? undefined : (json['selectedRepositories'].map(SelectedRepository_1.SelectedRepositoryFromJSON)),
@@ -99,6 +101,7 @@ function SandboxEnvironmentToJSONTyped(value, ignoreDiscriminator = false) {
99
101
  'passAgentsCredentials': value['passAgentsCredentials'],
100
102
  'credentialProfileId': value['credentialProfileId'],
101
103
  'proxyAiCredentials': value['proxyAiCredentials'],
104
+ 'access': (0, ResourceAccess_1.ResourceAccessToJSON)(value['access']),
102
105
  'envContents': value['envContents'],
103
106
  'secretFiles': (value['secretFiles'].map(SecretFile_1.SecretFileToJSON)),
104
107
  'selectedRepositories': value['selectedRepositories'] == null ? undefined : (value['selectedRepositories'].map(SelectedRepository_1.SelectedRepositoryToJSON)),
@@ -0,0 +1,47 @@
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 last time the sandbox's kernel restarted on its machine, or null if it never did. Every process running at that time ended. `crash` means the system log ended with no shutdown, for example after a kernel panic.
14
+ * @export
15
+ * @interface SandboxLastReboot
16
+ */
17
+ export interface SandboxLastReboot {
18
+ /**
19
+ *
20
+ * @type {Date}
21
+ * @memberof SandboxLastReboot
22
+ */
23
+ at?: Date;
24
+ /**
25
+ *
26
+ * @type {SandboxLastRebootReasonEnum}
27
+ * @memberof SandboxLastReboot
28
+ */
29
+ reason?: SandboxLastRebootReasonEnum;
30
+ }
31
+ /**
32
+ * @export
33
+ */
34
+ export declare const SandboxLastRebootReasonEnum: {
35
+ readonly Crash: 'crash';
36
+ readonly Clean: 'clean';
37
+ readonly Unknown: 'unknown';
38
+ };
39
+ export type SandboxLastRebootReasonEnum = typeof SandboxLastRebootReasonEnum[keyof typeof SandboxLastRebootReasonEnum];
40
+ /**
41
+ * Check if a given object implements the SandboxLastReboot interface.
42
+ */
43
+ export declare function instanceOfSandboxLastReboot(value: object): value is SandboxLastReboot;
44
+ export declare function SandboxLastRebootFromJSON(json: any): SandboxLastReboot;
45
+ export declare function SandboxLastRebootFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxLastReboot;
46
+ export declare function SandboxLastRebootToJSON(json: any): SandboxLastReboot;
47
+ export declare function SandboxLastRebootToJSONTyped(value?: SandboxLastReboot | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Boat Public API v1
6
+ * 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.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SandboxLastRebootReasonEnum = void 0;
17
+ exports.instanceOfSandboxLastReboot = instanceOfSandboxLastReboot;
18
+ exports.SandboxLastRebootFromJSON = SandboxLastRebootFromJSON;
19
+ exports.SandboxLastRebootFromJSONTyped = SandboxLastRebootFromJSONTyped;
20
+ exports.SandboxLastRebootToJSON = SandboxLastRebootToJSON;
21
+ exports.SandboxLastRebootToJSONTyped = SandboxLastRebootToJSONTyped;
22
+ /**
23
+ * @export
24
+ */
25
+ exports.SandboxLastRebootReasonEnum = {
26
+ Crash: 'crash',
27
+ Clean: 'clean',
28
+ Unknown: 'unknown'
29
+ };
30
+ /**
31
+ * Check if a given object implements the SandboxLastReboot interface.
32
+ */
33
+ function instanceOfSandboxLastReboot(value) {
34
+ return true;
35
+ }
36
+ function SandboxLastRebootFromJSON(json) {
37
+ return SandboxLastRebootFromJSONTyped(json, false);
38
+ }
39
+ function SandboxLastRebootFromJSONTyped(json, ignoreDiscriminator) {
40
+ if (json == null) {
41
+ return json;
42
+ }
43
+ return {
44
+ 'at': json['at'] == null ? undefined : (new Date(json['at'])),
45
+ 'reason': json['reason'] == null ? undefined : json['reason'],
46
+ };
47
+ }
48
+ function SandboxLastRebootToJSON(json) {
49
+ return SandboxLastRebootToJSONTyped(json, false);
50
+ }
51
+ function SandboxLastRebootToJSONTyped(value, ignoreDiscriminator = false) {
52
+ if (value == null) {
53
+ return value;
54
+ }
55
+ return {
56
+ 'at': value['at'] == null ? value['at'] : value['at'].toISOString(),
57
+ 'reason': value['reason'],
58
+ };
59
+ }
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { PageInfo } from './PageInfo';
13
+ import type { SandboxListResponseAllOfDeletedCost } from './SandboxListResponseAllOfDeletedCost';
13
14
  import type { Sandbox } from './Sandbox';
14
15
  /**
15
16
  *
@@ -41,6 +42,12 @@ export interface SandboxListResponse {
41
42
  * @memberof SandboxListResponse
42
43
  */
43
44
  pageInfo?: PageInfo;
45
+ /**
46
+ *
47
+ * @type {SandboxListResponseAllOfDeletedCost}
48
+ * @memberof SandboxListResponse
49
+ */
50
+ deletedCost?: SandboxListResponseAllOfDeletedCost;
44
51
  }
45
52
  /**
46
53
  * @export
@@ -20,6 +20,7 @@ exports.SandboxListResponseFromJSONTyped = SandboxListResponseFromJSONTyped;
20
20
  exports.SandboxListResponseToJSON = SandboxListResponseToJSON;
21
21
  exports.SandboxListResponseToJSONTyped = SandboxListResponseToJSONTyped;
22
22
  const PageInfo_1 = require("./PageInfo");
23
+ const SandboxListResponseAllOfDeletedCost_1 = require("./SandboxListResponseAllOfDeletedCost");
23
24
  const Sandbox_1 = require("./Sandbox");
24
25
  /**
25
26
  * @export
@@ -51,6 +52,7 @@ function SandboxListResponseFromJSONTyped(json, ignoreDiscriminator) {
51
52
  'type': json['type'],
52
53
  'sandboxes': (json['sandboxes'].map(Sandbox_1.SandboxFromJSON)),
53
54
  'pageInfo': json['pageInfo'] == null ? undefined : (0, PageInfo_1.PageInfoFromJSON)(json['pageInfo']),
55
+ 'deletedCost': json['deletedCost'] == null ? undefined : (0, SandboxListResponseAllOfDeletedCost_1.SandboxListResponseAllOfDeletedCostFromJSON)(json['deletedCost']),
54
56
  };
55
57
  }
56
58
  function SandboxListResponseToJSON(json) {
@@ -65,5 +67,6 @@ function SandboxListResponseToJSONTyped(value, ignoreDiscriminator = false) {
65
67
  'type': value['type'],
66
68
  'sandboxes': (value['sandboxes'].map(Sandbox_1.SandboxToJSON)),
67
69
  'pageInfo': (0, PageInfo_1.PageInfoToJSON)(value['pageInfo']),
70
+ 'deletedCost': (0, SandboxListResponseAllOfDeletedCost_1.SandboxListResponseAllOfDeletedCostToJSON)(value['deletedCost']),
68
71
  };
69
72
  }