mandala-computer-mcp 0.3.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 +462 -37
- package/dist/api.d.ts +12 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +262 -42
- 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 +53 -10
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +122 -35
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +11 -2
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +213 -95
- package/dist/events.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 +159 -16
- 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/limits.d.ts +17 -0
- package/dist/limits.d.ts.map +1 -0
- package/dist/limits.js +17 -0
- package/dist/limits.js.map +1 -0
- package/dist/paths.d.ts +42 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +54 -3
- package/dist/paths.js.map +1 -1
- package/dist/poll.d.ts +5 -1
- package/dist/poll.d.ts.map +1 -1
- package/dist/poll.js +120 -16
- package/dist/poll.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 +61 -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 +72 -5
- 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 +300 -247
- 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/events.d.ts.map +1 -1
- package/dist/tools/events.js +66 -22
- package/dist/tools/events.js.map +1 -1
- 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 +57 -17
- package/dist/tools/guest.js.map +1 -1
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +63 -5
- package/dist/tools/input.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 +213 -167
- 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/dist/tools/templates.d.ts.map +1 -1
- package/dist/tools/templates.js +9 -13
- package/dist/tools/templates.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { BoundedBytes } from './api.js';
|
|
2
|
+
export declare const artifactId: (v: unknown) => v is string;
|
|
3
|
+
export type ArtifactOptions = {
|
|
4
|
+
path: string;
|
|
5
|
+
expected_size: number;
|
|
6
|
+
expected_sha256: string;
|
|
7
|
+
execution_id?: string;
|
|
8
|
+
max_bytes?: number;
|
|
9
|
+
retention_seconds?: number;
|
|
10
|
+
};
|
|
11
|
+
export declare function artifactOptions(v: unknown): ArtifactOptions;
|
|
12
|
+
export declare function artifactMetadata(v: unknown, computer: string, id?: string, nomination?: ArtifactOptions): {
|
|
13
|
+
artifact_id: string;
|
|
14
|
+
kind: string;
|
|
15
|
+
state: string;
|
|
16
|
+
computer_id: string;
|
|
17
|
+
workspace_id: string | null;
|
|
18
|
+
created_at: unknown;
|
|
19
|
+
expires_at: unknown;
|
|
20
|
+
size: number;
|
|
21
|
+
sha256: string;
|
|
22
|
+
execution_association: {
|
|
23
|
+
kind: string;
|
|
24
|
+
execution_id: string;
|
|
25
|
+
verified_at: unknown;
|
|
26
|
+
} | null;
|
|
27
|
+
};
|
|
28
|
+
export declare function artifactContent(v: BoundedBytes, manifest: ReturnType<typeof artifactMetadata>): {
|
|
29
|
+
text: string;
|
|
30
|
+
verified: boolean;
|
|
31
|
+
artifact_id: string;
|
|
32
|
+
kind: string;
|
|
33
|
+
state: string;
|
|
34
|
+
computer_id: string;
|
|
35
|
+
workspace_id: string | null;
|
|
36
|
+
created_at: unknown;
|
|
37
|
+
expires_at: unknown;
|
|
38
|
+
size: number;
|
|
39
|
+
sha256: string;
|
|
40
|
+
execution_association: {
|
|
41
|
+
kind: string;
|
|
42
|
+
execution_id: string;
|
|
43
|
+
verified_at: unknown;
|
|
44
|
+
} | null;
|
|
45
|
+
} | {
|
|
46
|
+
base64: string;
|
|
47
|
+
verified: boolean;
|
|
48
|
+
artifact_id: string;
|
|
49
|
+
kind: string;
|
|
50
|
+
state: string;
|
|
51
|
+
computer_id: string;
|
|
52
|
+
workspace_id: string | null;
|
|
53
|
+
created_at: unknown;
|
|
54
|
+
expires_at: unknown;
|
|
55
|
+
size: number;
|
|
56
|
+
sha256: string;
|
|
57
|
+
execution_association: {
|
|
58
|
+
kind: string;
|
|
59
|
+
execution_id: string;
|
|
60
|
+
verified_at: unknown;
|
|
61
|
+
} | null;
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=artifacts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAW7C,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAC6B,CAAC;AAC3E,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AACF,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,eAAe,CA+B3D;AACD,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,OAAO,EACV,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,eAAe;;;;;;;;;;;;;;;EAkD7B;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7F"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { binaryContent, digest, executionId, integer, record, requireValue, scopeId, time, } from './results.js';
|
|
3
|
+
export const artifactId = (v) => typeof v === 'string' && v.length === 36 && /^art_[a-f0-9]{32}$/.test(v);
|
|
4
|
+
export function artifactOptions(v) {
|
|
5
|
+
requireValue(record(v) &&
|
|
6
|
+
Object.keys(v).every((k) => [
|
|
7
|
+
'path',
|
|
8
|
+
'expected_size',
|
|
9
|
+
'expected_sha256',
|
|
10
|
+
'execution_id',
|
|
11
|
+
'max_bytes',
|
|
12
|
+
'retention_seconds',
|
|
13
|
+
].includes(k)));
|
|
14
|
+
const path = v.path;
|
|
15
|
+
requireValue(typeof path === 'string' &&
|
|
16
|
+
path.length > 0 &&
|
|
17
|
+
Buffer.byteLength(path) <= 4096 &&
|
|
18
|
+
![...path].some((char) => char.charCodeAt(0) < 32 || char.charCodeAt(0) === 127));
|
|
19
|
+
requireValue(!/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/.test(path));
|
|
20
|
+
requireValue(path.startsWith('/') || path.startsWith('\\\\') || /^[A-Za-z]:[\\/]/.test(path));
|
|
21
|
+
requireValue(integer(v.expected_size, 0, 64 * 1024 * 1024) && digest(v.expected_sha256));
|
|
22
|
+
if ('max_bytes' in v)
|
|
23
|
+
requireValue(integer(v.max_bytes, 1, 64 * 1024 * 1024));
|
|
24
|
+
if ('retention_seconds' in v)
|
|
25
|
+
requireValue(integer(v.retention_seconds, 1, 604800));
|
|
26
|
+
if ('execution_id' in v)
|
|
27
|
+
requireValue(executionId(v.execution_id));
|
|
28
|
+
requireValue(v.expected_size <= (v.max_bytes ?? 8 * 1024 * 1024));
|
|
29
|
+
return v;
|
|
30
|
+
}
|
|
31
|
+
export function artifactMetadata(v, computer, id, nomination) {
|
|
32
|
+
requireValue(record(v) &&
|
|
33
|
+
artifactId(v.artifact_id) &&
|
|
34
|
+
(!id || v.artifact_id === id) &&
|
|
35
|
+
v.kind === 'artifact' &&
|
|
36
|
+
v.state === 'ready' &&
|
|
37
|
+
v.computer_id === computer &&
|
|
38
|
+
scopeId(v.computer_id) &&
|
|
39
|
+
(v.workspace_id === null || scopeId(v.workspace_id)) &&
|
|
40
|
+
integer(v.size, 0, 64 * 1024 * 1024) &&
|
|
41
|
+
digest(v.sha256));
|
|
42
|
+
const created = time(v.created_at), expires = time(v.expires_at);
|
|
43
|
+
requireValue(expires > created && expires - created <= 604800000000000n);
|
|
44
|
+
let association = null;
|
|
45
|
+
if (v.execution_association !== null) {
|
|
46
|
+
const a = v.execution_association;
|
|
47
|
+
requireValue(record(a) &&
|
|
48
|
+
a.kind === 'caller_selected' &&
|
|
49
|
+
executionId(a.execution_id) &&
|
|
50
|
+
time(a.verified_at) <= created);
|
|
51
|
+
association = {
|
|
52
|
+
kind: 'caller_selected',
|
|
53
|
+
execution_id: a.execution_id,
|
|
54
|
+
verified_at: a.verified_at,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
if (nomination)
|
|
58
|
+
requireValue(v.size === nomination.expected_size &&
|
|
59
|
+
v.sha256 === nomination.expected_sha256 &&
|
|
60
|
+
(association?.execution_id ?? undefined) === nomination.execution_id);
|
|
61
|
+
return {
|
|
62
|
+
artifact_id: v.artifact_id,
|
|
63
|
+
kind: 'artifact',
|
|
64
|
+
state: 'ready',
|
|
65
|
+
computer_id: v.computer_id,
|
|
66
|
+
workspace_id: v.workspace_id,
|
|
67
|
+
created_at: v.created_at,
|
|
68
|
+
expires_at: v.expires_at,
|
|
69
|
+
size: v.size,
|
|
70
|
+
sha256: v.sha256,
|
|
71
|
+
execution_association: association,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export function artifactContent(v, manifest) {
|
|
75
|
+
requireValue(v.headers['content-type']?.split(';')[0].trim().toLowerCase() === 'application/octet-stream' &&
|
|
76
|
+
v.headers['content-length'] === String(manifest.size) &&
|
|
77
|
+
v.bytes.length === manifest.size);
|
|
78
|
+
requireValue(createHash('sha256').update(v.bytes).digest('hex') === manifest.sha256);
|
|
79
|
+
return { ...manifest, verified: true, ...binaryContent(v.bytes) };
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=artifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,aAAa,EACb,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,YAAY,EACZ,OAAO,EACP,IAAI,GACL,MAAM,cAAc,CAAC;AACtB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAU,EAAe,EAAE,CACpD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAS3E,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,YAAY,CACV,MAAM,CAAC,CAAC,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB;YACE,MAAM;YACN,eAAe;YACf,iBAAiB;YACjB,cAAc;YACd,WAAW;YACX,mBAAmB;SACpB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACd,CACJ,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACpB,YAAY,CACV,OAAO,IAAI,KAAK,QAAQ;QACtB,IAAI,CAAC,MAAM,GAAG,CAAC;QACf,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI;QAC/B,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CACnF,CAAC;IACF,YAAY,CACV,CAAC,wEAAwE,CAAC,IAAI,CAAC,IAAI,CAAC,CACrF,CAAC;IACF,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IACzF,IAAI,WAAW,IAAI,CAAC;QAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,mBAAmB,IAAI,CAAC;QAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACpF,IAAI,cAAc,IAAI,CAAC;QAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACnE,YAAY,CAAC,CAAC,CAAC,aAAa,IAAI,CAAE,CAAC,CAAC,SAAoB,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAoB,CAAC;AAC9B,CAAC;AACD,MAAM,UAAU,gBAAgB,CAC9B,CAAU,EACV,QAAgB,EAChB,EAAW,EACX,UAA4B;IAE5B,YAAY,CACV,MAAM,CAAC,CAAC,CAAC;QACP,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;QACzB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC;QAC7B,CAAC,CAAC,IAAI,KAAK,UAAU;QACrB,CAAC,CAAC,KAAK,KAAK,OAAO;QACnB,CAAC,CAAC,WAAW,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;QACtB,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACpD,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;QACpC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CACnB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAChC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC/B,YAAY,CAAC,OAAO,GAAG,OAAO,IAAI,OAAO,GAAG,OAAO,IAAI,gBAAgB,CAAC,CAAC;IACzE,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC;QAClC,YAAY,CACV,MAAM,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,IAAI,KAAK,iBAAiB;YAC5B,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;YAC3B,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,OAAO,CACjC,CAAC;QACF,WAAW,GAAG;YACZ,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC;IACJ,CAAC;IACD,IAAI,UAAU;QACZ,YAAY,CACV,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa;YACjC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,eAAe;YACvC,CAAC,WAAW,EAAE,YAAY,IAAI,SAAS,CAAC,KAAK,UAAU,CAAC,YAAY,CACvE,CAAC;IACJ,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,qBAAqB,EAAE,WAAW;KACnC,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,CAAe,EAAE,QAA6C;IAC5F,YAAY,CACV,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,0BAA0B;QAC1F,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrD,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,CACnC,CAAC;IACF,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrF,OAAO,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AACpE,CAAC"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { type ToolFilters } from './tool-filters.js';
|
|
2
3
|
type Flags = Record<string, string | boolean>;
|
|
3
4
|
/**
|
|
4
5
|
* argv into flags.
|
|
@@ -21,6 +22,8 @@ export declare const wantsHelp: (flags: Flags) => boolean;
|
|
|
21
22
|
export declare const wantsVersion: (flags: Flags) => boolean;
|
|
22
23
|
/** Whether lifecycle tools survive the flag/environment precedence rules. */
|
|
23
24
|
export declare function lifecycleEnabled(flags: Flags, configured?: string | undefined): boolean;
|
|
25
|
+
/** Parse once, before either transport starts; a typo must never open a listener. */
|
|
26
|
+
export declare function filtersFromEnv(readOnly?: string | undefined, tags?: string | undefined): ToolFilters;
|
|
24
27
|
/**
|
|
25
28
|
* The port to listen on, or a refusal naming what was wrong with it.
|
|
26
29
|
*
|
|
@@ -41,6 +44,7 @@ export declare function port(flag: string | boolean | undefined): number;
|
|
|
41
44
|
* `port()` has always said so for its own flag; this says it for the rest.
|
|
42
45
|
*/
|
|
43
46
|
export declare function str(flag: string | boolean | undefined, name: string): string | undefined;
|
|
47
|
+
export declare function main(argv?: string[]): Promise<void>;
|
|
44
48
|
/**
|
|
45
49
|
* Is this module the program, rather than something a test imported?
|
|
46
50
|
*
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAQA,OAAO,EAAiB,KAAK,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAsChF,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;AAiG9C;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAyE3C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,KAAG,OAAyC,CAAC;AACnF,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,KAAG,OAA4C,CAAC;AAEzF,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,qBAA8B,GAAG,OAAO,CAWhG;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAC5B,QAAQ,qBAA2B,EACnC,IAAI,qBAAsB,GACzB,WAAW,CAEb;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAgC/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASxF;AA6BD,wBAAsB,IAAI,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQhF"}
|
package/dist/cli.js
CHANGED
|
@@ -2,17 +2,22 @@
|
|
|
2
2
|
import { realpathSync } from 'node:fs';
|
|
3
3
|
import { pathToFileURL } from 'node:url';
|
|
4
4
|
import { DEFAULT_BASE_URL } from './api.js';
|
|
5
|
+
import { CredentialsError } from './credentials.js';
|
|
5
6
|
import { runHttp } from './http.js';
|
|
6
7
|
import { SERVER_VERSION } from './server.js';
|
|
7
8
|
import { runStdio } from './stdio.js';
|
|
9
|
+
import { parseToolTags, VALID_TAGS } from './tool-filters.js';
|
|
8
10
|
const USAGE = `mandala-computer-mcp — drive a Mandala Computer desktop over MCP
|
|
9
11
|
|
|
10
12
|
mandala-computer-mcp stdio (what an MCP client spawns)
|
|
11
13
|
mandala-computer-mcp --http [--port 3000] hosted, callers bring their own key
|
|
12
14
|
|
|
13
15
|
Environment
|
|
14
|
-
MANDALA_API_KEY
|
|
15
|
-
|
|
16
|
+
MANDALA_API_KEY API key; otherwise stdio loads ~/.mandala/credentials.json
|
|
17
|
+
saved by mandala login (TypeScript CLI). Over HTTP each
|
|
18
|
+
caller sends their own bearer token.
|
|
19
|
+
MANDALA_PROFILE saved profile for local stdio; --profile overrides it.
|
|
20
|
+
Ignored by HTTP. Explicit/environment keys take priority.
|
|
16
21
|
MANDALA_BASE_URL default ${DEFAULT_BASE_URL}
|
|
17
22
|
MANDALA_COMPUTER_ID bind a computer at startup, so use_computer is not needed.
|
|
18
23
|
stdio only — over HTTP it is ignored rather than bound
|
|
@@ -22,8 +27,14 @@ Environment
|
|
|
22
27
|
this is ignored rather than spent on their runs
|
|
23
28
|
MANDALA_NO_LIFECYCLE 1, true, yes or on to withhold create_computer,
|
|
24
29
|
clone_computer, clone_snapshot, delete_computer and
|
|
25
|
-
delete_snapshot.
|
|
26
|
-
|
|
30
|
+
delete_snapshot. 0, false, no, off or empty means off.
|
|
31
|
+
Unknown values are refused at startup.
|
|
32
|
+
MANDALA_READ_ONLY same boolean vocabulary; keep only tools annotated with
|
|
33
|
+
readOnlyHint: true. Empty or unset means off.
|
|
34
|
+
MANDALA_TAGS comma-separated lowercase tags; empty means all tools.
|
|
35
|
+
Valid tags: ${VALID_TAGS.join(', ')}.
|
|
36
|
+
Tags combine by union, then intersect with read-only,
|
|
37
|
+
lifecycle and per-session model-key restrictions.
|
|
27
38
|
PORT, HOST for --http (default 3000, 127.0.0.1)
|
|
28
39
|
MANDALA_ALLOWED_HOSTS, MANDALA_ALLOWED_ORIGINS
|
|
29
40
|
comma-separated; which Host and Origin values to answer
|
|
@@ -60,6 +71,7 @@ const KNOWN = new Set([
|
|
|
60
71
|
'base-url',
|
|
61
72
|
'computer',
|
|
62
73
|
'key',
|
|
74
|
+
'profile',
|
|
63
75
|
'allowed-hosts',
|
|
64
76
|
'allowed-origins',
|
|
65
77
|
]);
|
|
@@ -225,6 +237,10 @@ export function lifecycleEnabled(flags, configured = env('MANDALA_NO_LIFECYCLE')
|
|
|
225
237
|
const disabled = Object.hasOwn(flags, 'no-lifecycle') ? Boolean(flags['no-lifecycle']) : fromEnv;
|
|
226
238
|
return !disabled;
|
|
227
239
|
}
|
|
240
|
+
/** Parse once, before either transport starts; a typo must never open a listener. */
|
|
241
|
+
export function filtersFromEnv(readOnly = env('MANDALA_READ_ONLY'), tags = env('MANDALA_TAGS')) {
|
|
242
|
+
return { readOnly: envFlag('MANDALA_READ_ONLY', readOnly), tags: parseToolTags(tags) };
|
|
243
|
+
}
|
|
228
244
|
/**
|
|
229
245
|
* The port to listen on, or a refusal naming what was wrong with it.
|
|
230
246
|
*
|
|
@@ -313,8 +329,8 @@ const list = (v) => v
|
|
|
313
329
|
.map((s) => s.trim())
|
|
314
330
|
.filter(Boolean)
|
|
315
331
|
: undefined;
|
|
316
|
-
async function main() {
|
|
317
|
-
const flags = parse(
|
|
332
|
+
export async function main(argv = process.argv.slice(2)) {
|
|
333
|
+
const flags = parse(argv);
|
|
318
334
|
if (wantsHelp(flags)) {
|
|
319
335
|
console.log(USAGE);
|
|
320
336
|
return;
|
|
@@ -326,11 +342,10 @@ async function main() {
|
|
|
326
342
|
console.log(SERVER_VERSION);
|
|
327
343
|
return;
|
|
328
344
|
}
|
|
329
|
-
//
|
|
330
|
-
//
|
|
331
|
-
// environment; a flag that is present says what it says.
|
|
345
|
+
// Shared tool settings do not resolve local authentication. HTTP establishes
|
|
346
|
+
// its own base below; stdio preserves the explicit base for profile binding.
|
|
332
347
|
const base = {
|
|
333
|
-
|
|
348
|
+
...filtersFromEnv(),
|
|
334
349
|
computerId: str(flags.computer, 'computer') ?? env('MANDALA_COMPUTER_ID'),
|
|
335
350
|
modelKey: env('MANDALA_MODEL_KEY'),
|
|
336
351
|
lifecycle: lifecycleEnabled(flags),
|
|
@@ -338,6 +353,7 @@ async function main() {
|
|
|
338
353
|
if (flags.http) {
|
|
339
354
|
await runHttp({
|
|
340
355
|
...base,
|
|
356
|
+
baseUrl: (str(flags['base-url'], 'base-url') ?? env('MANDALA_BASE_URL')) || DEFAULT_BASE_URL,
|
|
341
357
|
port: port(flags.port),
|
|
342
358
|
host: (str(flags.host, 'host') ?? env('HOST')) || '127.0.0.1',
|
|
343
359
|
allowedHosts: list(str(flags['allowed-hosts'], 'allowed-hosts') ?? env('MANDALA_ALLOWED_HOSTS')),
|
|
@@ -346,7 +362,6 @@ async function main() {
|
|
|
346
362
|
return;
|
|
347
363
|
}
|
|
348
364
|
const fromFlag = str(flags.key, 'key');
|
|
349
|
-
const apiKey = fromFlag ?? env('MANDALA_API_KEY') ?? '';
|
|
350
365
|
// An argument vector is not a private place. `--key com_…` is readable by any
|
|
351
366
|
// `ps` on the machine, is what a shell writes into its history, and is what a
|
|
352
367
|
// process-exec audit log records verbatim — none of which is true of the
|
|
@@ -358,15 +373,14 @@ async function main() {
|
|
|
358
373
|
console.error('WARNING: --key puts your API key in this process’s command line, where `ps`, the shell ' +
|
|
359
374
|
'history and any exec audit log can read it. Prefer MANDALA_API_KEY.');
|
|
360
375
|
}
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
//
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
}
|
|
369
|
-
await runStdio({ ...base, apiKey });
|
|
376
|
+
await runStdio({
|
|
377
|
+
...base,
|
|
378
|
+
apiKey: fromFlag,
|
|
379
|
+
// Keep explicit presence, including an empty flag, for file base binding.
|
|
380
|
+
baseUrl: str(flags['base-url'], 'base-url'),
|
|
381
|
+
// Preserve malformed unused selectors so a winning key can ignore them.
|
|
382
|
+
profile: flags.profile,
|
|
383
|
+
});
|
|
370
384
|
}
|
|
371
385
|
/**
|
|
372
386
|
* Is this module the program, rather than something a test imported?
|
|
@@ -391,7 +405,7 @@ export function isEntrypoint(moduleUrl, arg) {
|
|
|
391
405
|
if (isEntrypoint(import.meta.url, process.argv[1])) {
|
|
392
406
|
main().catch((err) => {
|
|
393
407
|
console.error(err instanceof Error ? err.message : String(err));
|
|
394
|
-
process.exit(1);
|
|
408
|
+
process.exit(err instanceof CredentialsError ? 2 : 1);
|
|
395
409
|
});
|
|
396
410
|
}
|
|
397
411
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Fixed credential whitespace, shared with the other local clients. */
|
|
2
|
+
export declare function trimCredentialWhitespace(value: string): string;
|
|
3
|
+
/** Local diagnostics never include file contents, keys, paths or supplied values. */
|
|
4
|
+
export declare class CredentialsError extends Error {
|
|
5
|
+
readonly code: string;
|
|
6
|
+
constructor(code: string, detail: string);
|
|
7
|
+
}
|
|
8
|
+
/** Strict file-bound URL syntax; explicit-key transport behavior is separate. */
|
|
9
|
+
export declare function canonicalizeBaseUrl(value: unknown): string;
|
|
10
|
+
type Entry = {
|
|
11
|
+
api_key: string;
|
|
12
|
+
base_url: string;
|
|
13
|
+
};
|
|
14
|
+
type Document = {
|
|
15
|
+
default_profile: string;
|
|
16
|
+
profiles: Record<string, Entry>;
|
|
17
|
+
};
|
|
18
|
+
export declare function parseCredentials(bytes: Uint8Array): Document;
|
|
19
|
+
export type LocalCredentialOptions = {
|
|
20
|
+
apiKey?: string;
|
|
21
|
+
profile?: string;
|
|
22
|
+
baseUrl?: string;
|
|
23
|
+
};
|
|
24
|
+
export type ResolvedCredentials = {
|
|
25
|
+
apiKey: string;
|
|
26
|
+
baseUrl: string;
|
|
27
|
+
source: 'explicit' | 'environment' | 'file';
|
|
28
|
+
profile?: string;
|
|
29
|
+
};
|
|
30
|
+
/** Resolve once at local startup, before constructing an explicit ServerConfig. */
|
|
31
|
+
export declare function resolveCredentials(options?: LocalCredentialOptions): ResolvedCredentials;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAuCA,wEAAwE;AACxE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED,qFAAqF;AACrF,qBAAa,gBAAiB,SAAQ,KAAK;IAEvC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM;CAKjB;AAsBD,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAoE1D;AAgCD,KAAK,KAAK,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACnD,KAAK,QAAQ,GAAG;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,CAAC;AAE7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CA0D5D;AA6HD,MAAM,MAAM,sBAAsB,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7F,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,sBAA2B,GAAG,mBAAmB,CAsC5F"}
|