@boatdev/sdk 1.9.2 → 1.9.3

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 (152) 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/ProcessListResponse.d.ts +70 -0
  35. package/dist/esm/models/ProcessListResponse.js +70 -0
  36. package/dist/esm/models/Sandbox.d.ts +6 -0
  37. package/dist/esm/models/Sandbox.js +2 -0
  38. package/dist/esm/models/SandboxProcess.d.ts +74 -0
  39. package/dist/esm/models/SandboxProcess.js +59 -0
  40. package/dist/esm/models/TelemetryConfig.d.ts +57 -0
  41. package/dist/esm/models/TelemetryConfig.js +60 -0
  42. package/dist/esm/models/TelemetryConfigLastError.d.ts +44 -0
  43. package/dist/esm/models/TelemetryConfigLastError.js +51 -0
  44. package/dist/esm/models/TelemetryResponse.d.ts +45 -0
  45. package/dist/esm/models/TelemetryResponse.js +52 -0
  46. package/dist/esm/models/TelemetrySetRequest.d.ts +40 -0
  47. package/dist/esm/models/TelemetrySetRequest.js +45 -0
  48. package/dist/esm/models/TelemetrySetResponse.d.ts +52 -0
  49. package/dist/esm/models/TelemetrySetResponse.js +57 -0
  50. package/dist/esm/models/TelemetryTestResult.d.ts +44 -0
  51. package/dist/esm/models/TelemetryTestResult.js +51 -0
  52. package/dist/esm/models/index.d.ts +14 -0
  53. package/dist/esm/models/index.js +14 -0
  54. package/dist/models/CommandAttachFrame.d.ts +121 -0
  55. package/dist/models/CommandAttachFrame.js +91 -0
  56. package/dist/models/CommandInfoResponse.d.ts +52 -0
  57. package/dist/models/CommandInfoResponse.js +66 -0
  58. package/dist/models/CommandListResponse.d.ts +58 -0
  59. package/dist/models/CommandListResponse.js +70 -0
  60. package/dist/models/CommandLogsResponse.d.ts +109 -0
  61. package/dist/models/CommandLogsResponse.js +107 -0
  62. package/dist/models/CommandRecord.d.ts +132 -0
  63. package/dist/models/CommandRecord.js +113 -0
  64. package/dist/models/CommandResponse.d.ts +6 -0
  65. package/dist/models/CommandResponse.js +2 -0
  66. package/dist/models/CommandStartedResponse.d.ts +6 -0
  67. package/dist/models/CommandStartedResponse.js +2 -0
  68. package/dist/models/CommandStatusResponse.d.ts +32 -2
  69. package/dist/models/CommandStatusResponse.js +10 -0
  70. package/dist/models/CommandStopResponse.d.ts +70 -0
  71. package/dist/models/CommandStopResponse.js +78 -0
  72. package/dist/models/CommandStreamFrame.d.ts +6 -0
  73. package/dist/models/CommandStreamFrame.js +2 -0
  74. package/dist/models/CreateSandboxRequest.d.ts +6 -0
  75. package/dist/models/CreateSandboxRequest.js +2 -0
  76. package/dist/models/DataRetentionPolicyResponse.d.ts +12 -0
  77. package/dist/models/DataRetentionPolicyResponse.js +4 -0
  78. package/dist/models/DataRetentionUpdateRequest.d.ts +7 -1
  79. package/dist/models/DataRetentionUpdateRequest.js +2 -0
  80. package/dist/models/ForkRequest.d.ts +6 -0
  81. package/dist/models/ForkRequest.js +2 -0
  82. package/dist/models/ProcessListResponse.d.ts +70 -0
  83. package/dist/models/ProcessListResponse.js +78 -0
  84. package/dist/models/Sandbox.d.ts +6 -0
  85. package/dist/models/Sandbox.js +2 -0
  86. package/dist/models/SandboxProcess.d.ts +74 -0
  87. package/dist/models/SandboxProcess.js +66 -0
  88. package/dist/models/TelemetryConfig.d.ts +57 -0
  89. package/dist/models/TelemetryConfig.js +67 -0
  90. package/dist/models/TelemetryConfigLastError.d.ts +44 -0
  91. package/dist/models/TelemetryConfigLastError.js +58 -0
  92. package/dist/models/TelemetryResponse.d.ts +45 -0
  93. package/dist/models/TelemetryResponse.js +59 -0
  94. package/dist/models/TelemetrySetRequest.d.ts +40 -0
  95. package/dist/models/TelemetrySetRequest.js +52 -0
  96. package/dist/models/TelemetrySetResponse.d.ts +52 -0
  97. package/dist/models/TelemetrySetResponse.js +64 -0
  98. package/dist/models/TelemetryTestResult.d.ts +44 -0
  99. package/dist/models/TelemetryTestResult.js +58 -0
  100. package/dist/models/index.d.ts +14 -0
  101. package/dist/models/index.js +14 -0
  102. package/docs/BoatApi.md +715 -11
  103. package/docs/Command200Response.md +2 -0
  104. package/docs/CommandAttachFrame.md +53 -0
  105. package/docs/CommandInfoResponse.md +36 -0
  106. package/docs/CommandListResponse.md +38 -0
  107. package/docs/CommandLogsResponse.md +50 -0
  108. package/docs/CommandRecord.md +59 -0
  109. package/docs/CommandResponse.md +2 -0
  110. package/docs/CommandStartedResponse.md +2 -0
  111. package/docs/CommandStatusResponse.md +10 -0
  112. package/docs/CommandStopResponse.md +42 -0
  113. package/docs/CommandStreamFrame.md +2 -0
  114. package/docs/CreateSandboxRequest.md +2 -0
  115. package/docs/DataRetentionPolicyResponse.md +4 -0
  116. package/docs/DataRetentionUpdateRequest.md +3 -1
  117. package/docs/ForkRequest.md +2 -0
  118. package/docs/ProcessListResponse.md +42 -0
  119. package/docs/Sandbox.md +2 -0
  120. package/docs/SandboxProcess.md +46 -0
  121. package/docs/TelemetryConfig.md +40 -0
  122. package/docs/TelemetryConfigLastError.md +37 -0
  123. package/docs/TelemetryResponse.md +36 -0
  124. package/docs/TelemetrySetRequest.md +34 -0
  125. package/docs/TelemetrySetResponse.md +38 -0
  126. package/docs/TelemetryTestResult.md +36 -0
  127. package/package.json +1 -1
  128. package/src/apis/BoatApi.ts +671 -4
  129. package/src/models/CommandAttachFrame.ts +179 -0
  130. package/src/models/CommandInfoResponse.ts +102 -0
  131. package/src/models/CommandListResponse.ts +111 -0
  132. package/src/models/CommandLogsResponse.ts +175 -0
  133. package/src/models/CommandRecord.ts +204 -0
  134. package/src/models/CommandResponse.ts +8 -0
  135. package/src/models/CommandStartedResponse.ts +8 -0
  136. package/src/models/CommandStatusResponse.ts +42 -2
  137. package/src/models/CommandStopResponse.ts +129 -0
  138. package/src/models/CommandStreamFrame.ts +8 -0
  139. package/src/models/CreateSandboxRequest.ts +8 -0
  140. package/src/models/DataRetentionPolicyResponse.ts +16 -0
  141. package/src/models/DataRetentionUpdateRequest.ts +9 -1
  142. package/src/models/ForkRequest.ts +8 -0
  143. package/src/models/ProcessListResponse.ts +129 -0
  144. package/src/models/Sandbox.ts +8 -0
  145. package/src/models/SandboxProcess.ts +123 -0
  146. package/src/models/TelemetryConfig.ts +110 -0
  147. package/src/models/TelemetryConfigLastError.ts +84 -0
  148. package/src/models/TelemetryResponse.ts +92 -0
  149. package/src/models/TelemetrySetRequest.ts +74 -0
  150. package/src/models/TelemetrySetResponse.ts +108 -0
  151. package/src/models/TelemetryTestResult.ts +84 -0
  152. package/src/models/index.ts +14 -0
@@ -106,13 +106,13 @@ export interface CommandStatusResponse {
106
106
  */
107
107
  finishedAt?: Date | null;
108
108
  /**
109
- * Tail of the stdout log file.
109
+ * Tail of the stdout log file. With `stdoutOffset`: the stdout written since that offset.
110
110
  * @type {string}
111
111
  * @memberof CommandStatusResponse
112
112
  */
113
113
  stdout: string;
114
114
  /**
115
- * Tail of the stderr log file.
115
+ * Tail of the stderr log file. With `stderrOffset`: the stderr written since that offset.
116
116
  * @type {string}
117
117
  * @memberof CommandStatusResponse
118
118
  */
@@ -141,6 +141,36 @@ export interface CommandStatusResponse {
141
141
  * @memberof CommandStatusResponse
142
142
  */
143
143
  errLogPath?: string;
144
+ /**
145
+ * Byte offset where `stdout` starts: the offset you asked for, or 0 when the log was replaced.
146
+ * @type {number}
147
+ * @memberof CommandStatusResponse
148
+ */
149
+ stdoutOffset?: number;
150
+ /**
151
+ * Byte offset where `stderr` starts: the offset you asked for, or 0 when the log was replaced.
152
+ * @type {number}
153
+ * @memberof CommandStatusResponse
154
+ */
155
+ stderrOffset?: number;
156
+ /**
157
+ * The `stdoutOffset` for the next read.
158
+ * @type {number}
159
+ * @memberof CommandStatusResponse
160
+ */
161
+ stdoutNextOffset?: number;
162
+ /**
163
+ * The `stderrOffset` for the next read.
164
+ * @type {number}
165
+ * @memberof CommandStatusResponse
166
+ */
167
+ stderrNextOffset?: number;
168
+ /**
169
+ * True when more output is already written. Read again at once.
170
+ * @type {boolean}
171
+ * @memberof CommandStatusResponse
172
+ */
173
+ more?: boolean;
144
174
  }
145
175
  /**
146
176
  * @export
@@ -86,6 +86,11 @@ function CommandStatusResponseFromJSONTyped(json, ignoreDiscriminator) {
86
86
  'stderrTruncated': json['stderrTruncated'] == null ? undefined : json['stderrTruncated'],
87
87
  'logPath': json['logPath'] == null ? undefined : json['logPath'],
88
88
  'errLogPath': json['errLogPath'] == null ? undefined : json['errLogPath'],
89
+ 'stdoutOffset': json['stdoutOffset'] == null ? undefined : json['stdoutOffset'],
90
+ 'stderrOffset': json['stderrOffset'] == null ? undefined : json['stderrOffset'],
91
+ 'stdoutNextOffset': json['stdoutNextOffset'] == null ? undefined : json['stdoutNextOffset'],
92
+ 'stderrNextOffset': json['stderrNextOffset'] == null ? undefined : json['stderrNextOffset'],
93
+ 'more': json['more'] == null ? undefined : json['more'],
89
94
  };
90
95
  }
91
96
  function CommandStatusResponseToJSON(json) {
@@ -117,5 +122,10 @@ function CommandStatusResponseToJSONTyped(value, ignoreDiscriminator = false) {
117
122
  'stderrTruncated': value['stderrTruncated'],
118
123
  'logPath': value['logPath'],
119
124
  'errLogPath': value['errLogPath'],
125
+ 'stdoutOffset': value['stdoutOffset'],
126
+ 'stderrOffset': value['stderrOffset'],
127
+ 'stdoutNextOffset': value['stdoutNextOffset'],
128
+ 'stderrNextOffset': value['stderrNextOffset'],
129
+ 'more': value['more'],
120
130
  };
121
131
  }
@@ -0,0 +1,70 @@
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 { CommandRecord } from './CommandRecord';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface CommandStopResponse
17
+ */
18
+ export interface CommandStopResponse {
19
+ /**
20
+ *
21
+ * @type {boolean}
22
+ * @memberof CommandStopResponse
23
+ */
24
+ ok: boolean;
25
+ /**
26
+ *
27
+ * @type {CommandStopResponseTypeEnum}
28
+ * @memberof CommandStopResponse
29
+ */
30
+ type: CommandStopResponseTypeEnum;
31
+ /**
32
+ *
33
+ * @type {number}
34
+ * @memberof CommandStopResponse
35
+ */
36
+ processId: number;
37
+ /**
38
+ * Always false after a stop.
39
+ * @type {boolean}
40
+ * @memberof CommandStopResponse
41
+ */
42
+ running: boolean;
43
+ /**
44
+ * False when the process had already ended.
45
+ * @type {boolean}
46
+ * @memberof CommandStopResponse
47
+ */
48
+ signaled: boolean;
49
+ /**
50
+ * The history record of the command, with its final state.
51
+ * @type {CommandRecord}
52
+ * @memberof CommandStopResponse
53
+ */
54
+ command: CommandRecord | null;
55
+ }
56
+ /**
57
+ * @export
58
+ */
59
+ export declare const CommandStopResponseTypeEnum: {
60
+ readonly CommandStopped: 'command.stopped';
61
+ };
62
+ export type CommandStopResponseTypeEnum = typeof CommandStopResponseTypeEnum[keyof typeof CommandStopResponseTypeEnum];
63
+ /**
64
+ * Check if a given object implements the CommandStopResponse interface.
65
+ */
66
+ export declare function instanceOfCommandStopResponse(value: object): value is CommandStopResponse;
67
+ export declare function CommandStopResponseFromJSON(json: any): CommandStopResponse;
68
+ export declare function CommandStopResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CommandStopResponse;
69
+ export declare function CommandStopResponseToJSON(json: any): CommandStopResponse;
70
+ export declare function CommandStopResponseToJSONTyped(value?: CommandStopResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Boat Public API v1
6
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.CommandStopResponseTypeEnum = void 0;
17
+ exports.instanceOfCommandStopResponse = instanceOfCommandStopResponse;
18
+ exports.CommandStopResponseFromJSON = CommandStopResponseFromJSON;
19
+ exports.CommandStopResponseFromJSONTyped = CommandStopResponseFromJSONTyped;
20
+ exports.CommandStopResponseToJSON = CommandStopResponseToJSON;
21
+ exports.CommandStopResponseToJSONTyped = CommandStopResponseToJSONTyped;
22
+ const CommandRecord_1 = require("./CommandRecord");
23
+ /**
24
+ * @export
25
+ */
26
+ exports.CommandStopResponseTypeEnum = {
27
+ CommandStopped: 'command.stopped'
28
+ };
29
+ /**
30
+ * Check if a given object implements the CommandStopResponse interface.
31
+ */
32
+ function instanceOfCommandStopResponse(value) {
33
+ if (!('ok' in value) || value['ok'] === undefined)
34
+ return false;
35
+ if (!('type' in value) || value['type'] === undefined)
36
+ return false;
37
+ if (!('processId' in value) || value['processId'] === undefined)
38
+ return false;
39
+ if (!('running' in value) || value['running'] === undefined)
40
+ return false;
41
+ if (!('signaled' in value) || value['signaled'] === undefined)
42
+ return false;
43
+ if (!('command' in value) || value['command'] === undefined)
44
+ return false;
45
+ return true;
46
+ }
47
+ function CommandStopResponseFromJSON(json) {
48
+ return CommandStopResponseFromJSONTyped(json, false);
49
+ }
50
+ function CommandStopResponseFromJSONTyped(json, ignoreDiscriminator) {
51
+ if (json == null) {
52
+ return json;
53
+ }
54
+ return {
55
+ 'ok': json['ok'],
56
+ 'type': json['type'],
57
+ 'processId': json['processId'],
58
+ 'running': json['running'],
59
+ 'signaled': json['signaled'],
60
+ 'command': (0, CommandRecord_1.CommandRecordFromJSON)(json['command']),
61
+ };
62
+ }
63
+ function CommandStopResponseToJSON(json) {
64
+ return CommandStopResponseToJSONTyped(json, false);
65
+ }
66
+ function CommandStopResponseToJSONTyped(value, ignoreDiscriminator = false) {
67
+ if (value == null) {
68
+ return value;
69
+ }
70
+ return {
71
+ 'ok': value['ok'],
72
+ 'type': value['type'],
73
+ 'processId': value['processId'],
74
+ 'running': value['running'],
75
+ 'signaled': value['signaled'],
76
+ 'command': (0, CommandRecord_1.CommandRecordToJSON)(value['command']),
77
+ };
78
+ }
@@ -21,6 +21,12 @@ export interface CommandStreamFrame {
21
21
  * @memberof CommandStreamFrame
22
22
  */
23
23
  type: CommandStreamFrameTypeEnum;
24
+ /**
25
+ * started: the command's record in the command history.
26
+ * @type {string}
27
+ * @memberof CommandStreamFrame
28
+ */
29
+ commandId?: string;
24
30
  /**
25
31
  * stdout/stderr: the chunk of output, UTF-8.
26
32
  * @type {string}
@@ -46,6 +46,7 @@ function CommandStreamFrameFromJSONTyped(json, ignoreDiscriminator) {
46
46
  }
47
47
  return {
48
48
  'type': json['type'],
49
+ 'commandId': json['commandId'] == null ? undefined : json['commandId'],
49
50
  'data': json['data'] == null ? undefined : json['data'],
50
51
  'exitCode': json['exitCode'] == null ? undefined : json['exitCode'],
51
52
  'success': json['success'] == null ? undefined : json['success'],
@@ -64,6 +65,7 @@ function CommandStreamFrameToJSONTyped(value, ignoreDiscriminator = false) {
64
65
  }
65
66
  return {
66
67
  'type': value['type'],
68
+ 'commandId': value['commandId'],
67
69
  'data': value['data'],
68
70
  'exitCode': value['exitCode'],
69
71
  'success': value['success'],
@@ -53,6 +53,12 @@ export interface CreateSandboxRequest {
53
53
  * @memberof CreateSandboxRequest
54
54
  */
55
55
  snapshots?: boolean;
56
+ /**
57
+ * Pass `false` for monitoring off. Boat keeps no command or process output, process list or CPU/RAM samples for this sandbox, and its history, processes and metrics calls answer 409 `monitoring_off`. Live output of a running command still works. While the account default is on, `true` is refused with 409 `monitoring_off_for_account`.
58
+ * @type {boolean}
59
+ * @memberof CreateSandboxRequest
60
+ */
61
+ monitoring?: boolean;
56
62
  /**
57
63
  * Pass `true` to get a sandbox only if a machine of this type is ready right now. The call answers within about 1.5 s: either the usual `202` with the sandbox, or `503` `no_ready_machine` with nothing created, billed, or counted against your start limits, so you can retry or fall back at once. Without it, a create waits for a machine to be built when none is ready. Works with `from`; fork and resume take it too.
58
64
  * @type {boolean}
@@ -48,6 +48,7 @@ function CreateSandboxRequestFromJSONTyped(json, ignoreDiscriminator) {
48
48
  'environment': json['environment'] == null ? undefined : json['environment'],
49
49
  'noEnv': json['noEnv'] == null ? undefined : json['noEnv'],
50
50
  'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
51
+ 'monitoring': json['monitoring'] == null ? undefined : json['monitoring'],
51
52
  'failFast': json['failFast'] == null ? undefined : json['failFast'],
52
53
  'setupScript': json['setupScript'] == null ? undefined : json['setupScript'],
53
54
  'org': json['org'] == null ? undefined : json['org'],
@@ -69,6 +70,7 @@ function CreateSandboxRequestToJSONTyped(value, ignoreDiscriminator = false) {
69
70
  'environment': value['environment'],
70
71
  'noEnv': value['noEnv'],
71
72
  'snapshots': value['snapshots'],
73
+ 'monitoring': value['monitoring'],
72
74
  'failFast': value['failFast'],
73
75
  'setupScript': value['setupScript'],
74
76
  'org': value['org'],
@@ -63,6 +63,18 @@ export interface DataRetentionPolicyResponse {
63
63
  * @memberof DataRetentionPolicyResponse
64
64
  */
65
65
  snapshotsOffAt?: Date | null;
66
+ /**
67
+ * When true, every new sandbox of this account is created with monitoring off.
68
+ * @type {boolean}
69
+ * @memberof DataRetentionPolicyResponse
70
+ */
71
+ monitoringOff?: boolean;
72
+ /**
73
+ *
74
+ * @type {Date}
75
+ * @memberof DataRetentionPolicyResponse
76
+ */
77
+ monitoringOffAt?: Date | null;
66
78
  }
67
79
  /**
68
80
  * @export
@@ -56,6 +56,8 @@ function DataRetentionPolicyResponseFromJSONTyped(json, ignoreDiscriminator) {
56
56
  'acceptedDeletionOperationsIrreversible': json['acceptedDeletionOperationsIrreversible'] == null ? undefined : json['acceptedDeletionOperationsIrreversible'],
57
57
  'snapshotsOff': json['snapshotsOff'] == null ? undefined : json['snapshotsOff'],
58
58
  'snapshotsOffAt': json['snapshotsOffAt'] == null ? undefined : (new Date(json['snapshotsOffAt'])),
59
+ 'monitoringOff': json['monitoringOff'] == null ? undefined : json['monitoringOff'],
60
+ 'monitoringOffAt': json['monitoringOffAt'] == null ? undefined : (new Date(json['monitoringOffAt'])),
59
61
  };
60
62
  }
61
63
  function DataRetentionPolicyResponseToJSON(json) {
@@ -74,5 +76,7 @@ function DataRetentionPolicyResponseToJSONTyped(value, ignoreDiscriminator = fal
74
76
  'acceptedDeletionOperationsIrreversible': value['acceptedDeletionOperationsIrreversible'],
75
77
  'snapshotsOff': value['snapshotsOff'],
76
78
  'snapshotsOffAt': value['snapshotsOffAt'] == null ? value['snapshotsOffAt'] : value['snapshotsOffAt'].toISOString(),
79
+ 'monitoringOff': value['monitoringOff'],
80
+ 'monitoringOffAt': value['monitoringOffAt'] == null ? value['monitoringOffAt'] : value['monitoringOffAt'].toISOString(),
77
81
  };
78
82
  }
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Pass `enabled` to change zero data retention, or `snapshotsOff` alone to change the account's snapshots-off setting.
13
+ * Pass `enabled` to change zero data retention, or `snapshotsOff` or `monitoringOff` alone to change that account setting.
14
14
  * @export
15
15
  * @interface DataRetentionUpdateRequest
16
16
  */
@@ -27,6 +27,12 @@ export interface DataRetentionUpdateRequest {
27
27
  * @memberof DataRetentionUpdateRequest
28
28
  */
29
29
  snapshotsOff?: boolean;
30
+ /**
31
+ * Turn monitoring off for every sandbox created from now on. Existing sandboxes keep their setting. While on, a create or fork that passes `monitoring: true` is refused with 409 `monitoring_off_for_account`.
32
+ * @type {boolean}
33
+ * @memberof DataRetentionUpdateRequest
34
+ */
35
+ monitoringOff?: boolean;
30
36
  /**
31
37
  * Required when enabling and must exactly equal `delete archived sandbox data`.
32
38
  * @type {DataRetentionUpdateRequestConfirmationEnum}
@@ -41,6 +41,7 @@ function DataRetentionUpdateRequestFromJSONTyped(json, ignoreDiscriminator) {
41
41
  return {
42
42
  'enabled': json['enabled'] == null ? undefined : json['enabled'],
43
43
  'snapshotsOff': json['snapshotsOff'] == null ? undefined : json['snapshotsOff'],
44
+ 'monitoringOff': json['monitoringOff'] == null ? undefined : json['monitoringOff'],
44
45
  'confirmation': json['confirmation'] == null ? undefined : json['confirmation'],
45
46
  };
46
47
  }
@@ -54,6 +55,7 @@ function DataRetentionUpdateRequestToJSONTyped(value, ignoreDiscriminator = fals
54
55
  return {
55
56
  'enabled': value['enabled'],
56
57
  'snapshotsOff': value['snapshotsOff'],
58
+ 'monitoringOff': value['monitoringOff'],
57
59
  'confirmation': value['confirmation'],
58
60
  };
59
61
  }
@@ -21,6 +21,12 @@ export interface ForkRequest {
21
21
  * @memberof ForkRequest
22
22
  */
23
23
  failFast?: boolean;
24
+ /**
25
+ * `false` creates the fork with monitoring off: Boat keeps no command or process output, process list or CPU/RAM samples for it. Omitted, the fork keeps the source sandbox's setting. `true` turns it on for the fork, unless the account has monitoring off by default (`409` `monitoring_off_for_account`).
26
+ * @type {boolean}
27
+ * @memberof ForkRequest
28
+ */
29
+ monitoring?: boolean;
24
30
  /**
25
31
  * Replaces the env the fork would otherwise inherit from the source sandbox. Same validation rules as `CreateSandboxRequest.env`.
26
32
  * @type {{ [key: string]: string; }}
@@ -43,6 +43,7 @@ function ForkRequestFromJSONTyped(json, ignoreDiscriminator) {
43
43
  }
44
44
  return {
45
45
  'failFast': json['failFast'] == null ? undefined : json['failFast'],
46
+ 'monitoring': json['monitoring'] == null ? undefined : json['monitoring'],
46
47
  'env': json['env'] == null ? undefined : json['env'],
47
48
  'environment': json['environment'] == null ? undefined : json['environment'],
48
49
  'noEnv': json['noEnv'] == null ? undefined : json['noEnv'],
@@ -59,6 +60,7 @@ function ForkRequestToJSONTyped(value, ignoreDiscriminator = false) {
59
60
  }
60
61
  return {
61
62
  'failFast': value['failFast'],
63
+ 'monitoring': value['monitoring'],
62
64
  'env': value['env'],
63
65
  'environment': value['environment'],
64
66
  'noEnv': value['noEnv'],
@@ -0,0 +1,70 @@
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 { SandboxProcess } from './SandboxProcess';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface ProcessListResponse
17
+ */
18
+ export interface ProcessListResponse {
19
+ /**
20
+ *
21
+ * @type {boolean}
22
+ * @memberof ProcessListResponse
23
+ */
24
+ ok: boolean;
25
+ /**
26
+ *
27
+ * @type {ProcessListResponseTypeEnum}
28
+ * @memberof ProcessListResponse
29
+ */
30
+ type: ProcessListResponseTypeEnum;
31
+ /**
32
+ * 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).
33
+ * @type {boolean}
34
+ * @memberof ProcessListResponse
35
+ */
36
+ live: boolean;
37
+ /**
38
+ *
39
+ * @type {Date}
40
+ * @memberof ProcessListResponse
41
+ */
42
+ sampledAt: Date | null;
43
+ /**
44
+ * Processes on the sandbox. The list holds at most 500
45
+ * @type {number}
46
+ * @memberof ProcessListResponse
47
+ */
48
+ total: number;
49
+ /**
50
+ *
51
+ * @type {Array<SandboxProcess>}
52
+ * @memberof ProcessListResponse
53
+ */
54
+ processes: Array<SandboxProcess>;
55
+ }
56
+ /**
57
+ * @export
58
+ */
59
+ export declare const ProcessListResponseTypeEnum: {
60
+ readonly ProcessList: 'process.list';
61
+ };
62
+ export type ProcessListResponseTypeEnum = typeof ProcessListResponseTypeEnum[keyof typeof ProcessListResponseTypeEnum];
63
+ /**
64
+ * Check if a given object implements the ProcessListResponse interface.
65
+ */
66
+ export declare function instanceOfProcessListResponse(value: object): value is ProcessListResponse;
67
+ export declare function ProcessListResponseFromJSON(json: any): ProcessListResponse;
68
+ export declare function ProcessListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProcessListResponse;
69
+ export declare function ProcessListResponseToJSON(json: any): ProcessListResponse;
70
+ export declare function ProcessListResponseToJSONTyped(value?: ProcessListResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Boat Public API v1
6
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ProcessListResponseTypeEnum = void 0;
17
+ exports.instanceOfProcessListResponse = instanceOfProcessListResponse;
18
+ exports.ProcessListResponseFromJSON = ProcessListResponseFromJSON;
19
+ exports.ProcessListResponseFromJSONTyped = ProcessListResponseFromJSONTyped;
20
+ exports.ProcessListResponseToJSON = ProcessListResponseToJSON;
21
+ exports.ProcessListResponseToJSONTyped = ProcessListResponseToJSONTyped;
22
+ const SandboxProcess_1 = require("./SandboxProcess");
23
+ /**
24
+ * @export
25
+ */
26
+ exports.ProcessListResponseTypeEnum = {
27
+ ProcessList: 'process.list'
28
+ };
29
+ /**
30
+ * Check if a given object implements the ProcessListResponse interface.
31
+ */
32
+ function instanceOfProcessListResponse(value) {
33
+ if (!('ok' in value) || value['ok'] === undefined)
34
+ return false;
35
+ if (!('type' in value) || value['type'] === undefined)
36
+ return false;
37
+ if (!('live' in value) || value['live'] === undefined)
38
+ return false;
39
+ if (!('sampledAt' in value) || value['sampledAt'] === undefined)
40
+ return false;
41
+ if (!('total' in value) || value['total'] === undefined)
42
+ return false;
43
+ if (!('processes' in value) || value['processes'] === undefined)
44
+ return false;
45
+ return true;
46
+ }
47
+ function ProcessListResponseFromJSON(json) {
48
+ return ProcessListResponseFromJSONTyped(json, false);
49
+ }
50
+ function ProcessListResponseFromJSONTyped(json, ignoreDiscriminator) {
51
+ if (json == null) {
52
+ return json;
53
+ }
54
+ return {
55
+ 'ok': json['ok'],
56
+ 'type': json['type'],
57
+ 'live': json['live'],
58
+ 'sampledAt': (json['sampledAt'] == null ? null : new Date(json['sampledAt'])),
59
+ 'total': json['total'],
60
+ 'processes': (json['processes'].map(SandboxProcess_1.SandboxProcessFromJSON)),
61
+ };
62
+ }
63
+ function ProcessListResponseToJSON(json) {
64
+ return ProcessListResponseToJSONTyped(json, false);
65
+ }
66
+ function ProcessListResponseToJSONTyped(value, ignoreDiscriminator = false) {
67
+ if (value == null) {
68
+ return value;
69
+ }
70
+ return {
71
+ 'ok': value['ok'],
72
+ 'type': value['type'],
73
+ 'live': value['live'],
74
+ 'sampledAt': value['sampledAt'] == null ? value['sampledAt'] : value['sampledAt'].toISOString(),
75
+ 'total': value['total'],
76
+ 'processes': (value['processes'].map(SandboxProcess_1.SandboxProcessToJSON)),
77
+ };
78
+ }
@@ -155,6 +155,12 @@ export interface Sandbox {
155
155
  * @memberof Sandbox
156
156
  */
157
157
  snapshots?: boolean;
158
+ /**
159
+ * False when the sandbox was created with monitoring off.
160
+ * @type {boolean}
161
+ * @memberof Sandbox
162
+ */
163
+ monitoring?: boolean;
158
164
  /**
159
165
  *
160
166
  * @type {boolean}
@@ -134,6 +134,7 @@ function SandboxFromJSONTyped(json, ignoreDiscriminator) {
134
134
  'desktopAvailable': json['desktopAvailable'],
135
135
  'desktopUrl': json['desktopUrl'] == null ? undefined : json['desktopUrl'],
136
136
  'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
137
+ 'monitoring': json['monitoring'] == null ? undefined : json['monitoring'],
137
138
  'snapshotAvailable': json['snapshotAvailable'],
138
139
  'snapshotCompletedAt': json['snapshotCompletedAt'] == null ? undefined : (new Date(json['snapshotCompletedAt'])),
139
140
  'snapshotVerifiedAt': json['snapshotVerifiedAt'] == null ? undefined : (new Date(json['snapshotVerifiedAt'])),
@@ -184,6 +185,7 @@ function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
184
185
  'desktopAvailable': value['desktopAvailable'],
185
186
  'desktopUrl': value['desktopUrl'],
186
187
  'snapshots': value['snapshots'],
188
+ 'monitoring': value['monitoring'],
187
189
  'snapshotAvailable': value['snapshotAvailable'],
188
190
  'snapshotCompletedAt': value['snapshotCompletedAt'] == null ? value['snapshotCompletedAt'] : value['snapshotCompletedAt'].toISOString(),
189
191
  'snapshotVerifiedAt': value['snapshotVerifiedAt'] == null ? value['snapshotVerifiedAt'] : value['snapshotVerifiedAt'].toISOString(),
@@ -0,0 +1,74 @@
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 SandboxProcess
16
+ */
17
+ export interface SandboxProcess {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof SandboxProcess
22
+ */
23
+ pid: number;
24
+ /**
25
+ * Live list only.
26
+ * @type {number}
27
+ * @memberof SandboxProcess
28
+ */
29
+ parentPid?: number;
30
+ /**
31
+ * Live list only.
32
+ * @type {string}
33
+ * @memberof SandboxProcess
34
+ */
35
+ user?: string;
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof SandboxProcess
40
+ */
41
+ cpuPercent?: number;
42
+ /**
43
+ * Resident memory.
44
+ * @type {number}
45
+ * @memberof SandboxProcess
46
+ */
47
+ memoryMB?: number;
48
+ /**
49
+ * Live list only.
50
+ * @type {Date}
51
+ * @memberof SandboxProcess
52
+ */
53
+ startedAt?: Date;
54
+ /**
55
+ * The full command line (first 1000 characters; 120 in a stored sample).
56
+ * @type {string}
57
+ * @memberof SandboxProcess
58
+ */
59
+ command: string;
60
+ /**
61
+ * Live list: the history record holding this process's output, when it has one.
62
+ * @type {string}
63
+ * @memberof SandboxProcess
64
+ */
65
+ commandId?: string | null;
66
+ }
67
+ /**
68
+ * Check if a given object implements the SandboxProcess interface.
69
+ */
70
+ export declare function instanceOfSandboxProcess(value: object): value is SandboxProcess;
71
+ export declare function SandboxProcessFromJSON(json: any): SandboxProcess;
72
+ export declare function SandboxProcessFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxProcess;
73
+ export declare function SandboxProcessToJSON(json: any): SandboxProcess;
74
+ export declare function SandboxProcessToJSONTyped(value?: SandboxProcess | null, ignoreDiscriminator?: boolean): any;