@boatdev/sdk 1.9.2 → 1.9.4

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 (164) hide show
  1. package/.openapi-generator/FILES +28 -0
  2. package/dist/apis/BoatApi.d.ts +192 -4
  3. package/dist/apis/BoatApi.js +452 -5
  4. package/dist/esm/apis/BoatApi.d.ts +192 -4
  5. package/dist/esm/apis/BoatApi.js +451 -4
  6. package/dist/esm/models/CommandAttachFrame.d.ts +121 -0
  7. package/dist/esm/models/CommandAttachFrame.js +83 -0
  8. package/dist/esm/models/CommandInfoResponse.d.ts +52 -0
  9. package/dist/esm/models/CommandInfoResponse.js +58 -0
  10. package/dist/esm/models/CommandListResponse.d.ts +58 -0
  11. package/dist/esm/models/CommandListResponse.js +62 -0
  12. package/dist/esm/models/CommandLogsResponse.d.ts +109 -0
  13. package/dist/esm/models/CommandLogsResponse.js +99 -0
  14. package/dist/esm/models/CommandRecord.d.ts +132 -0
  15. package/dist/esm/models/CommandRecord.js +105 -0
  16. package/dist/esm/models/CommandResponse.d.ts +6 -0
  17. package/dist/esm/models/CommandResponse.js +2 -0
  18. package/dist/esm/models/CommandStartedResponse.d.ts +6 -0
  19. package/dist/esm/models/CommandStartedResponse.js +2 -0
  20. package/dist/esm/models/CommandStatusResponse.d.ts +32 -2
  21. package/dist/esm/models/CommandStatusResponse.js +10 -0
  22. package/dist/esm/models/CommandStopResponse.d.ts +70 -0
  23. package/dist/esm/models/CommandStopResponse.js +70 -0
  24. package/dist/esm/models/CommandStreamFrame.d.ts +6 -0
  25. package/dist/esm/models/CommandStreamFrame.js +2 -0
  26. package/dist/esm/models/CreateSandboxRequest.d.ts +6 -0
  27. package/dist/esm/models/CreateSandboxRequest.js +2 -0
  28. package/dist/esm/models/DataRetentionPolicyResponse.d.ts +12 -0
  29. package/dist/esm/models/DataRetentionPolicyResponse.js +4 -0
  30. package/dist/esm/models/DataRetentionUpdateRequest.d.ts +7 -1
  31. package/dist/esm/models/DataRetentionUpdateRequest.js +2 -0
  32. package/dist/esm/models/ForkRequest.d.ts +6 -0
  33. package/dist/esm/models/ForkRequest.js +2 -0
  34. package/dist/esm/models/HostPortRequest.d.ts +6 -0
  35. package/dist/esm/models/HostPortRequest.js +2 -0
  36. package/dist/esm/models/HostPortResponse.d.ts +6 -0
  37. package/dist/esm/models/HostPortResponse.js +2 -0
  38. package/dist/esm/models/ProcessListResponse.d.ts +70 -0
  39. package/dist/esm/models/ProcessListResponse.js +70 -0
  40. package/dist/esm/models/Sandbox.d.ts +6 -0
  41. package/dist/esm/models/Sandbox.js +2 -0
  42. package/dist/esm/models/SandboxProcess.d.ts +74 -0
  43. package/dist/esm/models/SandboxProcess.js +59 -0
  44. package/dist/esm/models/TelemetryConfig.d.ts +57 -0
  45. package/dist/esm/models/TelemetryConfig.js +60 -0
  46. package/dist/esm/models/TelemetryConfigLastError.d.ts +44 -0
  47. package/dist/esm/models/TelemetryConfigLastError.js +51 -0
  48. package/dist/esm/models/TelemetryResponse.d.ts +45 -0
  49. package/dist/esm/models/TelemetryResponse.js +52 -0
  50. package/dist/esm/models/TelemetrySetRequest.d.ts +40 -0
  51. package/dist/esm/models/TelemetrySetRequest.js +45 -0
  52. package/dist/esm/models/TelemetrySetResponse.d.ts +52 -0
  53. package/dist/esm/models/TelemetrySetResponse.js +57 -0
  54. package/dist/esm/models/TelemetryTestResult.d.ts +44 -0
  55. package/dist/esm/models/TelemetryTestResult.js +51 -0
  56. package/dist/esm/models/index.d.ts +14 -0
  57. package/dist/esm/models/index.js +14 -0
  58. package/dist/models/CommandAttachFrame.d.ts +121 -0
  59. package/dist/models/CommandAttachFrame.js +91 -0
  60. package/dist/models/CommandInfoResponse.d.ts +52 -0
  61. package/dist/models/CommandInfoResponse.js +66 -0
  62. package/dist/models/CommandListResponse.d.ts +58 -0
  63. package/dist/models/CommandListResponse.js +70 -0
  64. package/dist/models/CommandLogsResponse.d.ts +109 -0
  65. package/dist/models/CommandLogsResponse.js +107 -0
  66. package/dist/models/CommandRecord.d.ts +132 -0
  67. package/dist/models/CommandRecord.js +113 -0
  68. package/dist/models/CommandResponse.d.ts +6 -0
  69. package/dist/models/CommandResponse.js +2 -0
  70. package/dist/models/CommandStartedResponse.d.ts +6 -0
  71. package/dist/models/CommandStartedResponse.js +2 -0
  72. package/dist/models/CommandStatusResponse.d.ts +32 -2
  73. package/dist/models/CommandStatusResponse.js +10 -0
  74. package/dist/models/CommandStopResponse.d.ts +70 -0
  75. package/dist/models/CommandStopResponse.js +78 -0
  76. package/dist/models/CommandStreamFrame.d.ts +6 -0
  77. package/dist/models/CommandStreamFrame.js +2 -0
  78. package/dist/models/CreateSandboxRequest.d.ts +6 -0
  79. package/dist/models/CreateSandboxRequest.js +2 -0
  80. package/dist/models/DataRetentionPolicyResponse.d.ts +12 -0
  81. package/dist/models/DataRetentionPolicyResponse.js +4 -0
  82. package/dist/models/DataRetentionUpdateRequest.d.ts +7 -1
  83. package/dist/models/DataRetentionUpdateRequest.js +2 -0
  84. package/dist/models/ForkRequest.d.ts +6 -0
  85. package/dist/models/ForkRequest.js +2 -0
  86. package/dist/models/HostPortRequest.d.ts +6 -0
  87. package/dist/models/HostPortRequest.js +2 -0
  88. package/dist/models/HostPortResponse.d.ts +6 -0
  89. package/dist/models/HostPortResponse.js +2 -0
  90. package/dist/models/ProcessListResponse.d.ts +70 -0
  91. package/dist/models/ProcessListResponse.js +78 -0
  92. package/dist/models/Sandbox.d.ts +6 -0
  93. package/dist/models/Sandbox.js +2 -0
  94. package/dist/models/SandboxProcess.d.ts +74 -0
  95. package/dist/models/SandboxProcess.js +66 -0
  96. package/dist/models/TelemetryConfig.d.ts +57 -0
  97. package/dist/models/TelemetryConfig.js +67 -0
  98. package/dist/models/TelemetryConfigLastError.d.ts +44 -0
  99. package/dist/models/TelemetryConfigLastError.js +58 -0
  100. package/dist/models/TelemetryResponse.d.ts +45 -0
  101. package/dist/models/TelemetryResponse.js +59 -0
  102. package/dist/models/TelemetrySetRequest.d.ts +40 -0
  103. package/dist/models/TelemetrySetRequest.js +52 -0
  104. package/dist/models/TelemetrySetResponse.d.ts +52 -0
  105. package/dist/models/TelemetrySetResponse.js +64 -0
  106. package/dist/models/TelemetryTestResult.d.ts +44 -0
  107. package/dist/models/TelemetryTestResult.js +58 -0
  108. package/dist/models/index.d.ts +14 -0
  109. package/dist/models/index.js +14 -0
  110. package/docs/BoatApi.md +715 -11
  111. package/docs/Command200Response.md +2 -0
  112. package/docs/CommandAttachFrame.md +53 -0
  113. package/docs/CommandInfoResponse.md +36 -0
  114. package/docs/CommandListResponse.md +38 -0
  115. package/docs/CommandLogsResponse.md +50 -0
  116. package/docs/CommandRecord.md +59 -0
  117. package/docs/CommandResponse.md +2 -0
  118. package/docs/CommandStartedResponse.md +2 -0
  119. package/docs/CommandStatusResponse.md +10 -0
  120. package/docs/CommandStopResponse.md +42 -0
  121. package/docs/CommandStreamFrame.md +2 -0
  122. package/docs/CreateSandboxRequest.md +2 -0
  123. package/docs/DataRetentionPolicyResponse.md +4 -0
  124. package/docs/DataRetentionUpdateRequest.md +3 -1
  125. package/docs/ForkRequest.md +2 -0
  126. package/docs/HostPortRequest.md +2 -0
  127. package/docs/HostPortResponse.md +2 -0
  128. package/docs/ProcessListResponse.md +42 -0
  129. package/docs/Sandbox.md +2 -0
  130. package/docs/SandboxProcess.md +46 -0
  131. package/docs/TelemetryConfig.md +40 -0
  132. package/docs/TelemetryConfigLastError.md +37 -0
  133. package/docs/TelemetryResponse.md +36 -0
  134. package/docs/TelemetrySetRequest.md +34 -0
  135. package/docs/TelemetrySetResponse.md +38 -0
  136. package/docs/TelemetryTestResult.md +36 -0
  137. package/package.json +1 -1
  138. package/src/apis/BoatApi.ts +671 -4
  139. package/src/models/CommandAttachFrame.ts +179 -0
  140. package/src/models/CommandInfoResponse.ts +102 -0
  141. package/src/models/CommandListResponse.ts +111 -0
  142. package/src/models/CommandLogsResponse.ts +175 -0
  143. package/src/models/CommandRecord.ts +204 -0
  144. package/src/models/CommandResponse.ts +8 -0
  145. package/src/models/CommandStartedResponse.ts +8 -0
  146. package/src/models/CommandStatusResponse.ts +42 -2
  147. package/src/models/CommandStopResponse.ts +129 -0
  148. package/src/models/CommandStreamFrame.ts +8 -0
  149. package/src/models/CreateSandboxRequest.ts +8 -0
  150. package/src/models/DataRetentionPolicyResponse.ts +16 -0
  151. package/src/models/DataRetentionUpdateRequest.ts +9 -1
  152. package/src/models/ForkRequest.ts +8 -0
  153. package/src/models/HostPortRequest.ts +8 -0
  154. package/src/models/HostPortResponse.ts +8 -0
  155. package/src/models/ProcessListResponse.ts +129 -0
  156. package/src/models/Sandbox.ts +8 -0
  157. package/src/models/SandboxProcess.ts +123 -0
  158. package/src/models/TelemetryConfig.ts +110 -0
  159. package/src/models/TelemetryConfigLastError.ts +84 -0
  160. package/src/models/TelemetryResponse.ts +92 -0
  161. package/src/models/TelemetrySetRequest.ts +74 -0
  162. package/src/models/TelemetrySetResponse.ts +108 -0
  163. package/src/models/TelemetryTestResult.ts +84 -0
  164. package/src/models/index.ts +14 -0
@@ -61,6 +61,12 @@ export interface HostPortResponse {
61
61
  * @memberof HostPortResponse
62
62
  */
63
63
  access?: HostPortResponseAccessEnum;
64
+ /**
65
+ * The sandbox relays the URL to a service that listens on localhost only.
66
+ * @type {boolean}
67
+ * @memberof HostPortResponse
68
+ */
69
+ localhost?: boolean;
64
70
  }
65
71
 
66
72
 
@@ -100,6 +106,7 @@ export function HostPortResponseFromJSONTyped(json: any, ignoreDiscriminator: bo
100
106
  'url': json['url'] == null ? undefined : json['url'],
101
107
  'isProtected': json['isProtected'] == null ? undefined : json['isProtected'],
102
108
  'access': json['access'] == null ? undefined : json['access'],
109
+ 'localhost': json['localhost'] == null ? undefined : json['localhost'],
103
110
  };
104
111
  }
105
112
 
@@ -121,6 +128,7 @@ export function HostPortResponseToJSONTyped(value?: HostPortResponse | null, ign
121
128
  'url': value['url'],
122
129
  'isProtected': value['isProtected'],
123
130
  'access': value['access'],
131
+ 'localhost': value['localhost'],
124
132
  };
125
133
  }
126
134
 
@@ -0,0 +1,129 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { SandboxProcess } from './SandboxProcess';
17
+ import {
18
+ SandboxProcessFromJSON,
19
+ SandboxProcessFromJSONTyped,
20
+ SandboxProcessToJSON,
21
+ SandboxProcessToJSONTyped,
22
+ } from './SandboxProcess';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface ProcessListResponse
28
+ */
29
+ export interface ProcessListResponse {
30
+ /**
31
+ *
32
+ * @type {boolean}
33
+ * @memberof ProcessListResponse
34
+ */
35
+ ok: boolean;
36
+ /**
37
+ *
38
+ * @type {ProcessListResponseTypeEnum}
39
+ * @memberof ProcessListResponse
40
+ */
41
+ type: ProcessListResponseTypeEnum;
42
+ /**
43
+ * True: read from the running sandbox now. False: the sandbox is stopped (or its agent is not upgraded yet), and this is the last sample kept (top 12 processes, every 30 s, 7 days).
44
+ * @type {boolean}
45
+ * @memberof ProcessListResponse
46
+ */
47
+ live: boolean;
48
+ /**
49
+ *
50
+ * @type {Date}
51
+ * @memberof ProcessListResponse
52
+ */
53
+ sampledAt: Date | null;
54
+ /**
55
+ * Processes on the sandbox. The list holds at most 500
56
+ * @type {number}
57
+ * @memberof ProcessListResponse
58
+ */
59
+ total: number;
60
+ /**
61
+ *
62
+ * @type {Array<SandboxProcess>}
63
+ * @memberof ProcessListResponse
64
+ */
65
+ processes: Array<SandboxProcess>;
66
+ }
67
+
68
+
69
+ /**
70
+ * @export
71
+ */
72
+ export const ProcessListResponseTypeEnum = {
73
+ ProcessList: 'process.list'
74
+ } as const;
75
+ export type ProcessListResponseTypeEnum = typeof ProcessListResponseTypeEnum[keyof typeof ProcessListResponseTypeEnum];
76
+
77
+
78
+ /**
79
+ * Check if a given object implements the ProcessListResponse interface.
80
+ */
81
+ export function instanceOfProcessListResponse(value: object): value is ProcessListResponse {
82
+ if (!('ok' in value) || value['ok'] === undefined) return false;
83
+ if (!('type' in value) || value['type'] === undefined) return false;
84
+ if (!('live' in value) || value['live'] === undefined) return false;
85
+ if (!('sampledAt' in value) || value['sampledAt'] === undefined) return false;
86
+ if (!('total' in value) || value['total'] === undefined) return false;
87
+ if (!('processes' in value) || value['processes'] === undefined) return false;
88
+ return true;
89
+ }
90
+
91
+ export function ProcessListResponseFromJSON(json: any): ProcessListResponse {
92
+ return ProcessListResponseFromJSONTyped(json, false);
93
+ }
94
+
95
+ export function ProcessListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProcessListResponse {
96
+ if (json == null) {
97
+ return json;
98
+ }
99
+ return {
100
+
101
+ 'ok': json['ok'],
102
+ 'type': json['type'],
103
+ 'live': json['live'],
104
+ 'sampledAt': (json['sampledAt'] == null ? null : new Date(json['sampledAt'])),
105
+ 'total': json['total'],
106
+ 'processes': ((json['processes'] as Array<any>).map(SandboxProcessFromJSON)),
107
+ };
108
+ }
109
+
110
+ export function ProcessListResponseToJSON(json: any): ProcessListResponse {
111
+ return ProcessListResponseToJSONTyped(json, false);
112
+ }
113
+
114
+ export function ProcessListResponseToJSONTyped(value?: ProcessListResponse | null, ignoreDiscriminator: boolean = false): any {
115
+ if (value == null) {
116
+ return value;
117
+ }
118
+
119
+ return {
120
+
121
+ 'ok': value['ok'],
122
+ 'type': value['type'],
123
+ 'live': value['live'],
124
+ 'sampledAt': value['sampledAt'] == null ? value['sampledAt'] : value['sampledAt'].toISOString(),
125
+ 'total': value['total'],
126
+ 'processes': ((value['processes'] as Array<any>).map(SandboxProcessToJSON)),
127
+ };
128
+ }
129
+
@@ -172,6 +172,12 @@ export interface Sandbox {
172
172
  * @memberof Sandbox
173
173
  */
174
174
  snapshots?: boolean;
175
+ /**
176
+ * False when the sandbox was created with monitoring off.
177
+ * @type {boolean}
178
+ * @memberof Sandbox
179
+ */
180
+ monitoring?: boolean;
175
181
  /**
176
182
  *
177
183
  * @type {boolean}
@@ -403,6 +409,7 @@ export function SandboxFromJSONTyped(json: any, ignoreDiscriminator: boolean): S
403
409
  'desktopAvailable': json['desktopAvailable'],
404
410
  'desktopUrl': json['desktopUrl'] == null ? undefined : json['desktopUrl'],
405
411
  'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
412
+ 'monitoring': json['monitoring'] == null ? undefined : json['monitoring'],
406
413
  'snapshotAvailable': json['snapshotAvailable'],
407
414
  'snapshotCompletedAt': json['snapshotCompletedAt'] == null ? undefined : (new Date(json['snapshotCompletedAt'])),
408
415
  'snapshotVerifiedAt': json['snapshotVerifiedAt'] == null ? undefined : (new Date(json['snapshotVerifiedAt'])),
@@ -457,6 +464,7 @@ export function SandboxToJSONTyped(value?: Sandbox | null, ignoreDiscriminator:
457
464
  'desktopAvailable': value['desktopAvailable'],
458
465
  'desktopUrl': value['desktopUrl'],
459
466
  'snapshots': value['snapshots'],
467
+ 'monitoring': value['monitoring'],
460
468
  'snapshotAvailable': value['snapshotAvailable'],
461
469
  'snapshotCompletedAt': value['snapshotCompletedAt'] == null ? value['snapshotCompletedAt'] : value['snapshotCompletedAt'].toISOString(),
462
470
  'snapshotVerifiedAt': value['snapshotVerifiedAt'] == null ? value['snapshotVerifiedAt'] : value['snapshotVerifiedAt'].toISOString(),
@@ -0,0 +1,123 @@
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 SandboxProcess
20
+ */
21
+ export interface SandboxProcess {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof SandboxProcess
26
+ */
27
+ pid: number;
28
+ /**
29
+ * Live list only.
30
+ * @type {number}
31
+ * @memberof SandboxProcess
32
+ */
33
+ parentPid?: number;
34
+ /**
35
+ * Live list only.
36
+ * @type {string}
37
+ * @memberof SandboxProcess
38
+ */
39
+ user?: string;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof SandboxProcess
44
+ */
45
+ cpuPercent?: number;
46
+ /**
47
+ * Resident memory.
48
+ * @type {number}
49
+ * @memberof SandboxProcess
50
+ */
51
+ memoryMB?: number;
52
+ /**
53
+ * Live list only.
54
+ * @type {Date}
55
+ * @memberof SandboxProcess
56
+ */
57
+ startedAt?: Date;
58
+ /**
59
+ * The full command line (first 1000 characters; 120 in a stored sample).
60
+ * @type {string}
61
+ * @memberof SandboxProcess
62
+ */
63
+ command: string;
64
+ /**
65
+ * Live list: the history record holding this process's output, when it has one.
66
+ * @type {string}
67
+ * @memberof SandboxProcess
68
+ */
69
+ commandId?: string | null;
70
+ }
71
+
72
+ /**
73
+ * Check if a given object implements the SandboxProcess interface.
74
+ */
75
+ export function instanceOfSandboxProcess(value: object): value is SandboxProcess {
76
+ if (!('pid' in value) || value['pid'] === undefined) return false;
77
+ if (!('command' in value) || value['command'] === undefined) return false;
78
+ return true;
79
+ }
80
+
81
+ export function SandboxProcessFromJSON(json: any): SandboxProcess {
82
+ return SandboxProcessFromJSONTyped(json, false);
83
+ }
84
+
85
+ export function SandboxProcessFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxProcess {
86
+ if (json == null) {
87
+ return json;
88
+ }
89
+ return {
90
+
91
+ 'pid': json['pid'],
92
+ 'parentPid': json['parentPid'] == null ? undefined : json['parentPid'],
93
+ 'user': json['user'] == null ? undefined : json['user'],
94
+ 'cpuPercent': json['cpuPercent'] == null ? undefined : json['cpuPercent'],
95
+ 'memoryMB': json['memoryMB'] == null ? undefined : json['memoryMB'],
96
+ 'startedAt': json['startedAt'] == null ? undefined : (new Date(json['startedAt'])),
97
+ 'command': json['command'],
98
+ 'commandId': json['commandId'] == null ? undefined : json['commandId'],
99
+ };
100
+ }
101
+
102
+ export function SandboxProcessToJSON(json: any): SandboxProcess {
103
+ return SandboxProcessToJSONTyped(json, false);
104
+ }
105
+
106
+ export function SandboxProcessToJSONTyped(value?: SandboxProcess | null, ignoreDiscriminator: boolean = false): any {
107
+ if (value == null) {
108
+ return value;
109
+ }
110
+
111
+ return {
112
+
113
+ 'pid': value['pid'],
114
+ 'parentPid': value['parentPid'],
115
+ 'user': value['user'],
116
+ 'cpuPercent': value['cpuPercent'],
117
+ 'memoryMB': value['memoryMB'],
118
+ 'startedAt': value['startedAt'] == null ? value['startedAt'] : value['startedAt'].toISOString(),
119
+ 'command': value['command'],
120
+ 'commandId': value['commandId'],
121
+ };
122
+ }
123
+
@@ -0,0 +1,110 @@
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 { TelemetryConfigLastError } from './TelemetryConfigLastError';
17
+ import {
18
+ TelemetryConfigLastErrorFromJSON,
19
+ TelemetryConfigLastErrorFromJSONTyped,
20
+ TelemetryConfigLastErrorToJSON,
21
+ TelemetryConfigLastErrorToJSONTyped,
22
+ } from './TelemetryConfigLastError';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface TelemetryConfig
28
+ */
29
+ export interface TelemetryConfig {
30
+ /**
31
+ * The OTLP/HTTP base URL. Boat posts to `<endpoint>/v1/metrics` and `<endpoint>/v1/logs`.
32
+ * @type {string}
33
+ * @memberof TelemetryConfig
34
+ */
35
+ endpoint: string;
36
+ /**
37
+ * The names of the saved headers. The values are never returned.
38
+ * @type {Array<string>}
39
+ * @memberof TelemetryConfig
40
+ */
41
+ headers: Array<string>;
42
+ /**
43
+ * The time of the last metrics export that the collector accepted.
44
+ * @type {Date}
45
+ * @memberof TelemetryConfig
46
+ */
47
+ lastExportAt: Date | null;
48
+ /**
49
+ *
50
+ * @type {TelemetryConfigLastError}
51
+ * @memberof TelemetryConfig
52
+ */
53
+ lastError: TelemetryConfigLastError | null;
54
+ /**
55
+ *
56
+ * @type {Date}
57
+ * @memberof TelemetryConfig
58
+ */
59
+ createdAt: Date;
60
+ }
61
+
62
+ /**
63
+ * Check if a given object implements the TelemetryConfig interface.
64
+ */
65
+ export function instanceOfTelemetryConfig(value: object): value is TelemetryConfig {
66
+ if (!('endpoint' in value) || value['endpoint'] === undefined) return false;
67
+ if (!('headers' in value) || value['headers'] === undefined) return false;
68
+ if (!('lastExportAt' in value) || value['lastExportAt'] === undefined) return false;
69
+ if (!('lastError' in value) || value['lastError'] === undefined) return false;
70
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
71
+ return true;
72
+ }
73
+
74
+ export function TelemetryConfigFromJSON(json: any): TelemetryConfig {
75
+ return TelemetryConfigFromJSONTyped(json, false);
76
+ }
77
+
78
+ export function TelemetryConfigFromJSONTyped(json: any, ignoreDiscriminator: boolean): TelemetryConfig {
79
+ if (json == null) {
80
+ return json;
81
+ }
82
+ return {
83
+
84
+ 'endpoint': json['endpoint'],
85
+ 'headers': json['headers'],
86
+ 'lastExportAt': (json['lastExportAt'] == null ? null : new Date(json['lastExportAt'])),
87
+ 'lastError': TelemetryConfigLastErrorFromJSON(json['lastError']),
88
+ 'createdAt': (new Date(json['createdAt'])),
89
+ };
90
+ }
91
+
92
+ export function TelemetryConfigToJSON(json: any): TelemetryConfig {
93
+ return TelemetryConfigToJSONTyped(json, false);
94
+ }
95
+
96
+ export function TelemetryConfigToJSONTyped(value?: TelemetryConfig | null, ignoreDiscriminator: boolean = false): any {
97
+ if (value == null) {
98
+ return value;
99
+ }
100
+
101
+ return {
102
+
103
+ 'endpoint': value['endpoint'],
104
+ 'headers': value['headers'],
105
+ 'lastExportAt': value['lastExportAt'] == null ? value['lastExportAt'] : value['lastExportAt'].toISOString(),
106
+ 'lastError': TelemetryConfigLastErrorToJSON(value['lastError']),
107
+ 'createdAt': value['createdAt'].toISOString(),
108
+ };
109
+ }
110
+
@@ -0,0 +1,84 @@
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
+ * The most recent error from the collector, for metrics or events.
18
+ * @export
19
+ * @interface TelemetryConfigLastError
20
+ */
21
+ export interface TelemetryConfigLastError {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof TelemetryConfigLastError
26
+ */
27
+ message: string;
28
+ /**
29
+ * HTTP status, or null for a network error.
30
+ * @type {number}
31
+ * @memberof TelemetryConfigLastError
32
+ */
33
+ status: number | null;
34
+ /**
35
+ *
36
+ * @type {Date}
37
+ * @memberof TelemetryConfigLastError
38
+ */
39
+ at: Date;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the TelemetryConfigLastError interface.
44
+ */
45
+ export function instanceOfTelemetryConfigLastError(value: object): value is TelemetryConfigLastError {
46
+ if (!('message' in value) || value['message'] === undefined) return false;
47
+ if (!('status' in value) || value['status'] === undefined) return false;
48
+ if (!('at' in value) || value['at'] === undefined) return false;
49
+ return true;
50
+ }
51
+
52
+ export function TelemetryConfigLastErrorFromJSON(json: any): TelemetryConfigLastError {
53
+ return TelemetryConfigLastErrorFromJSONTyped(json, false);
54
+ }
55
+
56
+ export function TelemetryConfigLastErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TelemetryConfigLastError {
57
+ if (json == null) {
58
+ return json;
59
+ }
60
+ return {
61
+
62
+ 'message': json['message'],
63
+ 'status': json['status'],
64
+ 'at': (new Date(json['at'])),
65
+ };
66
+ }
67
+
68
+ export function TelemetryConfigLastErrorToJSON(json: any): TelemetryConfigLastError {
69
+ return TelemetryConfigLastErrorToJSONTyped(json, false);
70
+ }
71
+
72
+ export function TelemetryConfigLastErrorToJSONTyped(value?: TelemetryConfigLastError | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'message': value['message'],
80
+ 'status': value['status'],
81
+ 'at': value['at'].toISOString(),
82
+ };
83
+ }
84
+
@@ -0,0 +1,92 @@
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 { TelemetryConfig } from './TelemetryConfig';
17
+ import {
18
+ TelemetryConfigFromJSON,
19
+ TelemetryConfigFromJSONTyped,
20
+ TelemetryConfigToJSON,
21
+ TelemetryConfigToJSONTyped,
22
+ } from './TelemetryConfig';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface TelemetryResponse
28
+ */
29
+ export interface TelemetryResponse {
30
+ /**
31
+ *
32
+ * @type {boolean}
33
+ * @memberof TelemetryResponse
34
+ */
35
+ ok: boolean;
36
+ /**
37
+ * Stable success envelope discriminator added by v1.
38
+ * @type {string}
39
+ * @memberof TelemetryResponse
40
+ */
41
+ type: string;
42
+ /**
43
+ *
44
+ * @type {TelemetryConfig}
45
+ * @memberof TelemetryResponse
46
+ */
47
+ telemetry: TelemetryConfig | null;
48
+ }
49
+
50
+ /**
51
+ * Check if a given object implements the TelemetryResponse interface.
52
+ */
53
+ export function instanceOfTelemetryResponse(value: object): value is TelemetryResponse {
54
+ if (!('ok' in value) || value['ok'] === undefined) return false;
55
+ if (!('type' in value) || value['type'] === undefined) return false;
56
+ if (!('telemetry' in value) || value['telemetry'] === undefined) return false;
57
+ return true;
58
+ }
59
+
60
+ export function TelemetryResponseFromJSON(json: any): TelemetryResponse {
61
+ return TelemetryResponseFromJSONTyped(json, false);
62
+ }
63
+
64
+ export function TelemetryResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): TelemetryResponse {
65
+ if (json == null) {
66
+ return json;
67
+ }
68
+ return {
69
+
70
+ 'ok': json['ok'],
71
+ 'type': json['type'],
72
+ 'telemetry': TelemetryConfigFromJSON(json['telemetry']),
73
+ };
74
+ }
75
+
76
+ export function TelemetryResponseToJSON(json: any): TelemetryResponse {
77
+ return TelemetryResponseToJSONTyped(json, false);
78
+ }
79
+
80
+ export function TelemetryResponseToJSONTyped(value?: TelemetryResponse | null, ignoreDiscriminator: boolean = false): any {
81
+ if (value == null) {
82
+ return value;
83
+ }
84
+
85
+ return {
86
+
87
+ 'ok': value['ok'],
88
+ 'type': value['type'],
89
+ 'telemetry': TelemetryConfigToJSON(value['telemetry']),
90
+ };
91
+ }
92
+
@@ -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 TelemetrySetRequest
20
+ */
21
+ export interface TelemetrySetRequest {
22
+ /**
23
+ * HTTPS URL on port 443 or 4318. Boat removes a trailing `/v1/metrics` or `/v1/logs`.
24
+ * @type {string}
25
+ * @memberof TelemetrySetRequest
26
+ */
27
+ endpoint: string;
28
+ /**
29
+ * Headers sent with every export, for example the vendor API key. Boat encrypts them at rest.
30
+ * @type {{ [key: string]: string; }}
31
+ * @memberof TelemetrySetRequest
32
+ */
33
+ headers?: { [key: string]: string; };
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the TelemetrySetRequest interface.
38
+ */
39
+ export function instanceOfTelemetrySetRequest(value: object): value is TelemetrySetRequest {
40
+ if (!('endpoint' in value) || value['endpoint'] === undefined) return false;
41
+ return true;
42
+ }
43
+
44
+ export function TelemetrySetRequestFromJSON(json: any): TelemetrySetRequest {
45
+ return TelemetrySetRequestFromJSONTyped(json, false);
46
+ }
47
+
48
+ export function TelemetrySetRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): TelemetrySetRequest {
49
+ if (json == null) {
50
+ return json;
51
+ }
52
+ return {
53
+
54
+ 'endpoint': json['endpoint'],
55
+ 'headers': json['headers'] == null ? undefined : json['headers'],
56
+ };
57
+ }
58
+
59
+ export function TelemetrySetRequestToJSON(json: any): TelemetrySetRequest {
60
+ return TelemetrySetRequestToJSONTyped(json, false);
61
+ }
62
+
63
+ export function TelemetrySetRequestToJSONTyped(value?: TelemetrySetRequest | null, ignoreDiscriminator: boolean = false): any {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+
68
+ return {
69
+
70
+ 'endpoint': value['endpoint'],
71
+ 'headers': value['headers'],
72
+ };
73
+ }
74
+