@boatdev/sdk 1.9.4 → 1.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.openapi-generator/FILES +44 -0
- package/dist/apis/BoatApi.d.ts +305 -7
- package/dist/apis/BoatApi.js +764 -15
- package/dist/esm/apis/BoatApi.d.ts +305 -7
- package/dist/esm/apis/BoatApi.js +764 -15
- package/dist/esm/models/AccountAiUsageResponse.d.ts +83 -0
- package/dist/esm/models/AccountAiUsageResponse.js +78 -0
- package/dist/esm/models/AiProxySettings.d.ts +81 -0
- package/dist/esm/models/AiProxySettings.js +76 -0
- package/dist/esm/models/AiProxySettingsAllOfPricing.d.ts +38 -0
- package/dist/esm/models/AiProxySettingsAllOfPricing.js +47 -0
- package/dist/esm/models/AiUsageRow.d.ts +80 -0
- package/dist/esm/models/AiUsageRow.js +75 -0
- package/dist/esm/models/AiUsageTotals.d.ts +62 -0
- package/dist/esm/models/AiUsageTotals.js +63 -0
- package/dist/esm/models/CreateCredentialProfileRequest.d.ts +44 -0
- package/dist/esm/models/CreateCredentialProfileRequest.js +47 -0
- package/dist/esm/models/CredentialId.d.ts +36 -0
- package/dist/esm/models/CredentialId.js +54 -0
- package/dist/esm/models/CredentialProfile.d.ts +82 -0
- package/dist/esm/models/CredentialProfile.js +77 -0
- package/dist/esm/models/CredentialProfileDeletedResponse.d.ts +44 -0
- package/dist/esm/models/CredentialProfileDeletedResponse.js +51 -0
- package/dist/esm/models/CredentialProfileListResponse.d.ts +45 -0
- package/dist/esm/models/CredentialProfileListResponse.js +52 -0
- package/dist/esm/models/CredentialProfileOwner.d.ts +58 -0
- package/dist/esm/models/CredentialProfileOwner.js +62 -0
- package/dist/esm/models/CredentialProfileResponse.d.ts +51 -0
- package/dist/esm/models/CredentialProfileResponse.js +56 -0
- package/dist/esm/models/DeletionOperation.d.ts +1 -1
- package/dist/esm/models/FileUrlRequest.d.ts +38 -0
- package/dist/esm/models/FileUrlRequest.js +45 -0
- package/dist/esm/models/FileUrlResponse.d.ts +78 -0
- package/dist/esm/models/FileUrlResponse.js +77 -0
- package/dist/esm/models/ProcessListResponse.d.ts +1 -1
- package/dist/esm/models/SandboxAiAccessResponse.d.ts +56 -0
- package/dist/esm/models/SandboxAiAccessResponse.js +59 -0
- package/dist/esm/models/SandboxAiUsage.d.ts +64 -0
- package/dist/esm/models/SandboxAiUsage.js +65 -0
- package/dist/esm/models/SandboxAiUsageResponse.d.ts +88 -0
- package/dist/esm/models/SandboxAiUsageResponse.js +81 -0
- package/dist/esm/models/SandboxEnvironment.d.ts +13 -1
- package/dist/esm/models/SandboxEnvironment.js +4 -0
- package/dist/esm/models/SetCredentialKeyRequest.d.ts +32 -0
- package/dist/esm/models/SetCredentialKeyRequest.js +43 -0
- package/dist/esm/models/SetCustomApiRequest.d.ts +38 -0
- package/dist/esm/models/SetCustomApiRequest.js +47 -0
- package/dist/esm/models/SetSandboxAiAccessRequest.d.ts +32 -0
- package/dist/esm/models/SetSandboxAiAccessRequest.js +43 -0
- package/dist/esm/models/SnapshotSummary.d.ts +14 -0
- package/dist/esm/models/SnapshotSummary.js +9 -0
- package/dist/esm/models/UpdateAiProxyRequest.d.ts +32 -0
- package/dist/esm/models/UpdateAiProxyRequest.js +43 -0
- package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +38 -0
- package/dist/esm/models/UpdateCredentialProfileRequest.js +43 -0
- package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +12 -0
- package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +4 -0
- package/dist/esm/models/index.d.ts +22 -0
- package/dist/esm/models/index.js +22 -0
- package/dist/models/AccountAiUsageResponse.d.ts +83 -0
- package/dist/models/AccountAiUsageResponse.js +85 -0
- package/dist/models/AiProxySettings.d.ts +81 -0
- package/dist/models/AiProxySettings.js +83 -0
- package/dist/models/AiProxySettingsAllOfPricing.d.ts +38 -0
- package/dist/models/AiProxySettingsAllOfPricing.js +54 -0
- package/dist/models/AiUsageRow.d.ts +80 -0
- package/dist/models/AiUsageRow.js +82 -0
- package/dist/models/AiUsageTotals.d.ts +62 -0
- package/dist/models/AiUsageTotals.js +70 -0
- package/dist/models/CreateCredentialProfileRequest.d.ts +44 -0
- package/dist/models/CreateCredentialProfileRequest.js +54 -0
- package/dist/models/CredentialId.d.ts +36 -0
- package/dist/models/CredentialId.js +62 -0
- package/dist/models/CredentialProfile.d.ts +82 -0
- package/dist/models/CredentialProfile.js +84 -0
- package/dist/models/CredentialProfileDeletedResponse.d.ts +44 -0
- package/dist/models/CredentialProfileDeletedResponse.js +58 -0
- package/dist/models/CredentialProfileListResponse.d.ts +45 -0
- package/dist/models/CredentialProfileListResponse.js +59 -0
- package/dist/models/CredentialProfileOwner.d.ts +58 -0
- package/dist/models/CredentialProfileOwner.js +70 -0
- package/dist/models/CredentialProfileResponse.d.ts +51 -0
- package/dist/models/CredentialProfileResponse.js +63 -0
- package/dist/models/DeletionOperation.d.ts +1 -1
- package/dist/models/FileUrlRequest.d.ts +38 -0
- package/dist/models/FileUrlRequest.js +52 -0
- package/dist/models/FileUrlResponse.d.ts +78 -0
- package/dist/models/FileUrlResponse.js +85 -0
- package/dist/models/ProcessListResponse.d.ts +1 -1
- package/dist/models/SandboxAiAccessResponse.d.ts +56 -0
- package/dist/models/SandboxAiAccessResponse.js +66 -0
- package/dist/models/SandboxAiUsage.d.ts +64 -0
- package/dist/models/SandboxAiUsage.js +72 -0
- package/dist/models/SandboxAiUsageResponse.d.ts +88 -0
- package/dist/models/SandboxAiUsageResponse.js +88 -0
- package/dist/models/SandboxEnvironment.d.ts +13 -1
- package/dist/models/SandboxEnvironment.js +4 -0
- package/dist/models/SetCredentialKeyRequest.d.ts +32 -0
- package/dist/models/SetCredentialKeyRequest.js +50 -0
- package/dist/models/SetCustomApiRequest.d.ts +38 -0
- package/dist/models/SetCustomApiRequest.js +54 -0
- package/dist/models/SetSandboxAiAccessRequest.d.ts +32 -0
- package/dist/models/SetSandboxAiAccessRequest.js +50 -0
- package/dist/models/SnapshotSummary.d.ts +14 -0
- package/dist/models/SnapshotSummary.js +10 -1
- package/dist/models/UpdateAiProxyRequest.d.ts +32 -0
- package/dist/models/UpdateAiProxyRequest.js +50 -0
- package/dist/models/UpdateCredentialProfileRequest.d.ts +38 -0
- package/dist/models/UpdateCredentialProfileRequest.js +50 -0
- package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +12 -0
- package/dist/models/UpdateSandboxEnvironmentRequest.js +4 -0
- package/dist/models/index.d.ts +22 -0
- package/dist/models/index.js +22 -0
- package/docs/AccountAiUsageResponse.md +48 -0
- package/docs/AiProxySettings.md +48 -0
- package/docs/AiProxySettingsAllOfPricing.md +34 -0
- package/docs/AiUsageRow.md +48 -0
- package/docs/AiUsageTotals.md +43 -0
- package/docs/BoatApi.md +1568 -359
- package/docs/CreateCredentialProfileRequest.md +36 -0
- package/docs/CredentialId.md +31 -0
- package/docs/CredentialProfile.md +49 -0
- package/docs/CredentialProfileDeletedResponse.md +36 -0
- package/docs/CredentialProfileListResponse.md +36 -0
- package/docs/CredentialProfileOwner.md +38 -0
- package/docs/CredentialProfileResponse.md +38 -0
- package/docs/FileUrlRequest.md +34 -0
- package/docs/FileUrlResponse.md +42 -0
- package/docs/SandboxAiAccessResponse.md +40 -0
- package/docs/SandboxAiUsage.md +42 -0
- package/docs/SandboxAiUsageResponse.md +50 -0
- package/docs/SandboxEnvironment.md +4 -0
- package/docs/SetCredentialKeyRequest.md +32 -0
- package/docs/SetCustomApiRequest.md +34 -0
- package/docs/SetSandboxAiAccessRequest.md +32 -0
- package/docs/SnapshotSummary.md +2 -0
- package/docs/UpdateAiProxyRequest.md +32 -0
- package/docs/UpdateCredentialProfileRequest.md +34 -0
- package/docs/UpdateSandboxEnvironmentRequest.md +4 -0
- package/package.json +1 -1
- package/src/apis/BoatApi.ts +1257 -105
- package/src/models/AccountAiUsageResponse.ts +160 -0
- package/src/models/AiProxySettings.ts +146 -0
- package/src/models/AiProxySettingsAllOfPricing.ts +75 -0
- package/src/models/AiUsageRow.ts +138 -0
- package/src/models/AiUsageTotals.ts +111 -0
- package/src/models/CreateCredentialProfileRequest.ts +82 -0
- package/src/models/CredentialId.ts +64 -0
- package/src/models/CredentialProfile.ts +153 -0
- package/src/models/CredentialProfileDeletedResponse.ts +84 -0
- package/src/models/CredentialProfileListResponse.ts +92 -0
- package/src/models/CredentialProfileOwner.ts +104 -0
- package/src/models/CredentialProfileResponse.ts +101 -0
- package/src/models/DeletionOperation.ts +1 -1
- package/src/models/FileUrlRequest.ts +74 -0
- package/src/models/FileUrlResponse.ts +131 -0
- package/src/models/ProcessListResponse.ts +1 -1
- package/src/models/SandboxAiAccessResponse.ts +102 -0
- package/src/models/SandboxAiUsage.ts +126 -0
- package/src/models/SandboxAiUsageResponse.ts +162 -0
- package/src/models/SandboxEnvironment.ts +17 -1
- package/src/models/SetCredentialKeyRequest.ts +66 -0
- package/src/models/SetCustomApiRequest.ts +75 -0
- package/src/models/SetSandboxAiAccessRequest.ts +66 -0
- package/src/models/SnapshotSummary.ts +17 -0
- package/src/models/UpdateAiProxyRequest.ts +66 -0
- package/src/models/UpdateCredentialProfileRequest.ts +73 -0
- package/src/models/UpdateSandboxEnvironmentRequest.ts +16 -0
- package/src/models/index.ts +22 -0
|
@@ -0,0 +1,74 @@
|
|
|
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 FileUrlRequest
|
|
20
|
+
*/
|
|
21
|
+
export interface FileUrlRequest {
|
|
22
|
+
/**
|
|
23
|
+
* Absolute path, or path relative to the sandbox work directory (/home/user). It must resolve under /home/user or /tmp.
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof FileUrlRequest
|
|
26
|
+
*/
|
|
27
|
+
path: string;
|
|
28
|
+
/**
|
|
29
|
+
* How long the URL stays valid.
|
|
30
|
+
* @type {number}
|
|
31
|
+
* @memberof FileUrlRequest
|
|
32
|
+
*/
|
|
33
|
+
ttlSeconds?: number;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Check if a given object implements the FileUrlRequest interface.
|
|
38
|
+
*/
|
|
39
|
+
export function instanceOfFileUrlRequest(value: object): value is FileUrlRequest {
|
|
40
|
+
if (!('path' in value) || value['path'] === undefined) return false;
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function FileUrlRequestFromJSON(json: any): FileUrlRequest {
|
|
45
|
+
return FileUrlRequestFromJSONTyped(json, false);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function FileUrlRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): FileUrlRequest {
|
|
49
|
+
if (json == null) {
|
|
50
|
+
return json;
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
|
|
54
|
+
'path': json['path'],
|
|
55
|
+
'ttlSeconds': json['ttlSeconds'] == null ? undefined : json['ttlSeconds'],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function FileUrlRequestToJSON(json: any): FileUrlRequest {
|
|
60
|
+
return FileUrlRequestToJSONTyped(json, false);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function FileUrlRequestToJSONTyped(value?: FileUrlRequest | null, ignoreDiscriminator: boolean = false): any {
|
|
64
|
+
if (value == null) {
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return {
|
|
69
|
+
|
|
70
|
+
'path': value['path'],
|
|
71
|
+
'ttlSeconds': value['ttlSeconds'],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
@@ -0,0 +1,131 @@
|
|
|
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 FileUrlResponse
|
|
20
|
+
*/
|
|
21
|
+
export interface FileUrlResponse {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {boolean}
|
|
25
|
+
* @memberof FileUrlResponse
|
|
26
|
+
*/
|
|
27
|
+
ok: boolean;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @type {FileUrlResponseTypeEnum}
|
|
31
|
+
* @memberof FileUrlResponse
|
|
32
|
+
*/
|
|
33
|
+
type: FileUrlResponseTypeEnum;
|
|
34
|
+
/**
|
|
35
|
+
* The signed URL. Send the request straight to it; it needs no Authorization header.
|
|
36
|
+
* @type {string}
|
|
37
|
+
* @memberof FileUrlResponse
|
|
38
|
+
*/
|
|
39
|
+
url: string;
|
|
40
|
+
/**
|
|
41
|
+
* GET downloads the file. PUT uploads the request body as the file.
|
|
42
|
+
* @type {FileUrlResponseMethodEnum}
|
|
43
|
+
* @memberof FileUrlResponse
|
|
44
|
+
*/
|
|
45
|
+
method: FileUrlResponseMethodEnum;
|
|
46
|
+
/**
|
|
47
|
+
* The canonical path the URL is bound to.
|
|
48
|
+
* @type {string}
|
|
49
|
+
* @memberof FileUrlResponse
|
|
50
|
+
*/
|
|
51
|
+
path: string;
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @type {Date}
|
|
55
|
+
* @memberof FileUrlResponse
|
|
56
|
+
*/
|
|
57
|
+
expiresAt: Date;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @export
|
|
63
|
+
*/
|
|
64
|
+
export const FileUrlResponseTypeEnum = {
|
|
65
|
+
FileDownloadUrl: 'file.download_url',
|
|
66
|
+
FileUploadUrl: 'file.upload_url'
|
|
67
|
+
} as const;
|
|
68
|
+
export type FileUrlResponseTypeEnum = typeof FileUrlResponseTypeEnum[keyof typeof FileUrlResponseTypeEnum];
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @export
|
|
72
|
+
*/
|
|
73
|
+
export const FileUrlResponseMethodEnum = {
|
|
74
|
+
Get: 'GET',
|
|
75
|
+
Put: 'PUT'
|
|
76
|
+
} as const;
|
|
77
|
+
export type FileUrlResponseMethodEnum = typeof FileUrlResponseMethodEnum[keyof typeof FileUrlResponseMethodEnum];
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Check if a given object implements the FileUrlResponse interface.
|
|
82
|
+
*/
|
|
83
|
+
export function instanceOfFileUrlResponse(value: object): value is FileUrlResponse {
|
|
84
|
+
if (!('ok' in value) || value['ok'] === undefined) return false;
|
|
85
|
+
if (!('type' in value) || value['type'] === undefined) return false;
|
|
86
|
+
if (!('url' in value) || value['url'] === undefined) return false;
|
|
87
|
+
if (!('method' in value) || value['method'] === undefined) return false;
|
|
88
|
+
if (!('path' in value) || value['path'] === undefined) return false;
|
|
89
|
+
if (!('expiresAt' in value) || value['expiresAt'] === undefined) return false;
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export function FileUrlResponseFromJSON(json: any): FileUrlResponse {
|
|
94
|
+
return FileUrlResponseFromJSONTyped(json, false);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export function FileUrlResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): FileUrlResponse {
|
|
98
|
+
if (json == null) {
|
|
99
|
+
return json;
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
|
|
103
|
+
'ok': json['ok'],
|
|
104
|
+
'type': json['type'],
|
|
105
|
+
'url': json['url'],
|
|
106
|
+
'method': json['method'],
|
|
107
|
+
'path': json['path'],
|
|
108
|
+
'expiresAt': (new Date(json['expiresAt'])),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export function FileUrlResponseToJSON(json: any): FileUrlResponse {
|
|
113
|
+
return FileUrlResponseToJSONTyped(json, false);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export function FileUrlResponseToJSONTyped(value?: FileUrlResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
117
|
+
if (value == null) {
|
|
118
|
+
return value;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return {
|
|
122
|
+
|
|
123
|
+
'ok': value['ok'],
|
|
124
|
+
'type': value['type'],
|
|
125
|
+
'url': value['url'],
|
|
126
|
+
'method': value['method'],
|
|
127
|
+
'path': value['path'],
|
|
128
|
+
'expiresAt': value['expiresAt'].toISOString(),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
@@ -52,7 +52,7 @@ export interface ProcessListResponse {
|
|
|
52
52
|
*/
|
|
53
53
|
sampledAt: Date | null;
|
|
54
54
|
/**
|
|
55
|
-
* Processes on the sandbox. The list holds at most 500
|
|
55
|
+
* Processes on the sandbox. The list holds at most 500, busiest first.
|
|
56
56
|
* @type {number}
|
|
57
57
|
* @memberof ProcessListResponse
|
|
58
58
|
*/
|
|
@@ -0,0 +1,102 @@
|
|
|
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 SandboxAiAccessResponse
|
|
20
|
+
*/
|
|
21
|
+
export interface SandboxAiAccessResponse {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {boolean}
|
|
25
|
+
* @memberof SandboxAiAccessResponse
|
|
26
|
+
*/
|
|
27
|
+
ok: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Stable success envelope discriminator added by v1.
|
|
30
|
+
* @type {string}
|
|
31
|
+
* @memberof SandboxAiAccessResponse
|
|
32
|
+
*/
|
|
33
|
+
type: string;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @type {boolean}
|
|
37
|
+
* @memberof SandboxAiAccessResponse
|
|
38
|
+
*/
|
|
39
|
+
success: boolean;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @type {string}
|
|
43
|
+
* @memberof SandboxAiAccessResponse
|
|
44
|
+
*/
|
|
45
|
+
sandboxId: string;
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @type {boolean}
|
|
49
|
+
* @memberof SandboxAiAccessResponse
|
|
50
|
+
*/
|
|
51
|
+
blocked: boolean;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Check if a given object implements the SandboxAiAccessResponse interface.
|
|
56
|
+
*/
|
|
57
|
+
export function instanceOfSandboxAiAccessResponse(value: object): value is SandboxAiAccessResponse {
|
|
58
|
+
if (!('ok' in value) || value['ok'] === undefined) return false;
|
|
59
|
+
if (!('type' in value) || value['type'] === undefined) return false;
|
|
60
|
+
if (!('success' in value) || value['success'] === undefined) return false;
|
|
61
|
+
if (!('sandboxId' in value) || value['sandboxId'] === undefined) return false;
|
|
62
|
+
if (!('blocked' in value) || value['blocked'] === undefined) return false;
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export function SandboxAiAccessResponseFromJSON(json: any): SandboxAiAccessResponse {
|
|
67
|
+
return SandboxAiAccessResponseFromJSONTyped(json, false);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function SandboxAiAccessResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxAiAccessResponse {
|
|
71
|
+
if (json == null) {
|
|
72
|
+
return json;
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
|
|
76
|
+
'ok': json['ok'],
|
|
77
|
+
'type': json['type'],
|
|
78
|
+
'success': json['success'],
|
|
79
|
+
'sandboxId': json['sandboxId'],
|
|
80
|
+
'blocked': json['blocked'],
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function SandboxAiAccessResponseToJSON(json: any): SandboxAiAccessResponse {
|
|
85
|
+
return SandboxAiAccessResponseToJSONTyped(json, false);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export function SandboxAiAccessResponseToJSONTyped(value?: SandboxAiAccessResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
89
|
+
if (value == null) {
|
|
90
|
+
return value;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return {
|
|
94
|
+
|
|
95
|
+
'ok': value['ok'],
|
|
96
|
+
'type': value['type'],
|
|
97
|
+
'success': value['success'],
|
|
98
|
+
'sandboxId': value['sandboxId'],
|
|
99
|
+
'blocked': value['blocked'],
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
@@ -0,0 +1,126 @@
|
|
|
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
|
+
import type { AiUsageRow } from './AiUsageRow';
|
|
17
|
+
import {
|
|
18
|
+
AiUsageRowFromJSON,
|
|
19
|
+
AiUsageRowFromJSONTyped,
|
|
20
|
+
AiUsageRowToJSON,
|
|
21
|
+
AiUsageRowToJSONTyped,
|
|
22
|
+
} from './AiUsageRow';
|
|
23
|
+
import type { AiUsageTotals } from './AiUsageTotals';
|
|
24
|
+
import {
|
|
25
|
+
AiUsageTotalsFromJSON,
|
|
26
|
+
AiUsageTotalsFromJSONTyped,
|
|
27
|
+
AiUsageTotalsToJSON,
|
|
28
|
+
AiUsageTotalsToJSONTyped,
|
|
29
|
+
} from './AiUsageTotals';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @export
|
|
34
|
+
* @interface SandboxAiUsage
|
|
35
|
+
*/
|
|
36
|
+
export interface SandboxAiUsage {
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @type {string}
|
|
40
|
+
* @memberof SandboxAiUsage
|
|
41
|
+
*/
|
|
42
|
+
sandboxId: string | null;
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @type {string}
|
|
46
|
+
* @memberof SandboxAiUsage
|
|
47
|
+
*/
|
|
48
|
+
name: string | null;
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @type {boolean}
|
|
52
|
+
* @memberof SandboxAiUsage
|
|
53
|
+
*/
|
|
54
|
+
blocked: boolean;
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @type {Array<AiUsageRow>}
|
|
58
|
+
* @memberof SandboxAiUsage
|
|
59
|
+
*/
|
|
60
|
+
usage: Array<AiUsageRow>;
|
|
61
|
+
/**
|
|
62
|
+
*
|
|
63
|
+
* @type {AiUsageTotals}
|
|
64
|
+
* @memberof SandboxAiUsage
|
|
65
|
+
*/
|
|
66
|
+
totals: AiUsageTotals;
|
|
67
|
+
/**
|
|
68
|
+
* Request charge for the period, at the price per 1,000 requests.
|
|
69
|
+
* @type {number}
|
|
70
|
+
* @memberof SandboxAiUsage
|
|
71
|
+
*/
|
|
72
|
+
dollars: number;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Check if a given object implements the SandboxAiUsage interface.
|
|
77
|
+
*/
|
|
78
|
+
export function instanceOfSandboxAiUsage(value: object): value is SandboxAiUsage {
|
|
79
|
+
if (!('sandboxId' in value) || value['sandboxId'] === undefined) return false;
|
|
80
|
+
if (!('name' in value) || value['name'] === undefined) return false;
|
|
81
|
+
if (!('blocked' in value) || value['blocked'] === undefined) return false;
|
|
82
|
+
if (!('usage' in value) || value['usage'] === undefined) return false;
|
|
83
|
+
if (!('totals' in value) || value['totals'] === undefined) return false;
|
|
84
|
+
if (!('dollars' in value) || value['dollars'] === undefined) return false;
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export function SandboxAiUsageFromJSON(json: any): SandboxAiUsage {
|
|
89
|
+
return SandboxAiUsageFromJSONTyped(json, false);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export function SandboxAiUsageFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxAiUsage {
|
|
93
|
+
if (json == null) {
|
|
94
|
+
return json;
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
|
|
98
|
+
'sandboxId': json['sandboxId'],
|
|
99
|
+
'name': json['name'],
|
|
100
|
+
'blocked': json['blocked'],
|
|
101
|
+
'usage': ((json['usage'] as Array<any>).map(AiUsageRowFromJSON)),
|
|
102
|
+
'totals': AiUsageTotalsFromJSON(json['totals']),
|
|
103
|
+
'dollars': json['dollars'],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export function SandboxAiUsageToJSON(json: any): SandboxAiUsage {
|
|
108
|
+
return SandboxAiUsageToJSONTyped(json, false);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function SandboxAiUsageToJSONTyped(value?: SandboxAiUsage | null, ignoreDiscriminator: boolean = false): any {
|
|
112
|
+
if (value == null) {
|
|
113
|
+
return value;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return {
|
|
117
|
+
|
|
118
|
+
'sandboxId': value['sandboxId'],
|
|
119
|
+
'name': value['name'],
|
|
120
|
+
'blocked': value['blocked'],
|
|
121
|
+
'usage': ((value['usage'] as Array<any>).map(AiUsageRowToJSON)),
|
|
122
|
+
'totals': AiUsageTotalsToJSON(value['totals']),
|
|
123
|
+
'dollars': value['dollars'],
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
@@ -0,0 +1,162 @@
|
|
|
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
|
+
import type { AiUsageRow } from './AiUsageRow';
|
|
17
|
+
import {
|
|
18
|
+
AiUsageRowFromJSON,
|
|
19
|
+
AiUsageRowFromJSONTyped,
|
|
20
|
+
AiUsageRowToJSON,
|
|
21
|
+
AiUsageRowToJSONTyped,
|
|
22
|
+
} from './AiUsageRow';
|
|
23
|
+
import type { AiUsageTotals } from './AiUsageTotals';
|
|
24
|
+
import {
|
|
25
|
+
AiUsageTotalsFromJSON,
|
|
26
|
+
AiUsageTotalsFromJSONTyped,
|
|
27
|
+
AiUsageTotalsToJSON,
|
|
28
|
+
AiUsageTotalsToJSONTyped,
|
|
29
|
+
} from './AiUsageTotals';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @export
|
|
34
|
+
* @interface SandboxAiUsageResponse
|
|
35
|
+
*/
|
|
36
|
+
export interface SandboxAiUsageResponse {
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @type {boolean}
|
|
40
|
+
* @memberof SandboxAiUsageResponse
|
|
41
|
+
*/
|
|
42
|
+
ok: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Stable success envelope discriminator added by v1.
|
|
45
|
+
* @type {string}
|
|
46
|
+
* @memberof SandboxAiUsageResponse
|
|
47
|
+
*/
|
|
48
|
+
type: string;
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @type {string}
|
|
52
|
+
* @memberof SandboxAiUsageResponse
|
|
53
|
+
*/
|
|
54
|
+
sandboxId: string;
|
|
55
|
+
/**
|
|
56
|
+
* True when the proxy refuses this sandbox's placeholders.
|
|
57
|
+
* @type {boolean}
|
|
58
|
+
* @memberof SandboxAiUsageResponse
|
|
59
|
+
*/
|
|
60
|
+
blocked: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* True when the sandbox holds placeholders, not real keys.
|
|
63
|
+
* @type {boolean}
|
|
64
|
+
* @memberof SandboxAiUsageResponse
|
|
65
|
+
*/
|
|
66
|
+
proxied: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* The profile the sandbox uses. Null means its owner's default.
|
|
69
|
+
* @type {string}
|
|
70
|
+
* @memberof SandboxAiUsageResponse
|
|
71
|
+
*/
|
|
72
|
+
credentialProfileId: string | null;
|
|
73
|
+
/**
|
|
74
|
+
*
|
|
75
|
+
* @type {Date}
|
|
76
|
+
* @memberof SandboxAiUsageResponse
|
|
77
|
+
*/
|
|
78
|
+
since: Date;
|
|
79
|
+
/**
|
|
80
|
+
*
|
|
81
|
+
* @type {Array<AiUsageRow>}
|
|
82
|
+
* @memberof SandboxAiUsageResponse
|
|
83
|
+
*/
|
|
84
|
+
usage: Array<AiUsageRow>;
|
|
85
|
+
/**
|
|
86
|
+
*
|
|
87
|
+
* @type {AiUsageTotals}
|
|
88
|
+
* @memberof SandboxAiUsageResponse
|
|
89
|
+
*/
|
|
90
|
+
totals: AiUsageTotals;
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
* @type {number}
|
|
94
|
+
* @memberof SandboxAiUsageResponse
|
|
95
|
+
*/
|
|
96
|
+
dollars: number;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Check if a given object implements the SandboxAiUsageResponse interface.
|
|
101
|
+
*/
|
|
102
|
+
export function instanceOfSandboxAiUsageResponse(value: object): value is SandboxAiUsageResponse {
|
|
103
|
+
if (!('ok' in value) || value['ok'] === undefined) return false;
|
|
104
|
+
if (!('type' in value) || value['type'] === undefined) return false;
|
|
105
|
+
if (!('sandboxId' in value) || value['sandboxId'] === undefined) return false;
|
|
106
|
+
if (!('blocked' in value) || value['blocked'] === undefined) return false;
|
|
107
|
+
if (!('proxied' in value) || value['proxied'] === undefined) return false;
|
|
108
|
+
if (!('credentialProfileId' in value) || value['credentialProfileId'] === undefined) return false;
|
|
109
|
+
if (!('since' in value) || value['since'] === undefined) return false;
|
|
110
|
+
if (!('usage' in value) || value['usage'] === undefined) return false;
|
|
111
|
+
if (!('totals' in value) || value['totals'] === undefined) return false;
|
|
112
|
+
if (!('dollars' in value) || value['dollars'] === undefined) return false;
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export function SandboxAiUsageResponseFromJSON(json: any): SandboxAiUsageResponse {
|
|
117
|
+
return SandboxAiUsageResponseFromJSONTyped(json, false);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export function SandboxAiUsageResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxAiUsageResponse {
|
|
121
|
+
if (json == null) {
|
|
122
|
+
return json;
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
|
|
126
|
+
'ok': json['ok'],
|
|
127
|
+
'type': json['type'],
|
|
128
|
+
'sandboxId': json['sandboxId'],
|
|
129
|
+
'blocked': json['blocked'],
|
|
130
|
+
'proxied': json['proxied'],
|
|
131
|
+
'credentialProfileId': json['credentialProfileId'],
|
|
132
|
+
'since': (new Date(json['since'])),
|
|
133
|
+
'usage': ((json['usage'] as Array<any>).map(AiUsageRowFromJSON)),
|
|
134
|
+
'totals': AiUsageTotalsFromJSON(json['totals']),
|
|
135
|
+
'dollars': json['dollars'],
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export function SandboxAiUsageResponseToJSON(json: any): SandboxAiUsageResponse {
|
|
140
|
+
return SandboxAiUsageResponseToJSONTyped(json, false);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export function SandboxAiUsageResponseToJSONTyped(value?: SandboxAiUsageResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
144
|
+
if (value == null) {
|
|
145
|
+
return value;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return {
|
|
149
|
+
|
|
150
|
+
'ok': value['ok'],
|
|
151
|
+
'type': value['type'],
|
|
152
|
+
'sandboxId': value['sandboxId'],
|
|
153
|
+
'blocked': value['blocked'],
|
|
154
|
+
'proxied': value['proxied'],
|
|
155
|
+
'credentialProfileId': value['credentialProfileId'],
|
|
156
|
+
'since': value['since'].toISOString().substring(0,10),
|
|
157
|
+
'usage': ((value['usage'] as Array<any>).map(AiUsageRowToJSON)),
|
|
158
|
+
'totals': AiUsageTotalsToJSON(value['totals']),
|
|
159
|
+
'dollars': value['dollars'],
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
|
|
@@ -78,7 +78,7 @@ export interface SandboxEnvironment {
|
|
|
78
78
|
*/
|
|
79
79
|
safetyAnsweredAt?: Date | null;
|
|
80
80
|
/**
|
|
81
|
-
* 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.
|
|
81
|
+
* 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. The one exception is `proxyAiCredentials`.
|
|
82
82
|
* @type {boolean}
|
|
83
83
|
* @memberof SandboxEnvironment
|
|
84
84
|
*/
|
|
@@ -107,6 +107,18 @@ export interface SandboxEnvironment {
|
|
|
107
107
|
* @memberof SandboxEnvironment
|
|
108
108
|
*/
|
|
109
109
|
passAgentsCredentials: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* The AI credential profile the environment's sandboxes get. Null means the sandbox owner's default profile.
|
|
112
|
+
* @type {string}
|
|
113
|
+
* @memberof SandboxEnvironment
|
|
114
|
+
*/
|
|
115
|
+
credentialProfileId?: string | null;
|
|
116
|
+
/**
|
|
117
|
+
* Only with `safeForThirdParties` true. The sandboxes still get AI credentials, as AI credentials proxy placeholders. Real keys never enter them.
|
|
118
|
+
* @type {boolean}
|
|
119
|
+
* @memberof SandboxEnvironment
|
|
120
|
+
*/
|
|
121
|
+
proxyAiCredentials?: boolean;
|
|
110
122
|
/**
|
|
111
123
|
* The latest version's .env-style content. Treat as sensitive.
|
|
112
124
|
* @type {string}
|
|
@@ -173,6 +185,8 @@ export function SandboxEnvironmentFromJSONTyped(json: any, ignoreDiscriminator:
|
|
|
173
185
|
'passSecrets': json['passSecrets'],
|
|
174
186
|
'passSandboxCredentials': json['passSandboxCredentials'],
|
|
175
187
|
'passAgentsCredentials': json['passAgentsCredentials'],
|
|
188
|
+
'credentialProfileId': json['credentialProfileId'] == null ? undefined : json['credentialProfileId'],
|
|
189
|
+
'proxyAiCredentials': json['proxyAiCredentials'] == null ? undefined : json['proxyAiCredentials'],
|
|
176
190
|
'envContents': json['envContents'],
|
|
177
191
|
'secretFiles': ((json['secretFiles'] as Array<any>).map(SecretFileFromJSON)),
|
|
178
192
|
'selectedRepositories': json['selectedRepositories'] == null ? undefined : ((json['selectedRepositories'] as Array<any>).map(SelectedRepositoryFromJSON)),
|
|
@@ -202,6 +216,8 @@ export function SandboxEnvironmentToJSONTyped(value?: SandboxEnvironment | null,
|
|
|
202
216
|
'passSecrets': value['passSecrets'],
|
|
203
217
|
'passSandboxCredentials': value['passSandboxCredentials'],
|
|
204
218
|
'passAgentsCredentials': value['passAgentsCredentials'],
|
|
219
|
+
'credentialProfileId': value['credentialProfileId'],
|
|
220
|
+
'proxyAiCredentials': value['proxyAiCredentials'],
|
|
205
221
|
'envContents': value['envContents'],
|
|
206
222
|
'secretFiles': ((value['secretFiles'] as Array<any>).map(SecretFileToJSON)),
|
|
207
223
|
'selectedRepositories': value['selectedRepositories'] == null ? undefined : ((value['selectedRepositories'] as Array<any>).map(SelectedRepositoryToJSON)),
|