@boatdev/sdk 1.9.5 → 1.9.7

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 (160) hide show
  1. package/.openapi-generator/FILES +44 -0
  2. package/dist/apis/BoatApi.d.ts +339 -3
  3. package/dist/apis/BoatApi.js +865 -15
  4. package/dist/esm/apis/BoatApi.d.ts +339 -3
  5. package/dist/esm/apis/BoatApi.js +865 -15
  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/CredentialAccount.d.ts +50 -0
  19. package/dist/esm/models/CredentialAccount.js +53 -0
  20. package/dist/esm/models/CredentialAccountsResponse.d.ts +64 -0
  21. package/dist/esm/models/CredentialAccountsResponse.js +65 -0
  22. package/dist/esm/models/CredentialId.d.ts +36 -0
  23. package/dist/esm/models/CredentialId.js +54 -0
  24. package/dist/esm/models/CredentialProfile.d.ts +91 -0
  25. package/dist/esm/models/CredentialProfile.js +79 -0
  26. package/dist/esm/models/CredentialProfileDeletedResponse.d.ts +44 -0
  27. package/dist/esm/models/CredentialProfileDeletedResponse.js +51 -0
  28. package/dist/esm/models/CredentialProfileListResponse.d.ts +45 -0
  29. package/dist/esm/models/CredentialProfileListResponse.js +52 -0
  30. package/dist/esm/models/CredentialProfileOwner.d.ts +58 -0
  31. package/dist/esm/models/CredentialProfileOwner.js +62 -0
  32. package/dist/esm/models/CredentialProfileResponse.d.ts +51 -0
  33. package/dist/esm/models/CredentialProfileResponse.js +56 -0
  34. package/dist/esm/models/ProcessListResponse.d.ts +1 -1
  35. package/dist/esm/models/SandboxAiAccessResponse.d.ts +56 -0
  36. package/dist/esm/models/SandboxAiAccessResponse.js +59 -0
  37. package/dist/esm/models/SandboxAiUsage.d.ts +64 -0
  38. package/dist/esm/models/SandboxAiUsage.js +65 -0
  39. package/dist/esm/models/SandboxAiUsageResponse.d.ts +88 -0
  40. package/dist/esm/models/SandboxAiUsageResponse.js +81 -0
  41. package/dist/esm/models/SandboxEnvironment.d.ts +13 -1
  42. package/dist/esm/models/SandboxEnvironment.js +4 -0
  43. package/dist/esm/models/SetCredentialKeyRequest.d.ts +38 -0
  44. package/dist/esm/models/SetCredentialKeyRequest.js +45 -0
  45. package/dist/esm/models/SetCustomApiRequest.d.ts +38 -0
  46. package/dist/esm/models/SetCustomApiRequest.js +47 -0
  47. package/dist/esm/models/SetSandboxAiAccessRequest.d.ts +32 -0
  48. package/dist/esm/models/SetSandboxAiAccessRequest.js +43 -0
  49. package/dist/esm/models/UpdateAiProxyRequest.d.ts +32 -0
  50. package/dist/esm/models/UpdateAiProxyRequest.js +43 -0
  51. package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +38 -0
  52. package/dist/esm/models/UpdateCredentialProfileRequest.js +43 -0
  53. package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +12 -0
  54. package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +4 -0
  55. package/dist/esm/models/index.d.ts +22 -0
  56. package/dist/esm/models/index.js +22 -0
  57. package/dist/models/AccountAiUsageResponse.d.ts +83 -0
  58. package/dist/models/AccountAiUsageResponse.js +85 -0
  59. package/dist/models/AiProxySettings.d.ts +81 -0
  60. package/dist/models/AiProxySettings.js +83 -0
  61. package/dist/models/AiProxySettingsAllOfPricing.d.ts +38 -0
  62. package/dist/models/AiProxySettingsAllOfPricing.js +54 -0
  63. package/dist/models/AiUsageRow.d.ts +80 -0
  64. package/dist/models/AiUsageRow.js +82 -0
  65. package/dist/models/AiUsageTotals.d.ts +62 -0
  66. package/dist/models/AiUsageTotals.js +70 -0
  67. package/dist/models/CreateCredentialProfileRequest.d.ts +44 -0
  68. package/dist/models/CreateCredentialProfileRequest.js +54 -0
  69. package/dist/models/CredentialAccount.d.ts +50 -0
  70. package/dist/models/CredentialAccount.js +60 -0
  71. package/dist/models/CredentialAccountsResponse.d.ts +64 -0
  72. package/dist/models/CredentialAccountsResponse.js +72 -0
  73. package/dist/models/CredentialId.d.ts +36 -0
  74. package/dist/models/CredentialId.js +62 -0
  75. package/dist/models/CredentialProfile.d.ts +91 -0
  76. package/dist/models/CredentialProfile.js +86 -0
  77. package/dist/models/CredentialProfileDeletedResponse.d.ts +44 -0
  78. package/dist/models/CredentialProfileDeletedResponse.js +58 -0
  79. package/dist/models/CredentialProfileListResponse.d.ts +45 -0
  80. package/dist/models/CredentialProfileListResponse.js +59 -0
  81. package/dist/models/CredentialProfileOwner.d.ts +58 -0
  82. package/dist/models/CredentialProfileOwner.js +70 -0
  83. package/dist/models/CredentialProfileResponse.d.ts +51 -0
  84. package/dist/models/CredentialProfileResponse.js +63 -0
  85. package/dist/models/ProcessListResponse.d.ts +1 -1
  86. package/dist/models/SandboxAiAccessResponse.d.ts +56 -0
  87. package/dist/models/SandboxAiAccessResponse.js +66 -0
  88. package/dist/models/SandboxAiUsage.d.ts +64 -0
  89. package/dist/models/SandboxAiUsage.js +72 -0
  90. package/dist/models/SandboxAiUsageResponse.d.ts +88 -0
  91. package/dist/models/SandboxAiUsageResponse.js +88 -0
  92. package/dist/models/SandboxEnvironment.d.ts +13 -1
  93. package/dist/models/SandboxEnvironment.js +4 -0
  94. package/dist/models/SetCredentialKeyRequest.d.ts +38 -0
  95. package/dist/models/SetCredentialKeyRequest.js +52 -0
  96. package/dist/models/SetCustomApiRequest.d.ts +38 -0
  97. package/dist/models/SetCustomApiRequest.js +54 -0
  98. package/dist/models/SetSandboxAiAccessRequest.d.ts +32 -0
  99. package/dist/models/SetSandboxAiAccessRequest.js +50 -0
  100. package/dist/models/UpdateAiProxyRequest.d.ts +32 -0
  101. package/dist/models/UpdateAiProxyRequest.js +50 -0
  102. package/dist/models/UpdateCredentialProfileRequest.d.ts +38 -0
  103. package/dist/models/UpdateCredentialProfileRequest.js +50 -0
  104. package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +12 -0
  105. package/dist/models/UpdateSandboxEnvironmentRequest.js +4 -0
  106. package/dist/models/index.d.ts +22 -0
  107. package/dist/models/index.js +22 -0
  108. package/docs/AccountAiUsageResponse.md +48 -0
  109. package/docs/AiProxySettings.md +48 -0
  110. package/docs/AiProxySettingsAllOfPricing.md +34 -0
  111. package/docs/AiUsageRow.md +48 -0
  112. package/docs/AiUsageTotals.md +43 -0
  113. package/docs/BoatApi.md +1588 -212
  114. package/docs/CreateCredentialProfileRequest.md +36 -0
  115. package/docs/CredentialAccount.md +39 -0
  116. package/docs/CredentialAccountsResponse.md +42 -0
  117. package/docs/CredentialId.md +31 -0
  118. package/docs/CredentialProfile.md +51 -0
  119. package/docs/CredentialProfileDeletedResponse.md +36 -0
  120. package/docs/CredentialProfileListResponse.md +36 -0
  121. package/docs/CredentialProfileOwner.md +38 -0
  122. package/docs/CredentialProfileResponse.md +38 -0
  123. package/docs/SandboxAiAccessResponse.md +40 -0
  124. package/docs/SandboxAiUsage.md +42 -0
  125. package/docs/SandboxAiUsageResponse.md +50 -0
  126. package/docs/SandboxEnvironment.md +4 -0
  127. package/docs/SetCredentialKeyRequest.md +34 -0
  128. package/docs/SetCustomApiRequest.md +34 -0
  129. package/docs/SetSandboxAiAccessRequest.md +32 -0
  130. package/docs/UpdateAiProxyRequest.md +32 -0
  131. package/docs/UpdateCredentialProfileRequest.md +34 -0
  132. package/docs/UpdateSandboxEnvironmentRequest.md +4 -0
  133. package/package.json +1 -1
  134. package/src/apis/BoatApi.ts +1440 -133
  135. package/src/models/AccountAiUsageResponse.ts +160 -0
  136. package/src/models/AiProxySettings.ts +146 -0
  137. package/src/models/AiProxySettingsAllOfPricing.ts +75 -0
  138. package/src/models/AiUsageRow.ts +138 -0
  139. package/src/models/AiUsageTotals.ts +111 -0
  140. package/src/models/CreateCredentialProfileRequest.ts +82 -0
  141. package/src/models/CredentialAccount.ts +92 -0
  142. package/src/models/CredentialAccountsResponse.ts +128 -0
  143. package/src/models/CredentialId.ts +64 -0
  144. package/src/models/CredentialProfile.ts +168 -0
  145. package/src/models/CredentialProfileDeletedResponse.ts +84 -0
  146. package/src/models/CredentialProfileListResponse.ts +92 -0
  147. package/src/models/CredentialProfileOwner.ts +104 -0
  148. package/src/models/CredentialProfileResponse.ts +101 -0
  149. package/src/models/ProcessListResponse.ts +1 -1
  150. package/src/models/SandboxAiAccessResponse.ts +102 -0
  151. package/src/models/SandboxAiUsage.ts +126 -0
  152. package/src/models/SandboxAiUsageResponse.ts +162 -0
  153. package/src/models/SandboxEnvironment.ts +17 -1
  154. package/src/models/SetCredentialKeyRequest.ts +74 -0
  155. package/src/models/SetCustomApiRequest.ts +75 -0
  156. package/src/models/SetSandboxAiAccessRequest.ts +66 -0
  157. package/src/models/UpdateAiProxyRequest.ts +66 -0
  158. package/src/models/UpdateCredentialProfileRequest.ts +73 -0
  159. package/src/models/UpdateSandboxEnvironmentRequest.ts +16 -0
  160. package/src/models/index.ts +22 -0
@@ -0,0 +1,160 @@
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 { SandboxAiUsage } from './SandboxAiUsage';
17
+ import {
18
+ SandboxAiUsageFromJSON,
19
+ SandboxAiUsageFromJSONTyped,
20
+ SandboxAiUsageToJSON,
21
+ SandboxAiUsageToJSONTyped,
22
+ } from './SandboxAiUsage';
23
+ import type { AiUsageRow } from './AiUsageRow';
24
+ import {
25
+ AiUsageRowFromJSON,
26
+ AiUsageRowFromJSONTyped,
27
+ AiUsageRowToJSON,
28
+ AiUsageRowToJSONTyped,
29
+ } from './AiUsageRow';
30
+ import type { AiUsageTotals } from './AiUsageTotals';
31
+ import {
32
+ AiUsageTotalsFromJSON,
33
+ AiUsageTotalsFromJSONTyped,
34
+ AiUsageTotalsToJSON,
35
+ AiUsageTotalsToJSONTyped,
36
+ } from './AiUsageTotals';
37
+
38
+ /**
39
+ *
40
+ * @export
41
+ * @interface AccountAiUsageResponse
42
+ */
43
+ export interface AccountAiUsageResponse {
44
+ /**
45
+ *
46
+ * @type {boolean}
47
+ * @memberof AccountAiUsageResponse
48
+ */
49
+ ok: boolean;
50
+ /**
51
+ * Stable success envelope discriminator added by v1.
52
+ * @type {string}
53
+ * @memberof AccountAiUsageResponse
54
+ */
55
+ type: string;
56
+ /**
57
+ * The wallet the usage is charged to. Null with `profile`.
58
+ * @type {string}
59
+ * @memberof AccountAiUsageResponse
60
+ */
61
+ accountId: string | null;
62
+ /**
63
+ * The credential profile whose requests are counted. Null without `profile`.
64
+ * @type {string}
65
+ * @memberof AccountAiUsageResponse
66
+ */
67
+ profileId: string | null;
68
+ /**
69
+ * First UTC day included.
70
+ * @type {Date}
71
+ * @memberof AccountAiUsageResponse
72
+ */
73
+ since: Date;
74
+ /**
75
+ *
76
+ * @type {Array<SandboxAiUsage>}
77
+ * @memberof AccountAiUsageResponse
78
+ */
79
+ sandboxes: Array<SandboxAiUsage>;
80
+ /**
81
+ *
82
+ * @type {Array<AiUsageRow>}
83
+ * @memberof AccountAiUsageResponse
84
+ */
85
+ usage: Array<AiUsageRow>;
86
+ /**
87
+ *
88
+ * @type {AiUsageTotals}
89
+ * @memberof AccountAiUsageResponse
90
+ */
91
+ totals: AiUsageTotals;
92
+ /**
93
+ *
94
+ * @type {number}
95
+ * @memberof AccountAiUsageResponse
96
+ */
97
+ dollars: number;
98
+ }
99
+
100
+ /**
101
+ * Check if a given object implements the AccountAiUsageResponse interface.
102
+ */
103
+ export function instanceOfAccountAiUsageResponse(value: object): value is AccountAiUsageResponse {
104
+ if (!('ok' in value) || value['ok'] === undefined) return false;
105
+ if (!('type' in value) || value['type'] === undefined) return false;
106
+ if (!('accountId' in value) || value['accountId'] === undefined) return false;
107
+ if (!('profileId' in value) || value['profileId'] === undefined) return false;
108
+ if (!('since' in value) || value['since'] === undefined) return false;
109
+ if (!('sandboxes' in value) || value['sandboxes'] === 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 AccountAiUsageResponseFromJSON(json: any): AccountAiUsageResponse {
117
+ return AccountAiUsageResponseFromJSONTyped(json, false);
118
+ }
119
+
120
+ export function AccountAiUsageResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountAiUsageResponse {
121
+ if (json == null) {
122
+ return json;
123
+ }
124
+ return {
125
+
126
+ 'ok': json['ok'],
127
+ 'type': json['type'],
128
+ 'accountId': json['accountId'],
129
+ 'profileId': json['profileId'],
130
+ 'since': (new Date(json['since'])),
131
+ 'sandboxes': ((json['sandboxes'] as Array<any>).map(SandboxAiUsageFromJSON)),
132
+ 'usage': ((json['usage'] as Array<any>).map(AiUsageRowFromJSON)),
133
+ 'totals': AiUsageTotalsFromJSON(json['totals']),
134
+ 'dollars': json['dollars'],
135
+ };
136
+ }
137
+
138
+ export function AccountAiUsageResponseToJSON(json: any): AccountAiUsageResponse {
139
+ return AccountAiUsageResponseToJSONTyped(json, false);
140
+ }
141
+
142
+ export function AccountAiUsageResponseToJSONTyped(value?: AccountAiUsageResponse | null, ignoreDiscriminator: boolean = false): any {
143
+ if (value == null) {
144
+ return value;
145
+ }
146
+
147
+ return {
148
+
149
+ 'ok': value['ok'],
150
+ 'type': value['type'],
151
+ 'accountId': value['accountId'],
152
+ 'profileId': value['profileId'],
153
+ 'since': value['since'].toISOString().substring(0,10),
154
+ 'sandboxes': ((value['sandboxes'] as Array<any>).map(SandboxAiUsageToJSON)),
155
+ 'usage': ((value['usage'] as Array<any>).map(AiUsageRowToJSON)),
156
+ 'totals': AiUsageTotalsToJSON(value['totals']),
157
+ 'dollars': value['dollars'],
158
+ };
159
+ }
160
+
@@ -0,0 +1,146 @@
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 { AiProxySettingsAllOfPricing } from './AiProxySettingsAllOfPricing';
17
+ import {
18
+ AiProxySettingsAllOfPricingFromJSON,
19
+ AiProxySettingsAllOfPricingFromJSONTyped,
20
+ AiProxySettingsAllOfPricingToJSON,
21
+ AiProxySettingsAllOfPricingToJSONTyped,
22
+ } from './AiProxySettingsAllOfPricing';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface AiProxySettings
28
+ */
29
+ export interface AiProxySettings {
30
+ /**
31
+ *
32
+ * @type {boolean}
33
+ * @memberof AiProxySettings
34
+ */
35
+ ok: boolean;
36
+ /**
37
+ * Stable success envelope discriminator added by v1.
38
+ * @type {string}
39
+ * @memberof AiProxySettings
40
+ */
41
+ type: string;
42
+ /**
43
+ *
44
+ * @type {boolean}
45
+ * @memberof AiProxySettings
46
+ */
47
+ success: boolean;
48
+ /**
49
+ * The account the switch belongs to, a person or an organization.
50
+ * @type {string}
51
+ * @memberof AiProxySettings
52
+ */
53
+ accountId: string;
54
+ /**
55
+ * True when `accountId` is an organization.
56
+ * @type {boolean}
57
+ * @memberof AiProxySettings
58
+ */
59
+ org: boolean;
60
+ /**
61
+ *
62
+ * @type {boolean}
63
+ * @memberof AiProxySettings
64
+ */
65
+ enabled: boolean;
66
+ /**
67
+ *
68
+ * @type {Date}
69
+ * @memberof AiProxySettings
70
+ */
71
+ enabledAt: Date | null;
72
+ /**
73
+ *
74
+ * @type {AiProxySettingsAllOfPricing}
75
+ * @memberof AiProxySettings
76
+ */
77
+ pricing: AiProxySettingsAllOfPricing;
78
+ /**
79
+ * The base URL sandboxes call instead of the providers.
80
+ * @type {string}
81
+ * @memberof AiProxySettings
82
+ */
83
+ proxyUrl: string;
84
+ }
85
+
86
+ /**
87
+ * Check if a given object implements the AiProxySettings interface.
88
+ */
89
+ export function instanceOfAiProxySettings(value: object): value is AiProxySettings {
90
+ if (!('ok' in value) || value['ok'] === undefined) return false;
91
+ if (!('type' in value) || value['type'] === undefined) return false;
92
+ if (!('success' in value) || value['success'] === undefined) return false;
93
+ if (!('accountId' in value) || value['accountId'] === undefined) return false;
94
+ if (!('org' in value) || value['org'] === undefined) return false;
95
+ if (!('enabled' in value) || value['enabled'] === undefined) return false;
96
+ if (!('enabledAt' in value) || value['enabledAt'] === undefined) return false;
97
+ if (!('pricing' in value) || value['pricing'] === undefined) return false;
98
+ if (!('proxyUrl' in value) || value['proxyUrl'] === undefined) return false;
99
+ return true;
100
+ }
101
+
102
+ export function AiProxySettingsFromJSON(json: any): AiProxySettings {
103
+ return AiProxySettingsFromJSONTyped(json, false);
104
+ }
105
+
106
+ export function AiProxySettingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AiProxySettings {
107
+ if (json == null) {
108
+ return json;
109
+ }
110
+ return {
111
+
112
+ 'ok': json['ok'],
113
+ 'type': json['type'],
114
+ 'success': json['success'],
115
+ 'accountId': json['accountId'],
116
+ 'org': json['org'],
117
+ 'enabled': json['enabled'],
118
+ 'enabledAt': (json['enabledAt'] == null ? null : new Date(json['enabledAt'])),
119
+ 'pricing': AiProxySettingsAllOfPricingFromJSON(json['pricing']),
120
+ 'proxyUrl': json['proxyUrl'],
121
+ };
122
+ }
123
+
124
+ export function AiProxySettingsToJSON(json: any): AiProxySettings {
125
+ return AiProxySettingsToJSONTyped(json, false);
126
+ }
127
+
128
+ export function AiProxySettingsToJSONTyped(value?: AiProxySettings | null, ignoreDiscriminator: boolean = false): any {
129
+ if (value == null) {
130
+ return value;
131
+ }
132
+
133
+ return {
134
+
135
+ 'ok': value['ok'],
136
+ 'type': value['type'],
137
+ 'success': value['success'],
138
+ 'accountId': value['accountId'],
139
+ 'org': value['org'],
140
+ 'enabled': value['enabled'],
141
+ 'enabledAt': value['enabledAt'] == null ? value['enabledAt'] : value['enabledAt'].toISOString(),
142
+ 'pricing': AiProxySettingsAllOfPricingToJSON(value['pricing']),
143
+ 'proxyUrl': value['proxyUrl'],
144
+ };
145
+ }
146
+
@@ -0,0 +1,75 @@
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 AiProxySettingsAllOfPricing
20
+ */
21
+ export interface AiProxySettingsAllOfPricing {
22
+ /**
23
+ * Charged to the account for each UTC day the proxy is on.
24
+ * @type {number}
25
+ * @memberof AiProxySettingsAllOfPricing
26
+ */
27
+ dailyDollars: number;
28
+ /**
29
+ * Charged per 1,000 proxied requests.
30
+ * @type {number}
31
+ * @memberof AiProxySettingsAllOfPricing
32
+ */
33
+ dollarsPer1000Requests: number;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the AiProxySettingsAllOfPricing interface.
38
+ */
39
+ export function instanceOfAiProxySettingsAllOfPricing(value: object): value is AiProxySettingsAllOfPricing {
40
+ if (!('dailyDollars' in value) || value['dailyDollars'] === undefined) return false;
41
+ if (!('dollarsPer1000Requests' in value) || value['dollarsPer1000Requests'] === undefined) return false;
42
+ return true;
43
+ }
44
+
45
+ export function AiProxySettingsAllOfPricingFromJSON(json: any): AiProxySettingsAllOfPricing {
46
+ return AiProxySettingsAllOfPricingFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function AiProxySettingsAllOfPricingFromJSONTyped(json: any, ignoreDiscriminator: boolean): AiProxySettingsAllOfPricing {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'dailyDollars': json['dailyDollars'],
56
+ 'dollarsPer1000Requests': json['dollarsPer1000Requests'],
57
+ };
58
+ }
59
+
60
+ export function AiProxySettingsAllOfPricingToJSON(json: any): AiProxySettingsAllOfPricing {
61
+ return AiProxySettingsAllOfPricingToJSONTyped(json, false);
62
+ }
63
+
64
+ export function AiProxySettingsAllOfPricingToJSONTyped(value?: AiProxySettingsAllOfPricing | null, ignoreDiscriminator: boolean = false): any {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+
69
+ return {
70
+
71
+ 'dailyDollars': value['dailyDollars'],
72
+ 'dollarsPer1000Requests': value['dollarsPer1000Requests'],
73
+ };
74
+ }
75
+
@@ -0,0 +1,138 @@
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 AiUsageRow
20
+ */
21
+ export interface AiUsageRow {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof AiUsageRow
26
+ */
27
+ requests: number;
28
+ /**
29
+ * Requests the provider answered with an HTTP error, or did not answer.
30
+ * @type {number}
31
+ * @memberof AiUsageRow
32
+ */
33
+ errors: number;
34
+ /**
35
+ *
36
+ * @type {number}
37
+ * @memberof AiUsageRow
38
+ */
39
+ inputTokens: number;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof AiUsageRow
44
+ */
45
+ outputTokens: number;
46
+ /**
47
+ *
48
+ * @type {number}
49
+ * @memberof AiUsageRow
50
+ */
51
+ cacheReadTokens: number;
52
+ /**
53
+ *
54
+ * @type {number}
55
+ * @memberof AiUsageRow
56
+ */
57
+ cacheWriteTokens: number;
58
+ /**
59
+ * UTC day.
60
+ * @type {Date}
61
+ * @memberof AiUsageRow
62
+ */
63
+ day: Date;
64
+ /**
65
+ * The credential used: a `CredentialId`, or `custom:<NAME>` for a custom API.
66
+ * @type {string}
67
+ * @memberof AiUsageRow
68
+ */
69
+ credential: string;
70
+ /**
71
+ * The model the provider reported, or empty.
72
+ * @type {string}
73
+ * @memberof AiUsageRow
74
+ */
75
+ model: string;
76
+ }
77
+
78
+ /**
79
+ * Check if a given object implements the AiUsageRow interface.
80
+ */
81
+ export function instanceOfAiUsageRow(value: object): value is AiUsageRow {
82
+ if (!('requests' in value) || value['requests'] === undefined) return false;
83
+ if (!('errors' in value) || value['errors'] === undefined) return false;
84
+ if (!('inputTokens' in value) || value['inputTokens'] === undefined) return false;
85
+ if (!('outputTokens' in value) || value['outputTokens'] === undefined) return false;
86
+ if (!('cacheReadTokens' in value) || value['cacheReadTokens'] === undefined) return false;
87
+ if (!('cacheWriteTokens' in value) || value['cacheWriteTokens'] === undefined) return false;
88
+ if (!('day' in value) || value['day'] === undefined) return false;
89
+ if (!('credential' in value) || value['credential'] === undefined) return false;
90
+ if (!('model' in value) || value['model'] === undefined) return false;
91
+ return true;
92
+ }
93
+
94
+ export function AiUsageRowFromJSON(json: any): AiUsageRow {
95
+ return AiUsageRowFromJSONTyped(json, false);
96
+ }
97
+
98
+ export function AiUsageRowFromJSONTyped(json: any, ignoreDiscriminator: boolean): AiUsageRow {
99
+ if (json == null) {
100
+ return json;
101
+ }
102
+ return {
103
+
104
+ 'requests': json['requests'],
105
+ 'errors': json['errors'],
106
+ 'inputTokens': json['inputTokens'],
107
+ 'outputTokens': json['outputTokens'],
108
+ 'cacheReadTokens': json['cacheReadTokens'],
109
+ 'cacheWriteTokens': json['cacheWriteTokens'],
110
+ 'day': (new Date(json['day'])),
111
+ 'credential': json['credential'],
112
+ 'model': json['model'],
113
+ };
114
+ }
115
+
116
+ export function AiUsageRowToJSON(json: any): AiUsageRow {
117
+ return AiUsageRowToJSONTyped(json, false);
118
+ }
119
+
120
+ export function AiUsageRowToJSONTyped(value?: AiUsageRow | null, ignoreDiscriminator: boolean = false): any {
121
+ if (value == null) {
122
+ return value;
123
+ }
124
+
125
+ return {
126
+
127
+ 'requests': value['requests'],
128
+ 'errors': value['errors'],
129
+ 'inputTokens': value['inputTokens'],
130
+ 'outputTokens': value['outputTokens'],
131
+ 'cacheReadTokens': value['cacheReadTokens'],
132
+ 'cacheWriteTokens': value['cacheWriteTokens'],
133
+ 'day': value['day'].toISOString().substring(0,10),
134
+ 'credential': value['credential'],
135
+ 'model': value['model'],
136
+ };
137
+ }
138
+
@@ -0,0 +1,111 @@
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
+ * Token counts are the numbers the provider reports in its replies.
18
+ * @export
19
+ * @interface AiUsageTotals
20
+ */
21
+ export interface AiUsageTotals {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof AiUsageTotals
26
+ */
27
+ requests: number;
28
+ /**
29
+ * Requests the provider answered with an HTTP error, or did not answer.
30
+ * @type {number}
31
+ * @memberof AiUsageTotals
32
+ */
33
+ errors: number;
34
+ /**
35
+ *
36
+ * @type {number}
37
+ * @memberof AiUsageTotals
38
+ */
39
+ inputTokens: number;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof AiUsageTotals
44
+ */
45
+ outputTokens: number;
46
+ /**
47
+ *
48
+ * @type {number}
49
+ * @memberof AiUsageTotals
50
+ */
51
+ cacheReadTokens: number;
52
+ /**
53
+ *
54
+ * @type {number}
55
+ * @memberof AiUsageTotals
56
+ */
57
+ cacheWriteTokens: number;
58
+ }
59
+
60
+ /**
61
+ * Check if a given object implements the AiUsageTotals interface.
62
+ */
63
+ export function instanceOfAiUsageTotals(value: object): value is AiUsageTotals {
64
+ if (!('requests' in value) || value['requests'] === undefined) return false;
65
+ if (!('errors' in value) || value['errors'] === undefined) return false;
66
+ if (!('inputTokens' in value) || value['inputTokens'] === undefined) return false;
67
+ if (!('outputTokens' in value) || value['outputTokens'] === undefined) return false;
68
+ if (!('cacheReadTokens' in value) || value['cacheReadTokens'] === undefined) return false;
69
+ if (!('cacheWriteTokens' in value) || value['cacheWriteTokens'] === undefined) return false;
70
+ return true;
71
+ }
72
+
73
+ export function AiUsageTotalsFromJSON(json: any): AiUsageTotals {
74
+ return AiUsageTotalsFromJSONTyped(json, false);
75
+ }
76
+
77
+ export function AiUsageTotalsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AiUsageTotals {
78
+ if (json == null) {
79
+ return json;
80
+ }
81
+ return {
82
+
83
+ 'requests': json['requests'],
84
+ 'errors': json['errors'],
85
+ 'inputTokens': json['inputTokens'],
86
+ 'outputTokens': json['outputTokens'],
87
+ 'cacheReadTokens': json['cacheReadTokens'],
88
+ 'cacheWriteTokens': json['cacheWriteTokens'],
89
+ };
90
+ }
91
+
92
+ export function AiUsageTotalsToJSON(json: any): AiUsageTotals {
93
+ return AiUsageTotalsToJSONTyped(json, false);
94
+ }
95
+
96
+ export function AiUsageTotalsToJSONTyped(value?: AiUsageTotals | null, ignoreDiscriminator: boolean = false): any {
97
+ if (value == null) {
98
+ return value;
99
+ }
100
+
101
+ return {
102
+
103
+ 'requests': value['requests'],
104
+ 'errors': value['errors'],
105
+ 'inputTokens': value['inputTokens'],
106
+ 'outputTokens': value['outputTokens'],
107
+ 'cacheReadTokens': value['cacheReadTokens'],
108
+ 'cacheWriteTokens': value['cacheWriteTokens'],
109
+ };
110
+ }
111
+