@melra/cli 0.3.0-alpha.12 → 0.3.0-alpha.14
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 +3 -1
- package/dist/activity.d.ts.map +1 -1
- package/dist/activity.js +9 -6
- package/dist/activity.js.map +1 -1
- package/dist/approval-screen.d.ts +35 -0
- package/dist/approval-screen.d.ts.map +1 -0
- package/dist/approval-screen.js +130 -0
- package/dist/approval-screen.js.map +1 -0
- package/dist/clients.d.ts.map +1 -1
- package/dist/clients.js +4 -0
- package/dist/clients.js.map +1 -1
- package/dist/conformance.d.ts +7 -0
- package/dist/conformance.d.ts.map +1 -1
- package/dist/conformance.js +133 -31
- package/dist/conformance.js.map +1 -1
- package/dist/environment.d.ts +12 -0
- package/dist/environment.d.ts.map +1 -1
- package/dist/environment.js +17 -3
- package/dist/environment.js.map +1 -1
- package/dist/human.d.ts.map +1 -1
- package/dist/human.js +12 -3
- package/dist/human.js.map +1 -1
- package/dist/index.js +197 -29
- package/dist/index.js.map +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +8 -1
- package/dist/output.js.map +1 -1
- package/package.json +9 -8
package/dist/conformance.js
CHANGED
|
@@ -20,10 +20,14 @@
|
|
|
20
20
|
* Read `notProven` before quoting a result. This is a black-box check of one
|
|
21
21
|
* endpoint: it can show that the endpoint governs the effects it is asked for,
|
|
22
22
|
* and it cannot show that the harness on the other side has no second way to
|
|
23
|
-
* reach the same disk.
|
|
23
|
+
* reach the same disk. One exception: against an enforced endpoint it spawned,
|
|
24
|
+
* the suite approves out of band through the shared data directory, because
|
|
25
|
+
* the agent's side may not approve anything there.
|
|
24
26
|
*/
|
|
27
|
+
import { execFile } from "node:child_process";
|
|
25
28
|
import { randomBytes } from "node:crypto";
|
|
26
29
|
import { isSea } from "node:sea";
|
|
30
|
+
import { promisify } from "node:util";
|
|
27
31
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
28
32
|
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
29
33
|
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
|
|
@@ -61,7 +65,7 @@ const KERNEL_TOOLS = [
|
|
|
61
65
|
*/
|
|
62
66
|
function bypassCaveat(mode) {
|
|
63
67
|
return mode === "enforced"
|
|
64
|
-
? "That the operator's enforced-mode claim is true. The endpoint reports enforced mode and this suite verified the refusals MELRA owns, but whether the harness above it is really sandboxed is a fact about the deployment, not about this endpoint."
|
|
68
|
+
? "That the operator's enforced-mode claim is true. The endpoint reports enforced mode and this suite verified the refusals MELRA owns, but whether the harness above it is really sandboxed is a fact about the deployment, not about this endpoint. That includes the approvals: `melra approve` counts as out of band because it runs as a process with OS access to the data directory, which is only an operator if the agent has no such access."
|
|
65
69
|
: "That the harness has no second, ungoverned path to the same systems. A harness holding both a MELRA terminal and a native one makes the kernel optional, and an optional boundary is not a trust boundary. Nothing observable from this side distinguishes the two.";
|
|
66
70
|
}
|
|
67
71
|
const NOT_PROVEN = [
|
|
@@ -119,7 +123,7 @@ export async function runConformance(options = {}) {
|
|
|
119
123
|
name: "melra-conformance",
|
|
120
124
|
version: PRODUCT_VERSION,
|
|
121
125
|
});
|
|
122
|
-
const target = await connect(client, options);
|
|
126
|
+
const { target, approve } = await connect(client, options);
|
|
123
127
|
const call = caller(client);
|
|
124
128
|
const checks = [];
|
|
125
129
|
const check = async (level, name, run) => {
|
|
@@ -147,7 +151,27 @@ export async function runConformance(options = {}) {
|
|
|
147
151
|
let mode = "developer";
|
|
148
152
|
let approvalId;
|
|
149
153
|
let phrase;
|
|
154
|
+
let actionDigest;
|
|
150
155
|
let writeTaskId;
|
|
156
|
+
let planReply;
|
|
157
|
+
/**
|
|
158
|
+
* What `melra_execute` needs beside the task id to run an approved effect:
|
|
159
|
+
* the echoed phrase in developer mode, and in enforced mode nothing at all,
|
|
160
|
+
* once an operator has said yes out of band.
|
|
161
|
+
*/
|
|
162
|
+
const approveFor = async (reply) => {
|
|
163
|
+
if (mode !== "enforced") {
|
|
164
|
+
return {
|
|
165
|
+
approval: {
|
|
166
|
+
approvalId: field(reply.value, "approval.approvalId"),
|
|
167
|
+
phrase: field(reply.value, "approval.phrase"),
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
must(approve !== undefined, "enforced mode needs an out-of-band approver; run without --url, or pass `approve`");
|
|
172
|
+
await approve(field(reply.value, "id"));
|
|
173
|
+
return {};
|
|
174
|
+
};
|
|
151
175
|
await check(1, "kernel-tools-present", async () => {
|
|
152
176
|
const listed = (await client.listTools()).tools.map((tool) => tool.name);
|
|
153
177
|
const missing = KERNEL_TOOLS.filter((tool) => !listed.includes(tool));
|
|
@@ -216,8 +240,11 @@ export async function runConformance(options = {}) {
|
|
|
216
240
|
// that would.
|
|
217
241
|
const guarantee = field(reply.value, "contract.executionGuarantee");
|
|
218
242
|
must(guarantee === "at-most-once", `a gated mutation published the guarantee ${guarantee}`);
|
|
243
|
+
planReply = reply;
|
|
219
244
|
approvalId = field(reply.value, "approval.approvalId");
|
|
220
|
-
|
|
245
|
+
actionDigest = field(reply.value, "approval.actionDigest");
|
|
246
|
+
if (mode !== "enforced")
|
|
247
|
+
phrase = field(reply.value, "approval.phrase");
|
|
221
248
|
must(field(reply.value, "approval.taskId") === writeTaskId, "the approval challenge is not scoped to this task");
|
|
222
249
|
must(/^[a-f0-9]{64}$/.test(field(reply.value, "approval.actionDigest")), "the approval challenge carries no action digest");
|
|
223
250
|
return "planning a mutation produced a task-scoped approval challenge";
|
|
@@ -228,16 +255,48 @@ export async function runConformance(options = {}) {
|
|
|
228
255
|
must(!reply.ok, "a gated mutation executed with no approval at all");
|
|
229
256
|
return `refused: ${reply.text}`;
|
|
230
257
|
});
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
258
|
+
if (mode !== "enforced") {
|
|
259
|
+
await check(2, "wrong-phrase-is-refused", async () => {
|
|
260
|
+
must(writeTaskId !== undefined, "no planned mutation to execute");
|
|
261
|
+
must(phrase !== undefined && approvalId !== undefined, "no challenge issued");
|
|
262
|
+
const reply = await call("melra_execute", {
|
|
263
|
+
taskId: writeTaskId,
|
|
264
|
+
approval: { approvalId, phrase: `${phrase} and also this` },
|
|
265
|
+
});
|
|
266
|
+
must(!reply.ok, "a gated mutation executed on a phrase that was not the one issued");
|
|
267
|
+
return `refused: ${reply.text}`;
|
|
237
268
|
});
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
// A credential the agent is handed proves only that the agent echoed it,
|
|
272
|
+
// so in enforced mode there must be none to echo.
|
|
273
|
+
await check(2, "approval-credential-withheld", async () => {
|
|
274
|
+
must(writeTaskId !== undefined && planReply !== undefined, "no planned mutation");
|
|
275
|
+
const status = await call("melra_task_status", { taskId: writeTaskId });
|
|
276
|
+
must(status.ok, status.text);
|
|
277
|
+
for (const reply of [planReply, status]) {
|
|
278
|
+
must(!hasKey(reply.value, "phrase"), "a reply carries an approval phrase");
|
|
279
|
+
must(!/APPROVE [a-f0-9]{12}/.test(reply.text), "a reply carries an approval phrase by value");
|
|
280
|
+
}
|
|
281
|
+
return "no phrase in the plan or the task record";
|
|
282
|
+
});
|
|
283
|
+
// The phrase MELRA would have issued is computable from the challenge, so
|
|
284
|
+
// an endpoint that still accepted it would be accepting the agent's word.
|
|
285
|
+
await check(2, "in-band-approval-refused", async () => {
|
|
286
|
+
must(writeTaskId !== undefined && approvalId !== undefined && actionDigest !== undefined, "no challenge issued");
|
|
287
|
+
const reply = await call("melra_execute", {
|
|
288
|
+
taskId: writeTaskId,
|
|
289
|
+
approval: { approvalId, phrase: `APPROVE ${actionDigest.slice(0, 12)}` },
|
|
290
|
+
});
|
|
291
|
+
// An endpoint that ran it wrote the probe, and the report has to say so.
|
|
292
|
+
if (reply.ok)
|
|
293
|
+
probeWritten = true;
|
|
294
|
+
must(!reply.ok, "a gated mutation executed on a phrase the agent derived itself");
|
|
295
|
+
const status = await call("melra_task_status", { taskId: writeTaskId });
|
|
296
|
+
must(field(status.value, "status") === "awaiting_approval", "the refused task is no longer awaiting approval");
|
|
297
|
+
return `refused: ${reply.text}`;
|
|
298
|
+
});
|
|
299
|
+
}
|
|
241
300
|
await check(2, "refused-effects-did-not-happen", async () => {
|
|
242
301
|
const reply = await call("melra_plan", {
|
|
243
302
|
goal: "Conformance: confirm the refused write left nothing behind",
|
|
@@ -272,10 +331,10 @@ export async function runConformance(options = {}) {
|
|
|
272
331
|
});
|
|
273
332
|
await check(3, "approved-mutation-verifies", async () => {
|
|
274
333
|
must(writeTaskId !== undefined, "no planned mutation to execute");
|
|
275
|
-
must(
|
|
334
|
+
must(planReply !== undefined, "no challenge issued");
|
|
276
335
|
const reply = await call("melra_execute", {
|
|
277
336
|
taskId: writeTaskId,
|
|
278
|
-
|
|
337
|
+
...(await approveFor(planReply)),
|
|
279
338
|
});
|
|
280
339
|
must(reply.ok, reply.text);
|
|
281
340
|
probeWritten = true;
|
|
@@ -322,6 +381,22 @@ export async function runConformance(options = {}) {
|
|
|
322
381
|
must(field(reply.value, "certificate.result") === "VERIFIED_SUCCESS", "no verified certificate survived the call");
|
|
323
382
|
return `receipt ${receipts[0]?.receiptId} for ${receipts[0]?.capability}, still readable after other tasks ran`;
|
|
324
383
|
});
|
|
384
|
+
// Enforced mode only: in developer mode every approval is in band by
|
|
385
|
+
// definition, and an endpoint older than approval provenance has no field to
|
|
386
|
+
// say so, so the check would only mark it down for its age.
|
|
387
|
+
if (mode === "enforced") {
|
|
388
|
+
await check(3, "approval-provenance-recorded", async () => {
|
|
389
|
+
must(writeTaskId !== undefined, "no executed mutation to read back");
|
|
390
|
+
const reply = await call("melra_receipt", { taskId: writeTaskId });
|
|
391
|
+
must(reply.ok, reply.text);
|
|
392
|
+
const receipts = field(reply.value, "receipts");
|
|
393
|
+
const channel = receipts[0]?.policyDecision?.approval?.channel;
|
|
394
|
+
must(channel === "out_of_band", `the receipt says the approval came ${channel ?? "from nowhere"}, not out_of_band`);
|
|
395
|
+
const certified = field(reply.value, "certificate.approvalChannel");
|
|
396
|
+
must(certified === "out_of_band", `the certificate says ${certified}, not out_of_band`);
|
|
397
|
+
return "receipt and certificate both say out_of_band";
|
|
398
|
+
});
|
|
399
|
+
}
|
|
325
400
|
// Last, because it is also the cleanup: a destructive effect gated by its own
|
|
326
401
|
// approval, verified by the file being gone.
|
|
327
402
|
await check(3, "destructive-effects-are-gated-and-verified", async () => {
|
|
@@ -337,10 +412,7 @@ export async function runConformance(options = {}) {
|
|
|
337
412
|
must(field(reply.value, "status") === "awaiting_approval", "a destructive effect was not gated");
|
|
338
413
|
const executed = await call("melra_execute", {
|
|
339
414
|
taskId: field(reply.value, "id"),
|
|
340
|
-
|
|
341
|
-
approvalId: field(reply.value, "approval.approvalId"),
|
|
342
|
-
phrase: field(reply.value, "approval.phrase"),
|
|
343
|
-
},
|
|
415
|
+
...(await approveFor(reply)),
|
|
344
416
|
});
|
|
345
417
|
must(executed.ok, executed.text);
|
|
346
418
|
must(field(executed.value, "task.status") === "verified_success", "the delete did not verify");
|
|
@@ -376,11 +448,26 @@ export async function runConformance(options = {}) {
|
|
|
376
448
|
failed: level < claim,
|
|
377
449
|
};
|
|
378
450
|
}
|
|
451
|
+
/** Whether a key appears anywhere in a reply, however deep. */
|
|
452
|
+
function hasKey(value, key) {
|
|
453
|
+
if (Array.isArray(value))
|
|
454
|
+
return value.some((item) => hasKey(item, key));
|
|
455
|
+
if (value === null || typeof value !== "object")
|
|
456
|
+
return false;
|
|
457
|
+
return Object.entries(value).some(([name, item]) => name === key || hasKey(item, key));
|
|
458
|
+
}
|
|
379
459
|
async function connect(client, options) {
|
|
380
460
|
if (options.url !== undefined) {
|
|
381
461
|
// Forgiving about the one thing people get wrong: `serve --http` prints both
|
|
382
|
-
// the console URL and the MCP URL, and only one of them is an endpoint.
|
|
383
|
-
|
|
462
|
+
// the console URL and the MCP URL, and only one of them is an endpoint. The
|
|
463
|
+
// console URL carries `?token=`, so the path is edited as a path and the
|
|
464
|
+
// token, when --token is not given, is taken from the query.
|
|
465
|
+
const url = new URL(options.url);
|
|
466
|
+
if (!url.pathname.endsWith("/mcp"))
|
|
467
|
+
url.pathname = `${url.pathname.replace(/\/$/, "")}/mcp`;
|
|
468
|
+
const token = options.token ?? url.searchParams.get("token") ?? undefined;
|
|
469
|
+
url.search = "";
|
|
470
|
+
options = { ...options, ...(token === undefined ? {} : { token }) };
|
|
384
471
|
await client.connect(
|
|
385
472
|
// ponytail: the SDK declares `sessionId?: string` on this transport, which
|
|
386
473
|
// `exactOptionalPropertyTypes` reads as incompatible with the `Transport`
|
|
@@ -394,26 +481,41 @@ async function connect(client, options) {
|
|
|
394
481
|
},
|
|
395
482
|
}),
|
|
396
483
|
}));
|
|
397
|
-
return {
|
|
484
|
+
return {
|
|
485
|
+
target: { transport: "http", url: url.href, authenticated: options.token !== undefined },
|
|
486
|
+
...(options.approve === undefined ? {} : { approve: options.approve }),
|
|
487
|
+
};
|
|
398
488
|
}
|
|
399
489
|
const command = options.command ?? process.execPath;
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
["serve"]);
|
|
490
|
+
// Reproduce how this process was started, loaders included, so the same
|
|
491
|
+
// command works from `dist/bin.js` and from `tsx src/index.ts`. A single
|
|
492
|
+
// executable is its own entry point and takes the subcommand directly.
|
|
493
|
+
const self = isSea() ? [] : [...process.execArgv, process.argv[1] ?? ""];
|
|
494
|
+
const args = options.args ?? (options.command === undefined ? [...self, "serve"] : ["serve"]);
|
|
495
|
+
const env = options.env ?? inheritedEnvironment();
|
|
407
496
|
await client.connect(new StdioClientTransport({
|
|
408
497
|
command,
|
|
409
498
|
args,
|
|
410
499
|
// The SDK forwards a small allowlist by default, which would drop every
|
|
411
500
|
// MELRA_* variable and quietly check a server configured differently from
|
|
412
501
|
// the one the operator runs. The point is to check *their* endpoint.
|
|
413
|
-
env
|
|
502
|
+
env,
|
|
414
503
|
stderr: "pipe",
|
|
415
504
|
}));
|
|
416
|
-
|
|
505
|
+
// Only a server this suite started is known to share this CLI's data
|
|
506
|
+
// directory, so only then can its own `approve` answer for it. Always in
|
|
507
|
+
// enforced mode, so it can never spend the task's one decision in band, and
|
|
508
|
+
// under the suite's name, so the receipt says who said yes.
|
|
509
|
+
const ownServer = options.command === undefined && options.args === undefined;
|
|
510
|
+
const approve = options.approve ??
|
|
511
|
+
(ownServer
|
|
512
|
+
? async (taskId) => {
|
|
513
|
+
await promisify(execFile)(process.execPath, [...self, "approve", taskId, "--yes", "--mode", "enforced"], {
|
|
514
|
+
env: { ...env, MELRA_APPROVER: "melra-conformance" },
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
: undefined);
|
|
518
|
+
return { target: { transport: "stdio", command, args }, ...(approve === undefined ? {} : { approve }) };
|
|
417
519
|
}
|
|
418
520
|
function inheritedEnvironment() {
|
|
419
521
|
return Object.fromEntries(Object.entries(process.env).filter((entry) => entry[1] !== undefined));
|
package/dist/conformance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance.js","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conformance.js","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"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"}
|
package/dist/environment.d.ts
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import type { DeploymentMode } from "@melra/protocol";
|
|
2
2
|
export interface CliEnvironment {
|
|
3
3
|
workspaceRoot: string;
|
|
4
|
+
/** MELRA_WORKSPACE was set, so no policy file's `workspaceRoot` replaces it. */
|
|
5
|
+
workspaceSet?: boolean;
|
|
4
6
|
dataDirectory: string;
|
|
7
|
+
/**
|
|
8
|
+
* `MELRA_APPROVER`, as set: the name `melra approve` records as the
|
|
9
|
+
* approver, as `cli:<name>`. Receipts carry it and an agent can read
|
|
10
|
+
* receipts, so it is a label the operator chooses, never the OS account
|
|
11
|
+
* name. Checked by `approverLabel` only where it is used, so a bad value
|
|
12
|
+
* cannot stop `serve` or `help`.
|
|
13
|
+
*/
|
|
14
|
+
approver: string;
|
|
5
15
|
unhinged: boolean;
|
|
6
16
|
mode: DeploymentMode;
|
|
7
17
|
policyPath?: string;
|
|
@@ -22,5 +32,7 @@ export declare function serverLaunch(moduleDirectory: string, version: string, s
|
|
|
22
32
|
command: string;
|
|
23
33
|
args: string[];
|
|
24
34
|
};
|
|
35
|
+
/** The approver as receipts record it: `cli:` and a label nothing can disguise. */
|
|
36
|
+
export declare function approverLabel(env: CliEnvironment): string;
|
|
25
37
|
export declare function parseCliEnvironment(source: NodeJS.ProcessEnv, defaults?: CliEnvironmentDefaults): CliEnvironment;
|
|
26
38
|
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKtD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAWD,wBAAgB,YAAY,CAC1B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,gBAAgB,UAAU,GACzB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAKrC;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAKzD;AA0CD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,QAAQ,GAAE,sBAGT,GACA,cAAc,CAgEhB"}
|
package/dist/environment.js
CHANGED
|
@@ -5,6 +5,7 @@ import { isAbsolute, join, resolve } from "node:path";
|
|
|
5
5
|
import { isSea } from "node:sea";
|
|
6
6
|
import { deploymentMode } from "@melra/protocol";
|
|
7
7
|
import { unhingedFromEnvironment } from "@melra/server";
|
|
8
|
+
import { printable } from "./approval-screen.js";
|
|
8
9
|
// A generated client config has to name a command the client can actually
|
|
9
10
|
// spawn. `npx` runs the CLI out of its own cache and leaves nothing on PATH,
|
|
10
11
|
// so `melra` would fail to start for exactly the users who took the shortest
|
|
@@ -21,6 +22,13 @@ export function serverLaunch(moduleDirectory, version, singleExecutable = isSea(
|
|
|
21
22
|
? { command: "npx", args: ["-y", `@melra/cli@${version}`, "serve"] }
|
|
22
23
|
: { command: "melra", args: ["serve"] };
|
|
23
24
|
}
|
|
25
|
+
/** The approver as receipts record it: `cli:` and a label nothing can disguise. */
|
|
26
|
+
export function approverLabel(env) {
|
|
27
|
+
if (!/^[\p{L}\p{N}_.@-]{1,64}$/u.test(env.approver) || printable(env.approver) !== env.approver) {
|
|
28
|
+
throw new Error("MELRA_APPROVER must be 1 to 64 letters, digits, '.', '_', '@' or '-'");
|
|
29
|
+
}
|
|
30
|
+
return `cli:${env.approver}`;
|
|
31
|
+
}
|
|
24
32
|
function cdpEndpoint(value) {
|
|
25
33
|
if (value === undefined)
|
|
26
34
|
return undefined;
|
|
@@ -92,11 +100,17 @@ export function parseCliEnvironment(source, defaults = {
|
|
|
92
100
|
throw new Error("browser_cdp_context_requires_endpoint");
|
|
93
101
|
}
|
|
94
102
|
return {
|
|
95
|
-
|
|
96
|
-
|
|
103
|
+
// Empty counts as unset for these too: `MELRA_POLICY=${P}` with P unset
|
|
104
|
+
// otherwise names the working directory as the policy file.
|
|
105
|
+
workspaceRoot: resolve(source.MELRA_WORKSPACE?.trim() || defaults.cwd),
|
|
106
|
+
workspaceSet: (source.MELRA_WORKSPACE ?? "").trim() !== "",
|
|
107
|
+
// Empty is unset here too, or the database and payload key would land in
|
|
108
|
+
// the working directory, inside the workspace a confined agent can write.
|
|
109
|
+
dataDirectory: resolve(source.MELRA_HOME?.trim() || join(defaults.home, ".melra")),
|
|
110
|
+
approver: source.MELRA_APPROVER?.trim() || "operator",
|
|
97
111
|
unhinged: unhingedFromEnvironment(source),
|
|
98
112
|
mode: deploymentMode(source.MELRA_MODE),
|
|
99
|
-
...(source.MELRA_POLICY === undefined
|
|
113
|
+
...(source.MELRA_POLICY === undefined || source.MELRA_POLICY.trim() === ""
|
|
100
114
|
? {}
|
|
101
115
|
: { policyPath: resolve(source.MELRA_POLICY) }),
|
|
102
116
|
// Empty counts as unset, so `MELRA_SOCKET=` in a unit file turns it off
|
package/dist/environment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,sCAAsC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"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"}
|
package/dist/human.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../src/human.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../src/human.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd;AAqBD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAuDjE;AAoCD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQzD;AAUD,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAuBrD;AAID,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ5E;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,YAAY,EAAE,GACtB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,CA4DzD;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAyBnE"}
|
package/dist/human.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// question `setup` asks when nobody named a client. Kept out of `index.ts`
|
|
5
5
|
// because importing that runs the CLI, and every piece here needs a test.
|
|
6
6
|
import { createInterface } from "node:readline/promises";
|
|
7
|
+
import { printable } from "./approval-screen.js";
|
|
7
8
|
import { CLIENTS } from "./clients.js";
|
|
8
9
|
import { mark, paint, table } from "./output.js";
|
|
9
10
|
const plural = (count, word) => `${count} ${word}${count === 1 ? "" : "s"}`;
|
|
@@ -13,8 +14,10 @@ function clientLine(status) {
|
|
|
13
14
|
: status.state === "configured"
|
|
14
15
|
? mark("pass")
|
|
15
16
|
: paint.dim("·");
|
|
17
|
+
// A workspace config file the agent can write names the command these
|
|
18
|
+
// describe, so they are spelled out before they reach the terminal.
|
|
16
19
|
const extra = [...(status.note === undefined ? [] : [status.note]), ...status.problems];
|
|
17
|
-
return [symbol, status.client, status.state, paint.dim(extra.join("; "))];
|
|
20
|
+
return [symbol, status.client, status.state, paint.dim(printable(extra.join("; ")))];
|
|
18
21
|
}
|
|
19
22
|
// The one thing to do next, or undefined when there is nothing to fix or the
|
|
20
23
|
// fix is outside MELRA's reach (a platform without a computer adapter). Fails
|
|
@@ -32,12 +35,18 @@ export function nextStep(report) {
|
|
|
32
35
|
return "point MELRA_WORKSPACE at a directory you can read and write";
|
|
33
36
|
case "data-directory":
|
|
34
37
|
return "point MELRA_HOME at a directory you can write";
|
|
38
|
+
case "data-location":
|
|
39
|
+
return check.detail.startsWith("could not resolve the workspace")
|
|
40
|
+
? "point MELRA_WORKSPACE at a directory you can read and write"
|
|
41
|
+
: "move MELRA_HOME outside MELRA_WORKSPACE";
|
|
35
42
|
case "policy":
|
|
36
43
|
return "fix the policy file's JSON, or unset MELRA_POLICY to use the defaults";
|
|
37
44
|
case "socket":
|
|
38
45
|
return "fix or unset MELRA_SOCKET (see the socket line above)";
|
|
39
46
|
case "isolation":
|
|
40
47
|
return "run MELRA in the hardened container (https://github.com/XAGI-Lab/melra/blob/main/docs/INSTALLATION.md#docker), or another OS sandbox";
|
|
48
|
+
case "mode":
|
|
49
|
+
return 'drop --unsafe-local, MELRA_UNHINGED and "unhinged" in the policy file, or run in developer mode';
|
|
41
50
|
case "guardrails":
|
|
42
51
|
return "unset MELRA_UNHINGED and drop --unsafe-local to turn the guardrails back on";
|
|
43
52
|
case "browser":
|
|
@@ -84,7 +93,7 @@ function summary(report) {
|
|
|
84
93
|
? `${mark("warn")} ${paint.bold(`Ready, with ${plural(warns, "warning")}`)}`
|
|
85
94
|
: `${mark("pass")} ${paint.bold("Ready")}`;
|
|
86
95
|
const next = nextStep(report);
|
|
87
|
-
return [verdict, ...(next === undefined ? [] : [`Next: ${paint.bold(next)}`])];
|
|
96
|
+
return [verdict, ...(next === undefined ? [] : [`Next: ${paint.bold(printable(next))}`])];
|
|
88
97
|
}
|
|
89
98
|
function checkRows(checks, report) {
|
|
90
99
|
const lines = [];
|
|
@@ -133,7 +142,7 @@ export function renderInit(result) {
|
|
|
133
142
|
rows.push(["", "", paint.dim(`previous file saved as ${result.backup}`)]);
|
|
134
143
|
}
|
|
135
144
|
const next = CLIENTS[result.client]?.next ?? `Restart ${label}, then ask it to use the melra tools.`;
|
|
136
|
-
return [table(rows, { indent: 2 }), "", `Next: ${paint.bold(next)}`].join("\n");
|
|
145
|
+
return [table(rows, { indent: 2 }), "", `Next: ${paint.bold(printable(next))}`].join("\n");
|
|
137
146
|
}
|
|
138
147
|
const where = result.configPath === undefined
|
|
139
148
|
? "Add this to your MCP client's configuration:"
|
package/dist/human.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human.js","sourceRoot":"","sources":["../src/human.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"human.js","sourceRoot":"","sources":["../src/human.ts"],"names":[],"mappings":"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"}
|