mandala-computer-mcp 0.4.0 → 0.5.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.
- package/README.md +450 -29
- package/dist/api.d.ts +12 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +160 -15
- package/dist/api.js.map +1 -1
- package/dist/artifacts.d.ts +63 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +81 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +35 -21
- package/dist/cli.js.map +1 -1
- package/dist/credentials.d.ts +33 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +395 -0
- package/dist/credentials.js.map +1 -0
- package/dist/errors.d.ts +29 -9
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +71 -34
- package/dist/errors.js.map +1 -1
- package/dist/executions.d.ts +43 -0
- package/dist/executions.d.ts.map +1 -0
- package/dist/executions.js +162 -0
- package/dist/executions.js.map +1 -0
- package/dist/format.d.ts +11 -11
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +81 -15
- package/dist/format.js.map +1 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +4 -0
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +2 -2
- 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 +40 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +50 -0
- package/dist/paths.js.map +1 -1
- package/dist/results.d.ts +97 -0
- package/dist/results.d.ts.map +1 -0
- package/dist/results.js +263 -0
- package/dist/results.js.map +1 -0
- package/dist/server.d.ts +3 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +60 -9
- package/dist/server.js.map +1 -1
- package/dist/stdio.d.ts +5 -1
- package/dist/stdio.d.ts.map +1 -1
- package/dist/stdio.js +10 -4
- package/dist/stdio.js.map +1 -1
- package/dist/tool-filters.d.ts +38 -0
- package/dist/tool-filters.d.ts.map +1 -0
- package/dist/tool-filters.js +129 -0
- package/dist/tool-filters.js.map +1 -0
- package/dist/tools/account.d.ts +3 -0
- package/dist/tools/account.d.ts.map +1 -0
- package/dist/tools/account.js +122 -0
- package/dist/tools/account.js.map +1 -0
- package/dist/tools/activities.d.ts +3 -0
- package/dist/tools/activities.d.ts.map +1 -0
- package/dist/tools/activities.js +140 -0
- package/dist/tools/activities.js.map +1 -0
- package/dist/tools/agent.d.ts.map +1 -1
- package/dist/tools/agent.js +21 -9
- package/dist/tools/agent.js.map +1 -1
- package/dist/tools/artifacts.d.ts +3 -0
- package/dist/tools/artifacts.d.ts.map +1 -0
- package/dist/tools/artifacts.js +97 -0
- package/dist/tools/artifacts.js.map +1 -0
- package/dist/tools/chat.d.ts +6 -0
- package/dist/tools/chat.d.ts.map +1 -0
- package/dist/tools/chat.js +192 -0
- package/dist/tools/chat.js.map +1 -0
- package/dist/tools/computers.d.ts.map +1 -1
- package/dist/tools/computers.js +18 -7
- package/dist/tools/computers.js.map +1 -1
- package/dist/tools/directory.d.ts +13 -0
- package/dist/tools/directory.d.ts.map +1 -0
- package/dist/tools/directory.js +88 -0
- package/dist/tools/directory.js.map +1 -0
- package/dist/tools/executions.d.ts +3 -0
- package/dist/tools/executions.d.ts.map +1 -0
- package/dist/tools/executions.js +87 -0
- package/dist/tools/executions.js.map +1 -0
- package/dist/tools/guest.d.ts.map +1 -1
- package/dist/tools/guest.js +50 -15
- package/dist/tools/guest.js.map +1 -1
- package/dist/tools/results.d.ts +30 -0
- package/dist/tools/results.d.ts.map +1 -0
- package/dist/tools/results.js +106 -0
- package/dist/tools/results.js.map +1 -0
- package/dist/tools/secrets.d.ts +58 -0
- package/dist/tools/secrets.d.ts.map +1 -0
- package/dist/tools/secrets.js +204 -0
- package/dist/tools/secrets.js.map +1 -0
- package/dist/tools/signals.d.ts +3 -0
- package/dist/tools/signals.d.ts.map +1 -0
- package/dist/tools/signals.js +116 -0
- package/dist/tools/signals.js.map +1 -0
- package/dist/tools/snapshots.d.ts.map +1 -1
- package/dist/tools/snapshots.js +44 -8
- package/dist/tools/snapshots.js.map +1 -1
- package/dist/tools/ssh.d.ts +3 -0
- package/dist/tools/ssh.d.ts.map +1 -0
- package/dist/tools/ssh.js +186 -0
- package/dist/tools/ssh.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/tools/directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,KAAK,aAAwC,CAAC;AAC3D,eAAO,MAAM,KAAK,aAAoB,CAAC;AACvC,eAAO,MAAM,QAAQ,aAAoD,CAAC;AAC1E,eAAO,MAAM,WAAW,aAA0C,CAAC;AAEnE,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAKnE;AAED,qFAAqF;AACrF,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAqC/F;AAsBD,eAAO,MAAM,iBAAiB,EAAE,SAwC/B,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIError } from '../errors.js';
|
|
3
|
+
import { apiErrorMessage, failed, said } from '../format.js';
|
|
4
|
+
import * as P from '../paths.js';
|
|
5
|
+
import { computerSchema, readAnnotations } from './results.js';
|
|
6
|
+
export const count = z.number().int().nonnegative().safe();
|
|
7
|
+
export const label = z.string().min(1);
|
|
8
|
+
export const exitCode = z.number().int().min(-2147483648).max(2147483647);
|
|
9
|
+
export const executionId = z.string().regex(/^exec_[a-f0-9]{32}$/);
|
|
10
|
+
/** Strip unknown fields and never print a schema exception containing response values. */
|
|
11
|
+
export function metadata(schema, value) {
|
|
12
|
+
const parsed = schema.safeParse(value);
|
|
13
|
+
if (!parsed.success)
|
|
14
|
+
throw new Error('Malformed metadata response; no complete result was established.');
|
|
15
|
+
return parsed.data;
|
|
16
|
+
}
|
|
17
|
+
/** Shared only by the passive metadata tools. No retry or readiness side effects. */
|
|
18
|
+
export async function metadataCall(work) {
|
|
19
|
+
try {
|
|
20
|
+
return await work();
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
if (!(error instanceof APIError))
|
|
24
|
+
return failed(error);
|
|
25
|
+
const fields = z
|
|
26
|
+
.object({
|
|
27
|
+
code: z.string().optional(),
|
|
28
|
+
reason: z.string().optional(),
|
|
29
|
+
incomplete: z.boolean().optional(),
|
|
30
|
+
})
|
|
31
|
+
.safeParse(error.body);
|
|
32
|
+
const detail = fields.success ? fields.data : {};
|
|
33
|
+
const nested = error.body?.error;
|
|
34
|
+
const message = apiErrorMessage(error);
|
|
35
|
+
const refusal = failed(new APIError(message, error.status, { ...detail, error: message, reason: error.reason }, error.retryAfterMs, error), nested === null || typeof nested !== 'object' || Array.isArray(nested));
|
|
36
|
+
return {
|
|
37
|
+
...refusal,
|
|
38
|
+
content: [
|
|
39
|
+
...refusal.content,
|
|
40
|
+
...said('Refusal metadata:', {
|
|
41
|
+
code: detail.code,
|
|
42
|
+
incomplete: detail.incomplete,
|
|
43
|
+
...(error.retryAfterMs === undefined ? {} : { retry_after_ms: error.retryAfterMs }),
|
|
44
|
+
}).content,
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const directorySchema = z.object({
|
|
50
|
+
path: label,
|
|
51
|
+
entries: z
|
|
52
|
+
.array(z
|
|
53
|
+
.object({
|
|
54
|
+
name: label,
|
|
55
|
+
type: z.enum(['file', 'directory', 'symlink', 'special', 'unavailable']),
|
|
56
|
+
size_bytes: count.optional(),
|
|
57
|
+
})
|
|
58
|
+
.refine((entry) => entry.type === 'file' || entry.size_bytes === undefined, 'Only regular files may report size_bytes'))
|
|
59
|
+
.max(512),
|
|
60
|
+
truncated: z.boolean(),
|
|
61
|
+
skipped: count,
|
|
62
|
+
});
|
|
63
|
+
export const registerDirectory = (server, session) => {
|
|
64
|
+
server.registerTool('list_directory', {
|
|
65
|
+
title: 'List a guest directory without waking it',
|
|
66
|
+
description: 'Read one passive, unordered directory listing from an already running computer. No resume or idle extension; ordinary API rate/capacity admission still applies. At most 512 examined entries/128 KiB, with no continuation token. Narrow the path when partial. Symlinks are not followed; a final symlink directory is refused. No file content is read.',
|
|
67
|
+
inputSchema: {
|
|
68
|
+
computer_id: computerSchema,
|
|
69
|
+
path: z
|
|
70
|
+
.string()
|
|
71
|
+
.startsWith('/')
|
|
72
|
+
.refine((path) => ![...path].some((char) => char.charCodeAt(0) < 32 || char.charCodeAt(0) === 127) &&
|
|
73
|
+
!P.hasUnpairedSurrogate(path), 'path must be an exact usable absolute guest path'),
|
|
74
|
+
},
|
|
75
|
+
annotations: readAnnotations,
|
|
76
|
+
}, ({ computer_id, path }, extra) => metadataCall(async () => {
|
|
77
|
+
const data = metadata(directorySchema, await session.api.json('GET', P.directory(session.resolve(computer_id)), {
|
|
78
|
+
query: { path },
|
|
79
|
+
signal: extra.signal,
|
|
80
|
+
}));
|
|
81
|
+
if (data.path !== path)
|
|
82
|
+
throw new Error('Directory response did not match the requested path.');
|
|
83
|
+
return said(data.truncated || data.skipped > 0
|
|
84
|
+
? 'PARTIAL directory listing: entries or names were omitted. This is an unordered subset with no continuation token; use a narrower path.'
|
|
85
|
+
: 'Directory metadata only. An unavailable entry has no inferred type or size; symlinks are not followed.', data);
|
|
86
|
+
}));
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=directory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/tools/directory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executions.d.ts","sourceRoot":"","sources":["../../src/tools/executions.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA4D5C,eAAO,MAAM,kBAAkB,EAAE,SAkDhC,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIError, CancelledError } from '../errors.js';
|
|
3
|
+
import { EXECUTION_OUTPUT_DEFAULT, EXECUTION_OUTPUT_MAX, EXECUTION_RESULT_MAX, ExecutionValueError, executionComputerId, executionMetadata, executionOutput, executionReadQuery, } from '../executions.js';
|
|
4
|
+
import { refused, said, withErrorMetadata } from '../format.js';
|
|
5
|
+
import * as P from '../paths.js';
|
|
6
|
+
const identity = {
|
|
7
|
+
computer_id: z
|
|
8
|
+
.string()
|
|
9
|
+
.min(1)
|
|
10
|
+
.max(256)
|
|
11
|
+
.optional()
|
|
12
|
+
.describe('Computer to read; defaults to use_computer selection.'),
|
|
13
|
+
execution_id: z
|
|
14
|
+
.string()
|
|
15
|
+
.length(37)
|
|
16
|
+
.regex(/^exec_[0-9a-f]{32}$/)
|
|
17
|
+
.describe('Stable execution_id returned by an accepted background exec; never a PID.'),
|
|
18
|
+
};
|
|
19
|
+
const offset = z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER);
|
|
20
|
+
const annotations = { readOnlyHint: true, destructiveHint: false, idempotentHint: true };
|
|
21
|
+
async function readResult(fn, signal) {
|
|
22
|
+
try {
|
|
23
|
+
if (signal.aborted)
|
|
24
|
+
return refused('Execution read cancelled. No command was replayed.');
|
|
25
|
+
const result = await fn();
|
|
26
|
+
if (signal.aborted)
|
|
27
|
+
return refused('Execution read cancelled. No command was replayed.');
|
|
28
|
+
if (Buffer.byteLength(JSON.stringify(result)) > EXECUTION_RESULT_MAX) {
|
|
29
|
+
return refused('Execution response cannot fit the bounded tool result. No output was presented and no command was replayed.');
|
|
30
|
+
}
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
if (signal.aborted || err instanceof CancelledError)
|
|
35
|
+
return refused('Execution read cancelled. No command was replayed.');
|
|
36
|
+
if (err instanceof ExecutionValueError)
|
|
37
|
+
return refused(err.message);
|
|
38
|
+
if (err instanceof APIError) {
|
|
39
|
+
const status = err.status;
|
|
40
|
+
const advice = status === 404
|
|
41
|
+
? 'This execution is unavailable; do not substitute a PID or start the command again.'
|
|
42
|
+
: status === 409
|
|
43
|
+
? 'The output is unavailable in the current state; no resume was requested.'
|
|
44
|
+
: status === 401
|
|
45
|
+
? 'A credential was refused; inspect the supplied classification before another read.'
|
|
46
|
+
: status === 403
|
|
47
|
+
? 'The current credential does not have permission for this read.'
|
|
48
|
+
: 'The platform refused this read; no fallback was attempted.';
|
|
49
|
+
return withErrorMetadata(refused(`Execution read failed (HTTP ${status}). ${advice} No command was replayed.`), err);
|
|
50
|
+
}
|
|
51
|
+
// Network/JSON errors and redirect locations can contain untrusted text or private URLs.
|
|
52
|
+
return refused('Execution read could not be completed. Check the selected computer and connection; no fallback or command replay was attempted.');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export const registerExecutions = (server, session) => {
|
|
56
|
+
server.registerTool('get_execution', {
|
|
57
|
+
title: 'Read a stable execution observation',
|
|
58
|
+
description: 'Read one background execution by stable execution_id. Last-observed running, exited or lost; running is not proof the computer is awake, and lost establishes no success or failure. Metadata only: no guest I/O, activity refresh, resume, polling loop, PID fallback or command replay. Handles are volatile and can become unavailable after restart, replacement, expiry or cleanup.',
|
|
59
|
+
inputSchema: identity,
|
|
60
|
+
annotations,
|
|
61
|
+
}, ({ computer_id, execution_id }, extra) => readResult(async () => {
|
|
62
|
+
const id = executionComputerId(session.resolve(computer_id));
|
|
63
|
+
const data = await session.api
|
|
64
|
+
.with(extra.signal)
|
|
65
|
+
.json('GET', P.execution(id, execution_id));
|
|
66
|
+
return said('Last observed execution state; running does not prove the computer is awake, and lost is not an exit result.', executionMetadata(data, id, execution_id));
|
|
67
|
+
}, extra.signal));
|
|
68
|
+
server.registerTool('read_execution_output', {
|
|
69
|
+
title: 'Read an independent execution output chunk',
|
|
70
|
+
description: 'Read volatile, mutable guest output once at explicit independent stdout_offset and stderr_offset byte positions. Performs guest I/O but does not refresh activity, resume, change shared PID cursors, retry, tail, capture or replay a command. Unsuitable for passive Activities/history. Each stream is limited to 4096 bytes by default, at most 16384. Text is lossless UTF-8 (BOM preserved); NUL, binary and split UTF-8 remain exact base64. False more flags mean current EOF, not completion. Diagnostics repeat independently; only the first 4096 diagnostic bytes are displayed, with distinct available/displayed counts and display/daemon truncation flags.',
|
|
71
|
+
inputSchema: {
|
|
72
|
+
...identity,
|
|
73
|
+
stdout_offset: offset,
|
|
74
|
+
stderr_offset: offset,
|
|
75
|
+
limit: z.number().int().min(1).max(EXECUTION_OUTPUT_MAX).default(EXECUTION_OUTPUT_DEFAULT),
|
|
76
|
+
},
|
|
77
|
+
annotations,
|
|
78
|
+
}, ({ computer_id, execution_id, stdout_offset, stderr_offset, limit }, extra) => readResult(async () => {
|
|
79
|
+
const query = executionReadQuery(stdout_offset, stderr_offset, limit);
|
|
80
|
+
const id = executionComputerId(session.resolve(computer_id));
|
|
81
|
+
const data = await session.api
|
|
82
|
+
.with(extra.signal)
|
|
83
|
+
.json('GET', P.executionOutput(id, execution_id), { query });
|
|
84
|
+
return said('Volatile guest output, not retained artifacts. False more flags mean current EOF only. Diagnostics repeat; a truncated display is only a prefix of the available diagnostic. No shared cursor was consumed.', executionOutput(data, execution_id, query));
|
|
85
|
+
}, extra.signal));
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=executions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executions.js","sourceRoot":"","sources":["../../src/tools/executions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guest.d.ts","sourceRoot":"","sources":["../../src/tools/guest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"guest.d.ts","sourceRoot":"","sources":["../../src/tools/guest.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA+K5C,eAAO,MAAM,aAAa,EAAE,SAulB3B,CAAC"}
|
package/dist/tools/guest.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ConflictError, GatewayTimeoutError, platformSaid, RangeNotSatisfiableError, } from '../errors.js';
|
|
3
|
-
import { guarded, image, isInlineImage, json, MAX_INLINE_IMAGE_BYTES, refused, said, text, } from '../format.js';
|
|
3
|
+
import { apiErrorMessage, guarded, image, isInlineImage, json, MAX_INLINE_IMAGE_BYTES, refused, said, text, withErrorMetadata, } from '../format.js';
|
|
4
4
|
import * as P from '../paths.js';
|
|
5
|
+
import { retainIntent, synchronousResultId } from '../results.js';
|
|
6
|
+
import { retentionSchema } from './results.js';
|
|
5
7
|
const idArg = {
|
|
6
8
|
computer_id: z
|
|
7
9
|
.string()
|
|
@@ -72,7 +74,7 @@ const BACKGROUND_SLOTS_FULL = /already has (\d+) background commands? running/i;
|
|
|
72
74
|
function backgroundSlotsFull(err) {
|
|
73
75
|
if (!(err instanceof ConflictError) || err.reason !== undefined)
|
|
74
76
|
return undefined;
|
|
75
|
-
const held = Number(BACKGROUND_SLOTS_FULL.exec(err
|
|
77
|
+
const held = Number(BACKGROUND_SLOTS_FULL.exec(apiErrorMessage(err))?.[1]);
|
|
76
78
|
return Number.isSafeInteger(held) && held > 0 ? held : undefined;
|
|
77
79
|
}
|
|
78
80
|
/**
|
|
@@ -93,13 +95,13 @@ function backgroundSlotsFull(err) {
|
|
|
93
95
|
* the caller say which one it is in, which is the difference between a next step
|
|
94
96
|
* and a guess.
|
|
95
97
|
*/
|
|
96
|
-
const backgroundFull = (err, held) => refused(`${err
|
|
98
|
+
const backgroundFull = (err, held) => withErrorMetadata(refused(`${apiErrorMessage(err)}\n\nA slot is held for as long as its command runs, and all ${held} are held now. ` +
|
|
97
99
|
`Nothing on this side frees one: a command that has already finished is not counted, so there is ` +
|
|
98
100
|
`nothing to reap, and a poll reads output rather than releasing anything. If any of the ${held} are ` +
|
|
99
101
|
`servers, they do not exit on their own and another exec with background: true gets this same answer ` +
|
|
100
102
|
`for as long as they run. The way out is to stop one you no longer need — exec_kill on a pid an ` +
|
|
101
103
|
`earlier exec returned, with exec_poll to see which are still running. If they are builds or installs ` +
|
|
102
|
-
`rather than servers, one of them finishes by itself and its slot comes back a moment later.`);
|
|
104
|
+
`rather than servers, one of them finishes by itself and its slot comes back a moment later.`), err);
|
|
103
105
|
/**
|
|
104
106
|
* A window action that timed out on the way back, turned into the next step it
|
|
105
107
|
* needs — which is a READ, and never this call again (OPL-3910).
|
|
@@ -140,7 +142,7 @@ const windowOutcomeMayBeUnknown = (err) => {
|
|
|
140
142
|
};
|
|
141
143
|
const windowOutcomeUnknown = (err, action, windowId) => {
|
|
142
144
|
const named = platformSaid(err.body);
|
|
143
|
-
return refused(`${named ? `${named}\n\n` : ''}The ${action} on ${windowId} did not report a result before the ` +
|
|
145
|
+
return withErrorMetadata(refused(`${named ? `${named}\n\n` : ''}The ${action} on ${windowId} did not report a result before the ` +
|
|
144
146
|
`deadline (HTTP ${err.status}). That is not a refusal and it is not a report that nothing ` +
|
|
145
147
|
`happened: the guest may have taken the action and lost the race to say so, so the outcome is ` +
|
|
146
148
|
`UNKNOWN and the ${action} may already have been applied. Do not send this call again to find ` +
|
|
@@ -150,7 +152,7 @@ const windowOutcomeUnknown = (err, action, windowId) => {
|
|
|
150
152
|
`window id is not reserved forever — the X server can hand the same id to something else — ` +
|
|
151
153
|
`so a second close is not safely a no-op on a window that has already gone.`
|
|
152
154
|
: `A repeated ${action} is untidy rather than destructive, but it still answers with a guess ` +
|
|
153
|
-
`where a read answers with the window.`));
|
|
155
|
+
`where a read answers with the window.`)), err);
|
|
154
156
|
};
|
|
155
157
|
export const registerGuest = (server, session) => {
|
|
156
158
|
server.registerTool('exec', {
|
|
@@ -159,6 +161,10 @@ export const registerGuest = (server, session) => {
|
|
|
159
161
|
inputSchema: {
|
|
160
162
|
...idArg,
|
|
161
163
|
command: z.string().describe('A shell command line.'),
|
|
164
|
+
retain_output: z
|
|
165
|
+
.union([z.boolean(), retentionSchema])
|
|
166
|
+
.optional()
|
|
167
|
+
.describe('Explicit synchronous output retention only. False/absent preserves default behavior. A valid result_id confirms a retained version; optional failure never replays the command.'),
|
|
162
168
|
timeout_s: z
|
|
163
169
|
.number()
|
|
164
170
|
.int()
|
|
@@ -180,15 +186,22 @@ export const registerGuest = (server, session) => {
|
|
|
180
186
|
.optional()
|
|
181
187
|
.describe('Environment for this command, as {NAME: "value"}. Use it instead of writing FOO=bar in front of the command: a prefix assignment is shell syntax, so a value holding a space, a quote, a newline or a $ has to be quoted correctly by you and is silently truncated or re-parsed when it is not, while this reaches the process whole and unquoted. It also keeps a secret out of the command line, which is world-readable in the guest\'s ps and, for a background command, comes back to you inside every exec_poll answer. The variables are added on top of the guest\'s login profile rather than replacing it, so PATH and the rest are still there, and they apply to this command only — including with desktop: true. Names must not be empty or contain "=".'),
|
|
182
188
|
},
|
|
183
|
-
}, ({ computer_id, command, timeout_s, desktop, background, cwd, env }, extra) => guarded(async () => {
|
|
189
|
+
}, ({ computer_id, command, timeout_s, desktop, background, cwd, env, retain_output }, extra) => guarded(async () => {
|
|
184
190
|
const id = session.resolve(computer_id);
|
|
191
|
+
const retain = retainIntent(retain_output, background);
|
|
192
|
+
let status;
|
|
185
193
|
let res;
|
|
186
194
|
try {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
.
|
|
190
|
-
|
|
191
|
-
|
|
195
|
+
const api = session.api.with(extra.signal), body = P.execBody({ command, timeout_s, desktop, background, cwd, env, retain_output });
|
|
196
|
+
if (retain !== undefined) {
|
|
197
|
+
const observed = await api.jsonWithStatus('POST', P.computerAction(id, 'exec'), { body });
|
|
198
|
+
res = observed.value;
|
|
199
|
+
status = observed.status;
|
|
200
|
+
}
|
|
201
|
+
else
|
|
202
|
+
res = await api.json('POST', P.computerAction(id, 'exec'), {
|
|
203
|
+
body,
|
|
204
|
+
});
|
|
192
205
|
}
|
|
193
206
|
catch (err) {
|
|
194
207
|
// The one refusal on this route whose next step is a different tool
|
|
@@ -216,10 +229,28 @@ export const registerGuest = (server, session) => {
|
|
|
216
229
|
if (!Number.isSafeInteger(res.pid) || res.pid <= 0) {
|
|
217
230
|
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);
|
|
218
231
|
}
|
|
219
|
-
|
|
232
|
+
const stable = P.isExecutionId(res.execution_id);
|
|
233
|
+
const acceptedBody = stable && body && typeof body === 'object' && !Array.isArray(body)
|
|
234
|
+
? { ...body, execution_id: res.execution_id }
|
|
235
|
+
: body;
|
|
236
|
+
const identityNote = stable
|
|
237
|
+
? ' Use get_execution for its last observation and read_execution_output with explicit offsets for independent reads; these never consume the shared PID cursor.'
|
|
238
|
+
: 'execution_id' in res
|
|
239
|
+
? ' The command was accepted, but its stable identity is unavailable because the returned execution_id was malformed. Do not replay the command; the valid PID remains available for legacy inspection, subject to PID reuse.'
|
|
240
|
+
: '';
|
|
241
|
+
return said(`Started as pid ${res.pid}. Read its output with exec_poll, stop it with exec_kill.${identityNote}${note}`, acceptedBody);
|
|
220
242
|
}
|
|
221
243
|
const { body, note } = decodeExec(res, false);
|
|
222
|
-
|
|
244
|
+
const retained = retain !== undefined ? synchronousResultId(res, status) : undefined;
|
|
245
|
+
const presented = retained && body && typeof body === 'object' && !Array.isArray(body)
|
|
246
|
+
? { ...body, result_id: retained }
|
|
247
|
+
: body;
|
|
248
|
+
const retentionNote = retain === undefined
|
|
249
|
+
? ''
|
|
250
|
+
: retained
|
|
251
|
+
? ' Retained result confirmed; use get_result or read_result_output for a separate explicit read.'
|
|
252
|
+
: ' No retrievable retained result ID was confirmed. Do not replay the command to recover it.';
|
|
253
|
+
return said(`${execSummary(res)}${note}${retentionNote}`, presented);
|
|
223
254
|
}));
|
|
224
255
|
server.registerTool('exec_poll', {
|
|
225
256
|
title: 'Read a background command',
|
|
@@ -482,7 +513,7 @@ export const registerGuest = (server, session) => {
|
|
|
482
513
|
}
|
|
483
514
|
catch (err) {
|
|
484
515
|
if (err instanceof RangeNotSatisfiableError)
|
|
485
|
-
return pastEnd(path, offset, err.size);
|
|
516
|
+
return withErrorMetadata(pastEnd(path, offset, err.size), err);
|
|
486
517
|
throw err;
|
|
487
518
|
}
|
|
488
519
|
const served = file.window;
|
|
@@ -903,6 +934,10 @@ function decodeExec(res, continued) {
|
|
|
903
934
|
const body = {};
|
|
904
935
|
const notes = [];
|
|
905
936
|
for (const [key, value] of Object.entries(source)) {
|
|
937
|
+
// Only the accepted launch can bind stable identity to this command.
|
|
938
|
+
// A reusable PID poll (or kill) cannot reconstruct that association.
|
|
939
|
+
if (key === 'execution_id' || key === 'result_id')
|
|
940
|
+
continue;
|
|
906
941
|
if (claimed.has(key))
|
|
907
942
|
continue;
|
|
908
943
|
const field = EXEC_STREAMS[key];
|
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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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { Registrar } from './types.js';
|
|
3
|
+
export declare const retentionSchema: z.ZodObject<{
|
|
4
|
+
max_bytes_per_stream: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
retention_seconds: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
}, "strict", z.ZodTypeAny, {
|
|
7
|
+
max_bytes_per_stream?: number | undefined;
|
|
8
|
+
retention_seconds?: number | undefined;
|
|
9
|
+
}, {
|
|
10
|
+
max_bytes_per_stream?: number | undefined;
|
|
11
|
+
retention_seconds?: number | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const computerSchema: z.ZodOptional<z.ZodString>;
|
|
14
|
+
export declare const readAnnotations: {
|
|
15
|
+
readOnlyHint: boolean;
|
|
16
|
+
destructiveHint: boolean;
|
|
17
|
+
idempotentHint: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare const captureAnnotations: {
|
|
20
|
+
readOnlyHint: boolean;
|
|
21
|
+
destructiveHint: boolean;
|
|
22
|
+
idempotentHint: boolean;
|
|
23
|
+
};
|
|
24
|
+
export declare const deleteAnnotations: {
|
|
25
|
+
readOnlyHint: boolean;
|
|
26
|
+
destructiveHint: boolean;
|
|
27
|
+
idempotentHint: boolean;
|
|
28
|
+
};
|
|
29
|
+
export declare const registerResults: Registrar;
|
|
30
|
+
//# sourceMappingURL=results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../src/tools/results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,eAAO,MAAM,eAAe;;;;;;;;;EAUjB,CAAC;AACZ,eAAO,MAAM,cAAc,4BAKoC,CAAC;AAChE,eAAO,MAAM,eAAe;;;;CAAuE,CAAC;AACpG,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AACF,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAC;AAQF,eAAO,MAAM,eAAe,EAAE,SAsG7B,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { said } from '../format.js';
|
|
3
|
+
import * as P from '../paths.js';
|
|
4
|
+
import { PRESENTATION_DEFAULT, PRESENTATION_MAX, requireValue, resultMetadata, resultPage, resultQuery, retainedCall, retainOptions, scopeId, } from '../results.js';
|
|
5
|
+
export const retentionSchema = z
|
|
6
|
+
.object({
|
|
7
|
+
max_bytes_per_stream: z
|
|
8
|
+
.number()
|
|
9
|
+
.int()
|
|
10
|
+
.min(1)
|
|
11
|
+
.max(4 * 1024 * 1024)
|
|
12
|
+
.optional(),
|
|
13
|
+
retention_seconds: z.number().int().min(1).max(604800).optional(),
|
|
14
|
+
})
|
|
15
|
+
.strict();
|
|
16
|
+
export const computerSchema = z
|
|
17
|
+
.string()
|
|
18
|
+
.min(1)
|
|
19
|
+
.max(100)
|
|
20
|
+
.optional()
|
|
21
|
+
.describe('Computer, or the current use_computer selection.');
|
|
22
|
+
export const readAnnotations = { readOnlyHint: true, destructiveHint: false, idempotentHint: true };
|
|
23
|
+
export const captureAnnotations = {
|
|
24
|
+
readOnlyHint: false,
|
|
25
|
+
destructiveHint: false,
|
|
26
|
+
idempotentHint: false,
|
|
27
|
+
};
|
|
28
|
+
export const deleteAnnotations = {
|
|
29
|
+
readOnlyHint: false,
|
|
30
|
+
destructiveHint: true,
|
|
31
|
+
idempotentHint: true,
|
|
32
|
+
};
|
|
33
|
+
const identity = {
|
|
34
|
+
computer_id: computerSchema,
|
|
35
|
+
result_id: z
|
|
36
|
+
.string()
|
|
37
|
+
.length(36)
|
|
38
|
+
.regex(/^res_[a-f0-9]{32}$/),
|
|
39
|
+
};
|
|
40
|
+
export const registerResults = (server, session) => {
|
|
41
|
+
server.registerTool('retain_execution_output', {
|
|
42
|
+
title: 'Retain an explicit execution output version',
|
|
43
|
+
description: 'Capture one immutable prefix version from volatile guest output by stable execution_id. Explicit guest I/O; never resumes, retries or replays a command. Each call creates a separate version. Capture may commit even if its response is lost. Default 1 MiB per stream/max 4 MiB and default 86400s/max 604800s retention; diagnostics separately capped 64 KiB.',
|
|
44
|
+
inputSchema: {
|
|
45
|
+
computer_id: computerSchema,
|
|
46
|
+
execution_id: z
|
|
47
|
+
.string()
|
|
48
|
+
.length(37)
|
|
49
|
+
.regex(/^exec_[a-f0-9]{32}$/),
|
|
50
|
+
...retentionSchema.shape,
|
|
51
|
+
},
|
|
52
|
+
annotations: captureAnnotations,
|
|
53
|
+
}, ({ computer_id, execution_id, max_bytes_per_stream, retention_seconds }, extra) => retainedCall(extra.signal, true, async (signal) => {
|
|
54
|
+
const id = session.resolve(computer_id);
|
|
55
|
+
requireValue(scopeId(id));
|
|
56
|
+
const body = retainOptions({
|
|
57
|
+
...(max_bytes_per_stream === undefined ? {} : { max_bytes_per_stream }),
|
|
58
|
+
...(retention_seconds === undefined ? {} : { retention_seconds }),
|
|
59
|
+
});
|
|
60
|
+
const data = await session.api
|
|
61
|
+
.with(signal)
|
|
62
|
+
.boundedJson('POST', P.retainedOutput(id, execution_id), 8192, 201, { body });
|
|
63
|
+
return said('Immutable retained version; readiness does not establish command success or complete guest output.', resultMetadata(data, id, undefined, execution_id, body));
|
|
64
|
+
}));
|
|
65
|
+
server.registerTool('get_result', {
|
|
66
|
+
title: 'Read retained result metadata',
|
|
67
|
+
description: 'Read one immutable result manifest without guest output/files, resume, capture or command replay. Expiry, current scope or storage availability can make a version unavailable.',
|
|
68
|
+
inputSchema: identity,
|
|
69
|
+
annotations: readAnnotations,
|
|
70
|
+
}, ({ computer_id, result_id }, extra) => retainedCall(extra.signal, false, async (signal) => {
|
|
71
|
+
const id = session.resolve(computer_id);
|
|
72
|
+
requireValue(scopeId(id));
|
|
73
|
+
return said('Immutable retained metadata; retained and upstream truncation are separate.', resultMetadata(await session.api.with(signal).boundedJson('GET', P.result(id, result_id), 8192, 200), id, result_id));
|
|
74
|
+
}));
|
|
75
|
+
server.registerTool('read_result_output', {
|
|
76
|
+
title: 'Read an independent retained byte page',
|
|
77
|
+
description: 'Read one passive retained stdout, stderr or diagnostic page at an explicit offset. Default 4096/max 16384 bytes. EOF concerns this immutable prefix, not task completion. Lossless UTF-8/BOM or exact base64; no guest read, shared cursor, implicit capture, iteration or replay.',
|
|
78
|
+
inputSchema: {
|
|
79
|
+
...identity,
|
|
80
|
+
stream: z.enum(['stdout', 'stderr', 'diagnostic']),
|
|
81
|
+
offset: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
82
|
+
limit: z.number().int().min(1).max(PRESENTATION_MAX).default(PRESENTATION_DEFAULT),
|
|
83
|
+
},
|
|
84
|
+
annotations: readAnnotations,
|
|
85
|
+
}, ({ computer_id, result_id, stream, offset, limit }, extra) => retainedCall(extra.signal, false, async (signal) => {
|
|
86
|
+
const id = session.resolve(computer_id);
|
|
87
|
+
requireValue(scopeId(id));
|
|
88
|
+
const query = resultQuery(stream, offset, limit);
|
|
89
|
+
const response = await session.api
|
|
90
|
+
.with(signal)
|
|
91
|
+
.boundedBytes('GET', P.resultOutput(id, result_id), limit, 200, { query });
|
|
92
|
+
return said('One independent immutable byte page; no full-stream hash claim.', resultPage(response, result_id, query));
|
|
93
|
+
}));
|
|
94
|
+
server.registerTool('delete_result', {
|
|
95
|
+
title: 'Delete a retained output version',
|
|
96
|
+
description: 'Delete exactly this immutable result version. No metadata preflight or guest mutation. Same deletion effect on repeat, but a repeated 404 remains unavailable; no automatic retry.',
|
|
97
|
+
inputSchema: identity,
|
|
98
|
+
annotations: deleteAnnotations,
|
|
99
|
+
}, ({ computer_id, result_id }, extra) => retainedCall(extra.signal, true, async (signal) => {
|
|
100
|
+
const id = session.resolve(computer_id);
|
|
101
|
+
requireValue(scopeId(id));
|
|
102
|
+
await session.api.with(signal).boundedBytes('DELETE', P.result(id, result_id), 0, 204);
|
|
103
|
+
return said('Retained result deleted.', { result_id, deleted: true });
|
|
104
|
+
}));
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=results.js.map
|