mandala-computer-mcp 0.1.0 → 0.1.2
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.
Potentially problematic release.
This version of mandala-computer-mcp might be problematic. Click here for more details.
- package/README.md +102 -10
- package/dist/api.d.ts +19 -6
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +213 -31
- package/dist/api.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +113 -8
- package/dist/cli.js.map +1 -1
- package/dist/errors.d.ts +60 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +71 -2
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +17 -2
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +104 -13
- package/dist/events.js.map +1 -1
- package/dist/format.d.ts +16 -0
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +11 -1
- package/dist/format.js.map +1 -1
- package/dist/http-body.d.ts +17 -0
- package/dist/http-body.d.ts.map +1 -0
- package/dist/http-body.js +48 -0
- package/dist/http-body.js.map +1 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +177 -51
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/paths.d.ts +22 -13
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +68 -16
- package/dist/paths.js.map +1 -1
- package/dist/poll.d.ts +103 -0
- package/dist/poll.d.ts.map +1 -0
- package/dist/poll.js +129 -0
- package/dist/poll.js.map +1 -0
- package/dist/server.d.ts +1 -1
- package/dist/server.js +1 -1
- package/dist/tools/agent.d.ts.map +1 -1
- package/dist/tools/agent.js +14 -2
- package/dist/tools/agent.js.map +1 -1
- package/dist/tools/computers.d.ts.map +1 -1
- package/dist/tools/computers.js +228 -49
- package/dist/tools/computers.js.map +1 -1
- package/dist/tools/events.d.ts.map +1 -1
- package/dist/tools/events.js +224 -39
- package/dist/tools/events.js.map +1 -1
- package/dist/tools/guest.d.ts.map +1 -1
- package/dist/tools/guest.js +223 -30
- package/dist/tools/guest.js.map +1 -1
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +29 -3
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/snapshots.d.ts.map +1 -1
- package/dist/tools/snapshots.js +478 -20
- package/dist/tools/snapshots.js.map +1 -1
- package/dist/tools/templates.d.ts.map +1 -1
- package/dist/tools/templates.js +50 -11
- package/dist/tools/templates.js.map +1 -1
- package/dist/tools/webhooks.d.ts.map +1 -1
- package/dist/tools/webhooks.js +116 -17
- package/dist/tools/webhooks.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guest.d.ts","sourceRoot":"","sources":["../../src/tools/guest.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAyK5C,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"guest.d.ts","sourceRoot":"","sources":["../../src/tools/guest.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAyK5C,eAAO,MAAM,aAAa,EAAE,SAgjB3B,CAAC"}
|
package/dist/tools/guest.js
CHANGED
|
@@ -45,7 +45,7 @@ const absolutePath = (what) => z
|
|
|
45
45
|
* A computer runs at most sixteen background commands at once (platform
|
|
46
46
|
* OPL-3584). The seventeenth is refused 409 with `this computer already has 16
|
|
47
47
|
* background commands running`, and that refusal deliberately carries NO
|
|
48
|
-
* `reason` (
|
|
48
|
+
* `reason` (OPL-3898): the slots may be held by long-lived servers, so
|
|
49
49
|
* the platform will not advise a retry it cannot promise. An absent word falls
|
|
50
50
|
* back to the type answer, and for a 409 the type is {@link ConflictError},
|
|
51
51
|
* which {@link isTransient} calls worth retrying. So this is the one conflict
|
|
@@ -108,7 +108,7 @@ const backgroundFull = (err, held) => refused(`${err.message}\n\nA slot is held
|
|
|
108
108
|
* says what it means: the guest accepted the action and did not report the
|
|
109
109
|
* result before the deadline, so the route answers without a `reason` on
|
|
110
110
|
* purpose, because the action may already have happened and an uncertain
|
|
111
|
-
* outcome is not permission to repeat it (
|
|
111
|
+
* outcome is not permission to repeat it (OPL-3898).
|
|
112
112
|
*
|
|
113
113
|
* Substituted rather than appended, which is the opposite of what
|
|
114
114
|
* {@link backgroundFull} does, and for a reason that only applies here. A 504
|
|
@@ -155,7 +155,7 @@ const windowOutcomeUnknown = (err, action, windowId) => {
|
|
|
155
155
|
export const registerGuest = (server, session) => {
|
|
156
156
|
server.registerTool('exec', {
|
|
157
157
|
title: 'Run a command in the guest',
|
|
158
|
-
description: 'Run a shell command inside the computer. Runs as root with no display by default — anything that opens a window needs desktop: true, anything slower than a few seconds needs background: true, and anything that needs an environment variable takes env rather than an assignment written into the command. Against the hosted platform, waiting here is capped at about two minutes by a proxy in front of it, not by timeout_s. One computer runs at most sixteen background commands at once: the seventeenth is refused rather than queued, and exec_kill on a pid you already hold is what makes room.',
|
|
158
|
+
description: 'Run a shell command inside the computer. Runs as root with no display by default — anything that opens a window needs desktop: true, anything slower than a few seconds needs background: true, and anything that needs an environment variable takes env rather than an assignment written into the command. Against the hosted platform, waiting here is capped at about two minutes by a proxy in front of it, not by timeout_s. One computer runs at most sixteen background commands at once: the seventeenth is refused rather than queued, and exec_kill on a pid you already hold is what makes room. What the command printed comes back as `stdout` and `stderr` when it is text, and as `stdout_b64` and `stderr_b64` — base64 of the exact bytes — when it is not, so a command that emits binary is never quietly turned into replacement characters.',
|
|
159
159
|
inputSchema: {
|
|
160
160
|
...idArg,
|
|
161
161
|
command: z.string().describe('A shell command line.'),
|
|
@@ -163,9 +163,9 @@ export const registerGuest = (server, session) => {
|
|
|
163
163
|
.number()
|
|
164
164
|
.int()
|
|
165
165
|
.min(1)
|
|
166
|
-
.max(
|
|
166
|
+
.max(600)
|
|
167
167
|
.default(30)
|
|
168
|
-
.describe('How long to wait for it to exit. A command that outlives this keeps running inside the guest — your deadline passing means you stopped waiting, not that the work was destroyed. Against the hosted app.mandala.computer, do not reach past about 120 here: a proxy in front of the platform abandons the request at roughly two minutes and answers 524 whatever this says, so a larger number buys no time and only delays the failure. Use background: true for anything slower. The range above 120 is for a self-hosted MANDALA_BASE_URL reached without that proxy.'),
|
|
168
|
+
.describe('How long to wait for it to exit, up to the server limit of 600 seconds. A command that outlives this keeps running inside the guest — your deadline passing means you stopped waiting, not that the work was destroyed. Against the hosted app.mandala.computer, do not reach past about 120 here: a proxy in front of the platform abandons the request at roughly two minutes and answers 524 whatever this says, so a larger number buys no time and only delays the failure. Use background: true for anything slower. The range above 120 is for a self-hosted MANDALA_BASE_URL reached without that proxy.'),
|
|
169
169
|
desktop: z
|
|
170
170
|
.boolean()
|
|
171
171
|
.default(false)
|
|
@@ -210,16 +210,20 @@ export const registerGuest = (server, session) => {
|
|
|
210
210
|
// is nothing to poll and nothing to kill. Reported as a success, "pid
|
|
211
211
|
// undefined" sends the model to exec_poll with a handle that cannot
|
|
212
212
|
// exist, and the command goes on running in the guest unattended.
|
|
213
|
+
// Decoded on every branch of this route: the 202 that hands back a
|
|
214
|
+
// handle carries the same two output fields as the 200 that waited.
|
|
215
|
+
const { body, note } = decodeExec(res, false);
|
|
213
216
|
if (!Number.isSafeInteger(res.pid) || res.pid <= 0) {
|
|
214
|
-
return refused(`The command was accepted but the guest reported no pid that is a usable positive safe integer, so there is no safe handle to poll or kill it with. It may still be running inside the computer — check with exec "ps aux"
|
|
217
|
+
return refused(`The command was accepted but the guest reported no pid that is a usable positive safe integer, so there is no safe handle to poll or kill it with. It may still be running inside the computer — check with exec "ps aux".${note}`, body);
|
|
215
218
|
}
|
|
216
|
-
return said(`Started as pid ${res.pid}. Read its output with exec_poll, stop it with exec_kill
|
|
219
|
+
return said(`Started as pid ${res.pid}. Read its output with exec_poll, stop it with exec_kill.${note}`, body);
|
|
217
220
|
}
|
|
218
|
-
|
|
221
|
+
const { body, note } = decodeExec(res, false);
|
|
222
|
+
return said(`${execSummary(res)}${note}`, body);
|
|
219
223
|
}));
|
|
220
224
|
server.registerTool('exec_poll', {
|
|
221
225
|
title: 'Read a background command',
|
|
222
|
-
description: "What a backgrounded command has printed since the last time you asked, and whether it has finished. The output is a cursor, not a buffer: each poll gives you only the new bytes, so two readers on one pid split the output between them rather than each seeing all of it. Finishing is also what releases a computer's background slot, so this is how you tell which of your handles still hold one — the poll itself frees nothing.",
|
|
226
|
+
description: "What a backgrounded command has printed since the last time you asked, and whether it has finished. The output is a cursor, not a buffer: each poll gives you only the new bytes, so two readers on one pid split the output between them rather than each seeing all of it. Finishing is also what releases a computer's background slot, so this is how you tell which of your handles still hold one — the poll itself frees nothing. Output comes back as `stdout` and `stderr` when it is text and as `stdout_b64` and `stderr_b64` when it is not; a chunk cut through the middle of a character keeps both halves, with the text stopping at the last whole one and a note naming the bytes the next poll begins with.",
|
|
223
227
|
inputSchema: {
|
|
224
228
|
...idArg,
|
|
225
229
|
pid: pidSchema,
|
|
@@ -231,6 +235,21 @@ export const registerGuest = (server, session) => {
|
|
|
231
235
|
// as licence to call without asking and to retry a call that timed out,
|
|
232
236
|
// and a retried "read-only" poll silently drops whatever the first
|
|
233
237
|
// attempt had already consumed.
|
|
238
|
+
// No readOnlyHint, for the reason above — and BOTH other flags set,
|
|
239
|
+
// because the spec's defaults are wrong in one direction and unstated in
|
|
240
|
+
// the other the moment readOnlyHint is absent (OPL-4516).
|
|
241
|
+
//
|
|
242
|
+
// destructiveHint would default to TRUE, so without it this asks a host
|
|
243
|
+
// whether it may perform DESTRUCTIVE UPDATES in order to read.
|
|
244
|
+
// `cursor_position` and `read_file` set it for that reason; these were not
|
|
245
|
+
// revisited with them.
|
|
246
|
+
//
|
|
247
|
+
// idempotentHint is FALSE, which is the difference from those two, and it
|
|
248
|
+
// is set rather than left to its default for the same reason as the other:
|
|
249
|
+
// a host reading an absent flag as "unknown, safe to retry" would retry a
|
|
250
|
+
// timed-out poll and silently drop what the first attempt consumed, which
|
|
251
|
+
// is the harm the paragraph above it is about.
|
|
252
|
+
annotations: { destructiveHint: false, idempotentHint: false },
|
|
234
253
|
}, ({ computer_id, pid }, extra) => guarded(async () => {
|
|
235
254
|
const id = session.resolve(computer_id);
|
|
236
255
|
const res = await session.api
|
|
@@ -239,7 +258,11 @@ export const registerGuest = (server, session) => {
|
|
|
239
258
|
const more = res.more
|
|
240
259
|
? '\n\n`more` is set — there is further output waiting; poll again straight away.'
|
|
241
260
|
: '';
|
|
242
|
-
|
|
261
|
+
// `continued`, because a poll reads from wherever the last one stopped:
|
|
262
|
+
// a character the previous chunk cut in half arrives here as leading
|
|
263
|
+
// continuation bytes, and those are not the start of binary output.
|
|
264
|
+
const { body, note } = decodeExec(res, true);
|
|
265
|
+
return said(`${execSummary(res)}${more}${note}`, body);
|
|
243
266
|
}));
|
|
244
267
|
server.registerTool('exec_kill', {
|
|
245
268
|
title: 'Stop a background command',
|
|
@@ -255,7 +278,10 @@ export const registerGuest = (server, session) => {
|
|
|
255
278
|
const res = await session.api
|
|
256
279
|
.with(extra.signal)
|
|
257
280
|
.send('DELETE', P.execHandle(id, pid));
|
|
258
|
-
|
|
281
|
+
// Also a cursor read — the kill answers with whatever the command
|
|
282
|
+
// printed that no poll had taken yet.
|
|
283
|
+
const { body, note } = decodeExec(res, true);
|
|
284
|
+
return said(`Killed pid ${pid}.${note}`, body);
|
|
259
285
|
}));
|
|
260
286
|
server.registerTool('open_url', {
|
|
261
287
|
title: 'Open a URL on the desktop',
|
|
@@ -268,7 +294,11 @@ export const registerGuest = (server, session) => {
|
|
|
268
294
|
.json('POST', P.computerAction(id, 'exec'), {
|
|
269
295
|
body: P.execBody({ command: P.openUrlCommand(url), timeout_s: 30, desktop: true }),
|
|
270
296
|
});
|
|
271
|
-
|
|
297
|
+
// The exec route, so the exec output fields, even though a nohup'd
|
|
298
|
+
// browser prints nothing worth reading: left raw they would put a
|
|
299
|
+
// base64 field in front of a model for no reason at all.
|
|
300
|
+
const { body, note } = decodeExec(res, false);
|
|
301
|
+
return said(`Asked the desktop to open ${url}. Give it a few seconds, then screenshot — the browser draws after the command returns.${note}`, body);
|
|
272
302
|
}));
|
|
273
303
|
server.registerTool('list_windows', {
|
|
274
304
|
title: 'List what is on the desktop',
|
|
@@ -404,7 +434,7 @@ export const registerGuest = (server, session) => {
|
|
|
404
434
|
}));
|
|
405
435
|
server.registerTool('read_file', {
|
|
406
436
|
title: 'Get a file out of the guest',
|
|
407
|
-
description: 'Read a file from inside the computer. Text comes back as text and images come back as images; anything else comes back base64. A large file comes back a window at a time rather than filling the conversation: `offset` says where the window starts, and the note under a truncated read gives the exact offset to pass next. There is no size a file can be that makes it unreadable this way — a 2 GB log is pages, not a refusal — but a file you want whole is still better pushed out of the guest than carried through a conversation, and the note says how.',
|
|
437
|
+
description: 'Read a file from inside the computer. Text comes back as text and images come back as images; anything else comes back base64. A large file comes back a window at a time rather than filling the conversation: `offset` says where the window starts, and the note under a truncated read gives the exact offset to pass next. There is no size a file can be that makes it unreadable this way — a 2 GB log is pages, not a refusal — but a file you want whole is still better pushed out of the guest than carried through a conversation, and the note says how. This reaches the guest agent to do it, so a suspended computer is resumed to answer and that resume is charged — it can even come back 402. read_clipboard, by contrast, refuses a suspended computer rather than starting it.',
|
|
408
438
|
inputSchema: {
|
|
409
439
|
...idArg,
|
|
410
440
|
path: absolutePath('path'),
|
|
@@ -416,7 +446,17 @@ export const registerGuest = (server, session) => {
|
|
|
416
446
|
.default(0)
|
|
417
447
|
.describe('Byte offset to start at. 0 is the beginning of the file. Each call returns a window from here, and the truncation note names the offset of the byte after the last one it returned — pass that to read on. Never assume a window covers what you asked for: read the offset out of the note rather than adding a fixed number.'),
|
|
418
448
|
},
|
|
419
|
-
|
|
449
|
+
// Not readOnlyHint, for the reason cursor_position is not: the platform
|
|
450
|
+
// marks `GET computers/:id/files` as spending, because reaching the guest
|
|
451
|
+
// agent resumes a suspended computer and a resume is charged — its own
|
|
452
|
+
// note says even reading a file out of an idle machine can come back 402.
|
|
453
|
+
// The other two flags are set for the same reason, in opposite
|
|
454
|
+
// directions: once readOnlyHint is false the spec defaults
|
|
455
|
+
// destructiveHint to TRUE and idempotentHint to FALSE, and both defaults
|
|
456
|
+
// are wrong here. Reading a log destroys nothing, and reading it twice is
|
|
457
|
+
// reading it twice — a host that gates retry-of-a-timed-out-call on
|
|
458
|
+
// idempotentHint would refuse to retry a plain file read.
|
|
459
|
+
annotations: { destructiveHint: false, idempotentHint: true },
|
|
420
460
|
}, ({ computer_id, path, offset }, extra) => guarded(async () => {
|
|
421
461
|
const id = session.resolve(computer_id);
|
|
422
462
|
let file;
|
|
@@ -705,20 +745,10 @@ function decodeUtf8(bytes) {
|
|
|
705
745
|
return fatal.decode(bytes);
|
|
706
746
|
}
|
|
707
747
|
catch {
|
|
708
|
-
//
|
|
709
|
-
//
|
|
710
|
-
//
|
|
711
|
-
|
|
712
|
-
// be stripped until the prefix happens to decode.
|
|
713
|
-
const lead = incompleteUtf8Lead(bytes);
|
|
714
|
-
if (lead === undefined)
|
|
715
|
-
return undefined;
|
|
716
|
-
try {
|
|
717
|
-
return `${fatal.decode(bytes.subarray(0, lead))}\ufffd`;
|
|
718
|
-
}
|
|
719
|
-
catch {
|
|
720
|
-
return undefined;
|
|
721
|
-
}
|
|
748
|
+
// utf8Page already leaves a split character for the next page when it
|
|
749
|
+
// can. At EOF, or on a tiny page containing only part of one character,
|
|
750
|
+
// keep the exact bytes as base64 instead of inventing replacement text.
|
|
751
|
+
return undefined;
|
|
722
752
|
}
|
|
723
753
|
}
|
|
724
754
|
/** Leave an incomplete final UTF-8 character for the next byte window. */
|
|
@@ -738,6 +768,165 @@ function utf8Page(bytes) {
|
|
|
738
768
|
return bytes;
|
|
739
769
|
}
|
|
740
770
|
}
|
|
771
|
+
/**
|
|
772
|
+
* The two output fields every exec route now carries, and what each is called
|
|
773
|
+
* once it is bytes again (OPL-4542).
|
|
774
|
+
*
|
|
775
|
+
* The platform sends command output as `stdout_b64` and `stderr_b64`, always
|
|
776
|
+
* base64 and never conditionally. It used to send `stdout` and `stderr` as JSON
|
|
777
|
+
* strings, so any byte that was not valid UTF-8 arrived as U+FFFD with no way
|
|
778
|
+
* back — and the case that reaches an ordinary caller is not a binary artifact
|
|
779
|
+
* but a plain text log: a poll is cut at 1 MiB on a BYTE offset, so a multi-byte
|
|
780
|
+
* character straddling the cut was destroyed in both halves. The field was
|
|
781
|
+
* renamed rather than given an `encoding` discriminator precisely so that a
|
|
782
|
+
* client which had not been updated fails on a missing field instead of quietly
|
|
783
|
+
* reporting every command's output as empty.
|
|
784
|
+
*
|
|
785
|
+
* `stdout_offset` and `stderr_offset` kept their names and count DECODED bytes.
|
|
786
|
+
* Nothing here has to move a cursor by them — the guest holds the cursor and
|
|
787
|
+
* exec_poll sends no offset — so they pass through untouched, still describing
|
|
788
|
+
* the bytes this server hands over rather than the base64 it was given.
|
|
789
|
+
*/
|
|
790
|
+
const EXEC_STREAMS = {
|
|
791
|
+
stdout_b64: { name: 'stdout', truncated: 'out_truncated' },
|
|
792
|
+
stderr_b64: { name: 'stderr', truncated: 'err_truncated' },
|
|
793
|
+
};
|
|
794
|
+
const NO_BYTES = new Uint8Array(0);
|
|
795
|
+
/**
|
|
796
|
+
* How many bytes at the start finish a character an earlier read cut in half.
|
|
797
|
+
*
|
|
798
|
+
* A UTF-8 stream never begins with a continuation byte, so leading ones in a
|
|
799
|
+
* chunk that follows another chunk are the remainder of a split character and
|
|
800
|
+
* nothing else. At most three, which is the most a character can owe; a run
|
|
801
|
+
* longer than that is not a split character, and leaving the extras in place
|
|
802
|
+
* makes the decode below fail and the whole chunk stay base64 — which is the
|
|
803
|
+
* right answer for output that was never text.
|
|
804
|
+
*/
|
|
805
|
+
function orphanUtf8Tail(bytes) {
|
|
806
|
+
let n = 0;
|
|
807
|
+
while (n < bytes.length && n < 3 && bytes[n] >= 0x80 && bytes[n] <= 0xbf)
|
|
808
|
+
n++;
|
|
809
|
+
return n;
|
|
810
|
+
}
|
|
811
|
+
/**
|
|
812
|
+
* One output field, decoded — with the character halves the chunking cut off.
|
|
813
|
+
*
|
|
814
|
+
* `continued` and `continues` are what make a partial character at either end a
|
|
815
|
+
* casualty of the cut rather than proof the command wrote bytes. A whole stream
|
|
816
|
+
* that ends mid-character IS binary and stays base64; a 1 MiB poll that does is
|
|
817
|
+
* a text log the guest sliced on a byte boundary, and the missing half arrives
|
|
818
|
+
* on the next poll.
|
|
819
|
+
*/
|
|
820
|
+
function decodeExecStream(raw, continued, offset, continues) {
|
|
821
|
+
// Node's base64 decoder drops what it does not recognise, so a field that is
|
|
822
|
+
// not base64 would decode to a shorter, plausible-looking string. It cannot
|
|
823
|
+
// happen against a platform that always encodes; if it does, it is not output
|
|
824
|
+
// and must not be presented as any.
|
|
825
|
+
if (!isBase64(raw))
|
|
826
|
+
return { kind: 'undecodable' };
|
|
827
|
+
const bytes = new Uint8Array(Buffer.from(raw, 'base64'));
|
|
828
|
+
// Whether anything actually precedes these bytes. The route says only whether
|
|
829
|
+
// anything CAN — a cursor read may follow an earlier one — and the FIRST poll
|
|
830
|
+
// of a pid is a cursor read that nothing precedes, where stripping leading
|
|
831
|
+
// bytes would delete output the command really wrote and explain it with a cut
|
|
832
|
+
// that never happened. The offset settles it: it counts decoded bytes and
|
|
833
|
+
// names the end of this chunk, so the chunk began at `offset - length`. A
|
|
834
|
+
// chunk that begins at zero is the head of the stream. Absent or not a number,
|
|
835
|
+
// the route's answer stands; a start that does not come out positive is read
|
|
836
|
+
// as the head of the stream, which strips nothing and at worst leaves a
|
|
837
|
+
// genuine split character in the base64.
|
|
838
|
+
const mid = continued &&
|
|
839
|
+
(typeof offset !== 'number' || !Number.isFinite(offset) || offset - bytes.length > 0);
|
|
840
|
+
const start = mid ? orphanUtf8Tail(bytes) : 0;
|
|
841
|
+
const rest = bytes.subarray(start);
|
|
842
|
+
const lead = continues ? incompleteUtf8Lead(rest) : undefined;
|
|
843
|
+
const middle = lead === undefined ? rest : rest.subarray(0, lead);
|
|
844
|
+
// A NUL is legal UTF-8 and is never in output anybody meant to read as text —
|
|
845
|
+
// the same line `decodeUtf8` draws for a file, drawn here for a stream.
|
|
846
|
+
if (middle.includes(0))
|
|
847
|
+
return { kind: 'bytes' };
|
|
848
|
+
try {
|
|
849
|
+
const tail = lead === undefined ? NO_BYTES : rest.subarray(lead);
|
|
850
|
+
return {
|
|
851
|
+
kind: 'text',
|
|
852
|
+
// U+FFFD where the chunk was cut, and only there — one marker for one
|
|
853
|
+
// character, on the side that lost it, so text concatenated across polls
|
|
854
|
+
// has the character missing rather than nothing at all to say a character
|
|
855
|
+
// was. This is not the corruption the rename removed: those bytes were
|
|
856
|
+
// consumed and gone, while these are named in hex beside the text and
|
|
857
|
+
// arrive whole on the next read. read_file marks a cut file the same way.
|
|
858
|
+
text: new TextDecoder('utf-8', { fatal: true }).decode(middle) + (tail.length ? '\ufffd' : ''),
|
|
859
|
+
head: bytes.subarray(0, start),
|
|
860
|
+
tail,
|
|
861
|
+
};
|
|
862
|
+
}
|
|
863
|
+
catch {
|
|
864
|
+
return { kind: 'bytes' };
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
/** `e2 80` — a few bytes named exactly, for a note about the ones not shown. */
|
|
868
|
+
const hex = (bytes) => Buffer.from(bytes).toString('hex').replace(/../g, '$& ').trim();
|
|
869
|
+
/**
|
|
870
|
+
* An exec answer with its output decoded, and the sentences that go above it.
|
|
871
|
+
*
|
|
872
|
+
* `continued` is whether bytes may precede this chunk — true for the two routes
|
|
873
|
+
* that read a cursor an earlier poll may already have moved, false for the two
|
|
874
|
+
* that answer a command's output from its beginning.
|
|
875
|
+
*/
|
|
876
|
+
function decodeExec(res, continued) {
|
|
877
|
+
if (!res || typeof res !== 'object' || Array.isArray(res))
|
|
878
|
+
return { body: res, note: '' };
|
|
879
|
+
const source = res;
|
|
880
|
+
// Whether more of a stream can still arrive: the command has not exited, the
|
|
881
|
+
// guest says it is holding more, the deadline passed while it was still
|
|
882
|
+
// printing, or the guest agent's 16 MiB capture cap cut this one short. The
|
|
883
|
+
// timeout belongs here for the reason execSummary says one line down — the
|
|
884
|
+
// command is still running inside the guest, so a character its last chunk
|
|
885
|
+
// cut in half is a cut and not evidence that a build log is binary. `more` is one flag for both streams on the poll routes —
|
|
886
|
+
// the platform ORs them — while the truncation flags are per stream, which is
|
|
887
|
+
// why this is asked per field rather than once.
|
|
888
|
+
const flowing = source.more === true || source.running === true || source.timed_out === true;
|
|
889
|
+
// Names a `_b64` field on this response will claim. A daemon sending both —
|
|
890
|
+
// one mid-rollout, or an older self-hosted one — would otherwise decide which
|
|
891
|
+
// wins by JSON key order, and a `stdout` that came later would quietly replace
|
|
892
|
+
// the decoded bytes with the U+FFFD-bearing string this whole change exists to
|
|
893
|
+
// stop reading. The base64 field is the authoritative one; its plain twin is
|
|
894
|
+
// dropped rather than raced.
|
|
895
|
+
const claimed = new Set(Object.entries(EXEC_STREAMS)
|
|
896
|
+
.filter(([key]) => typeof source[key] === 'string')
|
|
897
|
+
.map(([, field]) => field.name));
|
|
898
|
+
const body = {};
|
|
899
|
+
const notes = [];
|
|
900
|
+
for (const [key, value] of Object.entries(source)) {
|
|
901
|
+
if (claimed.has(key))
|
|
902
|
+
continue;
|
|
903
|
+
const field = EXEC_STREAMS[key];
|
|
904
|
+
if (field === undefined || typeof value !== 'string') {
|
|
905
|
+
body[key] = value;
|
|
906
|
+
continue;
|
|
907
|
+
}
|
|
908
|
+
const { name, truncated } = field;
|
|
909
|
+
const stream = decodeExecStream(value, continued, source[`${name}_offset`], flowing || source[truncated] === true);
|
|
910
|
+
if (stream.kind !== 'text') {
|
|
911
|
+
// Left under the name it arrived with, which is the whole signal: the
|
|
912
|
+
// field says base64, so a reader knows to decode it and knows the bytes
|
|
913
|
+
// are exactly what the command wrote.
|
|
914
|
+
body[key] = value;
|
|
915
|
+
notes.push(stream.kind === 'bytes'
|
|
916
|
+
? `${name} is not text, so it is left as \`${key}\` — base64 of the bytes the command wrote, unchanged.`
|
|
917
|
+
: `${key} did not decode as base64 and is left exactly as it arrived. Treat it as unread output rather than as ${name}.`);
|
|
918
|
+
continue;
|
|
919
|
+
}
|
|
920
|
+
body[name] = stream.text;
|
|
921
|
+
if (stream.head.length > 0) {
|
|
922
|
+
notes.push(`${name} began with ${stream.head.length} byte(s) (hex ${hex(stream.head)}) finishing a character an earlier read cut in half; they are not in \`${name}\` below.`);
|
|
923
|
+
}
|
|
924
|
+
if (stream.tail.length > 0) {
|
|
925
|
+
notes.push(`${name} stops ${stream.tail.length} byte(s) (hex ${hex(stream.tail)}) into a character this chunk cut in half; the \u{fffd} in \`${name}\` below stands in their place, and the rest of the character starts the next read.`);
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
return { body, note: notes.length > 0 ? `\n\n${notes.join('\n')}` : '' };
|
|
929
|
+
}
|
|
741
930
|
/** The one line a model needs off an exec result, before the JSON. */
|
|
742
931
|
function execSummary(res) {
|
|
743
932
|
const bits = [];
|
|
@@ -751,8 +940,12 @@ function execSummary(res) {
|
|
|
751
940
|
if (res.timed_out) {
|
|
752
941
|
bits.push('TIMED OUT — the command is still running inside the guest; nothing killed it. Re-run with background: true if you need its output');
|
|
753
942
|
}
|
|
754
|
-
|
|
755
|
-
|
|
943
|
+
// Named per stream, because the flags are per stream (OPL-4542). Reading only
|
|
944
|
+
// `out_truncated` left a command whose STDERR hit the cap reporting a clean
|
|
945
|
+
// `exit 0` — the shape this sentence exists to prevent.
|
|
946
|
+
const cut = [res.out_truncated ? 'STDOUT' : '', res.err_truncated ? 'STDERR' : ''].filter(Boolean);
|
|
947
|
+
if (cut.length > 0) {
|
|
948
|
+
bits.push(`${cut.join(' AND ')} TRUNCATED at the guest agent's 16 MiB cap — the exit code is not the signal here, the flag is`);
|
|
756
949
|
}
|
|
757
950
|
if (res.killed)
|
|
758
951
|
bits.push('killed');
|
package/dist/tools/guest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guest.js","sourceRoot":"","sources":["../../src/tools/guest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"guest.js","sourceRoot":"","sources":["../../src/tools/guest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/tools/input.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiC5C,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/tools/input.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiC5C,eAAO,MAAM,aAAa,EAAE,SA2U3B,CAAC"}
|
package/dist/tools/input.js
CHANGED
|
@@ -123,7 +123,15 @@ export const registerInput = (server, session) => {
|
|
|
123
123
|
inputSchema: { ...idArg, text: z.string().describe('The characters to type.') },
|
|
124
124
|
}, ({ computer_id, text }, extra) => guarded(async () => {
|
|
125
125
|
await post(computer_id, P.typeBody(text), extra.signal);
|
|
126
|
-
|
|
126
|
+
// Code points, not `.length`. A string's length is its UTF-16 code
|
|
127
|
+
// units, so an emoji is two and "Typed 2 character(s)" is a number this
|
|
128
|
+
// server made up about a single keystroke's worth of text — a number a
|
|
129
|
+
// model may repeat to whoever asked. The neighbours here already count
|
|
130
|
+
// in the unit that means something rather than in units of storage:
|
|
131
|
+
// `hasUnpairedSurrogate` works in code points and `clipboardBody`
|
|
132
|
+
// accounts in bytes.
|
|
133
|
+
const typed = [...text].length;
|
|
134
|
+
return said(`Typed ${typed} character(s).`);
|
|
127
135
|
}));
|
|
128
136
|
server.registerTool('press_key', {
|
|
129
137
|
title: 'Press a key or a chord',
|
|
@@ -202,9 +210,27 @@ export const registerInput = (server, session) => {
|
|
|
202
210
|
}));
|
|
203
211
|
server.registerTool('cursor_position', {
|
|
204
212
|
title: 'Where is the pointer',
|
|
205
|
-
description: 'Where the pointer was last put. `known` is false on a computer nothing has moved it on yet — the guest cannot be asked, so there is no coordinate to report and a confident 0,0 would be a wrong answer dressed as a right one.',
|
|
213
|
+
description: 'Where the pointer was last put. `known` is false on a computer nothing has moved it on yet — the guest cannot be asked, so there is no coordinate to report and a confident 0,0 would be a wrong answer dressed as a right one. This reads a coordinate but reaches the computer to do it: a suspended one is resumed to answer, and that resume is charged. read_clipboard, by contrast, refuses a suspended computer rather than starting it.',
|
|
206
214
|
inputSchema: { ...idArg },
|
|
207
|
-
|
|
215
|
+
// Deliberately not readOnlyHint, for the reason exec_poll is not. It reads
|
|
216
|
+
// as one — nothing is created, nothing is destroyed, and the answer is a
|
|
217
|
+
// coordinate — but it POSTs the input drive route, which resumes a
|
|
218
|
+
// suspended computer and bills for the time, as write_clipboard's
|
|
219
|
+
// description says in as many words. Clients treat the hint as licence to
|
|
220
|
+
// call without asking, so the annotation is what decides whether anyone is
|
|
221
|
+
// asked before a read starts a machine. `screenshot` above keeps its hint
|
|
222
|
+
// because it is a GET and does no such thing.
|
|
223
|
+
//
|
|
224
|
+
// The other two flags are set rather than left to default, because both
|
|
225
|
+
// defaults are wrong once readOnlyHint is false: the spec defaults
|
|
226
|
+
// destructiveHint to TRUE and idempotentHint to FALSE. Dropping the
|
|
227
|
+
// object outright would trade an under-warning for an over-warning — a
|
|
228
|
+
// host asking whether it may perform destructive updates in order to read
|
|
229
|
+
// a pointer coordinate — and would tell a host not to retry a read it can
|
|
230
|
+
// safely retry. `create_computer` sets destructiveHint for this reason,
|
|
231
|
+
// and idempotentHint is set deliberately in computers.ts, snapshots.ts
|
|
232
|
+
// and templates.ts.
|
|
233
|
+
annotations: { destructiveHint: false, idempotentHint: true },
|
|
208
234
|
}, ({ computer_id }, extra) => guarded(async () =>
|
|
209
235
|
// `json`, not the shared `post`: every other action here throws away
|
|
210
236
|
// the answer, but this one IS the answer. `send` may legitimately
|
package/dist/tools/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/tools/input.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/tools/input.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/tools/snapshots.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/tools/snapshots.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAgM5C,eAAO,MAAM,iBAAiB,EAAE,SA6wB/B,CAAC"}
|