@boatdev/sdk 1.9.5 → 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.
Files changed (148) hide show
  1. package/.openapi-generator/FILES +40 -0
  2. package/dist/apis/BoatApi.d.ts +263 -3
  3. package/dist/apis/BoatApi.js +662 -11
  4. package/dist/esm/apis/BoatApi.d.ts +263 -3
  5. package/dist/esm/apis/BoatApi.js +662 -11
  6. package/dist/esm/models/AccountAiUsageResponse.d.ts +83 -0
  7. package/dist/esm/models/AccountAiUsageResponse.js +78 -0
  8. package/dist/esm/models/AiProxySettings.d.ts +81 -0
  9. package/dist/esm/models/AiProxySettings.js +76 -0
  10. package/dist/esm/models/AiProxySettingsAllOfPricing.d.ts +38 -0
  11. package/dist/esm/models/AiProxySettingsAllOfPricing.js +47 -0
  12. package/dist/esm/models/AiUsageRow.d.ts +80 -0
  13. package/dist/esm/models/AiUsageRow.js +75 -0
  14. package/dist/esm/models/AiUsageTotals.d.ts +62 -0
  15. package/dist/esm/models/AiUsageTotals.js +63 -0
  16. package/dist/esm/models/CreateCredentialProfileRequest.d.ts +44 -0
  17. package/dist/esm/models/CreateCredentialProfileRequest.js +47 -0
  18. package/dist/esm/models/CredentialId.d.ts +36 -0
  19. package/dist/esm/models/CredentialId.js +54 -0
  20. package/dist/esm/models/CredentialProfile.d.ts +82 -0
  21. package/dist/esm/models/CredentialProfile.js +77 -0
  22. package/dist/esm/models/CredentialProfileDeletedResponse.d.ts +44 -0
  23. package/dist/esm/models/CredentialProfileDeletedResponse.js +51 -0
  24. package/dist/esm/models/CredentialProfileListResponse.d.ts +45 -0
  25. package/dist/esm/models/CredentialProfileListResponse.js +52 -0
  26. package/dist/esm/models/CredentialProfileOwner.d.ts +58 -0
  27. package/dist/esm/models/CredentialProfileOwner.js +62 -0
  28. package/dist/esm/models/CredentialProfileResponse.d.ts +51 -0
  29. package/dist/esm/models/CredentialProfileResponse.js +56 -0
  30. package/dist/esm/models/ProcessListResponse.d.ts +1 -1
  31. package/dist/esm/models/SandboxAiAccessResponse.d.ts +56 -0
  32. package/dist/esm/models/SandboxAiAccessResponse.js +59 -0
  33. package/dist/esm/models/SandboxAiUsage.d.ts +64 -0
  34. package/dist/esm/models/SandboxAiUsage.js +65 -0
  35. package/dist/esm/models/SandboxAiUsageResponse.d.ts +88 -0
  36. package/dist/esm/models/SandboxAiUsageResponse.js +81 -0
  37. package/dist/esm/models/SandboxEnvironment.d.ts +13 -1
  38. package/dist/esm/models/SandboxEnvironment.js +4 -0
  39. package/dist/esm/models/SetCredentialKeyRequest.d.ts +32 -0
  40. package/dist/esm/models/SetCredentialKeyRequest.js +43 -0
  41. package/dist/esm/models/SetCustomApiRequest.d.ts +38 -0
  42. package/dist/esm/models/SetCustomApiRequest.js +47 -0
  43. package/dist/esm/models/SetSandboxAiAccessRequest.d.ts +32 -0
  44. package/dist/esm/models/SetSandboxAiAccessRequest.js +43 -0
  45. package/dist/esm/models/UpdateAiProxyRequest.d.ts +32 -0
  46. package/dist/esm/models/UpdateAiProxyRequest.js +43 -0
  47. package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +38 -0
  48. package/dist/esm/models/UpdateCredentialProfileRequest.js +43 -0
  49. package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +12 -0
  50. package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +4 -0
  51. package/dist/esm/models/index.d.ts +20 -0
  52. package/dist/esm/models/index.js +20 -0
  53. package/dist/models/AccountAiUsageResponse.d.ts +83 -0
  54. package/dist/models/AccountAiUsageResponse.js +85 -0
  55. package/dist/models/AiProxySettings.d.ts +81 -0
  56. package/dist/models/AiProxySettings.js +83 -0
  57. package/dist/models/AiProxySettingsAllOfPricing.d.ts +38 -0
  58. package/dist/models/AiProxySettingsAllOfPricing.js +54 -0
  59. package/dist/models/AiUsageRow.d.ts +80 -0
  60. package/dist/models/AiUsageRow.js +82 -0
  61. package/dist/models/AiUsageTotals.d.ts +62 -0
  62. package/dist/models/AiUsageTotals.js +70 -0
  63. package/dist/models/CreateCredentialProfileRequest.d.ts +44 -0
  64. package/dist/models/CreateCredentialProfileRequest.js +54 -0
  65. package/dist/models/CredentialId.d.ts +36 -0
  66. package/dist/models/CredentialId.js +62 -0
  67. package/dist/models/CredentialProfile.d.ts +82 -0
  68. package/dist/models/CredentialProfile.js +84 -0
  69. package/dist/models/CredentialProfileDeletedResponse.d.ts +44 -0
  70. package/dist/models/CredentialProfileDeletedResponse.js +58 -0
  71. package/dist/models/CredentialProfileListResponse.d.ts +45 -0
  72. package/dist/models/CredentialProfileListResponse.js +59 -0
  73. package/dist/models/CredentialProfileOwner.d.ts +58 -0
  74. package/dist/models/CredentialProfileOwner.js +70 -0
  75. package/dist/models/CredentialProfileResponse.d.ts +51 -0
  76. package/dist/models/CredentialProfileResponse.js +63 -0
  77. package/dist/models/ProcessListResponse.d.ts +1 -1
  78. package/dist/models/SandboxAiAccessResponse.d.ts +56 -0
  79. package/dist/models/SandboxAiAccessResponse.js +66 -0
  80. package/dist/models/SandboxAiUsage.d.ts +64 -0
  81. package/dist/models/SandboxAiUsage.js +72 -0
  82. package/dist/models/SandboxAiUsageResponse.d.ts +88 -0
  83. package/dist/models/SandboxAiUsageResponse.js +88 -0
  84. package/dist/models/SandboxEnvironment.d.ts +13 -1
  85. package/dist/models/SandboxEnvironment.js +4 -0
  86. package/dist/models/SetCredentialKeyRequest.d.ts +32 -0
  87. package/dist/models/SetCredentialKeyRequest.js +50 -0
  88. package/dist/models/SetCustomApiRequest.d.ts +38 -0
  89. package/dist/models/SetCustomApiRequest.js +54 -0
  90. package/dist/models/SetSandboxAiAccessRequest.d.ts +32 -0
  91. package/dist/models/SetSandboxAiAccessRequest.js +50 -0
  92. package/dist/models/UpdateAiProxyRequest.d.ts +32 -0
  93. package/dist/models/UpdateAiProxyRequest.js +50 -0
  94. package/dist/models/UpdateCredentialProfileRequest.d.ts +38 -0
  95. package/dist/models/UpdateCredentialProfileRequest.js +50 -0
  96. package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +12 -0
  97. package/dist/models/UpdateSandboxEnvironmentRequest.js +4 -0
  98. package/dist/models/index.d.ts +20 -0
  99. package/dist/models/index.js +20 -0
  100. package/docs/AccountAiUsageResponse.md +48 -0
  101. package/docs/AiProxySettings.md +48 -0
  102. package/docs/AiProxySettingsAllOfPricing.md +34 -0
  103. package/docs/AiUsageRow.md +48 -0
  104. package/docs/AiUsageTotals.md +43 -0
  105. package/docs/BoatApi.md +1285 -234
  106. package/docs/CreateCredentialProfileRequest.md +36 -0
  107. package/docs/CredentialId.md +31 -0
  108. package/docs/CredentialProfile.md +49 -0
  109. package/docs/CredentialProfileDeletedResponse.md +36 -0
  110. package/docs/CredentialProfileListResponse.md +36 -0
  111. package/docs/CredentialProfileOwner.md +38 -0
  112. package/docs/CredentialProfileResponse.md +38 -0
  113. package/docs/SandboxAiAccessResponse.md +40 -0
  114. package/docs/SandboxAiUsage.md +42 -0
  115. package/docs/SandboxAiUsageResponse.md +50 -0
  116. package/docs/SandboxEnvironment.md +4 -0
  117. package/docs/SetCredentialKeyRequest.md +32 -0
  118. package/docs/SetCustomApiRequest.md +34 -0
  119. package/docs/SetSandboxAiAccessRequest.md +32 -0
  120. package/docs/UpdateAiProxyRequest.md +32 -0
  121. package/docs/UpdateCredentialProfileRequest.md +34 -0
  122. package/docs/UpdateSandboxEnvironmentRequest.md +4 -0
  123. package/package.json +1 -1
  124. package/src/apis/BoatApi.ts +1013 -13
  125. package/src/models/AccountAiUsageResponse.ts +160 -0
  126. package/src/models/AiProxySettings.ts +146 -0
  127. package/src/models/AiProxySettingsAllOfPricing.ts +75 -0
  128. package/src/models/AiUsageRow.ts +138 -0
  129. package/src/models/AiUsageTotals.ts +111 -0
  130. package/src/models/CreateCredentialProfileRequest.ts +82 -0
  131. package/src/models/CredentialId.ts +64 -0
  132. package/src/models/CredentialProfile.ts +153 -0
  133. package/src/models/CredentialProfileDeletedResponse.ts +84 -0
  134. package/src/models/CredentialProfileListResponse.ts +92 -0
  135. package/src/models/CredentialProfileOwner.ts +104 -0
  136. package/src/models/CredentialProfileResponse.ts +101 -0
  137. package/src/models/ProcessListResponse.ts +1 -1
  138. package/src/models/SandboxAiAccessResponse.ts +102 -0
  139. package/src/models/SandboxAiUsage.ts +126 -0
  140. package/src/models/SandboxAiUsageResponse.ts +162 -0
  141. package/src/models/SandboxEnvironment.ts +17 -1
  142. package/src/models/SetCredentialKeyRequest.ts +66 -0
  143. package/src/models/SetCustomApiRequest.ts +75 -0
  144. package/src/models/SetSandboxAiAccessRequest.ts +66 -0
  145. package/src/models/UpdateAiProxyRequest.ts +66 -0
  146. package/src/models/UpdateCredentialProfileRequest.ts +73 -0
  147. package/src/models/UpdateSandboxEnvironmentRequest.ts +16 -0
  148. package/src/models/index.ts +20 -0
@@ -0,0 +1,51 @@
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
+ import type { CredentialProfile } from './CredentialProfile';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface CredentialProfileResponse
17
+ */
18
+ export interface CredentialProfileResponse {
19
+ /**
20
+ *
21
+ * @type {boolean}
22
+ * @memberof CredentialProfileResponse
23
+ */
24
+ ok: boolean;
25
+ /**
26
+ * Stable success envelope discriminator added by v1.
27
+ * @type {string}
28
+ * @memberof CredentialProfileResponse
29
+ */
30
+ type: string;
31
+ /**
32
+ *
33
+ * @type {boolean}
34
+ * @memberof CredentialProfileResponse
35
+ */
36
+ success: boolean;
37
+ /**
38
+ *
39
+ * @type {CredentialProfile}
40
+ * @memberof CredentialProfileResponse
41
+ */
42
+ profile: CredentialProfile;
43
+ }
44
+ /**
45
+ * Check if a given object implements the CredentialProfileResponse interface.
46
+ */
47
+ export declare function instanceOfCredentialProfileResponse(value: object): value is CredentialProfileResponse;
48
+ export declare function CredentialProfileResponseFromJSON(json: any): CredentialProfileResponse;
49
+ export declare function CredentialProfileResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CredentialProfileResponse;
50
+ export declare function CredentialProfileResponseToJSON(json: any): CredentialProfileResponse;
51
+ export declare function CredentialProfileResponseToJSONTyped(value?: CredentialProfileResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,56 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { CredentialProfileFromJSON, CredentialProfileToJSON, } from './CredentialProfile';
15
+ /**
16
+ * Check if a given object implements the CredentialProfileResponse interface.
17
+ */
18
+ export function instanceOfCredentialProfileResponse(value) {
19
+ if (!('ok' in value) || value['ok'] === undefined)
20
+ return false;
21
+ if (!('type' in value) || value['type'] === undefined)
22
+ return false;
23
+ if (!('success' in value) || value['success'] === undefined)
24
+ return false;
25
+ if (!('profile' in value) || value['profile'] === undefined)
26
+ return false;
27
+ return true;
28
+ }
29
+ export function CredentialProfileResponseFromJSON(json) {
30
+ return CredentialProfileResponseFromJSONTyped(json, false);
31
+ }
32
+ export function CredentialProfileResponseFromJSONTyped(json, ignoreDiscriminator) {
33
+ if (json == null) {
34
+ return json;
35
+ }
36
+ return {
37
+ 'ok': json['ok'],
38
+ 'type': json['type'],
39
+ 'success': json['success'],
40
+ 'profile': CredentialProfileFromJSON(json['profile']),
41
+ };
42
+ }
43
+ export function CredentialProfileResponseToJSON(json) {
44
+ return CredentialProfileResponseToJSONTyped(json, false);
45
+ }
46
+ export function CredentialProfileResponseToJSONTyped(value, ignoreDiscriminator = false) {
47
+ if (value == null) {
48
+ return value;
49
+ }
50
+ return {
51
+ 'ok': value['ok'],
52
+ 'type': value['type'],
53
+ 'success': value['success'],
54
+ 'profile': CredentialProfileToJSON(value['profile']),
55
+ };
56
+ }
@@ -41,7 +41,7 @@ export interface ProcessListResponse {
41
41
  */
42
42
  sampledAt: Date | null;
43
43
  /**
44
- * Processes on the sandbox. The list holds at most 500
44
+ * Processes on the sandbox. The list holds at most 500, busiest first.
45
45
  * @type {number}
46
46
  * @memberof ProcessListResponse
47
47
  */
@@ -0,0 +1,56 @@
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
+ *
14
+ * @export
15
+ * @interface SandboxAiAccessResponse
16
+ */
17
+ export interface SandboxAiAccessResponse {
18
+ /**
19
+ *
20
+ * @type {boolean}
21
+ * @memberof SandboxAiAccessResponse
22
+ */
23
+ ok: boolean;
24
+ /**
25
+ * Stable success envelope discriminator added by v1.
26
+ * @type {string}
27
+ * @memberof SandboxAiAccessResponse
28
+ */
29
+ type: string;
30
+ /**
31
+ *
32
+ * @type {boolean}
33
+ * @memberof SandboxAiAccessResponse
34
+ */
35
+ success: boolean;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof SandboxAiAccessResponse
40
+ */
41
+ sandboxId: string;
42
+ /**
43
+ *
44
+ * @type {boolean}
45
+ * @memberof SandboxAiAccessResponse
46
+ */
47
+ blocked: boolean;
48
+ }
49
+ /**
50
+ * Check if a given object implements the SandboxAiAccessResponse interface.
51
+ */
52
+ export declare function instanceOfSandboxAiAccessResponse(value: object): value is SandboxAiAccessResponse;
53
+ export declare function SandboxAiAccessResponseFromJSON(json: any): SandboxAiAccessResponse;
54
+ export declare function SandboxAiAccessResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxAiAccessResponse;
55
+ export declare function SandboxAiAccessResponseToJSON(json: any): SandboxAiAccessResponse;
56
+ export declare function SandboxAiAccessResponseToJSONTyped(value?: SandboxAiAccessResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,59 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the SandboxAiAccessResponse interface.
16
+ */
17
+ export function instanceOfSandboxAiAccessResponse(value) {
18
+ if (!('ok' in value) || value['ok'] === undefined)
19
+ return false;
20
+ if (!('type' in value) || value['type'] === undefined)
21
+ return false;
22
+ if (!('success' in value) || value['success'] === undefined)
23
+ return false;
24
+ if (!('sandboxId' in value) || value['sandboxId'] === undefined)
25
+ return false;
26
+ if (!('blocked' in value) || value['blocked'] === undefined)
27
+ return false;
28
+ return true;
29
+ }
30
+ export function SandboxAiAccessResponseFromJSON(json) {
31
+ return SandboxAiAccessResponseFromJSONTyped(json, false);
32
+ }
33
+ export function SandboxAiAccessResponseFromJSONTyped(json, ignoreDiscriminator) {
34
+ if (json == null) {
35
+ return json;
36
+ }
37
+ return {
38
+ 'ok': json['ok'],
39
+ 'type': json['type'],
40
+ 'success': json['success'],
41
+ 'sandboxId': json['sandboxId'],
42
+ 'blocked': json['blocked'],
43
+ };
44
+ }
45
+ export function SandboxAiAccessResponseToJSON(json) {
46
+ return SandboxAiAccessResponseToJSONTyped(json, false);
47
+ }
48
+ export function SandboxAiAccessResponseToJSONTyped(value, ignoreDiscriminator = false) {
49
+ if (value == null) {
50
+ return value;
51
+ }
52
+ return {
53
+ 'ok': value['ok'],
54
+ 'type': value['type'],
55
+ 'success': value['success'],
56
+ 'sandboxId': value['sandboxId'],
57
+ 'blocked': value['blocked'],
58
+ };
59
+ }
@@ -0,0 +1,64 @@
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
+ import type { AiUsageRow } from './AiUsageRow';
13
+ import type { AiUsageTotals } from './AiUsageTotals';
14
+ /**
15
+ *
16
+ * @export
17
+ * @interface SandboxAiUsage
18
+ */
19
+ export interface SandboxAiUsage {
20
+ /**
21
+ *
22
+ * @type {string}
23
+ * @memberof SandboxAiUsage
24
+ */
25
+ sandboxId: string | null;
26
+ /**
27
+ *
28
+ * @type {string}
29
+ * @memberof SandboxAiUsage
30
+ */
31
+ name: string | null;
32
+ /**
33
+ *
34
+ * @type {boolean}
35
+ * @memberof SandboxAiUsage
36
+ */
37
+ blocked: boolean;
38
+ /**
39
+ *
40
+ * @type {Array<AiUsageRow>}
41
+ * @memberof SandboxAiUsage
42
+ */
43
+ usage: Array<AiUsageRow>;
44
+ /**
45
+ *
46
+ * @type {AiUsageTotals}
47
+ * @memberof SandboxAiUsage
48
+ */
49
+ totals: AiUsageTotals;
50
+ /**
51
+ * Request charge for the period, at the price per 1,000 requests.
52
+ * @type {number}
53
+ * @memberof SandboxAiUsage
54
+ */
55
+ dollars: number;
56
+ }
57
+ /**
58
+ * Check if a given object implements the SandboxAiUsage interface.
59
+ */
60
+ export declare function instanceOfSandboxAiUsage(value: object): value is SandboxAiUsage;
61
+ export declare function SandboxAiUsageFromJSON(json: any): SandboxAiUsage;
62
+ export declare function SandboxAiUsageFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxAiUsage;
63
+ export declare function SandboxAiUsageToJSON(json: any): SandboxAiUsage;
64
+ export declare function SandboxAiUsageToJSONTyped(value?: SandboxAiUsage | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,65 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { AiUsageRowFromJSON, AiUsageRowToJSON, } from './AiUsageRow';
15
+ import { AiUsageTotalsFromJSON, AiUsageTotalsToJSON, } from './AiUsageTotals';
16
+ /**
17
+ * Check if a given object implements the SandboxAiUsage interface.
18
+ */
19
+ export function instanceOfSandboxAiUsage(value) {
20
+ if (!('sandboxId' in value) || value['sandboxId'] === undefined)
21
+ return false;
22
+ if (!('name' in value) || value['name'] === undefined)
23
+ return false;
24
+ if (!('blocked' in value) || value['blocked'] === undefined)
25
+ return false;
26
+ if (!('usage' in value) || value['usage'] === undefined)
27
+ return false;
28
+ if (!('totals' in value) || value['totals'] === undefined)
29
+ return false;
30
+ if (!('dollars' in value) || value['dollars'] === undefined)
31
+ return false;
32
+ return true;
33
+ }
34
+ export function SandboxAiUsageFromJSON(json) {
35
+ return SandboxAiUsageFromJSONTyped(json, false);
36
+ }
37
+ export function SandboxAiUsageFromJSONTyped(json, ignoreDiscriminator) {
38
+ if (json == null) {
39
+ return json;
40
+ }
41
+ return {
42
+ 'sandboxId': json['sandboxId'],
43
+ 'name': json['name'],
44
+ 'blocked': json['blocked'],
45
+ 'usage': (json['usage'].map(AiUsageRowFromJSON)),
46
+ 'totals': AiUsageTotalsFromJSON(json['totals']),
47
+ 'dollars': json['dollars'],
48
+ };
49
+ }
50
+ export function SandboxAiUsageToJSON(json) {
51
+ return SandboxAiUsageToJSONTyped(json, false);
52
+ }
53
+ export function SandboxAiUsageToJSONTyped(value, ignoreDiscriminator = false) {
54
+ if (value == null) {
55
+ return value;
56
+ }
57
+ return {
58
+ 'sandboxId': value['sandboxId'],
59
+ 'name': value['name'],
60
+ 'blocked': value['blocked'],
61
+ 'usage': (value['usage'].map(AiUsageRowToJSON)),
62
+ 'totals': AiUsageTotalsToJSON(value['totals']),
63
+ 'dollars': value['dollars'],
64
+ };
65
+ }
@@ -0,0 +1,88 @@
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
+ import type { AiUsageRow } from './AiUsageRow';
13
+ import type { AiUsageTotals } from './AiUsageTotals';
14
+ /**
15
+ *
16
+ * @export
17
+ * @interface SandboxAiUsageResponse
18
+ */
19
+ export interface SandboxAiUsageResponse {
20
+ /**
21
+ *
22
+ * @type {boolean}
23
+ * @memberof SandboxAiUsageResponse
24
+ */
25
+ ok: boolean;
26
+ /**
27
+ * Stable success envelope discriminator added by v1.
28
+ * @type {string}
29
+ * @memberof SandboxAiUsageResponse
30
+ */
31
+ type: string;
32
+ /**
33
+ *
34
+ * @type {string}
35
+ * @memberof SandboxAiUsageResponse
36
+ */
37
+ sandboxId: string;
38
+ /**
39
+ * True when the proxy refuses this sandbox's placeholders.
40
+ * @type {boolean}
41
+ * @memberof SandboxAiUsageResponse
42
+ */
43
+ blocked: boolean;
44
+ /**
45
+ * True when the sandbox holds placeholders, not real keys.
46
+ * @type {boolean}
47
+ * @memberof SandboxAiUsageResponse
48
+ */
49
+ proxied: boolean;
50
+ /**
51
+ * The profile the sandbox uses. Null means its owner's default.
52
+ * @type {string}
53
+ * @memberof SandboxAiUsageResponse
54
+ */
55
+ credentialProfileId: string | null;
56
+ /**
57
+ *
58
+ * @type {Date}
59
+ * @memberof SandboxAiUsageResponse
60
+ */
61
+ since: Date;
62
+ /**
63
+ *
64
+ * @type {Array<AiUsageRow>}
65
+ * @memberof SandboxAiUsageResponse
66
+ */
67
+ usage: Array<AiUsageRow>;
68
+ /**
69
+ *
70
+ * @type {AiUsageTotals}
71
+ * @memberof SandboxAiUsageResponse
72
+ */
73
+ totals: AiUsageTotals;
74
+ /**
75
+ *
76
+ * @type {number}
77
+ * @memberof SandboxAiUsageResponse
78
+ */
79
+ dollars: number;
80
+ }
81
+ /**
82
+ * Check if a given object implements the SandboxAiUsageResponse interface.
83
+ */
84
+ export declare function instanceOfSandboxAiUsageResponse(value: object): value is SandboxAiUsageResponse;
85
+ export declare function SandboxAiUsageResponseFromJSON(json: any): SandboxAiUsageResponse;
86
+ export declare function SandboxAiUsageResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxAiUsageResponse;
87
+ export declare function SandboxAiUsageResponseToJSON(json: any): SandboxAiUsageResponse;
88
+ export declare function SandboxAiUsageResponseToJSONTyped(value?: SandboxAiUsageResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,81 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { AiUsageRowFromJSON, AiUsageRowToJSON, } from './AiUsageRow';
15
+ import { AiUsageTotalsFromJSON, AiUsageTotalsToJSON, } from './AiUsageTotals';
16
+ /**
17
+ * Check if a given object implements the SandboxAiUsageResponse interface.
18
+ */
19
+ export function instanceOfSandboxAiUsageResponse(value) {
20
+ if (!('ok' in value) || value['ok'] === undefined)
21
+ return false;
22
+ if (!('type' in value) || value['type'] === undefined)
23
+ return false;
24
+ if (!('sandboxId' in value) || value['sandboxId'] === undefined)
25
+ return false;
26
+ if (!('blocked' in value) || value['blocked'] === undefined)
27
+ return false;
28
+ if (!('proxied' in value) || value['proxied'] === undefined)
29
+ return false;
30
+ if (!('credentialProfileId' in value) || value['credentialProfileId'] === undefined)
31
+ return false;
32
+ if (!('since' in value) || value['since'] === undefined)
33
+ return false;
34
+ if (!('usage' in value) || value['usage'] === undefined)
35
+ return false;
36
+ if (!('totals' in value) || value['totals'] === undefined)
37
+ return false;
38
+ if (!('dollars' in value) || value['dollars'] === undefined)
39
+ return false;
40
+ return true;
41
+ }
42
+ export function SandboxAiUsageResponseFromJSON(json) {
43
+ return SandboxAiUsageResponseFromJSONTyped(json, false);
44
+ }
45
+ export function SandboxAiUsageResponseFromJSONTyped(json, ignoreDiscriminator) {
46
+ if (json == null) {
47
+ return json;
48
+ }
49
+ return {
50
+ 'ok': json['ok'],
51
+ 'type': json['type'],
52
+ 'sandboxId': json['sandboxId'],
53
+ 'blocked': json['blocked'],
54
+ 'proxied': json['proxied'],
55
+ 'credentialProfileId': json['credentialProfileId'],
56
+ 'since': (new Date(json['since'])),
57
+ 'usage': (json['usage'].map(AiUsageRowFromJSON)),
58
+ 'totals': AiUsageTotalsFromJSON(json['totals']),
59
+ 'dollars': json['dollars'],
60
+ };
61
+ }
62
+ export function SandboxAiUsageResponseToJSON(json) {
63
+ return SandboxAiUsageResponseToJSONTyped(json, false);
64
+ }
65
+ export function SandboxAiUsageResponseToJSONTyped(value, ignoreDiscriminator = false) {
66
+ if (value == null) {
67
+ return value;
68
+ }
69
+ return {
70
+ 'ok': value['ok'],
71
+ 'type': value['type'],
72
+ 'sandboxId': value['sandboxId'],
73
+ 'blocked': value['blocked'],
74
+ 'proxied': value['proxied'],
75
+ 'credentialProfileId': value['credentialProfileId'],
76
+ 'since': value['since'].toISOString().substring(0, 10),
77
+ 'usage': (value['usage'].map(AiUsageRowToJSON)),
78
+ 'totals': AiUsageTotalsToJSON(value['totals']),
79
+ 'dollars': value['dollars'],
80
+ };
81
+ }
@@ -55,7 +55,7 @@ export interface SandboxEnvironment {
55
55
  */
56
56
  safetyAnsweredAt?: Date | null;
57
57
  /**
58
- * When true the environment passes nothing to a sandbox (repos, secrets, and all credentials withheld), overriding the fine-grained flags below. Use for sandboxes handed to third parties.
58
+ * When true the environment passes nothing to a sandbox (repos, secrets, and all credentials withheld), overriding the fine-grained flags below. Use for sandboxes handed to third parties. The one exception is `proxyAiCredentials`.
59
59
  * @type {boolean}
60
60
  * @memberof SandboxEnvironment
61
61
  */
@@ -84,6 +84,18 @@ export interface SandboxEnvironment {
84
84
  * @memberof SandboxEnvironment
85
85
  */
86
86
  passAgentsCredentials: boolean;
87
+ /**
88
+ * The AI credential profile the environment's sandboxes get. Null means the sandbox owner's default profile.
89
+ * @type {string}
90
+ * @memberof SandboxEnvironment
91
+ */
92
+ credentialProfileId?: string | null;
93
+ /**
94
+ * Only with `safeForThirdParties` true. The sandboxes still get AI credentials, as AI credentials proxy placeholders. Real keys never enter them.
95
+ * @type {boolean}
96
+ * @memberof SandboxEnvironment
97
+ */
98
+ proxyAiCredentials?: boolean;
87
99
  /**
88
100
  * The latest version's .env-style content. Treat as sensitive.
89
101
  * @type {string}
@@ -63,6 +63,8 @@ export function SandboxEnvironmentFromJSONTyped(json, ignoreDiscriminator) {
63
63
  'passSecrets': json['passSecrets'],
64
64
  'passSandboxCredentials': json['passSandboxCredentials'],
65
65
  'passAgentsCredentials': json['passAgentsCredentials'],
66
+ 'credentialProfileId': json['credentialProfileId'] == null ? undefined : json['credentialProfileId'],
67
+ 'proxyAiCredentials': json['proxyAiCredentials'] == null ? undefined : json['proxyAiCredentials'],
66
68
  'envContents': json['envContents'],
67
69
  'secretFiles': (json['secretFiles'].map(SecretFileFromJSON)),
68
70
  'selectedRepositories': json['selectedRepositories'] == null ? undefined : (json['selectedRepositories'].map(SelectedRepositoryFromJSON)),
@@ -88,6 +90,8 @@ export function SandboxEnvironmentToJSONTyped(value, ignoreDiscriminator = false
88
90
  'passSecrets': value['passSecrets'],
89
91
  'passSandboxCredentials': value['passSandboxCredentials'],
90
92
  'passAgentsCredentials': value['passAgentsCredentials'],
93
+ 'credentialProfileId': value['credentialProfileId'],
94
+ 'proxyAiCredentials': value['proxyAiCredentials'],
91
95
  'envContents': value['envContents'],
92
96
  'secretFiles': (value['secretFiles'].map(SecretFileToJSON)),
93
97
  'selectedRepositories': value['selectedRepositories'] == null ? undefined : (value['selectedRepositories'].map(SelectedRepositoryToJSON)),
@@ -0,0 +1,32 @@
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
+ *
14
+ * @export
15
+ * @interface SetCredentialKeyRequest
16
+ */
17
+ export interface SetCredentialKeyRequest {
18
+ /**
19
+ * The API key. Boat encrypts it at rest.
20
+ * @type {string}
21
+ * @memberof SetCredentialKeyRequest
22
+ */
23
+ value: string;
24
+ }
25
+ /**
26
+ * Check if a given object implements the SetCredentialKeyRequest interface.
27
+ */
28
+ export declare function instanceOfSetCredentialKeyRequest(value: object): value is SetCredentialKeyRequest;
29
+ export declare function SetCredentialKeyRequestFromJSON(json: any): SetCredentialKeyRequest;
30
+ export declare function SetCredentialKeyRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SetCredentialKeyRequest;
31
+ export declare function SetCredentialKeyRequestToJSON(json: any): SetCredentialKeyRequest;
32
+ export declare function SetCredentialKeyRequestToJSONTyped(value?: SetCredentialKeyRequest | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,43 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the SetCredentialKeyRequest interface.
16
+ */
17
+ export function instanceOfSetCredentialKeyRequest(value) {
18
+ if (!('value' in value) || value['value'] === undefined)
19
+ return false;
20
+ return true;
21
+ }
22
+ export function SetCredentialKeyRequestFromJSON(json) {
23
+ return SetCredentialKeyRequestFromJSONTyped(json, false);
24
+ }
25
+ export function SetCredentialKeyRequestFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'value': json['value'],
31
+ };
32
+ }
33
+ export function SetCredentialKeyRequestToJSON(json) {
34
+ return SetCredentialKeyRequestToJSONTyped(json, false);
35
+ }
36
+ export function SetCredentialKeyRequestToJSONTyped(value, ignoreDiscriminator = false) {
37
+ if (value == null) {
38
+ return value;
39
+ }
40
+ return {
41
+ 'value': value['value'],
42
+ };
43
+ }