@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
@@ -0,0 +1,132 @@
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
+ * One command run through the commands endpoint (kept 90 days), or one process of the sandbox with mode `process` (kept 72 hours). Readable while the sandbox is stopped.
14
+ * @export
15
+ * @interface CommandRecord
16
+ */
17
+ export interface CommandRecord {
18
+ /**
19
+ * Id of the record in the command history.
20
+ * @type {string}
21
+ * @memberof CommandRecord
22
+ */
23
+ commandId: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof CommandRecord
28
+ */
29
+ sandboxId: string;
30
+ /**
31
+ * The command text as sent (first 64 KiB).
32
+ * @type {string}
33
+ * @memberof CommandRecord
34
+ */
35
+ command: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof CommandRecord
40
+ */
41
+ cwd?: string | null;
42
+ /**
43
+ * sync: the request waited for the result. stream: the output was streamed. detached: started in the background. process: any other process of the sandbox, recorded from what it wrote to its stdout/stderr.
44
+ * @type {CommandRecordModeEnum}
45
+ * @memberof CommandRecord
46
+ */
47
+ mode: CommandRecordModeEnum;
48
+ /**
49
+ * detached: the process id on the sandbox.
50
+ * @type {number}
51
+ * @memberof CommandRecord
52
+ */
53
+ processId?: number | null;
54
+ /**
55
+ * failed: the command could not start or its result never arrived. killed: ended by a signal or by DELETE /commands/{processId}. lost: the sandbox stopped or its agent restarted while the command ran.
56
+ * @type {CommandRecordStatusEnum}
57
+ * @memberof CommandRecord
58
+ */
59
+ status: CommandRecordStatusEnum;
60
+ /**
61
+ *
62
+ * @type {number}
63
+ * @memberof CommandRecord
64
+ */
65
+ exitCode?: number | null;
66
+ /**
67
+ *
68
+ * @type {string}
69
+ * @memberof CommandRecord
70
+ */
71
+ signal?: string | null;
72
+ /**
73
+ * Bytes of stdout written so far.
74
+ * @type {number}
75
+ * @memberof CommandRecord
76
+ */
77
+ stdoutBytes: number;
78
+ /**
79
+ * Bytes of stderr written so far.
80
+ * @type {number}
81
+ * @memberof CommandRecord
82
+ */
83
+ stderrBytes: number;
84
+ /**
85
+ * True when part of the output is not kept: the sandbox cut the output of a waiting command at 8 MiB, or the account wrote more than 10 MiB (compressed) of command output, or of process output, in one hour.
86
+ * @type {boolean}
87
+ * @memberof CommandRecord
88
+ */
89
+ outputTruncated: boolean;
90
+ /**
91
+ *
92
+ * @type {Date}
93
+ * @memberof CommandRecord
94
+ */
95
+ startedAt: Date;
96
+ /**
97
+ *
98
+ * @type {Date}
99
+ * @memberof CommandRecord
100
+ */
101
+ finishedAt?: Date | null;
102
+ }
103
+ /**
104
+ * @export
105
+ */
106
+ export declare const CommandRecordModeEnum: {
107
+ readonly Sync: 'sync';
108
+ readonly Stream: 'stream';
109
+ readonly Detached: 'detached';
110
+ readonly Process: 'process';
111
+ };
112
+ export type CommandRecordModeEnum = typeof CommandRecordModeEnum[keyof typeof CommandRecordModeEnum];
113
+ /**
114
+ * @export
115
+ */
116
+ export declare const CommandRecordStatusEnum: {
117
+ readonly Running: 'running';
118
+ readonly Exited: 'exited';
119
+ readonly TimedOut: 'timed_out';
120
+ readonly Failed: 'failed';
121
+ readonly Killed: 'killed';
122
+ readonly Lost: 'lost';
123
+ };
124
+ export type CommandRecordStatusEnum = typeof CommandRecordStatusEnum[keyof typeof CommandRecordStatusEnum];
125
+ /**
126
+ * Check if a given object implements the CommandRecord interface.
127
+ */
128
+ export declare function instanceOfCommandRecord(value: object): value is CommandRecord;
129
+ export declare function CommandRecordFromJSON(json: any): CommandRecord;
130
+ export declare function CommandRecordFromJSONTyped(json: any, ignoreDiscriminator: boolean): CommandRecord;
131
+ export declare function CommandRecordToJSON(json: any): CommandRecord;
132
+ export declare function CommandRecordToJSONTyped(value?: CommandRecord | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,105 @@
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
+ * @export
16
+ */
17
+ export const CommandRecordModeEnum = {
18
+ Sync: 'sync',
19
+ Stream: 'stream',
20
+ Detached: 'detached',
21
+ Process: 'process'
22
+ };
23
+ /**
24
+ * @export
25
+ */
26
+ export const CommandRecordStatusEnum = {
27
+ Running: 'running',
28
+ Exited: 'exited',
29
+ TimedOut: 'timed_out',
30
+ Failed: 'failed',
31
+ Killed: 'killed',
32
+ Lost: 'lost'
33
+ };
34
+ /**
35
+ * Check if a given object implements the CommandRecord interface.
36
+ */
37
+ export function instanceOfCommandRecord(value) {
38
+ if (!('commandId' in value) || value['commandId'] === undefined)
39
+ return false;
40
+ if (!('sandboxId' in value) || value['sandboxId'] === undefined)
41
+ return false;
42
+ if (!('command' in value) || value['command'] === undefined)
43
+ return false;
44
+ if (!('mode' in value) || value['mode'] === undefined)
45
+ return false;
46
+ if (!('status' in value) || value['status'] === undefined)
47
+ return false;
48
+ if (!('stdoutBytes' in value) || value['stdoutBytes'] === undefined)
49
+ return false;
50
+ if (!('stderrBytes' in value) || value['stderrBytes'] === undefined)
51
+ return false;
52
+ if (!('outputTruncated' in value) || value['outputTruncated'] === undefined)
53
+ return false;
54
+ if (!('startedAt' in value) || value['startedAt'] === undefined)
55
+ return false;
56
+ return true;
57
+ }
58
+ export function CommandRecordFromJSON(json) {
59
+ return CommandRecordFromJSONTyped(json, false);
60
+ }
61
+ export function CommandRecordFromJSONTyped(json, ignoreDiscriminator) {
62
+ if (json == null) {
63
+ return json;
64
+ }
65
+ return {
66
+ 'commandId': json['commandId'],
67
+ 'sandboxId': json['sandboxId'],
68
+ 'command': json['command'],
69
+ 'cwd': json['cwd'] == null ? undefined : json['cwd'],
70
+ 'mode': json['mode'],
71
+ 'processId': json['processId'] == null ? undefined : json['processId'],
72
+ 'status': json['status'],
73
+ 'exitCode': json['exitCode'] == null ? undefined : json['exitCode'],
74
+ 'signal': json['signal'] == null ? undefined : json['signal'],
75
+ 'stdoutBytes': json['stdoutBytes'],
76
+ 'stderrBytes': json['stderrBytes'],
77
+ 'outputTruncated': json['outputTruncated'],
78
+ 'startedAt': (new Date(json['startedAt'])),
79
+ 'finishedAt': json['finishedAt'] == null ? undefined : (new Date(json['finishedAt'])),
80
+ };
81
+ }
82
+ export function CommandRecordToJSON(json) {
83
+ return CommandRecordToJSONTyped(json, false);
84
+ }
85
+ export function CommandRecordToJSONTyped(value, ignoreDiscriminator = false) {
86
+ if (value == null) {
87
+ return value;
88
+ }
89
+ return {
90
+ 'commandId': value['commandId'],
91
+ 'sandboxId': value['sandboxId'],
92
+ 'command': value['command'],
93
+ 'cwd': value['cwd'],
94
+ 'mode': value['mode'],
95
+ 'processId': value['processId'],
96
+ 'status': value['status'],
97
+ 'exitCode': value['exitCode'],
98
+ 'signal': value['signal'],
99
+ 'stdoutBytes': value['stdoutBytes'],
100
+ 'stderrBytes': value['stderrBytes'],
101
+ 'outputTruncated': value['outputTruncated'],
102
+ 'startedAt': value['startedAt'].toISOString(),
103
+ 'finishedAt': value['finishedAt'] == null ? value['finishedAt'] : value['finishedAt'].toISOString(),
104
+ };
105
+ }
@@ -33,6 +33,12 @@ export interface CommandResponse {
33
33
  * @memberof CommandResponse
34
34
  */
35
35
  success: boolean;
36
+ /**
37
+ * The command's record in the command history.
38
+ * @type {string}
39
+ * @memberof CommandResponse
40
+ */
41
+ commandId?: string;
36
42
  /**
37
43
  *
38
44
  * @type {number}
@@ -48,6 +48,7 @@ export function CommandResponseFromJSONTyped(json, ignoreDiscriminator) {
48
48
  'ok': json['ok'],
49
49
  'type': json['type'],
50
50
  'success': json['success'],
51
+ 'commandId': json['commandId'] == null ? undefined : json['commandId'],
51
52
  'exitCode': json['exitCode'],
52
53
  'signal': json['signal'] == null ? undefined : json['signal'],
53
54
  'oomKilled': json['oomKilled'] == null ? undefined : json['oomKilled'],
@@ -72,6 +73,7 @@ export function CommandResponseToJSONTyped(value, ignoreDiscriminator = false) {
72
73
  'ok': value['ok'],
73
74
  'type': value['type'],
74
75
  'success': value['success'],
76
+ 'commandId': value['commandId'],
75
77
  'exitCode': value['exitCode'],
76
78
  'signal': value['signal'],
77
79
  'oomKilled': value['oomKilled'],
@@ -33,6 +33,12 @@ export interface CommandStartedResponse {
33
33
  * @memberof CommandStartedResponse
34
34
  */
35
35
  success: boolean;
36
+ /**
37
+ * The command's record in the command history. Its output is copied there every 30 s.
38
+ * @type {string}
39
+ * @memberof CommandStartedResponse
40
+ */
41
+ commandId?: string;
36
42
  /**
37
43
  * Process id to poll with the command status endpoint.
38
44
  * @type {number}
@@ -48,6 +48,7 @@ export function CommandStartedResponseFromJSONTyped(json, ignoreDiscriminator) {
48
48
  'ok': json['ok'],
49
49
  'type': json['type'],
50
50
  'success': json['success'],
51
+ 'commandId': json['commandId'] == null ? undefined : json['commandId'],
51
52
  'processId': json['processId'],
52
53
  'pid': json['pid'],
53
54
  'command': json['command'],
@@ -68,6 +69,7 @@ export function CommandStartedResponseToJSONTyped(value, ignoreDiscriminator = f
68
69
  'ok': value['ok'],
69
70
  'type': value['type'],
70
71
  'success': value['success'],
72
+ 'commandId': value['commandId'],
71
73
  'processId': value['processId'],
72
74
  'pid': value['pid'],
73
75
  'command': value['command'],
@@ -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
@@ -78,6 +78,11 @@ export function CommandStatusResponseFromJSONTyped(json, ignoreDiscriminator) {
78
78
  'stderrTruncated': json['stderrTruncated'] == null ? undefined : json['stderrTruncated'],
79
79
  'logPath': json['logPath'] == null ? undefined : json['logPath'],
80
80
  'errLogPath': json['errLogPath'] == null ? undefined : json['errLogPath'],
81
+ 'stdoutOffset': json['stdoutOffset'] == null ? undefined : json['stdoutOffset'],
82
+ 'stderrOffset': json['stderrOffset'] == null ? undefined : json['stderrOffset'],
83
+ 'stdoutNextOffset': json['stdoutNextOffset'] == null ? undefined : json['stdoutNextOffset'],
84
+ 'stderrNextOffset': json['stderrNextOffset'] == null ? undefined : json['stderrNextOffset'],
85
+ 'more': json['more'] == null ? undefined : json['more'],
81
86
  };
82
87
  }
83
88
  export function CommandStatusResponseToJSON(json) {
@@ -109,5 +114,10 @@ export function CommandStatusResponseToJSONTyped(value, ignoreDiscriminator = fa
109
114
  'stderrTruncated': value['stderrTruncated'],
110
115
  'logPath': value['logPath'],
111
116
  'errLogPath': value['errLogPath'],
117
+ 'stdoutOffset': value['stdoutOffset'],
118
+ 'stderrOffset': value['stderrOffset'],
119
+ 'stdoutNextOffset': value['stdoutNextOffset'],
120
+ 'stderrNextOffset': value['stderrNextOffset'],
121
+ 'more': value['more'],
112
122
  };
113
123
  }
@@ -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,70 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { CommandRecordFromJSON, CommandRecordToJSON, } from './CommandRecord';
15
+ /**
16
+ * @export
17
+ */
18
+ export const CommandStopResponseTypeEnum = {
19
+ CommandStopped: 'command.stopped'
20
+ };
21
+ /**
22
+ * Check if a given object implements the CommandStopResponse interface.
23
+ */
24
+ export function instanceOfCommandStopResponse(value) {
25
+ if (!('ok' in value) || value['ok'] === undefined)
26
+ return false;
27
+ if (!('type' in value) || value['type'] === undefined)
28
+ return false;
29
+ if (!('processId' in value) || value['processId'] === undefined)
30
+ return false;
31
+ if (!('running' in value) || value['running'] === undefined)
32
+ return false;
33
+ if (!('signaled' in value) || value['signaled'] === undefined)
34
+ return false;
35
+ if (!('command' in value) || value['command'] === undefined)
36
+ return false;
37
+ return true;
38
+ }
39
+ export function CommandStopResponseFromJSON(json) {
40
+ return CommandStopResponseFromJSONTyped(json, false);
41
+ }
42
+ export function CommandStopResponseFromJSONTyped(json, ignoreDiscriminator) {
43
+ if (json == null) {
44
+ return json;
45
+ }
46
+ return {
47
+ 'ok': json['ok'],
48
+ 'type': json['type'],
49
+ 'processId': json['processId'],
50
+ 'running': json['running'],
51
+ 'signaled': json['signaled'],
52
+ 'command': CommandRecordFromJSON(json['command']),
53
+ };
54
+ }
55
+ export function CommandStopResponseToJSON(json) {
56
+ return CommandStopResponseToJSONTyped(json, false);
57
+ }
58
+ export function CommandStopResponseToJSONTyped(value, ignoreDiscriminator = false) {
59
+ if (value == null) {
60
+ return value;
61
+ }
62
+ return {
63
+ 'ok': value['ok'],
64
+ 'type': value['type'],
65
+ 'processId': value['processId'],
66
+ 'running': value['running'],
67
+ 'signaled': value['signaled'],
68
+ 'command': CommandRecordToJSON(value['command']),
69
+ };
70
+ }
@@ -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}
@@ -38,6 +38,7 @@ export function CommandStreamFrameFromJSONTyped(json, ignoreDiscriminator) {
38
38
  }
39
39
  return {
40
40
  'type': json['type'],
41
+ 'commandId': json['commandId'] == null ? undefined : json['commandId'],
41
42
  'data': json['data'] == null ? undefined : json['data'],
42
43
  'exitCode': json['exitCode'] == null ? undefined : json['exitCode'],
43
44
  'success': json['success'] == null ? undefined : json['success'],
@@ -56,6 +57,7 @@ export function CommandStreamFrameToJSONTyped(value, ignoreDiscriminator = false
56
57
  }
57
58
  return {
58
59
  'type': value['type'],
60
+ 'commandId': value['commandId'],
59
61
  'data': value['data'],
60
62
  'exitCode': value['exitCode'],
61
63
  '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}
@@ -40,6 +40,7 @@ export function CreateSandboxRequestFromJSONTyped(json, ignoreDiscriminator) {
40
40
  'environment': json['environment'] == null ? undefined : json['environment'],
41
41
  'noEnv': json['noEnv'] == null ? undefined : json['noEnv'],
42
42
  'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
43
+ 'monitoring': json['monitoring'] == null ? undefined : json['monitoring'],
43
44
  'failFast': json['failFast'] == null ? undefined : json['failFast'],
44
45
  'setupScript': json['setupScript'] == null ? undefined : json['setupScript'],
45
46
  'org': json['org'] == null ? undefined : json['org'],
@@ -61,6 +62,7 @@ export function CreateSandboxRequestToJSONTyped(value, ignoreDiscriminator = fal
61
62
  'environment': value['environment'],
62
63
  'noEnv': value['noEnv'],
63
64
  'snapshots': value['snapshots'],
65
+ 'monitoring': value['monitoring'],
64
66
  'failFast': value['failFast'],
65
67
  'setupScript': value['setupScript'],
66
68
  '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
@@ -48,6 +48,8 @@ export function DataRetentionPolicyResponseFromJSONTyped(json, ignoreDiscriminat
48
48
  'acceptedDeletionOperationsIrreversible': json['acceptedDeletionOperationsIrreversible'] == null ? undefined : json['acceptedDeletionOperationsIrreversible'],
49
49
  'snapshotsOff': json['snapshotsOff'] == null ? undefined : json['snapshotsOff'],
50
50
  'snapshotsOffAt': json['snapshotsOffAt'] == null ? undefined : (new Date(json['snapshotsOffAt'])),
51
+ 'monitoringOff': json['monitoringOff'] == null ? undefined : json['monitoringOff'],
52
+ 'monitoringOffAt': json['monitoringOffAt'] == null ? undefined : (new Date(json['monitoringOffAt'])),
51
53
  };
52
54
  }
53
55
  export function DataRetentionPolicyResponseToJSON(json) {
@@ -66,5 +68,7 @@ export function DataRetentionPolicyResponseToJSONTyped(value, ignoreDiscriminato
66
68
  'acceptedDeletionOperationsIrreversible': value['acceptedDeletionOperationsIrreversible'],
67
69
  'snapshotsOff': value['snapshotsOff'],
68
70
  'snapshotsOffAt': value['snapshotsOffAt'] == null ? value['snapshotsOffAt'] : value['snapshotsOffAt'].toISOString(),
71
+ 'monitoringOff': value['monitoringOff'],
72
+ 'monitoringOffAt': value['monitoringOffAt'] == null ? value['monitoringOffAt'] : value['monitoringOffAt'].toISOString(),
69
73
  };
70
74
  }
@@ -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}
@@ -33,6 +33,7 @@ export function DataRetentionUpdateRequestFromJSONTyped(json, ignoreDiscriminato
33
33
  return {
34
34
  'enabled': json['enabled'] == null ? undefined : json['enabled'],
35
35
  'snapshotsOff': json['snapshotsOff'] == null ? undefined : json['snapshotsOff'],
36
+ 'monitoringOff': json['monitoringOff'] == null ? undefined : json['monitoringOff'],
36
37
  'confirmation': json['confirmation'] == null ? undefined : json['confirmation'],
37
38
  };
38
39
  }
@@ -46,6 +47,7 @@ export function DataRetentionUpdateRequestToJSONTyped(value, ignoreDiscriminator
46
47
  return {
47
48
  'enabled': value['enabled'],
48
49
  'snapshotsOff': value['snapshotsOff'],
50
+ 'monitoringOff': value['monitoringOff'],
49
51
  'confirmation': value['confirmation'],
50
52
  };
51
53
  }
@@ -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; }}