@melra/cli 0.3.0-alpha.4 → 0.3.0-alpha.6
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/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +31 -0
- package/dist/bin.js.map +1 -0
- package/dist/environment.d.ts +2 -0
- package/dist/environment.d.ts.map +1 -1
- package/dist/environment.js +14 -0
- package/dist/environment.js.map +1 -1
- package/dist/index.js +245 -15
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
package/dist/bin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
|
package/dist/bin.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Copyright 2026 XAGI Labs Private Limited
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
// The `melra` executable. Its only job is to silence one Node warning before
|
|
5
|
+
// the rest of the CLI loads, then hand over to `index.ts`.
|
|
6
|
+
//
|
|
7
|
+
// `node:sqlite` emits an ExperimentalWarning the first time it is linked, which
|
|
8
|
+
// meant two lines of Node noise on every invocation — `melra help` and
|
|
9
|
+
// `melra version` included — about a dependency the user did not choose and
|
|
10
|
+
// cannot change. Under an MCP client the same lines land in the server log,
|
|
11
|
+
// where they read like a fault.
|
|
12
|
+
//
|
|
13
|
+
// It has to happen here rather than as the first import of `index.ts`: static
|
|
14
|
+
// imports are linked before any module body runs, so a patch applied in a
|
|
15
|
+
// sibling module is already too late. Loading the CLI with a dynamic import is
|
|
16
|
+
// what puts the whole graph, `node:sqlite` included, after this file's body.
|
|
17
|
+
//
|
|
18
|
+
// Only that one warning is dropped. Deprecations and everything else still
|
|
19
|
+
// print, because those are warnings a user can act on.
|
|
20
|
+
const SQLITE_EXPERIMENTAL = /SQLite is an experimental feature/;
|
|
21
|
+
const emitWarning = process.emitWarning.bind(process);
|
|
22
|
+
// Node's overloads disagree on the tail arguments, so accept and forward them.
|
|
23
|
+
process.emitWarning = ((warning, ...rest) => {
|
|
24
|
+
const text = typeof warning === "string" ? warning : warning.message;
|
|
25
|
+
if (SQLITE_EXPERIMENTAL.test(text))
|
|
26
|
+
return;
|
|
27
|
+
emitWarning(warning, ...rest);
|
|
28
|
+
});
|
|
29
|
+
await import("./index.js");
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,2CAA2C;AAC3C,sCAAsC;AAEtC,6EAA6E;AAC7E,2DAA2D;AAC3D,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,4EAA4E;AAC5E,4EAA4E;AAC5E,gCAAgC;AAChC,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,+EAA+E;AAC/E,6EAA6E;AAC7E,EAAE;AACF,2EAA2E;AAC3E,uDAAuD;AAEvD,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;AAChE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEtD,+EAA+E;AAC/E,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,OAAuB,EAAE,GAAG,IAAe,EAAQ,EAAE;IAC3E,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACrE,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO;IAC1C,WAA4C,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAClE,CAAC,CAA+B,CAAC;AAEjC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC"}
|
package/dist/environment.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export interface CliEnvironment {
|
|
2
2
|
workspaceRoot: string;
|
|
3
3
|
dataDirectory: string;
|
|
4
|
+
unhinged: boolean;
|
|
4
5
|
policyPath?: string;
|
|
5
6
|
browserExecutablePath?: string;
|
|
6
7
|
browserCdpEndpoint?: string;
|
|
7
8
|
browserCdpContextIndex?: number;
|
|
8
9
|
browserHarPath?: string;
|
|
10
|
+
browserProfileDir?: string;
|
|
9
11
|
}
|
|
10
12
|
export interface CliEnvironmentDefaults {
|
|
11
13
|
cwd: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,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,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,wBAAgB,YAAY,CAC1B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAIrC;AA0CD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,QAAQ,GAAE,sBAGT,GACA,cAAc,CA4ChB"}
|
package/dist/environment.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { isAbsolute, join, resolve } from "node:path";
|
|
5
|
+
import { unhingedFromEnvironment } from "@melra/server";
|
|
5
6
|
// A generated client config has to name a command the client can actually
|
|
6
7
|
// spawn. `npx` runs the CLI out of its own cache and leaves nothing on PATH,
|
|
7
8
|
// so `melra` would fail to start for exactly the users who took the shortest
|
|
@@ -58,6 +59,15 @@ export function parseCliEnvironment(source, defaults = {
|
|
|
58
59
|
const endpoint = cdpEndpoint(source.MELRA_BROWSER_CDP_ENDPOINT);
|
|
59
60
|
const contextIndex = cdpContextIndex(source.MELRA_BROWSER_CDP_CONTEXT_INDEX);
|
|
60
61
|
const recordHarPath = harPath(source.MELRA_BROWSER_HAR_PATH);
|
|
62
|
+
const profileDir = source.MELRA_BROWSER_PROFILE;
|
|
63
|
+
if (profileDir !== undefined && !isAbsolute(profileDir)) {
|
|
64
|
+
throw new Error("browser_profile_must_be_absolute");
|
|
65
|
+
}
|
|
66
|
+
if (endpoint !== undefined && profileDir !== undefined) {
|
|
67
|
+
// An attached browser already has whatever profile it was started with;
|
|
68
|
+
// pointing at a second one would silently do nothing.
|
|
69
|
+
throw new Error("browser_cdp_cannot_use_profile");
|
|
70
|
+
}
|
|
61
71
|
if (endpoint !== undefined && recordHarPath !== undefined) {
|
|
62
72
|
throw new Error("browser_cdp_cannot_start_har_recording");
|
|
63
73
|
}
|
|
@@ -67,6 +77,7 @@ export function parseCliEnvironment(source, defaults = {
|
|
|
67
77
|
return {
|
|
68
78
|
workspaceRoot: resolve(source.MELRA_WORKSPACE ?? defaults.cwd),
|
|
69
79
|
dataDirectory: resolve(source.MELRA_HOME ?? join(defaults.home, ".melra")),
|
|
80
|
+
unhinged: unhingedFromEnvironment(source),
|
|
70
81
|
...(source.MELRA_POLICY === undefined
|
|
71
82
|
? {}
|
|
72
83
|
: { policyPath: resolve(source.MELRA_POLICY) }),
|
|
@@ -78,6 +89,9 @@ export function parseCliEnvironment(source, defaults = {
|
|
|
78
89
|
? {}
|
|
79
90
|
: { browserCdpContextIndex: contextIndex }),
|
|
80
91
|
...(recordHarPath === undefined ? {} : { browserHarPath: recordHarPath }),
|
|
92
|
+
...(profileDir === undefined
|
|
93
|
+
? {}
|
|
94
|
+
: { browserProfileDir: resolve(profileDir) }),
|
|
81
95
|
};
|
|
82
96
|
}
|
|
83
97
|
//# sourceMappingURL=environment.js.map
|
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;
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,11 +6,11 @@ import { constants } from "node:fs";
|
|
|
6
6
|
import { basename, join, resolve } from "node:path";
|
|
7
7
|
import { createInterface } from "node:readline/promises";
|
|
8
8
|
import { DatabaseSync } from "node:sqlite";
|
|
9
|
-
import { ApprovalResponseSchema, TaskRequestSchema, WorkflowDefinitionSchema, PRODUCT_VERSION, } from "@melra/protocol";
|
|
10
|
-
import { createMelraRuntime, serveStdio, } from "@melra/server";
|
|
9
|
+
import { ApprovalResponseSchema, TaskRequestSchema, WorkflowDefinitionSchema, WorkflowInputSchema, PRODUCT_VERSION, } from "@melra/protocol";
|
|
10
|
+
import { createMelraRuntime, serveHttp, serveStdio, unconfinedRoot, } from "@melra/server";
|
|
11
11
|
import { detectBrowserExecutable } from "@melra/browser-runtime";
|
|
12
12
|
import { createSystemComputerAdapter } from "@melra/computer-runtime";
|
|
13
|
-
import { createDefaultPolicy, evaluatePolicy } from "@melra/policy-core";
|
|
13
|
+
import { classifyOperation, createDefaultPolicy, evaluatePolicy, loadPolicy, } from "@melra/policy-core";
|
|
14
14
|
import { parseCliEnvironment, serverLaunch, } from "./environment.js";
|
|
15
15
|
async function existingPolicyPath(env) {
|
|
16
16
|
if (env.policyPath !== undefined)
|
|
@@ -24,11 +24,44 @@ async function existingPolicyPath(env) {
|
|
|
24
24
|
return undefined;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* The banner unhinged mode prints before it does anything.
|
|
29
|
+
*
|
|
30
|
+
* It goes to stderr, which is where it has to go: in `serve` the stdout stream
|
|
31
|
+
* is the MCP transport and any prose written there corrupts the protocol. stderr
|
|
32
|
+
* is what MCP clients surface in their server logs, so the operator still sees
|
|
33
|
+
* it. Ordinary runs get it too — the mode is per-process, not per-command, and a
|
|
34
|
+
* developer who exported the variable in one shell and forgot deserves the
|
|
35
|
+
* reminder on every invocation rather than only at startup.
|
|
36
|
+
*/
|
|
37
|
+
function unhingedBanner(root) {
|
|
38
|
+
return [
|
|
39
|
+
"",
|
|
40
|
+
" ############################################################",
|
|
41
|
+
" # MELRA IS RUNNING UNHINGED. NO GUARDRAILS ARE APPLIED. #",
|
|
42
|
+
" ############################################################",
|
|
43
|
+
"",
|
|
44
|
+
" Disabled for every task this process runs:",
|
|
45
|
+
" - policy decisions: nothing is denied, no approval is ever asked for",
|
|
46
|
+
" - the command allowlist, including shells and sudo",
|
|
47
|
+
" - the evidence requirement on mutations and destructive operations",
|
|
48
|
+
" - the browser's block on private, loopback, and cloud-metadata hosts",
|
|
49
|
+
` - workspace confinement: files and commands can reach all of ${root}`,
|
|
50
|
+
"",
|
|
51
|
+
" A caller can now delete, overwrite, exfiltrate, or execute anything this",
|
|
52
|
+
" OS user can. Receipts are still written, so you will be able to read what",
|
|
53
|
+
" happened — after it has happened.",
|
|
54
|
+
"",
|
|
55
|
+
" Turn it off by unsetting MELRA_UNHINGED and dropping --unhinged.",
|
|
56
|
+
"",
|
|
57
|
+
].join("\n");
|
|
58
|
+
}
|
|
27
59
|
async function runtime(env) {
|
|
28
60
|
const policyPath = await existingPolicyPath(env);
|
|
29
61
|
return await createMelraRuntime({
|
|
30
62
|
workspaceRoot: env.workspaceRoot,
|
|
31
63
|
dataDirectory: env.dataDirectory,
|
|
64
|
+
unhinged: env.unhinged,
|
|
32
65
|
...(policyPath === undefined ? {} : { policyPath }),
|
|
33
66
|
...(env.browserExecutablePath === undefined
|
|
34
67
|
? {}
|
|
@@ -42,6 +75,9 @@ async function runtime(env) {
|
|
|
42
75
|
...(env.browserHarPath === undefined
|
|
43
76
|
? {}
|
|
44
77
|
: { browserHarPath: env.browserHarPath }),
|
|
78
|
+
...(env.browserProfileDir === undefined
|
|
79
|
+
? {}
|
|
80
|
+
: { browserProfileDir: env.browserProfileDir }),
|
|
45
81
|
});
|
|
46
82
|
}
|
|
47
83
|
function output(value) {
|
|
@@ -51,16 +87,56 @@ function argument(name, args) {
|
|
|
51
87
|
const index = args.indexOf(name);
|
|
52
88
|
return index < 0 ? undefined : args[index + 1];
|
|
53
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* A flag this command does not know is a typo, and a typo must not be silently
|
|
92
|
+
* ignored: `melra run --requst t.json` fell through to reading stdin, which in
|
|
93
|
+
* a terminal prints nothing and in a pipeline that never closes hangs forever.
|
|
94
|
+
*/
|
|
95
|
+
function rejectUnknownFlags(args, known) {
|
|
96
|
+
const allowed = new Set([...known, "--unhinged"]);
|
|
97
|
+
// A flag's own value can look like a flag (`--input node=--x`), so skip the
|
|
98
|
+
// slot after any known flag that takes one.
|
|
99
|
+
const valued = new Set(known.filter((flag) => flag !== "--http"));
|
|
100
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
101
|
+
const argument_ = args[index];
|
|
102
|
+
if (argument_ === undefined || !argument_.startsWith("--"))
|
|
103
|
+
continue;
|
|
104
|
+
if (!allowed.has(argument_)) {
|
|
105
|
+
throw new Error(`unknown flag ${argument_}. Known here: ${[...allowed].sort().join(", ")}`);
|
|
106
|
+
}
|
|
107
|
+
if (valued.has(argument_))
|
|
108
|
+
index += 1;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// `JSON.parse` reports a character offset and nothing about where it was
|
|
112
|
+
// reading, so a typo in a workflow definition surfaced as a bare
|
|
113
|
+
// "Expected property name or '}' in JSON at position 1". Name the source.
|
|
114
|
+
function parseJson(text, source) {
|
|
115
|
+
try {
|
|
116
|
+
return JSON.parse(text);
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
120
|
+
throw new Error(`${source} is not valid JSON: ${detail}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
54
123
|
async function readTaskRequest(args) {
|
|
55
124
|
const requestPath = argument("--request", args);
|
|
56
125
|
if (requestPath !== undefined) {
|
|
57
|
-
|
|
126
|
+
const absolute = resolve(requestPath);
|
|
127
|
+
return TaskRequestSchema.parse(parseJson(await readFile(absolute, "utf8"), absolute));
|
|
58
128
|
}
|
|
59
129
|
if (!process.stdin.isTTY) {
|
|
60
130
|
let input = "";
|
|
61
131
|
for await (const chunk of process.stdin)
|
|
62
132
|
input += String(chunk);
|
|
63
|
-
|
|
133
|
+
// Redirected-but-empty stdin is what a script gets wrong, and `JSON.parse`
|
|
134
|
+
// answers it with "Unexpected end of JSON input" — true, and no help at
|
|
135
|
+
// all. Say the same thing an interactive shell would.
|
|
136
|
+
if (input.trim() === "") {
|
|
137
|
+
throw new Error("provide --request <file> or pipe a JSON task request");
|
|
138
|
+
}
|
|
139
|
+
return TaskRequestSchema.parse(parseJson(input, "the piped task request"));
|
|
64
140
|
}
|
|
65
141
|
throw new Error("provide --request <file> or pipe a JSON task request");
|
|
66
142
|
}
|
|
@@ -69,11 +145,16 @@ async function readWorkflowDefinition(args) {
|
|
|
69
145
|
if (definitionPath === undefined) {
|
|
70
146
|
throw new Error("workflow plan requires --definition <file>");
|
|
71
147
|
}
|
|
72
|
-
|
|
148
|
+
const absolute = resolve(definitionPath);
|
|
149
|
+
return WorkflowDefinitionSchema.parse(parseJson(await readFile(absolute, "utf8"), absolute));
|
|
73
150
|
}
|
|
74
151
|
function workflowExitCode(status) {
|
|
75
152
|
if (status === "awaiting_approval")
|
|
76
153
|
return 3;
|
|
154
|
+
// A run waiting on a person is not a failure — it is a prompt. Its own exit
|
|
155
|
+
// code lets a script tell "answer me" apart from "approve me" and "broke".
|
|
156
|
+
if (status === "awaiting_input")
|
|
157
|
+
return 4;
|
|
77
158
|
if ([
|
|
78
159
|
"failed",
|
|
79
160
|
"partially_complete",
|
|
@@ -84,6 +165,28 @@ function workflowExitCode(status) {
|
|
|
84
165
|
}
|
|
85
166
|
return 0;
|
|
86
167
|
}
|
|
168
|
+
// `--input <node-id>=<value>`. `=` rather than `:` because a node ID never
|
|
169
|
+
// contains one but an answer very often does (URLs, times, ratios).
|
|
170
|
+
function workflowInputs(args) {
|
|
171
|
+
const inputs = [];
|
|
172
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
173
|
+
if (args[index] !== "--input")
|
|
174
|
+
continue;
|
|
175
|
+
const value = args[index + 1];
|
|
176
|
+
if (value === undefined)
|
|
177
|
+
throw new Error("--input requires a value");
|
|
178
|
+
const separator = value.indexOf("=");
|
|
179
|
+
if (separator < 1 || separator === value.length - 1) {
|
|
180
|
+
throw new Error("--input must be <node-id>=<value>");
|
|
181
|
+
}
|
|
182
|
+
inputs.push(WorkflowInputSchema.parse({
|
|
183
|
+
nodeId: value.slice(0, separator),
|
|
184
|
+
value: value.slice(separator + 1),
|
|
185
|
+
}));
|
|
186
|
+
index += 1;
|
|
187
|
+
}
|
|
188
|
+
return inputs;
|
|
189
|
+
}
|
|
87
190
|
function workflowApprovals(args) {
|
|
88
191
|
const approvals = [];
|
|
89
192
|
for (let index = 0; index < args.length; index += 1) {
|
|
@@ -119,7 +222,8 @@ async function workflowCommand(args, env) {
|
|
|
119
222
|
if (workflowId === undefined) {
|
|
120
223
|
throw new Error("workflow advance requires a workflow ID");
|
|
121
224
|
}
|
|
122
|
-
const
|
|
225
|
+
const rest = actionArgs.slice(1);
|
|
226
|
+
const result = await melra.workflows.advance(workflowId, workflowApprovals(rest), workflowInputs(rest));
|
|
123
227
|
output(result);
|
|
124
228
|
return workflowExitCode(result.run.status);
|
|
125
229
|
}
|
|
@@ -140,8 +244,23 @@ async function workflowCommand(args, env) {
|
|
|
140
244
|
output(run);
|
|
141
245
|
return workflowExitCode(run.status);
|
|
142
246
|
}
|
|
247
|
+
case "pause":
|
|
248
|
+
case "resume":
|
|
249
|
+
case "suspend": {
|
|
250
|
+
const workflowId = actionArgs[0];
|
|
251
|
+
if (workflowId === undefined) {
|
|
252
|
+
throw new Error(`workflow ${action} requires a workflow ID`);
|
|
253
|
+
}
|
|
254
|
+
const run = action === "pause"
|
|
255
|
+
? melra.workflows.pause(workflowId)
|
|
256
|
+
: action === "suspend"
|
|
257
|
+
? melra.workflows.suspend(workflowId)
|
|
258
|
+
: melra.workflows.resume(workflowId);
|
|
259
|
+
output(run);
|
|
260
|
+
return workflowExitCode(run.status);
|
|
261
|
+
}
|
|
143
262
|
default:
|
|
144
|
-
throw new Error("workflow supports plan, advance, inspect, and
|
|
263
|
+
throw new Error("workflow supports plan, advance, inspect, cancel, pause, resume, and suspend");
|
|
145
264
|
}
|
|
146
265
|
}
|
|
147
266
|
finally {
|
|
@@ -176,6 +295,16 @@ async function doctor(env) {
|
|
|
176
295
|
status: major >= 22 ? "pass" : "fail",
|
|
177
296
|
detail: process.version,
|
|
178
297
|
});
|
|
298
|
+
// A `warn`, not a `fail`: the operator asked for this, so `doctor` must still
|
|
299
|
+
// exit zero. But a machine running with no guardrails should never be able to
|
|
300
|
+
// report a clean bill of health without saying so.
|
|
301
|
+
checks.push(env.unhinged
|
|
302
|
+
? {
|
|
303
|
+
name: "guardrails",
|
|
304
|
+
status: "warn",
|
|
305
|
+
detail: "UNHINGED: no policy, approval, evidence, confinement, or destination check is applied",
|
|
306
|
+
}
|
|
307
|
+
: { name: "guardrails", status: "pass", detail: "enforced" });
|
|
179
308
|
try {
|
|
180
309
|
await access(env.workspaceRoot, constants.R_OK | constants.W_OK);
|
|
181
310
|
checks.push({
|
|
@@ -258,6 +387,9 @@ async function doctor(env) {
|
|
|
258
387
|
product: "MELRA",
|
|
259
388
|
version: PRODUCT_VERSION,
|
|
260
389
|
ready: !failed,
|
|
390
|
+
// Alongside the `guardrails` check so a script does not have to read a
|
|
391
|
+
// detail string to find out whether this machine has any.
|
|
392
|
+
unhinged: env.unhinged,
|
|
261
393
|
checks,
|
|
262
394
|
},
|
|
263
395
|
failed,
|
|
@@ -349,9 +481,24 @@ async function inspectTask(args, env) {
|
|
|
349
481
|
}
|
|
350
482
|
async function policyTest(args, env) {
|
|
351
483
|
const request = await readTaskRequest(args);
|
|
352
|
-
|
|
484
|
+
// Reports what this process would actually decide, unhinged mode included —
|
|
485
|
+
// a dry run that disagreed with the server it is previewing is worse than
|
|
486
|
+
// none. That is also why the operator's own `policy.json` is loaded rather
|
|
487
|
+
// than the defaults: `serve` reads it, so a preview that ignored it would
|
|
488
|
+
// answer for a policy nobody is running.
|
|
489
|
+
const policy = {
|
|
490
|
+
...(await loadPolicy(await existingPolicyPath(env), env.workspaceRoot)),
|
|
491
|
+
unhinged: env.unhinged,
|
|
492
|
+
};
|
|
353
493
|
const taskId = "00000000-0000-4000-8000-000000000000";
|
|
354
|
-
|
|
494
|
+
// The decision carries effect, risk, and traits; the classification adds the
|
|
495
|
+
// capability and target it was made against, so a surprising verdict can be
|
|
496
|
+
// traced to what MELRA thought the request was touching.
|
|
497
|
+
const { capability, target } = classifyOperation(request.operation);
|
|
498
|
+
output({
|
|
499
|
+
...evaluatePolicy(taskId, request, policy),
|
|
500
|
+
classified: { capability, target },
|
|
501
|
+
});
|
|
355
502
|
}
|
|
356
503
|
function help() {
|
|
357
504
|
process.stdout.write(`MELRA ${PRODUCT_VERSION}
|
|
@@ -360,48 +507,97 @@ Usage:
|
|
|
360
507
|
melra setup [--client <claude|cursor|vscode|codex|generic>]
|
|
361
508
|
melra doctor
|
|
362
509
|
melra init --client <claude|cursor|vscode|codex|generic>
|
|
363
|
-
melra serve
|
|
510
|
+
melra serve [--http] [--port <port>]
|
|
364
511
|
melra run --request <task.json>
|
|
365
512
|
melra inspect <task-id>
|
|
366
513
|
melra workflow plan --definition <workflow.json>
|
|
367
514
|
melra workflow advance <workflow-id> [--approval <id>:<exact-phrase>]
|
|
515
|
+
[--input <node-id>=<value>]
|
|
368
516
|
melra workflow inspect <workflow-id>
|
|
369
517
|
melra workflow cancel <workflow-id>
|
|
518
|
+
melra workflow pause|resume|suspend <workflow-id>
|
|
370
519
|
melra demo durable-core
|
|
371
520
|
melra policy test --request <task.json>
|
|
372
521
|
melra version
|
|
373
522
|
|
|
523
|
+
Flags:
|
|
524
|
+
--unhinged Run with no policy and no guardrails. Everything the OS user
|
|
525
|
+
can do, any caller can now do. Same as MELRA_UNHINGED=1.
|
|
526
|
+
--http Serve MCP over loopback HTTP instead of stdio, alongside a
|
|
527
|
+
read-only REST API, a workflow event stream, and the console.
|
|
528
|
+
Prints a bearer token; every request must carry it.
|
|
529
|
+
--port <port> HTTP port (default: 7457, or MELRA_HTTP_PORT).
|
|
530
|
+
|
|
374
531
|
Environment:
|
|
375
532
|
MELRA_WORKSPACE Workspace boundary (default: current directory)
|
|
376
533
|
MELRA_HOME Local database and artifact directory
|
|
377
534
|
MELRA_POLICY Optional local policy JSON
|
|
535
|
+
MELRA_UNHINGED Set to 1 to disable every guardrail (see --unhinged)
|
|
536
|
+
MELRA_HTTP_PORT Port for 'serve --http' (default: 7457)
|
|
537
|
+
MELRA_HTTP_TOKEN Fixed bearer token for 'serve --http' (default: random)
|
|
378
538
|
MELRA_BROWSER Optional Chrome/Chromium/Edge executable
|
|
379
539
|
MELRA_BROWSER_CDP_ENDPOINT Optional HTTP(S) CDP endpoint
|
|
380
540
|
MELRA_BROWSER_CDP_CONTEXT_INDEX External context index (-1 is last)
|
|
381
541
|
MELRA_BROWSER_HAR_PATH Absolute HAR output path
|
|
542
|
+
MELRA_BROWSER_PROFILE Absolute dir keeping cookies between runs
|
|
382
543
|
`);
|
|
383
544
|
}
|
|
384
545
|
async function main() {
|
|
385
546
|
const [command = "help", ...args] = process.argv.slice(2);
|
|
386
|
-
const
|
|
547
|
+
const parsed = parseCliEnvironment(process.env);
|
|
548
|
+
// `--unhinged` is an alias for the variable, not a second setting: one field
|
|
549
|
+
// carries the answer so no code path can consult the weaker of the two.
|
|
550
|
+
const env = args.includes("--unhinged")
|
|
551
|
+
? { ...parsed, unhinged: true }
|
|
552
|
+
: parsed;
|
|
553
|
+
// Before the command runs, and for every command including `help` — the mode
|
|
554
|
+
// is a property of the process, so there is no invocation where staying quiet
|
|
555
|
+
// about it is right.
|
|
556
|
+
if (env.unhinged) {
|
|
557
|
+
process.stderr.write(`${unhingedBanner(unconfinedRoot(env.workspaceRoot))}\n`);
|
|
558
|
+
}
|
|
387
559
|
switch (command) {
|
|
388
560
|
case "doctor": {
|
|
561
|
+
rejectUnknownFlags(args, []);
|
|
389
562
|
const { report, failed } = await doctor(env);
|
|
390
563
|
output(report);
|
|
391
564
|
process.exitCode = failed ? 1 : 0;
|
|
392
565
|
return;
|
|
393
566
|
}
|
|
394
567
|
case "init":
|
|
568
|
+
rejectUnknownFlags(args, ["--client"]);
|
|
395
569
|
output(await init(args, env));
|
|
396
570
|
return;
|
|
397
571
|
case "setup":
|
|
572
|
+
rejectUnknownFlags(args, ["--client"]);
|
|
398
573
|
process.exitCode = await setup(args, env);
|
|
399
574
|
return;
|
|
400
575
|
case "serve": {
|
|
576
|
+
rejectUnknownFlags(args, ["--http", "--port"]);
|
|
401
577
|
const melra = await runtime(env);
|
|
402
|
-
const
|
|
578
|
+
const http = args.includes("--http");
|
|
579
|
+
const port = argument("--port", args);
|
|
580
|
+
const server = http
|
|
581
|
+
? undefined
|
|
582
|
+
: await serveStdio(melra);
|
|
583
|
+
const endpoint = http
|
|
584
|
+
? await serveHttp({
|
|
585
|
+
runtime: melra,
|
|
586
|
+
...(port === undefined ? {} : { port: Number(port) }),
|
|
587
|
+
})
|
|
588
|
+
: undefined;
|
|
589
|
+
if (endpoint !== undefined) {
|
|
590
|
+
// stdout stays clean for the stdio transport's sake even here, so the
|
|
591
|
+
// one command an operator has to copy goes where they can read it.
|
|
592
|
+
process.stderr.write(`MELRA HTTP server listening on http://${endpoint.host}:${endpoint.port}\n` +
|
|
593
|
+
` Console: ${endpoint.url}\n` +
|
|
594
|
+
` MCP: ${endpoint.mcpUrl}\n` +
|
|
595
|
+
` Token: ${endpoint.token}\n` +
|
|
596
|
+
`Loopback only. Anyone who can read this token can drive this machine.\n`);
|
|
597
|
+
}
|
|
403
598
|
const close = async () => {
|
|
404
|
-
await server
|
|
599
|
+
await server?.close();
|
|
600
|
+
await endpoint?.close();
|
|
405
601
|
await melra.close();
|
|
406
602
|
};
|
|
407
603
|
process.once("SIGINT", () => void close().finally(() => process.exit(0)));
|
|
@@ -409,16 +605,20 @@ async function main() {
|
|
|
409
605
|
return;
|
|
410
606
|
}
|
|
411
607
|
case "run":
|
|
608
|
+
rejectUnknownFlags(args, ["--request"]);
|
|
412
609
|
process.exitCode = await runTask(args, env);
|
|
413
610
|
return;
|
|
414
611
|
case "inspect":
|
|
415
612
|
case "export":
|
|
613
|
+
rejectUnknownFlags(args, []);
|
|
416
614
|
await inspectTask(args, env);
|
|
417
615
|
return;
|
|
418
616
|
case "workflow":
|
|
617
|
+
rejectUnknownFlags(args, ["--definition", "--approval", "--input"]);
|
|
419
618
|
process.exitCode = await workflowCommand(args, env);
|
|
420
619
|
return;
|
|
421
620
|
case "demo":
|
|
621
|
+
rejectUnknownFlags(args, []);
|
|
422
622
|
if (args[0] !== "durable-core") {
|
|
423
623
|
throw new Error("demo supports only 'durable-core'");
|
|
424
624
|
}
|
|
@@ -427,6 +627,7 @@ async function main() {
|
|
|
427
627
|
case "policy":
|
|
428
628
|
if (args[0] !== "test")
|
|
429
629
|
throw new Error("policy supports only 'test'");
|
|
630
|
+
rejectUnknownFlags(args.slice(1), ["--request"]);
|
|
430
631
|
await policyTest(args.slice(1), env);
|
|
431
632
|
return;
|
|
432
633
|
case "version":
|
|
@@ -443,8 +644,37 @@ async function main() {
|
|
|
443
644
|
throw new Error(`unknown command: ${basename(command)}`);
|
|
444
645
|
}
|
|
445
646
|
}
|
|
647
|
+
/**
|
|
648
|
+
* A schema rejection, rendered as one line per problem.
|
|
649
|
+
*
|
|
650
|
+
* Zod's `message` is the JSON dump of its issue array, so an input missing one
|
|
651
|
+
* field used to fill the terminal with brackets and offsets. The useful part of
|
|
652
|
+
* each issue is where it is and what is wrong with it.
|
|
653
|
+
*
|
|
654
|
+
* Detected by shape rather than `instanceof ZodError` so the CLI does not take
|
|
655
|
+
* a direct zod dependency to print an error — every schema it parses comes from
|
|
656
|
+
* `@melra/protocol`, and matching on `issues` also survives a major zod bump.
|
|
657
|
+
*/
|
|
658
|
+
function schemaIssues(error) {
|
|
659
|
+
if (typeof error !== "object" || error === null)
|
|
660
|
+
return undefined;
|
|
661
|
+
const { issues } = error;
|
|
662
|
+
if (!Array.isArray(issues) || issues.length === 0)
|
|
663
|
+
return undefined;
|
|
664
|
+
const lines = issues.map((issue) => {
|
|
665
|
+
const path = (issue.path ?? [])
|
|
666
|
+
.map((segment) => typeof segment === "number" ? `[${segment}]` : `.${segment}`)
|
|
667
|
+
.join("")
|
|
668
|
+
.replace(/^\./, "");
|
|
669
|
+
const message = issue.message ?? "invalid value";
|
|
670
|
+
return ` ${path === "" ? "(root)" : path}: ${message}`;
|
|
671
|
+
});
|
|
672
|
+
return ["input does not match the schema:", ...lines].join("\n");
|
|
673
|
+
}
|
|
446
674
|
main().catch((error) => {
|
|
447
|
-
|
|
675
|
+
const message = schemaIssues(error) ??
|
|
676
|
+
(error instanceof Error ? error.message : String(error));
|
|
677
|
+
process.stderr.write(`melra: ${message}\n`);
|
|
448
678
|
process.exitCode = 1;
|
|
449
679
|
});
|
|
450
680
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@melra/cli",
|
|
3
|
-
"version": "0.3.0-alpha.
|
|
4
|
-
"description": "MELRA
|
|
3
|
+
"version": "0.3.0-alpha.6",
|
|
4
|
+
"description": "MELRA autonomy kernel and command-line interface.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"bugs": "https://github.com/XAGI-Lab/melra/issues",
|
|
13
13
|
"type": "module",
|
|
14
14
|
"bin": {
|
|
15
|
-
"melra": "./dist/
|
|
15
|
+
"melra": "./dist/bin.js"
|
|
16
16
|
},
|
|
17
17
|
"exports": {
|
|
18
18
|
".": {
|
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
"README.md"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@melra/browser-runtime": "0.3.0-alpha.
|
|
29
|
-
"@melra/computer-runtime": "0.3.0-alpha.
|
|
30
|
-
"@melra/
|
|
31
|
-
"@melra/
|
|
32
|
-
"@melra/
|
|
33
|
-
"@melra/
|
|
28
|
+
"@melra/browser-runtime": "0.3.0-alpha.6",
|
|
29
|
+
"@melra/computer-runtime": "0.3.0-alpha.6",
|
|
30
|
+
"@melra/server": "0.3.0-alpha.6",
|
|
31
|
+
"@melra/storage-sqlite": "0.3.0-alpha.6",
|
|
32
|
+
"@melra/protocol": "0.3.0-alpha.6",
|
|
33
|
+
"@melra/policy-core": "0.3.0-alpha.6"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
|
-
"build": "tsc -p tsconfig.json && chmod +x dist/index.js",
|
|
36
|
+
"build": "tsc -p tsconfig.json && chmod +x dist/bin.js dist/index.js",
|
|
37
37
|
"clean": "rm -rf dist",
|
|
38
38
|
"dev": "tsx src/index.ts",
|
|
39
39
|
"start": "tsx src/index.ts",
|