sandbox-agent 0.4.0 → 0.4.1
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.
- package/dist/chunk-7BNDCDDU.js +18 -0
- package/dist/chunk-7BNDCDDU.js.map +1 -0
- package/dist/chunk-TVCDKGSM.js +3029 -0
- package/dist/chunk-TVCDKGSM.js.map +1 -0
- package/dist/index.d.ts +1674 -144
- package/dist/index.js +17 -2353
- package/dist/index.js.map +1 -1
- package/dist/providers/cloudflare.d.ts +1 -1
- package/dist/providers/cloudflare.js +1 -0
- package/dist/providers/cloudflare.js.map +1 -1
- package/dist/providers/computesdk.d.ts +4 -4
- package/dist/providers/computesdk.js +9 -3
- package/dist/providers/computesdk.js.map +1 -1
- package/dist/providers/daytona.d.ts +3 -2
- package/dist/providers/daytona.js +4 -1
- package/dist/providers/daytona.js.map +1 -1
- package/dist/providers/docker.d.ts +1 -1
- package/dist/providers/docker.js +2 -1
- package/dist/providers/docker.js.map +1 -1
- package/dist/providers/e2b.d.ts +10 -3
- package/dist/providers/e2b.js +55 -10
- package/dist/providers/e2b.js.map +1 -1
- package/dist/providers/local.d.ts +1 -1
- package/dist/providers/modal.d.ts +9 -6
- package/dist/providers/modal.js +20 -14
- package/dist/providers/modal.js.map +1 -1
- package/dist/providers/sprites.d.ts +22 -0
- package/dist/providers/sprites.js +209 -0
- package/dist/providers/sprites.js.map +1 -0
- package/dist/providers/vercel.d.ts +1 -1
- package/dist/providers/vercel.js +2 -1
- package/dist/providers/vercel.js.map +1 -1
- package/dist/{types-DLlJOfyX.d.ts → types-DdcvY5CI.d.ts} +22 -0
- package/package.json +13 -4
- package/dist/chunk-TWTMX66J.js +0 -15
- package/dist/chunk-TWTMX66J.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { NewSessionRequest, SessionConfigOption, SessionModeState, AnyMessage, AcpEnvelopeDirection, RequestPermissionRequest, RequestPermissionResponse, NewSessionResponse, PermissionOptionKind, PromptRequest, PromptResponse, SetSessionModeResponse, SetSessionConfigOptionResponse } from 'acp-http-client';
|
|
2
2
|
export { AcpRpcError } from 'acp-http-client';
|
|
3
|
-
import { S as SandboxProvider } from './types-
|
|
3
|
+
import { S as SandboxProvider } from './types-DdcvY5CI.js';
|
|
4
4
|
export { S as SandboxAgentSpawnLogMode, a as SandboxAgentSpawnOptions } from './spawn-76JDF5d3.js';
|
|
5
|
+
export { SpritesClientOverrides, SpritesCreateOverrides, SpritesProviderOptions } from './providers/sprites.js';
|
|
6
|
+
import '@fly/sprites';
|
|
5
7
|
|
|
6
8
|
interface components {
|
|
7
9
|
schemas: {
|
|
@@ -74,6 +76,255 @@ interface components {
|
|
|
74
76
|
AgentListResponse: {
|
|
75
77
|
agents: components["schemas"]["AgentInfo"][];
|
|
76
78
|
};
|
|
79
|
+
DesktopActionResponse: {
|
|
80
|
+
ok: boolean;
|
|
81
|
+
};
|
|
82
|
+
DesktopClipboardQuery: {
|
|
83
|
+
selection?: string | null;
|
|
84
|
+
};
|
|
85
|
+
DesktopClipboardResponse: {
|
|
86
|
+
selection: string;
|
|
87
|
+
text: string;
|
|
88
|
+
};
|
|
89
|
+
DesktopClipboardWriteRequest: {
|
|
90
|
+
selection?: string | null;
|
|
91
|
+
text: string;
|
|
92
|
+
};
|
|
93
|
+
DesktopDisplayInfoResponse: {
|
|
94
|
+
display: string;
|
|
95
|
+
resolution: components["schemas"]["DesktopResolution"];
|
|
96
|
+
};
|
|
97
|
+
DesktopErrorInfo: {
|
|
98
|
+
code: string;
|
|
99
|
+
message: string;
|
|
100
|
+
};
|
|
101
|
+
DesktopKeyModifiers: {
|
|
102
|
+
alt?: boolean | null;
|
|
103
|
+
cmd?: boolean | null;
|
|
104
|
+
ctrl?: boolean | null;
|
|
105
|
+
shift?: boolean | null;
|
|
106
|
+
};
|
|
107
|
+
DesktopKeyboardDownRequest: {
|
|
108
|
+
key: string;
|
|
109
|
+
};
|
|
110
|
+
DesktopKeyboardPressRequest: {
|
|
111
|
+
key: string;
|
|
112
|
+
modifiers?: components["schemas"]["DesktopKeyModifiers"] | null;
|
|
113
|
+
};
|
|
114
|
+
DesktopKeyboardTypeRequest: {
|
|
115
|
+
/** Format: int32 */
|
|
116
|
+
delayMs?: number | null;
|
|
117
|
+
text: string;
|
|
118
|
+
};
|
|
119
|
+
DesktopKeyboardUpRequest: {
|
|
120
|
+
key: string;
|
|
121
|
+
};
|
|
122
|
+
DesktopLaunchRequest: {
|
|
123
|
+
app: string;
|
|
124
|
+
args?: string[] | null;
|
|
125
|
+
wait?: boolean | null;
|
|
126
|
+
};
|
|
127
|
+
DesktopLaunchResponse: {
|
|
128
|
+
/** Format: int32 */
|
|
129
|
+
pid?: number | null;
|
|
130
|
+
processId: string;
|
|
131
|
+
windowId?: string | null;
|
|
132
|
+
};
|
|
133
|
+
/** @enum {string} */
|
|
134
|
+
DesktopMouseButton: "left" | "middle" | "right";
|
|
135
|
+
DesktopMouseClickRequest: {
|
|
136
|
+
button?: components["schemas"]["DesktopMouseButton"] | null;
|
|
137
|
+
/** Format: int32 */
|
|
138
|
+
clickCount?: number | null;
|
|
139
|
+
/** Format: int32 */
|
|
140
|
+
x: number;
|
|
141
|
+
/** Format: int32 */
|
|
142
|
+
y: number;
|
|
143
|
+
};
|
|
144
|
+
DesktopMouseDownRequest: {
|
|
145
|
+
button?: components["schemas"]["DesktopMouseButton"] | null;
|
|
146
|
+
/** Format: int32 */
|
|
147
|
+
x?: number | null;
|
|
148
|
+
/** Format: int32 */
|
|
149
|
+
y?: number | null;
|
|
150
|
+
};
|
|
151
|
+
DesktopMouseDragRequest: {
|
|
152
|
+
button?: components["schemas"]["DesktopMouseButton"] | null;
|
|
153
|
+
/** Format: int32 */
|
|
154
|
+
endX: number;
|
|
155
|
+
/** Format: int32 */
|
|
156
|
+
endY: number;
|
|
157
|
+
/** Format: int32 */
|
|
158
|
+
startX: number;
|
|
159
|
+
/** Format: int32 */
|
|
160
|
+
startY: number;
|
|
161
|
+
};
|
|
162
|
+
DesktopMouseMoveRequest: {
|
|
163
|
+
/** Format: int32 */
|
|
164
|
+
x: number;
|
|
165
|
+
/** Format: int32 */
|
|
166
|
+
y: number;
|
|
167
|
+
};
|
|
168
|
+
DesktopMousePositionResponse: {
|
|
169
|
+
/** Format: int32 */
|
|
170
|
+
screen?: number | null;
|
|
171
|
+
window?: string | null;
|
|
172
|
+
/** Format: int32 */
|
|
173
|
+
x: number;
|
|
174
|
+
/** Format: int32 */
|
|
175
|
+
y: number;
|
|
176
|
+
};
|
|
177
|
+
DesktopMouseScrollRequest: {
|
|
178
|
+
/** Format: int32 */
|
|
179
|
+
deltaX?: number | null;
|
|
180
|
+
/** Format: int32 */
|
|
181
|
+
deltaY?: number | null;
|
|
182
|
+
/** Format: int32 */
|
|
183
|
+
x: number;
|
|
184
|
+
/** Format: int32 */
|
|
185
|
+
y: number;
|
|
186
|
+
};
|
|
187
|
+
DesktopMouseUpRequest: {
|
|
188
|
+
button?: components["schemas"]["DesktopMouseButton"] | null;
|
|
189
|
+
/** Format: int32 */
|
|
190
|
+
x?: number | null;
|
|
191
|
+
/** Format: int32 */
|
|
192
|
+
y?: number | null;
|
|
193
|
+
};
|
|
194
|
+
DesktopOpenRequest: {
|
|
195
|
+
target: string;
|
|
196
|
+
};
|
|
197
|
+
DesktopOpenResponse: {
|
|
198
|
+
/** Format: int32 */
|
|
199
|
+
pid?: number | null;
|
|
200
|
+
processId: string;
|
|
201
|
+
};
|
|
202
|
+
DesktopProcessInfo: {
|
|
203
|
+
logPath?: string | null;
|
|
204
|
+
name: string;
|
|
205
|
+
/** Format: int32 */
|
|
206
|
+
pid?: number | null;
|
|
207
|
+
running: boolean;
|
|
208
|
+
};
|
|
209
|
+
DesktopRecordingInfo: {
|
|
210
|
+
/** Format: int64 */
|
|
211
|
+
bytes: number;
|
|
212
|
+
endedAt?: string | null;
|
|
213
|
+
fileName: string;
|
|
214
|
+
id: string;
|
|
215
|
+
processId?: string | null;
|
|
216
|
+
startedAt: string;
|
|
217
|
+
status: components["schemas"]["DesktopRecordingStatus"];
|
|
218
|
+
};
|
|
219
|
+
DesktopRecordingListResponse: {
|
|
220
|
+
recordings: components["schemas"]["DesktopRecordingInfo"][];
|
|
221
|
+
};
|
|
222
|
+
DesktopRecordingStartRequest: {
|
|
223
|
+
/** Format: int32 */
|
|
224
|
+
fps?: number | null;
|
|
225
|
+
};
|
|
226
|
+
/** @enum {string} */
|
|
227
|
+
DesktopRecordingStatus: "recording" | "completed" | "failed";
|
|
228
|
+
DesktopRegionScreenshotQuery: {
|
|
229
|
+
format?: components["schemas"]["DesktopScreenshotFormat"] | null;
|
|
230
|
+
/** Format: int32 */
|
|
231
|
+
height: number;
|
|
232
|
+
/** Format: int32 */
|
|
233
|
+
quality?: number | null;
|
|
234
|
+
/** Format: float */
|
|
235
|
+
scale?: number | null;
|
|
236
|
+
showCursor?: boolean | null;
|
|
237
|
+
/** Format: int32 */
|
|
238
|
+
width: number;
|
|
239
|
+
/** Format: int32 */
|
|
240
|
+
x: number;
|
|
241
|
+
/** Format: int32 */
|
|
242
|
+
y: number;
|
|
243
|
+
};
|
|
244
|
+
DesktopResolution: {
|
|
245
|
+
/** Format: int32 */
|
|
246
|
+
dpi?: number | null;
|
|
247
|
+
/** Format: int32 */
|
|
248
|
+
height: number;
|
|
249
|
+
/** Format: int32 */
|
|
250
|
+
width: number;
|
|
251
|
+
};
|
|
252
|
+
/** @enum {string} */
|
|
253
|
+
DesktopScreenshotFormat: "png" | "jpeg" | "webp";
|
|
254
|
+
DesktopScreenshotQuery: {
|
|
255
|
+
format?: components["schemas"]["DesktopScreenshotFormat"] | null;
|
|
256
|
+
/** Format: int32 */
|
|
257
|
+
quality?: number | null;
|
|
258
|
+
/** Format: float */
|
|
259
|
+
scale?: number | null;
|
|
260
|
+
showCursor?: boolean | null;
|
|
261
|
+
};
|
|
262
|
+
DesktopStartRequest: {
|
|
263
|
+
/** Format: int32 */
|
|
264
|
+
displayNum?: number | null;
|
|
265
|
+
/** Format: int32 */
|
|
266
|
+
dpi?: number | null;
|
|
267
|
+
/** Format: int32 */
|
|
268
|
+
height?: number | null;
|
|
269
|
+
/** Format: int32 */
|
|
270
|
+
recordingFps?: number | null;
|
|
271
|
+
stateDir?: string | null;
|
|
272
|
+
streamAudioCodec?: string | null;
|
|
273
|
+
/** Format: int32 */
|
|
274
|
+
streamFrameRate?: number | null;
|
|
275
|
+
streamVideoCodec?: string | null;
|
|
276
|
+
webrtcPortRange?: string | null;
|
|
277
|
+
/** Format: int32 */
|
|
278
|
+
width?: number | null;
|
|
279
|
+
};
|
|
280
|
+
/** @enum {string} */
|
|
281
|
+
DesktopState: "inactive" | "install_required" | "starting" | "active" | "stopping" | "failed";
|
|
282
|
+
DesktopStatusResponse: {
|
|
283
|
+
display?: string | null;
|
|
284
|
+
installCommand?: string | null;
|
|
285
|
+
lastError?: components["schemas"]["DesktopErrorInfo"] | null;
|
|
286
|
+
missingDependencies?: string[];
|
|
287
|
+
processes?: components["schemas"]["DesktopProcessInfo"][];
|
|
288
|
+
resolution?: components["schemas"]["DesktopResolution"] | null;
|
|
289
|
+
runtimeLogPath?: string | null;
|
|
290
|
+
startedAt?: string | null;
|
|
291
|
+
state: components["schemas"]["DesktopState"];
|
|
292
|
+
/** @description Current visible windows (included when the desktop is active). */
|
|
293
|
+
windows?: components["schemas"]["DesktopWindowInfo"][];
|
|
294
|
+
};
|
|
295
|
+
DesktopStreamStatusResponse: {
|
|
296
|
+
active: boolean;
|
|
297
|
+
processId?: string | null;
|
|
298
|
+
windowId?: string | null;
|
|
299
|
+
};
|
|
300
|
+
DesktopWindowInfo: {
|
|
301
|
+
/** Format: int32 */
|
|
302
|
+
height: number;
|
|
303
|
+
id: string;
|
|
304
|
+
isActive: boolean;
|
|
305
|
+
title: string;
|
|
306
|
+
/** Format: int32 */
|
|
307
|
+
width: number;
|
|
308
|
+
/** Format: int32 */
|
|
309
|
+
x: number;
|
|
310
|
+
/** Format: int32 */
|
|
311
|
+
y: number;
|
|
312
|
+
};
|
|
313
|
+
DesktopWindowListResponse: {
|
|
314
|
+
windows: components["schemas"]["DesktopWindowInfo"][];
|
|
315
|
+
};
|
|
316
|
+
DesktopWindowMoveRequest: {
|
|
317
|
+
/** Format: int32 */
|
|
318
|
+
x: number;
|
|
319
|
+
/** Format: int32 */
|
|
320
|
+
y: number;
|
|
321
|
+
};
|
|
322
|
+
DesktopWindowResizeRequest: {
|
|
323
|
+
/** Format: int32 */
|
|
324
|
+
height: number;
|
|
325
|
+
/** Format: int32 */
|
|
326
|
+
width: number;
|
|
327
|
+
};
|
|
77
328
|
/** @enum {string} */
|
|
78
329
|
ErrorType: "invalid_request" | "conflict" | "unsupported_agent" | "agent_not_installed" | "install_failed" | "agent_process_exited" | "token_invalid" | "permission_denied" | "not_acceptable" | "unsupported_media_type" | "not_found" | "session_not_found" | "session_already_exists" | "mode_not_supported" | "stream_error" | "timeout";
|
|
79
330
|
FsActionResponse: {
|
|
@@ -204,6 +455,7 @@ interface components {
|
|
|
204
455
|
exitedAtMs?: number | null;
|
|
205
456
|
id: string;
|
|
206
457
|
interactive: boolean;
|
|
458
|
+
owner: components["schemas"]["ProcessOwner"];
|
|
207
459
|
/** Format: int32 */
|
|
208
460
|
pid?: number | null;
|
|
209
461
|
status: components["schemas"]["ProcessState"];
|
|
@@ -216,6 +468,9 @@ interface components {
|
|
|
216
468
|
ProcessInputResponse: {
|
|
217
469
|
bytesWritten: number;
|
|
218
470
|
};
|
|
471
|
+
ProcessListQuery: {
|
|
472
|
+
owner?: components["schemas"]["ProcessOwner"] | null;
|
|
473
|
+
};
|
|
219
474
|
ProcessListResponse: {
|
|
220
475
|
processes: components["schemas"]["ProcessInfo"][];
|
|
221
476
|
};
|
|
@@ -242,6 +497,8 @@ interface components {
|
|
|
242
497
|
};
|
|
243
498
|
/** @enum {string} */
|
|
244
499
|
ProcessLogsStream: "stdout" | "stderr" | "combined" | "pty";
|
|
500
|
+
/** @enum {string} */
|
|
501
|
+
ProcessOwner: "user" | "desktop" | "system";
|
|
245
502
|
ProcessRunRequest: {
|
|
246
503
|
args?: string[];
|
|
247
504
|
command: string;
|
|
@@ -386,262 +643,1374 @@ interface operations {
|
|
|
386
643
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
387
644
|
};
|
|
388
645
|
};
|
|
389
|
-
/** @description Unknown ACP server */
|
|
390
|
-
404: {
|
|
646
|
+
/** @description Unknown ACP server */
|
|
647
|
+
404: {
|
|
648
|
+
content: {
|
|
649
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
650
|
+
};
|
|
651
|
+
};
|
|
652
|
+
/** @description Client does not accept JSON responses */
|
|
653
|
+
406: {
|
|
654
|
+
content: {
|
|
655
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
656
|
+
};
|
|
657
|
+
};
|
|
658
|
+
/** @description ACP server bound to different agent */
|
|
659
|
+
409: {
|
|
660
|
+
content: {
|
|
661
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
662
|
+
};
|
|
663
|
+
};
|
|
664
|
+
/** @description Unsupported media type */
|
|
665
|
+
415: {
|
|
666
|
+
content: {
|
|
667
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
668
|
+
};
|
|
669
|
+
};
|
|
670
|
+
/** @description ACP agent process response timeout */
|
|
671
|
+
504: {
|
|
672
|
+
content: {
|
|
673
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
674
|
+
};
|
|
675
|
+
};
|
|
676
|
+
};
|
|
677
|
+
};
|
|
678
|
+
delete_v1_acp: {
|
|
679
|
+
parameters: {
|
|
680
|
+
path: {
|
|
681
|
+
/** @description Client-defined ACP server id */
|
|
682
|
+
server_id: string;
|
|
683
|
+
};
|
|
684
|
+
};
|
|
685
|
+
responses: {
|
|
686
|
+
/** @description ACP server closed */
|
|
687
|
+
204: {
|
|
688
|
+
content: never;
|
|
689
|
+
};
|
|
690
|
+
};
|
|
691
|
+
};
|
|
692
|
+
get_v1_agents: {
|
|
693
|
+
parameters: {
|
|
694
|
+
query?: {
|
|
695
|
+
/** @description When true, include version/path/configOptions (slower) */
|
|
696
|
+
config?: boolean | null;
|
|
697
|
+
/** @description When true, bypass version cache */
|
|
698
|
+
no_cache?: boolean | null;
|
|
699
|
+
};
|
|
700
|
+
};
|
|
701
|
+
responses: {
|
|
702
|
+
/** @description List of v1 agents */
|
|
703
|
+
200: {
|
|
704
|
+
content: {
|
|
705
|
+
"application/json": components["schemas"]["AgentListResponse"];
|
|
706
|
+
};
|
|
707
|
+
};
|
|
708
|
+
/** @description Authentication required */
|
|
709
|
+
401: {
|
|
710
|
+
content: {
|
|
711
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
712
|
+
};
|
|
713
|
+
};
|
|
714
|
+
};
|
|
715
|
+
};
|
|
716
|
+
get_v1_agent: {
|
|
717
|
+
parameters: {
|
|
718
|
+
query?: {
|
|
719
|
+
/** @description When true, include version/path/configOptions (slower) */
|
|
720
|
+
config?: boolean | null;
|
|
721
|
+
/** @description When true, bypass version cache */
|
|
722
|
+
no_cache?: boolean | null;
|
|
723
|
+
};
|
|
724
|
+
path: {
|
|
725
|
+
/** @description Agent id */
|
|
726
|
+
agent: string;
|
|
727
|
+
};
|
|
728
|
+
};
|
|
729
|
+
responses: {
|
|
730
|
+
/** @description Agent info */
|
|
731
|
+
200: {
|
|
732
|
+
content: {
|
|
733
|
+
"application/json": components["schemas"]["AgentInfo"];
|
|
734
|
+
};
|
|
735
|
+
};
|
|
736
|
+
/** @description Unknown agent */
|
|
737
|
+
400: {
|
|
738
|
+
content: {
|
|
739
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
740
|
+
};
|
|
741
|
+
};
|
|
742
|
+
/** @description Authentication required */
|
|
743
|
+
401: {
|
|
744
|
+
content: {
|
|
745
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
746
|
+
};
|
|
747
|
+
};
|
|
748
|
+
};
|
|
749
|
+
};
|
|
750
|
+
post_v1_agent_install: {
|
|
751
|
+
parameters: {
|
|
752
|
+
path: {
|
|
753
|
+
/** @description Agent id */
|
|
754
|
+
agent: string;
|
|
755
|
+
};
|
|
756
|
+
};
|
|
757
|
+
requestBody: {
|
|
758
|
+
content: {
|
|
759
|
+
"application/json": components["schemas"]["AgentInstallRequest"];
|
|
760
|
+
};
|
|
761
|
+
};
|
|
762
|
+
responses: {
|
|
763
|
+
/** @description Agent install result */
|
|
764
|
+
200: {
|
|
765
|
+
content: {
|
|
766
|
+
"application/json": components["schemas"]["AgentInstallResponse"];
|
|
767
|
+
};
|
|
768
|
+
};
|
|
769
|
+
/** @description Invalid request */
|
|
770
|
+
400: {
|
|
771
|
+
content: {
|
|
772
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
773
|
+
};
|
|
774
|
+
};
|
|
775
|
+
/** @description Install failed */
|
|
776
|
+
500: {
|
|
777
|
+
content: {
|
|
778
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
779
|
+
};
|
|
780
|
+
};
|
|
781
|
+
};
|
|
782
|
+
};
|
|
783
|
+
get_v1_config_mcp: {
|
|
784
|
+
parameters: {
|
|
785
|
+
query: {
|
|
786
|
+
/** @description Target directory */
|
|
787
|
+
directory: string;
|
|
788
|
+
/** @description MCP entry name */
|
|
789
|
+
mcpName: string;
|
|
790
|
+
};
|
|
791
|
+
};
|
|
792
|
+
responses: {
|
|
793
|
+
/** @description MCP entry */
|
|
794
|
+
200: {
|
|
795
|
+
content: {
|
|
796
|
+
"application/json": components["schemas"]["McpServerConfig"];
|
|
797
|
+
};
|
|
798
|
+
};
|
|
799
|
+
/** @description Entry not found */
|
|
800
|
+
404: {
|
|
801
|
+
content: {
|
|
802
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
803
|
+
};
|
|
804
|
+
};
|
|
805
|
+
};
|
|
806
|
+
};
|
|
807
|
+
put_v1_config_mcp: {
|
|
808
|
+
parameters: {
|
|
809
|
+
query: {
|
|
810
|
+
/** @description Target directory */
|
|
811
|
+
directory: string;
|
|
812
|
+
/** @description MCP entry name */
|
|
813
|
+
mcpName: string;
|
|
814
|
+
};
|
|
815
|
+
};
|
|
816
|
+
requestBody: {
|
|
817
|
+
content: {
|
|
818
|
+
"application/json": components["schemas"]["McpServerConfig"];
|
|
819
|
+
};
|
|
820
|
+
};
|
|
821
|
+
responses: {
|
|
822
|
+
/** @description Stored */
|
|
823
|
+
204: {
|
|
824
|
+
content: never;
|
|
825
|
+
};
|
|
826
|
+
};
|
|
827
|
+
};
|
|
828
|
+
delete_v1_config_mcp: {
|
|
829
|
+
parameters: {
|
|
830
|
+
query: {
|
|
831
|
+
/** @description Target directory */
|
|
832
|
+
directory: string;
|
|
833
|
+
/** @description MCP entry name */
|
|
834
|
+
mcpName: string;
|
|
835
|
+
};
|
|
836
|
+
};
|
|
837
|
+
responses: {
|
|
838
|
+
/** @description Deleted */
|
|
839
|
+
204: {
|
|
840
|
+
content: never;
|
|
841
|
+
};
|
|
842
|
+
};
|
|
843
|
+
};
|
|
844
|
+
get_v1_config_skills: {
|
|
845
|
+
parameters: {
|
|
846
|
+
query: {
|
|
847
|
+
/** @description Target directory */
|
|
848
|
+
directory: string;
|
|
849
|
+
/** @description Skill entry name */
|
|
850
|
+
skillName: string;
|
|
851
|
+
};
|
|
852
|
+
};
|
|
853
|
+
responses: {
|
|
854
|
+
/** @description Skills entry */
|
|
855
|
+
200: {
|
|
856
|
+
content: {
|
|
857
|
+
"application/json": components["schemas"]["SkillsConfig"];
|
|
858
|
+
};
|
|
859
|
+
};
|
|
860
|
+
/** @description Entry not found */
|
|
861
|
+
404: {
|
|
862
|
+
content: {
|
|
863
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
864
|
+
};
|
|
865
|
+
};
|
|
866
|
+
};
|
|
867
|
+
};
|
|
868
|
+
put_v1_config_skills: {
|
|
869
|
+
parameters: {
|
|
870
|
+
query: {
|
|
871
|
+
/** @description Target directory */
|
|
872
|
+
directory: string;
|
|
873
|
+
/** @description Skill entry name */
|
|
874
|
+
skillName: string;
|
|
875
|
+
};
|
|
876
|
+
};
|
|
877
|
+
requestBody: {
|
|
878
|
+
content: {
|
|
879
|
+
"application/json": components["schemas"]["SkillsConfig"];
|
|
880
|
+
};
|
|
881
|
+
};
|
|
882
|
+
responses: {
|
|
883
|
+
/** @description Stored */
|
|
884
|
+
204: {
|
|
885
|
+
content: never;
|
|
886
|
+
};
|
|
887
|
+
};
|
|
888
|
+
};
|
|
889
|
+
delete_v1_config_skills: {
|
|
890
|
+
parameters: {
|
|
891
|
+
query: {
|
|
892
|
+
/** @description Target directory */
|
|
893
|
+
directory: string;
|
|
894
|
+
/** @description Skill entry name */
|
|
895
|
+
skillName: string;
|
|
896
|
+
};
|
|
897
|
+
};
|
|
898
|
+
responses: {
|
|
899
|
+
/** @description Deleted */
|
|
900
|
+
204: {
|
|
901
|
+
content: never;
|
|
902
|
+
};
|
|
903
|
+
};
|
|
904
|
+
};
|
|
905
|
+
/**
|
|
906
|
+
* Read the desktop clipboard.
|
|
907
|
+
* @description Returns the current text content of the X11 clipboard.
|
|
908
|
+
*/
|
|
909
|
+
get_v1_desktop_clipboard: {
|
|
910
|
+
parameters: {
|
|
911
|
+
query?: {
|
|
912
|
+
selection?: string | null;
|
|
913
|
+
};
|
|
914
|
+
};
|
|
915
|
+
responses: {
|
|
916
|
+
/** @description Clipboard contents */
|
|
917
|
+
200: {
|
|
918
|
+
content: {
|
|
919
|
+
"application/json": components["schemas"]["DesktopClipboardResponse"];
|
|
920
|
+
};
|
|
921
|
+
};
|
|
922
|
+
/** @description Desktop runtime is not ready */
|
|
923
|
+
409: {
|
|
924
|
+
content: {
|
|
925
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
926
|
+
};
|
|
927
|
+
};
|
|
928
|
+
/** @description Clipboard read failed */
|
|
929
|
+
500: {
|
|
930
|
+
content: {
|
|
931
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
932
|
+
};
|
|
933
|
+
};
|
|
934
|
+
};
|
|
935
|
+
};
|
|
936
|
+
/**
|
|
937
|
+
* Write to the desktop clipboard.
|
|
938
|
+
* @description Sets the text content of the X11 clipboard.
|
|
939
|
+
*/
|
|
940
|
+
post_v1_desktop_clipboard: {
|
|
941
|
+
requestBody: {
|
|
942
|
+
content: {
|
|
943
|
+
"application/json": components["schemas"]["DesktopClipboardWriteRequest"];
|
|
944
|
+
};
|
|
945
|
+
};
|
|
946
|
+
responses: {
|
|
947
|
+
/** @description Clipboard updated */
|
|
948
|
+
200: {
|
|
949
|
+
content: {
|
|
950
|
+
"application/json": components["schemas"]["DesktopActionResponse"];
|
|
951
|
+
};
|
|
952
|
+
};
|
|
953
|
+
/** @description Desktop runtime is not ready */
|
|
954
|
+
409: {
|
|
955
|
+
content: {
|
|
956
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
957
|
+
};
|
|
958
|
+
};
|
|
959
|
+
/** @description Clipboard write failed */
|
|
960
|
+
500: {
|
|
961
|
+
content: {
|
|
962
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
963
|
+
};
|
|
964
|
+
};
|
|
965
|
+
};
|
|
966
|
+
};
|
|
967
|
+
/**
|
|
968
|
+
* Get desktop display information.
|
|
969
|
+
* @description Performs a health-gated display query against the managed desktop and
|
|
970
|
+
* returns the current display identifier and resolution.
|
|
971
|
+
*/
|
|
972
|
+
get_v1_desktop_display_info: {
|
|
973
|
+
responses: {
|
|
974
|
+
/** @description Desktop display information */
|
|
975
|
+
200: {
|
|
976
|
+
content: {
|
|
977
|
+
"application/json": components["schemas"]["DesktopDisplayInfoResponse"];
|
|
978
|
+
};
|
|
979
|
+
};
|
|
980
|
+
/** @description Desktop runtime is not ready */
|
|
981
|
+
409: {
|
|
982
|
+
content: {
|
|
983
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
984
|
+
};
|
|
985
|
+
};
|
|
986
|
+
/** @description Desktop runtime health or display query failed */
|
|
987
|
+
503: {
|
|
988
|
+
content: {
|
|
989
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
990
|
+
};
|
|
991
|
+
};
|
|
992
|
+
};
|
|
993
|
+
};
|
|
994
|
+
/**
|
|
995
|
+
* Press and hold a desktop keyboard key.
|
|
996
|
+
* @description Performs a health-gated `xdotool keydown` operation against the managed
|
|
997
|
+
* desktop.
|
|
998
|
+
*/
|
|
999
|
+
post_v1_desktop_keyboard_down: {
|
|
1000
|
+
requestBody: {
|
|
1001
|
+
content: {
|
|
1002
|
+
"application/json": components["schemas"]["DesktopKeyboardDownRequest"];
|
|
1003
|
+
};
|
|
1004
|
+
};
|
|
1005
|
+
responses: {
|
|
1006
|
+
/** @description Desktop keyboard action result */
|
|
1007
|
+
200: {
|
|
1008
|
+
content: {
|
|
1009
|
+
"application/json": components["schemas"]["DesktopActionResponse"];
|
|
1010
|
+
};
|
|
1011
|
+
};
|
|
1012
|
+
/** @description Invalid keyboard down request */
|
|
1013
|
+
400: {
|
|
1014
|
+
content: {
|
|
1015
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1016
|
+
};
|
|
1017
|
+
};
|
|
1018
|
+
/** @description Desktop runtime is not ready */
|
|
1019
|
+
409: {
|
|
1020
|
+
content: {
|
|
1021
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1022
|
+
};
|
|
1023
|
+
};
|
|
1024
|
+
/** @description Desktop runtime health or input failed */
|
|
1025
|
+
502: {
|
|
1026
|
+
content: {
|
|
1027
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1028
|
+
};
|
|
1029
|
+
};
|
|
1030
|
+
};
|
|
1031
|
+
};
|
|
1032
|
+
/**
|
|
1033
|
+
* Press a desktop keyboard shortcut.
|
|
1034
|
+
* @description Performs a health-gated `xdotool key` operation against the managed
|
|
1035
|
+
* desktop.
|
|
1036
|
+
*/
|
|
1037
|
+
post_v1_desktop_keyboard_press: {
|
|
1038
|
+
requestBody: {
|
|
1039
|
+
content: {
|
|
1040
|
+
"application/json": components["schemas"]["DesktopKeyboardPressRequest"];
|
|
1041
|
+
};
|
|
1042
|
+
};
|
|
1043
|
+
responses: {
|
|
1044
|
+
/** @description Desktop keyboard action result */
|
|
1045
|
+
200: {
|
|
1046
|
+
content: {
|
|
1047
|
+
"application/json": components["schemas"]["DesktopActionResponse"];
|
|
1048
|
+
};
|
|
1049
|
+
};
|
|
1050
|
+
/** @description Invalid keyboard press request */
|
|
1051
|
+
400: {
|
|
1052
|
+
content: {
|
|
1053
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1054
|
+
};
|
|
1055
|
+
};
|
|
1056
|
+
/** @description Desktop runtime is not ready */
|
|
1057
|
+
409: {
|
|
1058
|
+
content: {
|
|
1059
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1060
|
+
};
|
|
1061
|
+
};
|
|
1062
|
+
/** @description Desktop runtime health or input failed */
|
|
1063
|
+
502: {
|
|
1064
|
+
content: {
|
|
1065
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1066
|
+
};
|
|
1067
|
+
};
|
|
1068
|
+
};
|
|
1069
|
+
};
|
|
1070
|
+
/**
|
|
1071
|
+
* Type desktop keyboard text.
|
|
1072
|
+
* @description Performs a health-gated `xdotool type` operation against the managed
|
|
1073
|
+
* desktop.
|
|
1074
|
+
*/
|
|
1075
|
+
post_v1_desktop_keyboard_type: {
|
|
1076
|
+
requestBody: {
|
|
1077
|
+
content: {
|
|
1078
|
+
"application/json": components["schemas"]["DesktopKeyboardTypeRequest"];
|
|
1079
|
+
};
|
|
1080
|
+
};
|
|
1081
|
+
responses: {
|
|
1082
|
+
/** @description Desktop keyboard action result */
|
|
1083
|
+
200: {
|
|
1084
|
+
content: {
|
|
1085
|
+
"application/json": components["schemas"]["DesktopActionResponse"];
|
|
1086
|
+
};
|
|
1087
|
+
};
|
|
1088
|
+
/** @description Invalid keyboard type request */
|
|
1089
|
+
400: {
|
|
1090
|
+
content: {
|
|
1091
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1092
|
+
};
|
|
1093
|
+
};
|
|
1094
|
+
/** @description Desktop runtime is not ready */
|
|
1095
|
+
409: {
|
|
1096
|
+
content: {
|
|
1097
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1098
|
+
};
|
|
1099
|
+
};
|
|
1100
|
+
/** @description Desktop runtime health or input failed */
|
|
1101
|
+
502: {
|
|
1102
|
+
content: {
|
|
1103
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1104
|
+
};
|
|
1105
|
+
};
|
|
1106
|
+
};
|
|
1107
|
+
};
|
|
1108
|
+
/**
|
|
1109
|
+
* Release a desktop keyboard key.
|
|
1110
|
+
* @description Performs a health-gated `xdotool keyup` operation against the managed
|
|
1111
|
+
* desktop.
|
|
1112
|
+
*/
|
|
1113
|
+
post_v1_desktop_keyboard_up: {
|
|
1114
|
+
requestBody: {
|
|
1115
|
+
content: {
|
|
1116
|
+
"application/json": components["schemas"]["DesktopKeyboardUpRequest"];
|
|
1117
|
+
};
|
|
1118
|
+
};
|
|
1119
|
+
responses: {
|
|
1120
|
+
/** @description Desktop keyboard action result */
|
|
1121
|
+
200: {
|
|
1122
|
+
content: {
|
|
1123
|
+
"application/json": components["schemas"]["DesktopActionResponse"];
|
|
1124
|
+
};
|
|
1125
|
+
};
|
|
1126
|
+
/** @description Invalid keyboard up request */
|
|
1127
|
+
400: {
|
|
1128
|
+
content: {
|
|
1129
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1130
|
+
};
|
|
1131
|
+
};
|
|
1132
|
+
/** @description Desktop runtime is not ready */
|
|
1133
|
+
409: {
|
|
1134
|
+
content: {
|
|
1135
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1136
|
+
};
|
|
1137
|
+
};
|
|
1138
|
+
/** @description Desktop runtime health or input failed */
|
|
1139
|
+
502: {
|
|
1140
|
+
content: {
|
|
1141
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1142
|
+
};
|
|
1143
|
+
};
|
|
1144
|
+
};
|
|
1145
|
+
};
|
|
1146
|
+
/**
|
|
1147
|
+
* Launch a desktop application.
|
|
1148
|
+
* @description Launches an application by name on the managed desktop, optionally waiting
|
|
1149
|
+
* for its window to appear.
|
|
1150
|
+
*/
|
|
1151
|
+
post_v1_desktop_launch: {
|
|
1152
|
+
requestBody: {
|
|
1153
|
+
content: {
|
|
1154
|
+
"application/json": components["schemas"]["DesktopLaunchRequest"];
|
|
1155
|
+
};
|
|
1156
|
+
};
|
|
1157
|
+
responses: {
|
|
1158
|
+
/** @description Application launched */
|
|
1159
|
+
200: {
|
|
1160
|
+
content: {
|
|
1161
|
+
"application/json": components["schemas"]["DesktopLaunchResponse"];
|
|
1162
|
+
};
|
|
1163
|
+
};
|
|
1164
|
+
/** @description Application not found */
|
|
1165
|
+
404: {
|
|
1166
|
+
content: {
|
|
1167
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1168
|
+
};
|
|
1169
|
+
};
|
|
1170
|
+
/** @description Desktop runtime is not ready */
|
|
1171
|
+
409: {
|
|
1172
|
+
content: {
|
|
1173
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1174
|
+
};
|
|
1175
|
+
};
|
|
1176
|
+
};
|
|
1177
|
+
};
|
|
1178
|
+
/**
|
|
1179
|
+
* Click on the desktop.
|
|
1180
|
+
* @description Performs a health-gated pointer move and click against the managed desktop
|
|
1181
|
+
* and returns the resulting mouse position.
|
|
1182
|
+
*/
|
|
1183
|
+
post_v1_desktop_mouse_click: {
|
|
1184
|
+
requestBody: {
|
|
1185
|
+
content: {
|
|
1186
|
+
"application/json": components["schemas"]["DesktopMouseClickRequest"];
|
|
1187
|
+
};
|
|
1188
|
+
};
|
|
1189
|
+
responses: {
|
|
1190
|
+
/** @description Desktop mouse position after click */
|
|
1191
|
+
200: {
|
|
1192
|
+
content: {
|
|
1193
|
+
"application/json": components["schemas"]["DesktopMousePositionResponse"];
|
|
1194
|
+
};
|
|
1195
|
+
};
|
|
1196
|
+
/** @description Invalid mouse click request */
|
|
1197
|
+
400: {
|
|
1198
|
+
content: {
|
|
1199
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1200
|
+
};
|
|
1201
|
+
};
|
|
1202
|
+
/** @description Desktop runtime is not ready */
|
|
1203
|
+
409: {
|
|
1204
|
+
content: {
|
|
1205
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1206
|
+
};
|
|
1207
|
+
};
|
|
1208
|
+
/** @description Desktop runtime health or input failed */
|
|
1209
|
+
502: {
|
|
1210
|
+
content: {
|
|
1211
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1212
|
+
};
|
|
1213
|
+
};
|
|
1214
|
+
};
|
|
1215
|
+
};
|
|
1216
|
+
/**
|
|
1217
|
+
* Press and hold a desktop mouse button.
|
|
1218
|
+
* @description Performs a health-gated optional pointer move followed by `xdotool mousedown`
|
|
1219
|
+
* and returns the resulting mouse position.
|
|
1220
|
+
*/
|
|
1221
|
+
post_v1_desktop_mouse_down: {
|
|
1222
|
+
requestBody: {
|
|
1223
|
+
content: {
|
|
1224
|
+
"application/json": components["schemas"]["DesktopMouseDownRequest"];
|
|
1225
|
+
};
|
|
1226
|
+
};
|
|
1227
|
+
responses: {
|
|
1228
|
+
/** @description Desktop mouse position after button press */
|
|
1229
|
+
200: {
|
|
1230
|
+
content: {
|
|
1231
|
+
"application/json": components["schemas"]["DesktopMousePositionResponse"];
|
|
1232
|
+
};
|
|
1233
|
+
};
|
|
1234
|
+
/** @description Invalid mouse down request */
|
|
1235
|
+
400: {
|
|
1236
|
+
content: {
|
|
1237
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1238
|
+
};
|
|
1239
|
+
};
|
|
1240
|
+
/** @description Desktop runtime is not ready */
|
|
1241
|
+
409: {
|
|
1242
|
+
content: {
|
|
1243
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1244
|
+
};
|
|
1245
|
+
};
|
|
1246
|
+
/** @description Desktop runtime health or input failed */
|
|
1247
|
+
502: {
|
|
1248
|
+
content: {
|
|
1249
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1250
|
+
};
|
|
1251
|
+
};
|
|
1252
|
+
};
|
|
1253
|
+
};
|
|
1254
|
+
/**
|
|
1255
|
+
* Drag the desktop mouse.
|
|
1256
|
+
* @description Performs a health-gated drag gesture against the managed desktop and
|
|
1257
|
+
* returns the resulting mouse position.
|
|
1258
|
+
*/
|
|
1259
|
+
post_v1_desktop_mouse_drag: {
|
|
1260
|
+
requestBody: {
|
|
1261
|
+
content: {
|
|
1262
|
+
"application/json": components["schemas"]["DesktopMouseDragRequest"];
|
|
1263
|
+
};
|
|
1264
|
+
};
|
|
1265
|
+
responses: {
|
|
1266
|
+
/** @description Desktop mouse position after drag */
|
|
1267
|
+
200: {
|
|
1268
|
+
content: {
|
|
1269
|
+
"application/json": components["schemas"]["DesktopMousePositionResponse"];
|
|
1270
|
+
};
|
|
1271
|
+
};
|
|
1272
|
+
/** @description Invalid mouse drag request */
|
|
1273
|
+
400: {
|
|
1274
|
+
content: {
|
|
1275
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1276
|
+
};
|
|
1277
|
+
};
|
|
1278
|
+
/** @description Desktop runtime is not ready */
|
|
1279
|
+
409: {
|
|
1280
|
+
content: {
|
|
1281
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1282
|
+
};
|
|
1283
|
+
};
|
|
1284
|
+
/** @description Desktop runtime health or input failed */
|
|
1285
|
+
502: {
|
|
1286
|
+
content: {
|
|
1287
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1288
|
+
};
|
|
1289
|
+
};
|
|
1290
|
+
};
|
|
1291
|
+
};
|
|
1292
|
+
/**
|
|
1293
|
+
* Move the desktop mouse.
|
|
1294
|
+
* @description Performs a health-gated absolute pointer move on the managed desktop and
|
|
1295
|
+
* returns the resulting mouse position.
|
|
1296
|
+
*/
|
|
1297
|
+
post_v1_desktop_mouse_move: {
|
|
1298
|
+
requestBody: {
|
|
1299
|
+
content: {
|
|
1300
|
+
"application/json": components["schemas"]["DesktopMouseMoveRequest"];
|
|
1301
|
+
};
|
|
1302
|
+
};
|
|
1303
|
+
responses: {
|
|
1304
|
+
/** @description Desktop mouse position after move */
|
|
1305
|
+
200: {
|
|
1306
|
+
content: {
|
|
1307
|
+
"application/json": components["schemas"]["DesktopMousePositionResponse"];
|
|
1308
|
+
};
|
|
1309
|
+
};
|
|
1310
|
+
/** @description Invalid mouse move request */
|
|
1311
|
+
400: {
|
|
1312
|
+
content: {
|
|
1313
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1314
|
+
};
|
|
1315
|
+
};
|
|
1316
|
+
/** @description Desktop runtime is not ready */
|
|
1317
|
+
409: {
|
|
1318
|
+
content: {
|
|
1319
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1320
|
+
};
|
|
1321
|
+
};
|
|
1322
|
+
/** @description Desktop runtime health or input failed */
|
|
1323
|
+
502: {
|
|
1324
|
+
content: {
|
|
1325
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1326
|
+
};
|
|
1327
|
+
};
|
|
1328
|
+
};
|
|
1329
|
+
};
|
|
1330
|
+
/**
|
|
1331
|
+
* Get the current desktop mouse position.
|
|
1332
|
+
* @description Performs a health-gated mouse position query against the managed desktop.
|
|
1333
|
+
*/
|
|
1334
|
+
get_v1_desktop_mouse_position: {
|
|
1335
|
+
responses: {
|
|
1336
|
+
/** @description Desktop mouse position */
|
|
1337
|
+
200: {
|
|
1338
|
+
content: {
|
|
1339
|
+
"application/json": components["schemas"]["DesktopMousePositionResponse"];
|
|
1340
|
+
};
|
|
1341
|
+
};
|
|
1342
|
+
/** @description Desktop runtime is not ready */
|
|
1343
|
+
409: {
|
|
1344
|
+
content: {
|
|
1345
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1346
|
+
};
|
|
1347
|
+
};
|
|
1348
|
+
/** @description Desktop runtime health or input check failed */
|
|
1349
|
+
502: {
|
|
1350
|
+
content: {
|
|
1351
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1352
|
+
};
|
|
1353
|
+
};
|
|
1354
|
+
};
|
|
1355
|
+
};
|
|
1356
|
+
/**
|
|
1357
|
+
* Scroll the desktop mouse wheel.
|
|
1358
|
+
* @description Performs a health-gated scroll gesture at the requested coordinates and
|
|
1359
|
+
* returns the resulting mouse position.
|
|
1360
|
+
*/
|
|
1361
|
+
post_v1_desktop_mouse_scroll: {
|
|
1362
|
+
requestBody: {
|
|
1363
|
+
content: {
|
|
1364
|
+
"application/json": components["schemas"]["DesktopMouseScrollRequest"];
|
|
1365
|
+
};
|
|
1366
|
+
};
|
|
1367
|
+
responses: {
|
|
1368
|
+
/** @description Desktop mouse position after scroll */
|
|
1369
|
+
200: {
|
|
1370
|
+
content: {
|
|
1371
|
+
"application/json": components["schemas"]["DesktopMousePositionResponse"];
|
|
1372
|
+
};
|
|
1373
|
+
};
|
|
1374
|
+
/** @description Invalid mouse scroll request */
|
|
1375
|
+
400: {
|
|
1376
|
+
content: {
|
|
1377
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1378
|
+
};
|
|
1379
|
+
};
|
|
1380
|
+
/** @description Desktop runtime is not ready */
|
|
1381
|
+
409: {
|
|
1382
|
+
content: {
|
|
1383
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1384
|
+
};
|
|
1385
|
+
};
|
|
1386
|
+
/** @description Desktop runtime health or input failed */
|
|
1387
|
+
502: {
|
|
1388
|
+
content: {
|
|
1389
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1390
|
+
};
|
|
1391
|
+
};
|
|
1392
|
+
};
|
|
1393
|
+
};
|
|
1394
|
+
/**
|
|
1395
|
+
* Release a desktop mouse button.
|
|
1396
|
+
* @description Performs a health-gated optional pointer move followed by `xdotool mouseup`
|
|
1397
|
+
* and returns the resulting mouse position.
|
|
1398
|
+
*/
|
|
1399
|
+
post_v1_desktop_mouse_up: {
|
|
1400
|
+
requestBody: {
|
|
1401
|
+
content: {
|
|
1402
|
+
"application/json": components["schemas"]["DesktopMouseUpRequest"];
|
|
1403
|
+
};
|
|
1404
|
+
};
|
|
1405
|
+
responses: {
|
|
1406
|
+
/** @description Desktop mouse position after button release */
|
|
1407
|
+
200: {
|
|
1408
|
+
content: {
|
|
1409
|
+
"application/json": components["schemas"]["DesktopMousePositionResponse"];
|
|
1410
|
+
};
|
|
1411
|
+
};
|
|
1412
|
+
/** @description Invalid mouse up request */
|
|
1413
|
+
400: {
|
|
1414
|
+
content: {
|
|
1415
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1416
|
+
};
|
|
1417
|
+
};
|
|
1418
|
+
/** @description Desktop runtime is not ready */
|
|
1419
|
+
409: {
|
|
1420
|
+
content: {
|
|
1421
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1422
|
+
};
|
|
1423
|
+
};
|
|
1424
|
+
/** @description Desktop runtime health or input failed */
|
|
1425
|
+
502: {
|
|
1426
|
+
content: {
|
|
1427
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1428
|
+
};
|
|
1429
|
+
};
|
|
1430
|
+
};
|
|
1431
|
+
};
|
|
1432
|
+
/**
|
|
1433
|
+
* Open a file or URL with the default handler.
|
|
1434
|
+
* @description Opens a file path or URL using xdg-open on the managed desktop.
|
|
1435
|
+
*/
|
|
1436
|
+
post_v1_desktop_open: {
|
|
1437
|
+
requestBody: {
|
|
1438
|
+
content: {
|
|
1439
|
+
"application/json": components["schemas"]["DesktopOpenRequest"];
|
|
1440
|
+
};
|
|
1441
|
+
};
|
|
1442
|
+
responses: {
|
|
1443
|
+
/** @description Target opened */
|
|
1444
|
+
200: {
|
|
1445
|
+
content: {
|
|
1446
|
+
"application/json": components["schemas"]["DesktopOpenResponse"];
|
|
1447
|
+
};
|
|
1448
|
+
};
|
|
1449
|
+
/** @description Desktop runtime is not ready */
|
|
1450
|
+
409: {
|
|
1451
|
+
content: {
|
|
1452
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1453
|
+
};
|
|
1454
|
+
};
|
|
1455
|
+
};
|
|
1456
|
+
};
|
|
1457
|
+
/**
|
|
1458
|
+
* Start desktop recording.
|
|
1459
|
+
* @description Starts an ffmpeg x11grab recording against the managed desktop and returns
|
|
1460
|
+
* the created recording metadata.
|
|
1461
|
+
*/
|
|
1462
|
+
post_v1_desktop_recording_start: {
|
|
1463
|
+
requestBody: {
|
|
1464
|
+
content: {
|
|
1465
|
+
"application/json": components["schemas"]["DesktopRecordingStartRequest"];
|
|
1466
|
+
};
|
|
1467
|
+
};
|
|
1468
|
+
responses: {
|
|
1469
|
+
/** @description Desktop recording started */
|
|
1470
|
+
200: {
|
|
1471
|
+
content: {
|
|
1472
|
+
"application/json": components["schemas"]["DesktopRecordingInfo"];
|
|
1473
|
+
};
|
|
1474
|
+
};
|
|
1475
|
+
/** @description Desktop runtime is not ready or a recording is already active */
|
|
1476
|
+
409: {
|
|
1477
|
+
content: {
|
|
1478
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1479
|
+
};
|
|
1480
|
+
};
|
|
1481
|
+
/** @description Desktop recording failed */
|
|
1482
|
+
502: {
|
|
1483
|
+
content: {
|
|
1484
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1485
|
+
};
|
|
1486
|
+
};
|
|
1487
|
+
};
|
|
1488
|
+
};
|
|
1489
|
+
/**
|
|
1490
|
+
* Stop desktop recording.
|
|
1491
|
+
* @description Stops the active desktop recording and returns the finalized recording
|
|
1492
|
+
* metadata.
|
|
1493
|
+
*/
|
|
1494
|
+
post_v1_desktop_recording_stop: {
|
|
1495
|
+
responses: {
|
|
1496
|
+
/** @description Desktop recording stopped */
|
|
1497
|
+
200: {
|
|
1498
|
+
content: {
|
|
1499
|
+
"application/json": components["schemas"]["DesktopRecordingInfo"];
|
|
1500
|
+
};
|
|
1501
|
+
};
|
|
1502
|
+
/** @description No active desktop recording */
|
|
1503
|
+
409: {
|
|
1504
|
+
content: {
|
|
1505
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1506
|
+
};
|
|
1507
|
+
};
|
|
1508
|
+
/** @description Desktop recording stop failed */
|
|
1509
|
+
502: {
|
|
1510
|
+
content: {
|
|
1511
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1512
|
+
};
|
|
1513
|
+
};
|
|
1514
|
+
};
|
|
1515
|
+
};
|
|
1516
|
+
/**
|
|
1517
|
+
* List desktop recordings.
|
|
1518
|
+
* @description Returns the current desktop recording catalog.
|
|
1519
|
+
*/
|
|
1520
|
+
get_v1_desktop_recordings: {
|
|
1521
|
+
responses: {
|
|
1522
|
+
/** @description Desktop recordings */
|
|
1523
|
+
200: {
|
|
1524
|
+
content: {
|
|
1525
|
+
"application/json": components["schemas"]["DesktopRecordingListResponse"];
|
|
1526
|
+
};
|
|
1527
|
+
};
|
|
1528
|
+
/** @description Desktop recordings query failed */
|
|
1529
|
+
502: {
|
|
1530
|
+
content: {
|
|
1531
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1532
|
+
};
|
|
1533
|
+
};
|
|
1534
|
+
};
|
|
1535
|
+
};
|
|
1536
|
+
/**
|
|
1537
|
+
* Get desktop recording metadata.
|
|
1538
|
+
* @description Returns metadata for a single desktop recording.
|
|
1539
|
+
*/
|
|
1540
|
+
get_v1_desktop_recording: {
|
|
1541
|
+
parameters: {
|
|
1542
|
+
path: {
|
|
1543
|
+
/** @description Desktop recording ID */
|
|
1544
|
+
id: string;
|
|
1545
|
+
};
|
|
1546
|
+
};
|
|
1547
|
+
responses: {
|
|
1548
|
+
/** @description Desktop recording metadata */
|
|
1549
|
+
200: {
|
|
1550
|
+
content: {
|
|
1551
|
+
"application/json": components["schemas"]["DesktopRecordingInfo"];
|
|
1552
|
+
};
|
|
1553
|
+
};
|
|
1554
|
+
/** @description Unknown desktop recording */
|
|
1555
|
+
404: {
|
|
1556
|
+
content: {
|
|
1557
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1558
|
+
};
|
|
1559
|
+
};
|
|
1560
|
+
};
|
|
1561
|
+
};
|
|
1562
|
+
/**
|
|
1563
|
+
* Delete a desktop recording.
|
|
1564
|
+
* @description Removes a completed desktop recording and its file from disk.
|
|
1565
|
+
*/
|
|
1566
|
+
delete_v1_desktop_recording: {
|
|
1567
|
+
parameters: {
|
|
1568
|
+
path: {
|
|
1569
|
+
/** @description Desktop recording ID */
|
|
1570
|
+
id: string;
|
|
1571
|
+
};
|
|
1572
|
+
};
|
|
1573
|
+
responses: {
|
|
1574
|
+
/** @description Desktop recording deleted */
|
|
1575
|
+
204: {
|
|
1576
|
+
content: never;
|
|
1577
|
+
};
|
|
1578
|
+
/** @description Unknown desktop recording */
|
|
1579
|
+
404: {
|
|
1580
|
+
content: {
|
|
1581
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1582
|
+
};
|
|
1583
|
+
};
|
|
1584
|
+
/** @description Desktop recording is still active */
|
|
1585
|
+
409: {
|
|
1586
|
+
content: {
|
|
1587
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1588
|
+
};
|
|
1589
|
+
};
|
|
1590
|
+
};
|
|
1591
|
+
};
|
|
1592
|
+
/**
|
|
1593
|
+
* Download a desktop recording.
|
|
1594
|
+
* @description Serves the recorded MP4 bytes for a completed desktop recording.
|
|
1595
|
+
*/
|
|
1596
|
+
get_v1_desktop_recording_download: {
|
|
1597
|
+
parameters: {
|
|
1598
|
+
path: {
|
|
1599
|
+
/** @description Desktop recording ID */
|
|
1600
|
+
id: string;
|
|
1601
|
+
};
|
|
1602
|
+
};
|
|
1603
|
+
responses: {
|
|
1604
|
+
/** @description Desktop recording as MP4 bytes */
|
|
1605
|
+
200: {
|
|
1606
|
+
content: never;
|
|
1607
|
+
};
|
|
1608
|
+
/** @description Unknown desktop recording */
|
|
1609
|
+
404: {
|
|
1610
|
+
content: {
|
|
1611
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1612
|
+
};
|
|
1613
|
+
};
|
|
1614
|
+
};
|
|
1615
|
+
};
|
|
1616
|
+
/**
|
|
1617
|
+
* Capture a full desktop screenshot.
|
|
1618
|
+
* @description Performs a health-gated full-frame screenshot of the managed desktop and
|
|
1619
|
+
* returns the requested image bytes.
|
|
1620
|
+
*/
|
|
1621
|
+
get_v1_desktop_screenshot: {
|
|
1622
|
+
parameters: {
|
|
1623
|
+
query?: {
|
|
1624
|
+
format?: components["schemas"]["DesktopScreenshotFormat"] | null;
|
|
1625
|
+
quality?: number | null;
|
|
1626
|
+
scale?: number | null;
|
|
1627
|
+
showCursor?: boolean | null;
|
|
1628
|
+
};
|
|
1629
|
+
};
|
|
1630
|
+
responses: {
|
|
1631
|
+
/** @description Desktop screenshot as image bytes */
|
|
1632
|
+
200: {
|
|
1633
|
+
content: never;
|
|
1634
|
+
};
|
|
1635
|
+
/** @description Invalid screenshot query */
|
|
1636
|
+
400: {
|
|
1637
|
+
content: {
|
|
1638
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1639
|
+
};
|
|
1640
|
+
};
|
|
1641
|
+
/** @description Desktop runtime is not ready */
|
|
1642
|
+
409: {
|
|
1643
|
+
content: {
|
|
1644
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1645
|
+
};
|
|
1646
|
+
};
|
|
1647
|
+
/** @description Desktop runtime health or screenshot capture failed */
|
|
1648
|
+
502: {
|
|
1649
|
+
content: {
|
|
1650
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1651
|
+
};
|
|
1652
|
+
};
|
|
1653
|
+
};
|
|
1654
|
+
};
|
|
1655
|
+
/**
|
|
1656
|
+
* Capture a desktop screenshot region.
|
|
1657
|
+
* @description Performs a health-gated screenshot crop against the managed desktop and
|
|
1658
|
+
* returns the requested region image bytes.
|
|
1659
|
+
*/
|
|
1660
|
+
get_v1_desktop_screenshot_region: {
|
|
1661
|
+
parameters: {
|
|
1662
|
+
query: {
|
|
1663
|
+
x: number;
|
|
1664
|
+
y: number;
|
|
1665
|
+
width: number;
|
|
1666
|
+
height: number;
|
|
1667
|
+
format?: components["schemas"]["DesktopScreenshotFormat"] | null;
|
|
1668
|
+
quality?: number | null;
|
|
1669
|
+
scale?: number | null;
|
|
1670
|
+
showCursor?: boolean | null;
|
|
1671
|
+
};
|
|
1672
|
+
};
|
|
1673
|
+
responses: {
|
|
1674
|
+
/** @description Desktop screenshot region as image bytes */
|
|
1675
|
+
200: {
|
|
1676
|
+
content: never;
|
|
1677
|
+
};
|
|
1678
|
+
/** @description Invalid screenshot region */
|
|
1679
|
+
400: {
|
|
1680
|
+
content: {
|
|
1681
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1682
|
+
};
|
|
1683
|
+
};
|
|
1684
|
+
/** @description Desktop runtime is not ready */
|
|
1685
|
+
409: {
|
|
1686
|
+
content: {
|
|
1687
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1688
|
+
};
|
|
1689
|
+
};
|
|
1690
|
+
/** @description Desktop runtime health or screenshot capture failed */
|
|
1691
|
+
502: {
|
|
1692
|
+
content: {
|
|
1693
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1694
|
+
};
|
|
1695
|
+
};
|
|
1696
|
+
};
|
|
1697
|
+
};
|
|
1698
|
+
/**
|
|
1699
|
+
* Start the private desktop runtime.
|
|
1700
|
+
* @description Lazily launches the managed Xvfb/openbox stack, validates display health,
|
|
1701
|
+
* and returns the resulting desktop status snapshot.
|
|
1702
|
+
*/
|
|
1703
|
+
post_v1_desktop_start: {
|
|
1704
|
+
requestBody: {
|
|
1705
|
+
content: {
|
|
1706
|
+
"application/json": components["schemas"]["DesktopStartRequest"];
|
|
1707
|
+
};
|
|
1708
|
+
};
|
|
1709
|
+
responses: {
|
|
1710
|
+
/** @description Desktop runtime status after start */
|
|
1711
|
+
200: {
|
|
1712
|
+
content: {
|
|
1713
|
+
"application/json": components["schemas"]["DesktopStatusResponse"];
|
|
1714
|
+
};
|
|
1715
|
+
};
|
|
1716
|
+
/** @description Invalid desktop start request */
|
|
1717
|
+
400: {
|
|
1718
|
+
content: {
|
|
1719
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1720
|
+
};
|
|
1721
|
+
};
|
|
1722
|
+
/** @description Desktop runtime is already transitioning */
|
|
1723
|
+
409: {
|
|
1724
|
+
content: {
|
|
1725
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1726
|
+
};
|
|
1727
|
+
};
|
|
1728
|
+
/** @description Desktop API unsupported on this platform */
|
|
1729
|
+
501: {
|
|
391
1730
|
content: {
|
|
392
1731
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
393
1732
|
};
|
|
394
1733
|
};
|
|
395
|
-
/** @description
|
|
396
|
-
|
|
1734
|
+
/** @description Desktop runtime could not be started */
|
|
1735
|
+
503: {
|
|
397
1736
|
content: {
|
|
398
1737
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
399
1738
|
};
|
|
400
1739
|
};
|
|
401
|
-
|
|
402
|
-
|
|
1740
|
+
};
|
|
1741
|
+
};
|
|
1742
|
+
/**
|
|
1743
|
+
* Get desktop runtime status.
|
|
1744
|
+
* @description Returns the current desktop runtime state, dependency status, active
|
|
1745
|
+
* display metadata, and supervised process information.
|
|
1746
|
+
*/
|
|
1747
|
+
get_v1_desktop_status: {
|
|
1748
|
+
responses: {
|
|
1749
|
+
/** @description Desktop runtime status */
|
|
1750
|
+
200: {
|
|
403
1751
|
content: {
|
|
404
|
-
"application/json": components["schemas"]["
|
|
1752
|
+
"application/json": components["schemas"]["DesktopStatusResponse"];
|
|
405
1753
|
};
|
|
406
1754
|
};
|
|
407
|
-
/** @description
|
|
408
|
-
|
|
1755
|
+
/** @description Authentication required */
|
|
1756
|
+
401: {
|
|
409
1757
|
content: {
|
|
410
1758
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
411
1759
|
};
|
|
412
1760
|
};
|
|
413
|
-
|
|
414
|
-
|
|
1761
|
+
};
|
|
1762
|
+
};
|
|
1763
|
+
/**
|
|
1764
|
+
* Stop the private desktop runtime.
|
|
1765
|
+
* @description Terminates the managed openbox/Xvfb/dbus processes owned by the desktop
|
|
1766
|
+
* runtime and returns the resulting status snapshot.
|
|
1767
|
+
*/
|
|
1768
|
+
post_v1_desktop_stop: {
|
|
1769
|
+
responses: {
|
|
1770
|
+
/** @description Desktop runtime status after stop */
|
|
1771
|
+
200: {
|
|
1772
|
+
content: {
|
|
1773
|
+
"application/json": components["schemas"]["DesktopStatusResponse"];
|
|
1774
|
+
};
|
|
1775
|
+
};
|
|
1776
|
+
/** @description Desktop runtime is already transitioning */
|
|
1777
|
+
409: {
|
|
415
1778
|
content: {
|
|
416
1779
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
417
1780
|
};
|
|
418
1781
|
};
|
|
419
1782
|
};
|
|
420
1783
|
};
|
|
421
|
-
|
|
1784
|
+
/**
|
|
1785
|
+
* Open a desktop WebRTC signaling session.
|
|
1786
|
+
* @description Upgrades the connection to a WebSocket used for WebRTC signaling between
|
|
1787
|
+
* the browser client and the desktop streaming process. Also accepts mouse
|
|
1788
|
+
* and keyboard input frames as a fallback transport.
|
|
1789
|
+
*/
|
|
1790
|
+
get_v1_desktop_stream_ws: {
|
|
422
1791
|
parameters: {
|
|
423
|
-
|
|
424
|
-
/** @description
|
|
425
|
-
|
|
1792
|
+
query?: {
|
|
1793
|
+
/** @description Bearer token alternative for WS auth */
|
|
1794
|
+
access_token?: string | null;
|
|
426
1795
|
};
|
|
427
1796
|
};
|
|
428
1797
|
responses: {
|
|
429
|
-
/** @description
|
|
430
|
-
|
|
1798
|
+
/** @description WebSocket upgraded */
|
|
1799
|
+
101: {
|
|
431
1800
|
content: never;
|
|
432
1801
|
};
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
1802
|
+
/** @description Desktop runtime or streaming session is not ready */
|
|
1803
|
+
409: {
|
|
1804
|
+
content: {
|
|
1805
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1806
|
+
};
|
|
1807
|
+
};
|
|
1808
|
+
/** @description Desktop stream failed */
|
|
1809
|
+
502: {
|
|
1810
|
+
content: {
|
|
1811
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1812
|
+
};
|
|
442
1813
|
};
|
|
443
1814
|
};
|
|
1815
|
+
};
|
|
1816
|
+
/**
|
|
1817
|
+
* Start desktop streaming.
|
|
1818
|
+
* @description Enables desktop websocket streaming for the managed desktop.
|
|
1819
|
+
*/
|
|
1820
|
+
post_v1_desktop_stream_start: {
|
|
444
1821
|
responses: {
|
|
445
|
-
/** @description
|
|
1822
|
+
/** @description Desktop streaming started */
|
|
446
1823
|
200: {
|
|
447
1824
|
content: {
|
|
448
|
-
"application/json": components["schemas"]["
|
|
1825
|
+
"application/json": components["schemas"]["DesktopStreamStatusResponse"];
|
|
449
1826
|
};
|
|
450
1827
|
};
|
|
451
|
-
|
|
452
|
-
|
|
1828
|
+
};
|
|
1829
|
+
};
|
|
1830
|
+
/**
|
|
1831
|
+
* Get desktop stream status.
|
|
1832
|
+
* @description Returns the current state of the desktop WebRTC streaming session.
|
|
1833
|
+
*/
|
|
1834
|
+
get_v1_desktop_stream_status: {
|
|
1835
|
+
responses: {
|
|
1836
|
+
/** @description Desktop stream status */
|
|
1837
|
+
200: {
|
|
453
1838
|
content: {
|
|
454
|
-
"application/json": components["schemas"]["
|
|
1839
|
+
"application/json": components["schemas"]["DesktopStreamStatusResponse"];
|
|
455
1840
|
};
|
|
456
1841
|
};
|
|
457
1842
|
};
|
|
458
1843
|
};
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
1844
|
+
/**
|
|
1845
|
+
* Stop desktop streaming.
|
|
1846
|
+
* @description Disables desktop websocket streaming for the managed desktop.
|
|
1847
|
+
*/
|
|
1848
|
+
post_v1_desktop_stream_stop: {
|
|
1849
|
+
responses: {
|
|
1850
|
+
/** @description Desktop streaming stopped */
|
|
1851
|
+
200: {
|
|
1852
|
+
content: {
|
|
1853
|
+
"application/json": components["schemas"]["DesktopStreamStatusResponse"];
|
|
1854
|
+
};
|
|
470
1855
|
};
|
|
471
1856
|
};
|
|
1857
|
+
};
|
|
1858
|
+
/**
|
|
1859
|
+
* List visible desktop windows.
|
|
1860
|
+
* @description Performs a health-gated visible-window enumeration against the managed
|
|
1861
|
+
* desktop and returns the current window metadata.
|
|
1862
|
+
*/
|
|
1863
|
+
get_v1_desktop_windows: {
|
|
472
1864
|
responses: {
|
|
473
|
-
/** @description
|
|
1865
|
+
/** @description Visible desktop windows */
|
|
474
1866
|
200: {
|
|
475
1867
|
content: {
|
|
476
|
-
"application/json": components["schemas"]["
|
|
1868
|
+
"application/json": components["schemas"]["DesktopWindowListResponse"];
|
|
477
1869
|
};
|
|
478
1870
|
};
|
|
479
|
-
/** @description
|
|
480
|
-
|
|
1871
|
+
/** @description Desktop runtime is not ready */
|
|
1872
|
+
409: {
|
|
481
1873
|
content: {
|
|
482
1874
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
483
1875
|
};
|
|
484
1876
|
};
|
|
485
|
-
/** @description
|
|
486
|
-
|
|
1877
|
+
/** @description Desktop runtime health or window query failed */
|
|
1878
|
+
503: {
|
|
487
1879
|
content: {
|
|
488
1880
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
489
1881
|
};
|
|
490
1882
|
};
|
|
491
1883
|
};
|
|
492
1884
|
};
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
};
|
|
499
|
-
};
|
|
500
|
-
requestBody: {
|
|
501
|
-
content: {
|
|
502
|
-
"application/json": components["schemas"]["AgentInstallRequest"];
|
|
503
|
-
};
|
|
504
|
-
};
|
|
1885
|
+
/**
|
|
1886
|
+
* Get the currently focused desktop window.
|
|
1887
|
+
* @description Returns information about the window that currently has input focus.
|
|
1888
|
+
*/
|
|
1889
|
+
get_v1_desktop_windows_focused: {
|
|
505
1890
|
responses: {
|
|
506
|
-
/** @description
|
|
1891
|
+
/** @description Focused window info */
|
|
507
1892
|
200: {
|
|
508
1893
|
content: {
|
|
509
|
-
"application/json": components["schemas"]["
|
|
1894
|
+
"application/json": components["schemas"]["DesktopWindowInfo"];
|
|
510
1895
|
};
|
|
511
1896
|
};
|
|
512
|
-
/** @description
|
|
513
|
-
|
|
1897
|
+
/** @description No window is focused */
|
|
1898
|
+
404: {
|
|
514
1899
|
content: {
|
|
515
1900
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
516
1901
|
};
|
|
517
1902
|
};
|
|
518
|
-
/** @description
|
|
519
|
-
|
|
1903
|
+
/** @description Desktop runtime is not ready */
|
|
1904
|
+
409: {
|
|
520
1905
|
content: {
|
|
521
1906
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
522
1907
|
};
|
|
523
1908
|
};
|
|
524
1909
|
};
|
|
525
1910
|
};
|
|
526
|
-
|
|
1911
|
+
/**
|
|
1912
|
+
* Focus a desktop window.
|
|
1913
|
+
* @description Brings the specified window to the foreground and gives it input focus.
|
|
1914
|
+
*/
|
|
1915
|
+
post_v1_desktop_window_focus: {
|
|
527
1916
|
parameters: {
|
|
528
|
-
|
|
529
|
-
/** @description
|
|
530
|
-
|
|
531
|
-
/** @description MCP entry name */
|
|
532
|
-
mcpName: string;
|
|
1917
|
+
path: {
|
|
1918
|
+
/** @description X11 window ID */
|
|
1919
|
+
id: string;
|
|
533
1920
|
};
|
|
534
1921
|
};
|
|
535
1922
|
responses: {
|
|
536
|
-
/** @description
|
|
1923
|
+
/** @description Window info after focus */
|
|
537
1924
|
200: {
|
|
538
1925
|
content: {
|
|
539
|
-
"application/json": components["schemas"]["
|
|
1926
|
+
"application/json": components["schemas"]["DesktopWindowInfo"];
|
|
540
1927
|
};
|
|
541
1928
|
};
|
|
542
|
-
/** @description
|
|
1929
|
+
/** @description Window not found */
|
|
543
1930
|
404: {
|
|
544
1931
|
content: {
|
|
545
1932
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
546
1933
|
};
|
|
547
1934
|
};
|
|
1935
|
+
/** @description Desktop runtime is not ready */
|
|
1936
|
+
409: {
|
|
1937
|
+
content: {
|
|
1938
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1939
|
+
};
|
|
1940
|
+
};
|
|
548
1941
|
};
|
|
549
1942
|
};
|
|
550
|
-
|
|
1943
|
+
/**
|
|
1944
|
+
* Move a desktop window.
|
|
1945
|
+
* @description Moves the specified window to the given position.
|
|
1946
|
+
*/
|
|
1947
|
+
post_v1_desktop_window_move: {
|
|
551
1948
|
parameters: {
|
|
552
|
-
|
|
553
|
-
/** @description
|
|
554
|
-
|
|
555
|
-
/** @description MCP entry name */
|
|
556
|
-
mcpName: string;
|
|
1949
|
+
path: {
|
|
1950
|
+
/** @description X11 window ID */
|
|
1951
|
+
id: string;
|
|
557
1952
|
};
|
|
558
1953
|
};
|
|
559
1954
|
requestBody: {
|
|
560
1955
|
content: {
|
|
561
|
-
"application/json": components["schemas"]["
|
|
562
|
-
};
|
|
563
|
-
};
|
|
564
|
-
responses: {
|
|
565
|
-
/** @description Stored */
|
|
566
|
-
204: {
|
|
567
|
-
content: never;
|
|
568
|
-
};
|
|
569
|
-
};
|
|
570
|
-
};
|
|
571
|
-
delete_v1_config_mcp: {
|
|
572
|
-
parameters: {
|
|
573
|
-
query: {
|
|
574
|
-
/** @description Target directory */
|
|
575
|
-
directory: string;
|
|
576
|
-
/** @description MCP entry name */
|
|
577
|
-
mcpName: string;
|
|
578
|
-
};
|
|
579
|
-
};
|
|
580
|
-
responses: {
|
|
581
|
-
/** @description Deleted */
|
|
582
|
-
204: {
|
|
583
|
-
content: never;
|
|
584
|
-
};
|
|
585
|
-
};
|
|
586
|
-
};
|
|
587
|
-
get_v1_config_skills: {
|
|
588
|
-
parameters: {
|
|
589
|
-
query: {
|
|
590
|
-
/** @description Target directory */
|
|
591
|
-
directory: string;
|
|
592
|
-
/** @description Skill entry name */
|
|
593
|
-
skillName: string;
|
|
1956
|
+
"application/json": components["schemas"]["DesktopWindowMoveRequest"];
|
|
594
1957
|
};
|
|
595
1958
|
};
|
|
596
1959
|
responses: {
|
|
597
|
-
/** @description
|
|
1960
|
+
/** @description Window info after move */
|
|
598
1961
|
200: {
|
|
599
1962
|
content: {
|
|
600
|
-
"application/json": components["schemas"]["
|
|
1963
|
+
"application/json": components["schemas"]["DesktopWindowInfo"];
|
|
601
1964
|
};
|
|
602
1965
|
};
|
|
603
|
-
/** @description
|
|
1966
|
+
/** @description Window not found */
|
|
604
1967
|
404: {
|
|
605
1968
|
content: {
|
|
606
1969
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
607
1970
|
};
|
|
608
1971
|
};
|
|
1972
|
+
/** @description Desktop runtime is not ready */
|
|
1973
|
+
409: {
|
|
1974
|
+
content: {
|
|
1975
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
1976
|
+
};
|
|
1977
|
+
};
|
|
609
1978
|
};
|
|
610
1979
|
};
|
|
611
|
-
|
|
1980
|
+
/**
|
|
1981
|
+
* Resize a desktop window.
|
|
1982
|
+
* @description Resizes the specified window to the given dimensions.
|
|
1983
|
+
*/
|
|
1984
|
+
post_v1_desktop_window_resize: {
|
|
612
1985
|
parameters: {
|
|
613
|
-
|
|
614
|
-
/** @description
|
|
615
|
-
|
|
616
|
-
/** @description Skill entry name */
|
|
617
|
-
skillName: string;
|
|
1986
|
+
path: {
|
|
1987
|
+
/** @description X11 window ID */
|
|
1988
|
+
id: string;
|
|
618
1989
|
};
|
|
619
1990
|
};
|
|
620
1991
|
requestBody: {
|
|
621
1992
|
content: {
|
|
622
|
-
"application/json": components["schemas"]["
|
|
1993
|
+
"application/json": components["schemas"]["DesktopWindowResizeRequest"];
|
|
623
1994
|
};
|
|
624
1995
|
};
|
|
625
1996
|
responses: {
|
|
626
|
-
/** @description
|
|
627
|
-
|
|
628
|
-
content:
|
|
1997
|
+
/** @description Window info after resize */
|
|
1998
|
+
200: {
|
|
1999
|
+
content: {
|
|
2000
|
+
"application/json": components["schemas"]["DesktopWindowInfo"];
|
|
2001
|
+
};
|
|
629
2002
|
};
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
/** @description Target directory */
|
|
636
|
-
directory: string;
|
|
637
|
-
/** @description Skill entry name */
|
|
638
|
-
skillName: string;
|
|
2003
|
+
/** @description Window not found */
|
|
2004
|
+
404: {
|
|
2005
|
+
content: {
|
|
2006
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
2007
|
+
};
|
|
639
2008
|
};
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
2009
|
+
/** @description Desktop runtime is not ready */
|
|
2010
|
+
409: {
|
|
2011
|
+
content: {
|
|
2012
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
2013
|
+
};
|
|
645
2014
|
};
|
|
646
2015
|
};
|
|
647
2016
|
};
|
|
@@ -800,6 +2169,11 @@ interface operations {
|
|
|
800
2169
|
* by the runtime, sorted by process ID.
|
|
801
2170
|
*/
|
|
802
2171
|
get_v1_processes: {
|
|
2172
|
+
parameters: {
|
|
2173
|
+
query?: {
|
|
2174
|
+
owner?: components["schemas"]["ProcessOwner"] | null;
|
|
2175
|
+
};
|
|
2176
|
+
};
|
|
803
2177
|
responses: {
|
|
804
2178
|
/** @description List processes */
|
|
805
2179
|
200: {
|
|
@@ -1280,6 +2654,46 @@ interface operations {
|
|
|
1280
2654
|
|
|
1281
2655
|
type ProblemDetails = components["schemas"]["ProblemDetails"];
|
|
1282
2656
|
type HealthResponse = JsonResponse<operations["get_v1_health"], 200>;
|
|
2657
|
+
type DesktopState = components["schemas"]["DesktopState"];
|
|
2658
|
+
type DesktopResolution = components["schemas"]["DesktopResolution"];
|
|
2659
|
+
type DesktopErrorInfo = components["schemas"]["DesktopErrorInfo"];
|
|
2660
|
+
type DesktopProcessInfo = components["schemas"]["DesktopProcessInfo"];
|
|
2661
|
+
type DesktopStatusResponse = JsonResponse<operations["get_v1_desktop_status"], 200>;
|
|
2662
|
+
type DesktopStartRequest = JsonRequestBody<operations["post_v1_desktop_start"]>;
|
|
2663
|
+
type DesktopScreenshotFormat = components["schemas"]["DesktopScreenshotFormat"];
|
|
2664
|
+
type DesktopScreenshotQuery = QueryParams<operations["get_v1_desktop_screenshot"]> extends never ? Record<string, never> : QueryParams<operations["get_v1_desktop_screenshot"]>;
|
|
2665
|
+
type DesktopRegionScreenshotQuery = QueryParams<operations["get_v1_desktop_screenshot_region"]>;
|
|
2666
|
+
type DesktopMousePositionResponse = JsonResponse<operations["get_v1_desktop_mouse_position"], 200>;
|
|
2667
|
+
type DesktopMouseButton = components["schemas"]["DesktopMouseButton"];
|
|
2668
|
+
type DesktopMouseMoveRequest = JsonRequestBody<operations["post_v1_desktop_mouse_move"]>;
|
|
2669
|
+
type DesktopMouseClickRequest = JsonRequestBody<operations["post_v1_desktop_mouse_click"]>;
|
|
2670
|
+
type DesktopMouseDownRequest = JsonRequestBody<operations["post_v1_desktop_mouse_down"]>;
|
|
2671
|
+
type DesktopMouseUpRequest = JsonRequestBody<operations["post_v1_desktop_mouse_up"]>;
|
|
2672
|
+
type DesktopMouseDragRequest = JsonRequestBody<operations["post_v1_desktop_mouse_drag"]>;
|
|
2673
|
+
type DesktopMouseScrollRequest = JsonRequestBody<operations["post_v1_desktop_mouse_scroll"]>;
|
|
2674
|
+
type DesktopKeyboardTypeRequest = JsonRequestBody<operations["post_v1_desktop_keyboard_type"]>;
|
|
2675
|
+
type DesktopKeyModifiers = components["schemas"]["DesktopKeyModifiers"];
|
|
2676
|
+
type DesktopKeyboardPressRequest = JsonRequestBody<operations["post_v1_desktop_keyboard_press"]>;
|
|
2677
|
+
type DesktopKeyboardDownRequest = JsonRequestBody<operations["post_v1_desktop_keyboard_down"]>;
|
|
2678
|
+
type DesktopKeyboardUpRequest = JsonRequestBody<operations["post_v1_desktop_keyboard_up"]>;
|
|
2679
|
+
type DesktopActionResponse = JsonResponse<operations["post_v1_desktop_keyboard_type"], 200>;
|
|
2680
|
+
type DesktopDisplayInfoResponse = JsonResponse<operations["get_v1_desktop_display_info"], 200>;
|
|
2681
|
+
type DesktopWindowInfo = components["schemas"]["DesktopWindowInfo"];
|
|
2682
|
+
type DesktopWindowListResponse = JsonResponse<operations["get_v1_desktop_windows"], 200>;
|
|
2683
|
+
type DesktopRecordingStartRequest = JsonRequestBody<operations["post_v1_desktop_recording_start"]>;
|
|
2684
|
+
type DesktopRecordingStatus = components["schemas"]["DesktopRecordingStatus"];
|
|
2685
|
+
type DesktopRecordingInfo = JsonResponse<operations["post_v1_desktop_recording_start"], 200>;
|
|
2686
|
+
type DesktopRecordingListResponse = JsonResponse<operations["get_v1_desktop_recordings"], 200>;
|
|
2687
|
+
type DesktopStreamStatusResponse = JsonResponse<operations["post_v1_desktop_stream_start"], 200>;
|
|
2688
|
+
type DesktopClipboardResponse = JsonResponse<operations["get_v1_desktop_clipboard"], 200>;
|
|
2689
|
+
type DesktopClipboardQuery = QueryParams<operations["get_v1_desktop_clipboard"]> extends never ? Record<string, never> : QueryParams<operations["get_v1_desktop_clipboard"]>;
|
|
2690
|
+
type DesktopClipboardWriteRequest = JsonRequestBody<operations["post_v1_desktop_clipboard"]>;
|
|
2691
|
+
type DesktopLaunchRequest = JsonRequestBody<operations["post_v1_desktop_launch"]>;
|
|
2692
|
+
type DesktopLaunchResponse = JsonResponse<operations["post_v1_desktop_launch"], 200>;
|
|
2693
|
+
type DesktopOpenRequest = JsonRequestBody<operations["post_v1_desktop_open"]>;
|
|
2694
|
+
type DesktopOpenResponse = JsonResponse<operations["post_v1_desktop_open"], 200>;
|
|
2695
|
+
type DesktopWindowMoveRequest = JsonRequestBody<operations["post_v1_desktop_window_move"]>;
|
|
2696
|
+
type DesktopWindowResizeRequest = JsonRequestBody<operations["post_v1_desktop_window_resize"]>;
|
|
1283
2697
|
type AgentListResponse = JsonResponse<operations["get_v1_agents"], 200>;
|
|
1284
2698
|
type AgentInfo = components["schemas"]["AgentInfo"];
|
|
1285
2699
|
type AgentQuery = QueryParams<operations["get_v1_agents"]>;
|
|
@@ -1308,11 +2722,13 @@ type ProcessCreateRequest = JsonRequestBody<operations["post_v1_processes"]>;
|
|
|
1308
2722
|
type ProcessInfo = components["schemas"]["ProcessInfo"];
|
|
1309
2723
|
type ProcessInputRequest = JsonRequestBody<operations["post_v1_process_input"]>;
|
|
1310
2724
|
type ProcessInputResponse = JsonResponse<operations["post_v1_process_input"], 200>;
|
|
2725
|
+
type ProcessListQuery = QueryParams<operations["get_v1_processes"]>;
|
|
1311
2726
|
type ProcessListResponse = JsonResponse<operations["get_v1_processes"], 200>;
|
|
1312
2727
|
type ProcessLogEntry = components["schemas"]["ProcessLogEntry"];
|
|
1313
2728
|
type ProcessLogsQuery = QueryParams<operations["get_v1_process_logs"]>;
|
|
1314
2729
|
type ProcessLogsResponse = JsonResponse<operations["get_v1_process_logs"], 200>;
|
|
1315
2730
|
type ProcessLogsStream = components["schemas"]["ProcessLogsStream"];
|
|
2731
|
+
type ProcessOwner = components["schemas"]["ProcessOwner"];
|
|
1316
2732
|
type ProcessRunRequest = JsonRequestBody<operations["post_v1_processes_run"]>;
|
|
1317
2733
|
type ProcessRunResponse = JsonResponse<operations["post_v1_processes_run"], 200>;
|
|
1318
2734
|
type ProcessSignalQuery = QueryParams<operations["post_v1_process_stop"]>;
|
|
@@ -1432,6 +2848,72 @@ type QueryParams<T> = T extends {
|
|
|
1432
2848
|
};
|
|
1433
2849
|
} ? Q : never;
|
|
1434
2850
|
|
|
2851
|
+
interface DesktopStreamReadyStatus {
|
|
2852
|
+
type: "ready";
|
|
2853
|
+
width: number;
|
|
2854
|
+
height: number;
|
|
2855
|
+
}
|
|
2856
|
+
interface DesktopStreamErrorStatus {
|
|
2857
|
+
type: "error";
|
|
2858
|
+
message: string;
|
|
2859
|
+
}
|
|
2860
|
+
type DesktopStreamStatusMessage = DesktopStreamReadyStatus | DesktopStreamErrorStatus;
|
|
2861
|
+
interface DesktopStreamConnectOptions {
|
|
2862
|
+
accessToken?: string;
|
|
2863
|
+
WebSocket?: typeof WebSocket;
|
|
2864
|
+
protocols?: string | string[];
|
|
2865
|
+
RTCPeerConnection?: typeof RTCPeerConnection;
|
|
2866
|
+
rtcConfig?: RTCConfiguration;
|
|
2867
|
+
}
|
|
2868
|
+
declare class DesktopStreamSession {
|
|
2869
|
+
readonly socket: WebSocket;
|
|
2870
|
+
readonly closed: Promise<void>;
|
|
2871
|
+
private pc;
|
|
2872
|
+
private dataChannel;
|
|
2873
|
+
private mediaStream;
|
|
2874
|
+
private connected;
|
|
2875
|
+
private pendingCandidates;
|
|
2876
|
+
private cachedReadyStatus;
|
|
2877
|
+
private readonly readyListeners;
|
|
2878
|
+
private readonly trackListeners;
|
|
2879
|
+
private readonly connectListeners;
|
|
2880
|
+
private readonly disconnectListeners;
|
|
2881
|
+
private readonly errorListeners;
|
|
2882
|
+
private closedResolve;
|
|
2883
|
+
private readonly PeerConnection;
|
|
2884
|
+
private readonly rtcConfig;
|
|
2885
|
+
constructor(socket: WebSocket, options?: DesktopStreamConnectOptions);
|
|
2886
|
+
onReady(listener: (status: DesktopStreamReadyStatus) => void): () => void;
|
|
2887
|
+
onTrack(listener: (stream: MediaStream) => void): () => void;
|
|
2888
|
+
onConnect(listener: () => void): () => void;
|
|
2889
|
+
onDisconnect(listener: () => void): () => void;
|
|
2890
|
+
onError(listener: (error: DesktopStreamErrorStatus | Error) => void): () => void;
|
|
2891
|
+
/** @deprecated Use onDisconnect instead. */
|
|
2892
|
+
onClose(listener: () => void): () => void;
|
|
2893
|
+
/** @deprecated No longer emits JPEG frames. Use onTrack for WebRTC media. */
|
|
2894
|
+
onFrame(_listener: (frame: Uint8Array) => void): () => void;
|
|
2895
|
+
getMediaStream(): MediaStream | null;
|
|
2896
|
+
/** Build a neko data channel message with the 3-byte header (event + length). */
|
|
2897
|
+
private buildNekoMsg;
|
|
2898
|
+
moveMouse(x: number, y: number): void;
|
|
2899
|
+
mouseDown(button?: DesktopMouseButton, x?: number, y?: number): void;
|
|
2900
|
+
mouseUp(button?: DesktopMouseButton, x?: number, y?: number): void;
|
|
2901
|
+
scroll(x: number, y: number, deltaX?: number, deltaY?: number): void;
|
|
2902
|
+
keyDown(key: string): void;
|
|
2903
|
+
keyUp(key: string): void;
|
|
2904
|
+
close(): void;
|
|
2905
|
+
private handleMessage;
|
|
2906
|
+
private handleNekoOffer;
|
|
2907
|
+
private handleNekoCandidate;
|
|
2908
|
+
private sendSignaling;
|
|
2909
|
+
private sendDataChannel;
|
|
2910
|
+
/** Tear down the peer connection, nullifying handlers first to prevent stale
|
|
2911
|
+
* callbacks. Matches the reference disconnect() pattern.
|
|
2912
|
+
* Ref: https://github.com/demodesk/neko-client/blob/37f93ea/src/component/internal/webrtc.ts#L321-L363 */
|
|
2913
|
+
private teardownPeerConnection;
|
|
2914
|
+
private emitError;
|
|
2915
|
+
}
|
|
2916
|
+
|
|
1435
2917
|
interface SandboxAgentHealthWaitOptions {
|
|
1436
2918
|
timeoutMs?: number;
|
|
1437
2919
|
}
|
|
@@ -1526,12 +3008,20 @@ interface ProcessTerminalConnectOptions extends ProcessTerminalWebSocketUrlOptio
|
|
|
1526
3008
|
WebSocket?: typeof WebSocket;
|
|
1527
3009
|
}
|
|
1528
3010
|
type ProcessTerminalSessionOptions = ProcessTerminalConnectOptions;
|
|
3011
|
+
type DesktopStreamSessionOptions = DesktopStreamConnectOptions;
|
|
1529
3012
|
declare class SandboxAgentError extends Error {
|
|
1530
3013
|
readonly status: number;
|
|
1531
3014
|
readonly problem?: ProblemDetails;
|
|
1532
3015
|
readonly response: Response;
|
|
1533
3016
|
constructor(status: number, problem: ProblemDetails | undefined, response: Response);
|
|
1534
3017
|
}
|
|
3018
|
+
declare class SandboxDestroyedError extends Error {
|
|
3019
|
+
readonly sandboxId: string;
|
|
3020
|
+
readonly provider: string;
|
|
3021
|
+
constructor(sandboxId: string, provider: string, options?: {
|
|
3022
|
+
cause?: unknown;
|
|
3023
|
+
});
|
|
3024
|
+
}
|
|
1535
3025
|
declare class UnsupportedSessionCategoryError extends Error {
|
|
1536
3026
|
readonly sessionId: string;
|
|
1537
3027
|
readonly category: string;
|
|
@@ -1676,6 +3166,8 @@ declare class SandboxAgent {
|
|
|
1676
3166
|
get inspectorUrl(): string;
|
|
1677
3167
|
dispose(): Promise<void>;
|
|
1678
3168
|
destroySandbox(): Promise<void>;
|
|
3169
|
+
pauseSandbox(): Promise<void>;
|
|
3170
|
+
killSandbox(): Promise<void>;
|
|
1679
3171
|
listSessions(request?: ListPageRequest): Promise<ListPage<Session>>;
|
|
1680
3172
|
getSession(id: string): Promise<Session | null>;
|
|
1681
3173
|
getEvents(request: ListEventsRequest): Promise<ListPage<SessionEvent>>;
|
|
@@ -1714,6 +3206,41 @@ declare class SandboxAgent {
|
|
|
1714
3206
|
respondPermission(permissionId: string, reply: PermissionReply): Promise<void>;
|
|
1715
3207
|
rawRespondPermission(permissionId: string, response: RequestPermissionResponse): Promise<void>;
|
|
1716
3208
|
getHealth(): Promise<HealthResponse>;
|
|
3209
|
+
startDesktop(request?: DesktopStartRequest): Promise<DesktopStatusResponse>;
|
|
3210
|
+
stopDesktop(): Promise<DesktopStatusResponse>;
|
|
3211
|
+
getDesktopStatus(): Promise<DesktopStatusResponse>;
|
|
3212
|
+
getDesktopDisplayInfo(): Promise<DesktopDisplayInfoResponse>;
|
|
3213
|
+
takeDesktopScreenshot(query?: DesktopScreenshotQuery): Promise<Uint8Array>;
|
|
3214
|
+
takeDesktopRegionScreenshot(query: DesktopRegionScreenshotQuery): Promise<Uint8Array>;
|
|
3215
|
+
getDesktopMousePosition(): Promise<DesktopMousePositionResponse>;
|
|
3216
|
+
moveDesktopMouse(request: DesktopMouseMoveRequest): Promise<DesktopMousePositionResponse>;
|
|
3217
|
+
clickDesktop(request: DesktopMouseClickRequest): Promise<DesktopMousePositionResponse>;
|
|
3218
|
+
mouseDownDesktop(request: DesktopMouseDownRequest): Promise<DesktopMousePositionResponse>;
|
|
3219
|
+
mouseUpDesktop(request: DesktopMouseUpRequest): Promise<DesktopMousePositionResponse>;
|
|
3220
|
+
dragDesktopMouse(request: DesktopMouseDragRequest): Promise<DesktopMousePositionResponse>;
|
|
3221
|
+
scrollDesktop(request: DesktopMouseScrollRequest): Promise<DesktopMousePositionResponse>;
|
|
3222
|
+
typeDesktopText(request: DesktopKeyboardTypeRequest): Promise<DesktopActionResponse>;
|
|
3223
|
+
pressDesktopKey(request: DesktopKeyboardPressRequest): Promise<DesktopActionResponse>;
|
|
3224
|
+
keyDownDesktop(request: DesktopKeyboardDownRequest): Promise<DesktopActionResponse>;
|
|
3225
|
+
keyUpDesktop(request: DesktopKeyboardUpRequest): Promise<DesktopActionResponse>;
|
|
3226
|
+
listDesktopWindows(): Promise<DesktopWindowListResponse>;
|
|
3227
|
+
getDesktopFocusedWindow(): Promise<DesktopWindowInfo>;
|
|
3228
|
+
focusDesktopWindow(windowId: string): Promise<DesktopWindowInfo>;
|
|
3229
|
+
moveDesktopWindow(windowId: string, request: DesktopWindowMoveRequest): Promise<DesktopWindowInfo>;
|
|
3230
|
+
resizeDesktopWindow(windowId: string, request: DesktopWindowResizeRequest): Promise<DesktopWindowInfo>;
|
|
3231
|
+
getDesktopClipboard(query?: DesktopClipboardQuery): Promise<DesktopClipboardResponse>;
|
|
3232
|
+
setDesktopClipboard(request: DesktopClipboardWriteRequest): Promise<DesktopActionResponse>;
|
|
3233
|
+
launchDesktopApp(request: DesktopLaunchRequest): Promise<DesktopLaunchResponse>;
|
|
3234
|
+
openDesktopTarget(request: DesktopOpenRequest): Promise<DesktopOpenResponse>;
|
|
3235
|
+
getDesktopStreamStatus(): Promise<DesktopStreamStatusResponse>;
|
|
3236
|
+
startDesktopRecording(request?: DesktopRecordingStartRequest): Promise<DesktopRecordingInfo>;
|
|
3237
|
+
stopDesktopRecording(): Promise<DesktopRecordingInfo>;
|
|
3238
|
+
listDesktopRecordings(): Promise<DesktopRecordingListResponse>;
|
|
3239
|
+
getDesktopRecording(id: string): Promise<DesktopRecordingInfo>;
|
|
3240
|
+
downloadDesktopRecording(id: string): Promise<Uint8Array>;
|
|
3241
|
+
deleteDesktopRecording(id: string): Promise<void>;
|
|
3242
|
+
startDesktopStream(): Promise<DesktopStreamStatusResponse>;
|
|
3243
|
+
stopDesktopStream(): Promise<DesktopStreamStatusResponse>;
|
|
1717
3244
|
listAgents(options?: AgentQueryOptions): Promise<AgentListResponse>;
|
|
1718
3245
|
getAgent(agent: string, options?: AgentQueryOptions): Promise<AgentInfo>;
|
|
1719
3246
|
installAgent(agent: string, request?: AgentInstallRequest): Promise<AgentInstallResponse>;
|
|
@@ -1736,7 +3263,7 @@ declare class SandboxAgent {
|
|
|
1736
3263
|
setProcessConfig(config: ProcessConfig): Promise<ProcessConfig>;
|
|
1737
3264
|
createProcess(request: ProcessCreateRequest): Promise<ProcessInfo>;
|
|
1738
3265
|
runProcess(request: ProcessRunRequest): Promise<ProcessRunResponse>;
|
|
1739
|
-
listProcesses(): Promise<ProcessListResponse>;
|
|
3266
|
+
listProcesses(query?: ProcessListQuery): Promise<ProcessListResponse>;
|
|
1740
3267
|
getProcess(id: string): Promise<ProcessInfo>;
|
|
1741
3268
|
stopProcess(id: string, query?: ProcessSignalQuery): Promise<ProcessInfo>;
|
|
1742
3269
|
killProcess(id: string, query?: ProcessSignalQuery): Promise<ProcessInfo>;
|
|
@@ -1748,6 +3275,9 @@ declare class SandboxAgent {
|
|
|
1748
3275
|
buildProcessTerminalWebSocketUrl(id: string, options?: ProcessTerminalWebSocketUrlOptions): string;
|
|
1749
3276
|
connectProcessTerminalWebSocket(id: string, options?: ProcessTerminalConnectOptions): WebSocket;
|
|
1750
3277
|
connectProcessTerminal(id: string, options?: ProcessTerminalSessionOptions): ProcessTerminalSession;
|
|
3278
|
+
buildDesktopStreamWebSocketUrl(options?: ProcessTerminalWebSocketUrlOptions): string;
|
|
3279
|
+
connectDesktopStreamWebSocket(options?: DesktopStreamConnectOptions): WebSocket;
|
|
3280
|
+
connectDesktopStream(options?: DesktopStreamSessionOptions): DesktopStreamSession;
|
|
1751
3281
|
private getLiveConnection;
|
|
1752
3282
|
private persistObservedEnvelope;
|
|
1753
3283
|
private enqueueObservedEnvelopePersistence;
|
|
@@ -1792,4 +3322,4 @@ interface InspectorUrlOptions {
|
|
|
1792
3322
|
*/
|
|
1793
3323
|
declare function buildInspectorUrl(options: InspectorUrlOptions): string;
|
|
1794
3324
|
|
|
1795
|
-
export { type AcpEnvelope, type AcpServerInfo, type AcpServerListResponse, type AgentInfo, type AgentInstallRequest, type AgentInstallResponse, type AgentListResponse, type AgentQuery, type AgentQueryOptions, type FsActionResponse, type FsDeleteQuery, type FsEntriesQuery, type FsEntry, type FsMoveRequest, type FsMoveResponse, type FsPathQuery, type FsStat, type FsUploadBatchQuery, type FsUploadBatchResponse, type FsWriteResponse, type HealthResponse, InMemorySessionPersistDriver, type InMemorySessionPersistDriverOptions, type InspectorUrlOptions, type ListEventsRequest, type ListPage, type ListPageRequest, LiveAcpConnection, type McpConfigQuery, type McpServerConfig, type PermissionReply, type PermissionRequestListener, type ProblemDetails, type ProcessConfig, type ProcessCreateRequest, type ProcessInfo, type ProcessInputRequest, type ProcessInputResponse, type ProcessListResponse, type ProcessLogEntry, type ProcessLogFollowQuery, type ProcessLogListener, type ProcessLogSubscription, type ProcessLogsQuery, type ProcessLogsResponse, type ProcessLogsStream, type ProcessRunRequest, type ProcessRunResponse, type ProcessSignalQuery, type ProcessState, type ProcessTerminalClientFrame, type ProcessTerminalConnectOptions, type ProcessTerminalErrorFrame, type ProcessTerminalExitFrame, type ProcessTerminalReadyFrame, type ProcessTerminalResizeRequest, type ProcessTerminalResizeResponse, type ProcessTerminalServerFrame, ProcessTerminalSession, type ProcessTerminalSessionOptions, type ProcessTerminalWebSocketUrlOptions, SandboxAgent, type SandboxAgentConnectOptions, SandboxAgentError, type SandboxAgentHealthWaitOptions, type SandboxAgentStartOptions, SandboxProvider, Session, type SessionCreateRequest, type SessionEvent, type SessionEventListener, type SessionPermissionRequest, type SessionPermissionRequestOption, type SessionPersistDriver, type SessionRecord, type SessionResumeOrCreateRequest, type SessionSendOptions, type SkillsConfig, type SkillsConfigQuery, type TerminalErrorStatus, type TerminalExitStatus, type TerminalReadyStatus, type TerminalResizePayload, type TerminalStatusMessage, UnsupportedPermissionReplyError, UnsupportedSessionCategoryError, UnsupportedSessionConfigOptionError, UnsupportedSessionValueError, buildInspectorUrl };
|
|
3325
|
+
export { type AcpEnvelope, type AcpServerInfo, type AcpServerListResponse, type AgentInfo, type AgentInstallRequest, type AgentInstallResponse, type AgentListResponse, type AgentQuery, type AgentQueryOptions, type DesktopActionResponse, type DesktopDisplayInfoResponse, type DesktopErrorInfo, type DesktopKeyModifiers, type DesktopKeyboardDownRequest, type DesktopKeyboardPressRequest, type DesktopKeyboardTypeRequest, type DesktopKeyboardUpRequest, type DesktopMouseButton, type DesktopMouseClickRequest, type DesktopMouseDownRequest, type DesktopMouseDragRequest, type DesktopMouseMoveRequest, type DesktopMousePositionResponse, type DesktopMouseScrollRequest, type DesktopMouseUpRequest, type DesktopProcessInfo, type DesktopRecordingInfo, type DesktopRecordingListResponse, type DesktopRecordingStartRequest, type DesktopRecordingStatus, type DesktopRegionScreenshotQuery, type DesktopResolution, type DesktopScreenshotFormat, type DesktopScreenshotQuery, type DesktopStartRequest, type DesktopState, type DesktopStatusResponse, type DesktopStreamConnectOptions, type DesktopStreamErrorStatus, type DesktopStreamReadyStatus, DesktopStreamSession, type DesktopStreamSessionOptions, type DesktopStreamStatusMessage, type DesktopStreamStatusResponse, type DesktopWindowInfo, type DesktopWindowListResponse, type FsActionResponse, type FsDeleteQuery, type FsEntriesQuery, type FsEntry, type FsMoveRequest, type FsMoveResponse, type FsPathQuery, type FsStat, type FsUploadBatchQuery, type FsUploadBatchResponse, type FsWriteResponse, type HealthResponse, InMemorySessionPersistDriver, type InMemorySessionPersistDriverOptions, type InspectorUrlOptions, type ListEventsRequest, type ListPage, type ListPageRequest, LiveAcpConnection, type McpConfigQuery, type McpServerConfig, type PermissionReply, type PermissionRequestListener, type ProblemDetails, type ProcessConfig, type ProcessCreateRequest, type ProcessInfo, type ProcessInputRequest, type ProcessInputResponse, type ProcessListQuery, type ProcessListResponse, type ProcessLogEntry, type ProcessLogFollowQuery, type ProcessLogListener, type ProcessLogSubscription, type ProcessLogsQuery, type ProcessLogsResponse, type ProcessLogsStream, type ProcessOwner, type ProcessRunRequest, type ProcessRunResponse, type ProcessSignalQuery, type ProcessState, type ProcessTerminalClientFrame, type ProcessTerminalConnectOptions, type ProcessTerminalErrorFrame, type ProcessTerminalExitFrame, type ProcessTerminalReadyFrame, type ProcessTerminalResizeRequest, type ProcessTerminalResizeResponse, type ProcessTerminalServerFrame, ProcessTerminalSession, type ProcessTerminalSessionOptions, type ProcessTerminalWebSocketUrlOptions, SandboxAgent, type SandboxAgentConnectOptions, SandboxAgentError, type SandboxAgentHealthWaitOptions, type SandboxAgentStartOptions, SandboxDestroyedError, SandboxProvider, Session, type SessionCreateRequest, type SessionEvent, type SessionEventListener, type SessionPermissionRequest, type SessionPermissionRequestOption, type SessionPersistDriver, type SessionRecord, type SessionResumeOrCreateRequest, type SessionSendOptions, type SkillsConfig, type SkillsConfigQuery, type TerminalErrorStatus, type TerminalExitStatus, type TerminalReadyStatus, type TerminalResizePayload, type TerminalStatusMessage, UnsupportedPermissionReplyError, UnsupportedSessionCategoryError, UnsupportedSessionConfigOptionError, UnsupportedSessionValueError, buildInspectorUrl };
|