mandala-computer-mcp 0.1.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +139 -24
  2. package/dist/api.d.ts +19 -6
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +355 -76
  5. package/dist/api.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +113 -8
  8. package/dist/cli.js.map +1 -1
  9. package/dist/errors.d.ts +100 -12
  10. package/dist/errors.d.ts.map +1 -1
  11. package/dist/errors.js +169 -29
  12. package/dist/errors.js.map +1 -1
  13. package/dist/events.d.ts +45 -4
  14. package/dist/events.d.ts.map +1 -1
  15. package/dist/events.js +422 -114
  16. package/dist/events.js.map +1 -1
  17. package/dist/format.d.ts +48 -0
  18. package/dist/format.d.ts.map +1 -1
  19. package/dist/format.js +111 -4
  20. package/dist/format.js.map +1 -1
  21. package/dist/http-body.d.ts +17 -0
  22. package/dist/http-body.d.ts.map +1 -0
  23. package/dist/http-body.js +48 -0
  24. package/dist/http-body.js.map +1 -0
  25. package/dist/http.d.ts.map +1 -1
  26. package/dist/http.js +177 -51
  27. package/dist/http.js.map +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/limits.d.ts +17 -0
  33. package/dist/limits.d.ts.map +1 -0
  34. package/dist/limits.js +17 -0
  35. package/dist/limits.js.map +1 -0
  36. package/dist/paths.d.ts +30 -20
  37. package/dist/paths.d.ts.map +1 -1
  38. package/dist/paths.js +89 -25
  39. package/dist/paths.js.map +1 -1
  40. package/dist/poll.d.ts +107 -0
  41. package/dist/poll.d.ts.map +1 -0
  42. package/dist/poll.js +233 -0
  43. package/dist/poll.js.map +1 -0
  44. package/dist/server.d.ts +1 -1
  45. package/dist/server.d.ts.map +1 -1
  46. package/dist/server.js +2 -1
  47. package/dist/server.js.map +1 -1
  48. package/dist/tools/agent.d.ts.map +1 -1
  49. package/dist/tools/agent.js +72 -5
  50. package/dist/tools/agent.js.map +1 -1
  51. package/dist/tools/computers.d.ts.map +1 -1
  52. package/dist/tools/computers.js +559 -233
  53. package/dist/tools/computers.js.map +1 -1
  54. package/dist/tools/events.d.ts.map +1 -1
  55. package/dist/tools/events.js +359 -69
  56. package/dist/tools/events.js.map +1 -1
  57. package/dist/tools/guest.d.ts.map +1 -1
  58. package/dist/tools/guest.js +234 -33
  59. package/dist/tools/guest.js.map +1 -1
  60. package/dist/tools/input.d.ts.map +1 -1
  61. package/dist/tools/input.js +92 -8
  62. package/dist/tools/input.js.map +1 -1
  63. package/dist/tools/snapshots.d.ts.map +1 -1
  64. package/dist/tools/snapshots.js +501 -33
  65. package/dist/tools/snapshots.js.map +1 -1
  66. package/dist/tools/templates.d.ts.map +1 -1
  67. package/dist/tools/templates.js +61 -26
  68. package/dist/tools/templates.js.map +1 -1
  69. package/dist/tools/webhooks.d.ts.map +1 -1
  70. package/dist/tools/webhooks.js +116 -17
  71. package/dist/tools/webhooks.js.map +1 -1
  72. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/tools/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/tools/events.ts"],"names":[],"mappings":"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"}
@@ -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,SAwgB3B,CAAC"}
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"}
@@ -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` (platform OPL-3898): the slots may be held by long-lived servers, so
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 (platform OPL-3898).
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(300)
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".`, res);
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.`, res);
219
+ return said(`Started as pid ${res.pid}. Read its output with exec_poll, stop it with exec_kill.${note}`, body);
217
220
  }
218
- return said(execSummary(res), res);
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
- return said(`${execSummary(res)}${more}`, res);
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
- return said(`Killed pid ${pid}.`, res);
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
- return said(`Asked the desktop to open ${url}. Give it a few seconds, then screenshot — the browser draws after the command returns.`, res);
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',
@@ -325,7 +355,7 @@ export const registerGuest = (server, session) => {
325
355
  }));
326
356
  server.registerTool('read_clipboard', {
327
357
  title: "Read the desktop's clipboard",
328
- description: "What is on the computer's desktop clipboard right now — the CLIPBOARD selection, which is what Ctrl-C writes and Ctrl-V pastes. Use this rather than running xclip through exec: exec runs a login shell, so anything the guest user's profile prints lands on the same output ahead of your command's, which corrupts a read you are trying to parse. This does not share that stream. It requires a Linux desktop image with xclip installed and is refused on Windows. An older or custom image without xclip gets a 400 that never clears; changing runtime state or retrying cannot fix that image dependency. It is a READ, not a subscription: this call notices nothing on its own, and repeating it is how a copy inside the guest is discovered. What does notice is wait_for_event on clipboard.changed, which fires when the selection changes hands and says which selection it was — the text is deliberately not on that stream, so this is still the call that fetches it. It also does not wake a suspended computer, so a stopped or suspended one is refused rather than started; start_computer first if you need it. The 409s are not alike either, and the answer says which KIND it is rather than leaving you to match on the sentence: a computer that is not running does NOT clear by waiting — only start_computer changes it — while a guest agent that is busy or still inside its boot window is worth asking again in a moment. A desktop session or X server that is not answering carries no such word, deliberately, because the platform cannot tell a guest still coming up from one nobody is logged into: bound your attempts there rather than looping on it. At most 128 KiB comes back, and more than that is refused rather than cut short.",
358
+ description: "What is on the computer's desktop clipboard right now — the CLIPBOARD selection, which is what Ctrl-C writes and Ctrl-V pastes. Use this rather than running xclip through exec: exec runs a login shell, so anything the guest user's profile prints lands on the same output ahead of your command's, which corrupts a read you are trying to parse. This does not share that stream. It requires a Linux desktop image with xclip installed and is refused on Windows. An older or custom image without xclip gets a 400 that never clears; changing runtime state or retrying cannot fix that image dependency. It is a READ, not a subscription: this call notices nothing on its own, and repeating it is how a copy inside the guest is discovered. What does notice is wait_for_event on clipboard.changed, which fires when the selection changes hands and says which selection it was — the text is deliberately not on that stream, so this is still the call that fetches it. It also does not wake a suspended computer, so a stopped or suspended one is refused rather than started; start_computer first if you need it, unless a start is already under way — wait_for_computer tells you which. The 409s are not alike either, and the answer says which KIND it is rather than leaving you to match on the sentence: a computer that is not running does not clear by waiting UNLESS a start has already been admitted for it, in which case wait_for_computer is the call and start_computer would only start it twice — while a guest agent that is busy or still inside its boot window is worth asking again in a moment. A desktop session or X server that is not answering carries no such word, deliberately, because the platform cannot tell a guest still coming up from one nobody is logged into: bound your attempts there rather than looping on it. At most 128 KiB comes back, and more than that is refused rather than cut short.",
329
359
  inputSchema: { ...idArg },
330
360
  annotations: { readOnlyHint: true },
331
361
  }, ({ computer_id }, extra) => guarded(async () => {
@@ -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
- annotations: { readOnlyHint: true },
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;
@@ -700,25 +740,19 @@ function decodeUtf8(bytes) {
700
740
  // A NUL is legal UTF-8 and is never in a file anybody meant to read as text.
701
741
  if (bytes.includes(0))
702
742
  return undefined;
703
- const fatal = new TextDecoder('utf-8', { fatal: true });
743
+ // Each file window is decoded independently. Preserve U+FEFF when it happens
744
+ // to be the first character in this window: at a nonzero offset it cannot be
745
+ // a transport marker, and at offset zero it is still a valid character the
746
+ // caller asked us to return byte-for-byte.
747
+ const fatal = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true });
704
748
  try {
705
749
  return fatal.decode(bytes);
706
750
  }
707
751
  catch {
708
- // A truncated read can cut a multi-byte character in half. One incomplete
709
- // sequence at the very end is a casualty of the cap rather than proof the
710
- // file is binary. A real U+FFFD (EF BF BD) is valid UTF-8 and decodes
711
- // fatally above. Stray 0xff/0xfe (or any other invalid suffix) must not
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
- }
752
+ // utf8Page already leaves a split character for the next page when it
753
+ // can. At EOF, or on a tiny page containing only part of one character,
754
+ // keep the exact bytes as base64 instead of inventing replacement text.
755
+ return undefined;
722
756
  }
723
757
  }
724
758
  /** Leave an incomplete final UTF-8 character for the next byte window. */
@@ -738,6 +772,166 @@ function utf8Page(bytes) {
738
772
  return bytes;
739
773
  }
740
774
  }
775
+ /**
776
+ * The two output fields every exec route now carries, and what each is called
777
+ * once it is bytes again (OPL-4542).
778
+ *
779
+ * The platform sends command output as `stdout_b64` and `stderr_b64`, always
780
+ * base64 and never conditionally. It used to send `stdout` and `stderr` as JSON
781
+ * strings, so any byte that was not valid UTF-8 arrived as U+FFFD with no way
782
+ * back — and the case that reaches an ordinary caller is not a binary artifact
783
+ * but a plain text log: a poll is cut at 1 MiB on a BYTE offset, so a multi-byte
784
+ * character straddling the cut was destroyed in both halves. The field was
785
+ * renamed rather than given an `encoding` discriminator precisely so that a
786
+ * client which had not been updated fails on a missing field instead of quietly
787
+ * reporting every command's output as empty.
788
+ *
789
+ * `stdout_offset` and `stderr_offset` kept their names and count DECODED bytes.
790
+ * Nothing here has to move a cursor by them — the guest holds the cursor and
791
+ * exec_poll sends no offset — so they pass through untouched, still describing
792
+ * the bytes this server hands over rather than the base64 it was given.
793
+ */
794
+ const EXEC_STREAMS = {
795
+ stdout_b64: { name: 'stdout', truncated: 'out_truncated' },
796
+ stderr_b64: { name: 'stderr', truncated: 'err_truncated' },
797
+ };
798
+ const NO_BYTES = new Uint8Array(0);
799
+ /**
800
+ * How many bytes at the start finish a character an earlier read cut in half.
801
+ *
802
+ * A UTF-8 stream never begins with a continuation byte, so leading ones in a
803
+ * chunk that follows another chunk are the remainder of a split character and
804
+ * nothing else. At most three, which is the most a character can owe; a run
805
+ * longer than that is not a split character, and leaving the extras in place
806
+ * makes the decode below fail and the whole chunk stay base64 — which is the
807
+ * right answer for output that was never text.
808
+ */
809
+ function orphanUtf8Tail(bytes) {
810
+ let n = 0;
811
+ while (n < bytes.length && n < 3 && bytes[n] >= 0x80 && bytes[n] <= 0xbf)
812
+ n++;
813
+ return n;
814
+ }
815
+ /**
816
+ * One output field, decoded — with the character halves the chunking cut off.
817
+ *
818
+ * `continued` and `continues` are what make a partial character at either end a
819
+ * casualty of the cut rather than proof the command wrote bytes. A whole stream
820
+ * that ends mid-character IS binary and stays base64; a 1 MiB poll that does is
821
+ * a text log the guest sliced on a byte boundary, and the missing half arrives
822
+ * on the next poll.
823
+ */
824
+ function decodeExecStream(raw, continued, offset, continues) {
825
+ // Node's base64 decoder drops what it does not recognise, so a field that is
826
+ // not base64 would decode to a shorter, plausible-looking string. It cannot
827
+ // happen against a platform that always encodes; if it does, it is not output
828
+ // and must not be presented as any.
829
+ if (!isBase64(raw))
830
+ return { kind: 'undecodable' };
831
+ const bytes = new Uint8Array(Buffer.from(raw, 'base64'));
832
+ // Whether anything actually precedes these bytes. The route says only whether
833
+ // anything CAN — a cursor read may follow an earlier one — and the FIRST poll
834
+ // of a pid is a cursor read that nothing precedes, where stripping leading
835
+ // bytes would delete output the command really wrote and explain it with a cut
836
+ // that never happened. The offset settles it: it counts decoded bytes and
837
+ // names the end of this chunk, so the chunk began at `offset - length`. A
838
+ // chunk that begins at zero is the head of the stream. Absent or not a number,
839
+ // the route's answer stands; a start that does not come out positive is read
840
+ // as the head of the stream, which strips nothing and at worst leaves a
841
+ // genuine split character in the base64.
842
+ const mid = continued &&
843
+ (typeof offset !== 'number' || !Number.isFinite(offset) || offset - bytes.length > 0);
844
+ const start = mid ? orphanUtf8Tail(bytes) : 0;
845
+ const rest = bytes.subarray(start);
846
+ const lead = continues ? incompleteUtf8Lead(rest) : undefined;
847
+ const middle = lead === undefined ? rest : rest.subarray(0, lead);
848
+ // A NUL is legal UTF-8 and is never in output anybody meant to read as text —
849
+ // the same line `decodeUtf8` draws for a file, drawn here for a stream.
850
+ if (middle.includes(0))
851
+ return { kind: 'bytes' };
852
+ try {
853
+ const tail = lead === undefined ? NO_BYTES : rest.subarray(lead);
854
+ return {
855
+ kind: 'text',
856
+ // U+FFFD where the chunk was cut, and only there — one marker for one
857
+ // character, on the side that lost it, so text concatenated across polls
858
+ // has the character missing rather than nothing at all to say a character
859
+ // was. This is not the corruption the rename removed: those bytes were
860
+ // consumed and gone, while these are named in hex beside the text and
861
+ // arrive whole on the next read. read_file marks a cut file the same way.
862
+ text: new TextDecoder('utf-8', { fatal: true, ignoreBOM: true }).decode(middle) +
863
+ (tail.length ? '\ufffd' : ''),
864
+ head: bytes.subarray(0, start),
865
+ tail,
866
+ };
867
+ }
868
+ catch {
869
+ return { kind: 'bytes' };
870
+ }
871
+ }
872
+ /** `e2 80` — a few bytes named exactly, for a note about the ones not shown. */
873
+ const hex = (bytes) => Buffer.from(bytes).toString('hex').replace(/../g, '$& ').trim();
874
+ /**
875
+ * An exec answer with its output decoded, and the sentences that go above it.
876
+ *
877
+ * `continued` is whether bytes may precede this chunk — true for the two routes
878
+ * that read a cursor an earlier poll may already have moved, false for the two
879
+ * that answer a command's output from its beginning.
880
+ */
881
+ function decodeExec(res, continued) {
882
+ if (!res || typeof res !== 'object' || Array.isArray(res))
883
+ return { body: res, note: '' };
884
+ const source = res;
885
+ // Whether more of a stream can still arrive: the command has not exited, the
886
+ // guest says it is holding more, the deadline passed while it was still
887
+ // printing, or the guest agent's 16 MiB capture cap cut this one short. The
888
+ // timeout belongs here for the reason execSummary says one line down — the
889
+ // command is still running inside the guest, so a character its last chunk
890
+ // 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 —
891
+ // the platform ORs them — while the truncation flags are per stream, which is
892
+ // why this is asked per field rather than once.
893
+ const flowing = source.more === true || source.running === true || source.timed_out === true;
894
+ // Names a `_b64` field on this response will claim. A daemon sending both —
895
+ // one mid-rollout, or an older self-hosted one — would otherwise decide which
896
+ // wins by JSON key order, and a `stdout` that came later would quietly replace
897
+ // the decoded bytes with the U+FFFD-bearing string this whole change exists to
898
+ // stop reading. The base64 field is the authoritative one; its plain twin is
899
+ // dropped rather than raced.
900
+ const claimed = new Set(Object.entries(EXEC_STREAMS)
901
+ .filter(([key]) => typeof source[key] === 'string')
902
+ .map(([, field]) => field.name));
903
+ const body = {};
904
+ const notes = [];
905
+ for (const [key, value] of Object.entries(source)) {
906
+ if (claimed.has(key))
907
+ continue;
908
+ const field = EXEC_STREAMS[key];
909
+ if (field === undefined || typeof value !== 'string') {
910
+ body[key] = value;
911
+ continue;
912
+ }
913
+ const { name, truncated } = field;
914
+ const stream = decodeExecStream(value, continued, source[`${name}_offset`], flowing || source[truncated] === true);
915
+ if (stream.kind !== 'text') {
916
+ // Left under the name it arrived with, which is the whole signal: the
917
+ // field says base64, so a reader knows to decode it and knows the bytes
918
+ // are exactly what the command wrote.
919
+ body[key] = value;
920
+ notes.push(stream.kind === 'bytes'
921
+ ? `${name} is not text, so it is left as \`${key}\` — base64 of the bytes the command wrote, unchanged.`
922
+ : `${key} did not decode as base64 and is left exactly as it arrived. Treat it as unread output rather than as ${name}.`);
923
+ continue;
924
+ }
925
+ body[name] = stream.text;
926
+ if (stream.head.length > 0) {
927
+ 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.`);
928
+ }
929
+ if (stream.tail.length > 0) {
930
+ 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.`);
931
+ }
932
+ }
933
+ return { body, note: notes.length > 0 ? `\n\n${notes.join('\n')}` : '' };
934
+ }
741
935
  /** The one line a model needs off an exec result, before the JSON. */
742
936
  function execSummary(res) {
743
937
  const bits = [];
@@ -749,10 +943,17 @@ function execSummary(res) {
749
943
  else if (res.exit_code != null)
750
944
  bits.push(`exit ${res.exit_code}`);
751
945
  if (res.timed_out) {
752
- 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');
946
+ bits.push('TIMED OUT — the original command is still running inside the guest; the timeout did not kill it. ' +
947
+ "Do not rerun it to recover this foreground run's output: a new exec starts another command and may repeat its effects. " +
948
+ 'Inspect the existing process and any effects it may already have had before deliberately starting a new execution. ' +
949
+ 'For future long-running commands, use background: true from the start');
753
950
  }
754
- if (res.out_truncated) {
755
- bits.push("OUTPUT TRUNCATED at the guest agent's 16 MiB cap — the exit code is not the signal here, the flag is");
951
+ // Named per stream, because the flags are per stream (OPL-4542). Reading only
952
+ // `out_truncated` left a command whose STDERR hit the cap reporting a clean
953
+ // `exit 0` — the shape this sentence exists to prevent.
954
+ const cut = [res.out_truncated ? 'STDOUT' : '', res.err_truncated ? 'STDERR' : ''].filter(Boolean);
955
+ if (cut.length > 0) {
956
+ 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
957
  }
757
958
  if (res.killed)
758
959
  bits.push('killed');