@melra/cli 0.3.0-alpha.11 → 0.3.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +11 -6
  2. package/dist/activity.d.ts +26 -0
  3. package/dist/activity.d.ts.map +1 -0
  4. package/dist/activity.js +401 -0
  5. package/dist/activity.js.map +1 -0
  6. package/dist/client-status.d.ts +24 -0
  7. package/dist/client-status.d.ts.map +1 -0
  8. package/dist/client-status.js +273 -0
  9. package/dist/client-status.js.map +1 -0
  10. package/dist/clients.d.ts +32 -0
  11. package/dist/clients.d.ts.map +1 -0
  12. package/dist/clients.js +584 -0
  13. package/dist/clients.js.map +1 -0
  14. package/dist/conformance.d.ts.map +1 -1
  15. package/dist/conformance.js +4 -2
  16. package/dist/conformance.js.map +1 -1
  17. package/dist/demo-workflow.d.ts +46 -0
  18. package/dist/demo-workflow.d.ts.map +1 -0
  19. package/dist/demo-workflow.js +58 -0
  20. package/dist/demo-workflow.js.map +1 -0
  21. package/dist/environment.d.ts +3 -1
  22. package/dist/environment.d.ts.map +1 -1
  23. package/dist/environment.js +13 -1
  24. package/dist/environment.js.map +1 -1
  25. package/dist/human.d.ts +67 -0
  26. package/dist/human.d.ts.map +1 -0
  27. package/dist/human.js +257 -0
  28. package/dist/human.js.map +1 -0
  29. package/dist/index.js +236 -49
  30. package/dist/index.js.map +1 -1
  31. package/dist/isolation.d.ts +35 -0
  32. package/dist/isolation.d.ts.map +1 -0
  33. package/dist/isolation.js +66 -0
  34. package/dist/isolation.js.map +1 -0
  35. package/dist/jsonc.d.ts +24 -0
  36. package/dist/jsonc.d.ts.map +1 -0
  37. package/dist/jsonc.js +238 -0
  38. package/dist/jsonc.js.map +1 -0
  39. package/dist/output.d.ts +28 -0
  40. package/dist/output.d.ts.map +1 -0
  41. package/dist/output.js +77 -0
  42. package/dist/output.js.map +1 -0
  43. package/package.json +10 -10
@@ -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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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * The workflow `melra demo durable-core` runs. It ships inside the CLI because
3
+ * the published package has no `examples/` directory: reading the repo's copy
4
+ * worked from a checkout and failed with ENOENT from every npm install. A test
5
+ * keeps it identical to examples/workflows/restart-safe.json, which the docs use.
6
+ */
7
+ export declare const RESTART_SAFE_WORKFLOW: {
8
+ readonly schemaVersion: "1.0.0";
9
+ readonly id: "7d57f7ba-9b98-4ff5-8f73-a24fbaf66d28";
10
+ readonly version: 1;
11
+ readonly name: "restart-safe-verified-file";
12
+ readonly nodes: readonly [{
13
+ readonly id: "inspect";
14
+ readonly type: "operation";
15
+ readonly dependsOn: readonly [];
16
+ readonly request: {
17
+ readonly goal: "Inspect the local runtime";
18
+ readonly operation: {
19
+ readonly kind: "system";
20
+ readonly action: "info";
21
+ };
22
+ };
23
+ }, {
24
+ readonly id: "write";
25
+ readonly type: "operation";
26
+ readonly dependsOn: readonly ["inspect"];
27
+ readonly request: {
28
+ readonly goal: "Create a restart-safe verified artifact";
29
+ readonly operation: {
30
+ readonly kind: "file";
31
+ readonly action: "write";
32
+ readonly path: "durable-core-result.txt";
33
+ readonly content: "verified after restart";
34
+ };
35
+ readonly requiredEvidence: readonly [{
36
+ readonly type: "file_exists";
37
+ readonly path: "durable-core-result.txt";
38
+ }];
39
+ };
40
+ }, {
41
+ readonly id: "checkpoint";
42
+ readonly type: "checkpoint";
43
+ readonly dependsOn: readonly ["write"];
44
+ }];
45
+ };
46
+ //# sourceMappingURL=demo-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo-workflow.d.ts","sourceRoot":"","sources":["../src/demo-workflow.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDxB,CAAC"}
@@ -0,0 +1,58 @@
1
+ // Copyright 2026 XAGI Labs Private Limited
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ /**
4
+ * The workflow `melra demo durable-core` runs. It ships inside the CLI because
5
+ * the published package has no `examples/` directory: reading the repo's copy
6
+ * worked from a checkout and failed with ENOENT from every npm install. A test
7
+ * keeps it identical to examples/workflows/restart-safe.json, which the docs use.
8
+ */
9
+ export const RESTART_SAFE_WORKFLOW = {
10
+ "schemaVersion": "1.0.0",
11
+ "id": "7d57f7ba-9b98-4ff5-8f73-a24fbaf66d28",
12
+ "version": 1,
13
+ "name": "restart-safe-verified-file",
14
+ "nodes": [
15
+ {
16
+ "id": "inspect",
17
+ "type": "operation",
18
+ "dependsOn": [],
19
+ "request": {
20
+ "goal": "Inspect the local runtime",
21
+ "operation": {
22
+ "kind": "system",
23
+ "action": "info"
24
+ }
25
+ }
26
+ },
27
+ {
28
+ "id": "write",
29
+ "type": "operation",
30
+ "dependsOn": [
31
+ "inspect"
32
+ ],
33
+ "request": {
34
+ "goal": "Create a restart-safe verified artifact",
35
+ "operation": {
36
+ "kind": "file",
37
+ "action": "write",
38
+ "path": "durable-core-result.txt",
39
+ "content": "verified after restart"
40
+ },
41
+ "requiredEvidence": [
42
+ {
43
+ "type": "file_exists",
44
+ "path": "durable-core-result.txt"
45
+ }
46
+ ]
47
+ }
48
+ },
49
+ {
50
+ "id": "checkpoint",
51
+ "type": "checkpoint",
52
+ "dependsOn": [
53
+ "write"
54
+ ]
55
+ }
56
+ ]
57
+ };
58
+ //# sourceMappingURL=demo-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo-workflow.js","sourceRoot":"","sources":["../src/demo-workflow.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,sCAAsC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,eAAe,EAAE,OAAO;IACxB,IAAI,EAAE,sCAAsC;IAC5C,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,4BAA4B;IACpC,OAAO,EAAE;QACP;YACE,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE;gBACT,MAAM,EAAE,2BAA2B;gBACnC,WAAW,EAAE;oBACX,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,MAAM;iBACjB;aACF;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE;gBACX,SAAS;aACV;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,yCAAyC;gBACjD,WAAW,EAAE;oBACX,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,yBAAyB;oBACjC,SAAS,EAAE,wBAAwB;iBACpC;gBACD,kBAAkB,EAAE;oBAClB;wBACE,MAAM,EAAE,aAAa;wBACrB,MAAM,EAAE,yBAAyB;qBAClC;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE;gBACX,OAAO;aACR;SACF;KACF;CACO,CAAC"}
@@ -5,6 +5,8 @@ export interface CliEnvironment {
5
5
  unhinged: boolean;
6
6
  mode: DeploymentMode;
7
7
  policyPath?: string;
8
+ /** `MELRA_SOCKET`: `serve` listens on this Unix socket instead of stdio. */
9
+ socketPath?: string;
8
10
  browserExecutablePath?: string;
9
11
  browserCdpEndpoint?: string;
10
12
  browserCdpContextIndex?: number;
@@ -16,7 +18,7 @@ export interface CliEnvironmentDefaults {
16
18
  cwd: string;
17
19
  home: string;
18
20
  }
19
- export declare function serverLaunch(moduleDirectory: string, version: string): {
21
+ export declare function serverLaunch(moduleDirectory: string, version: string, singleExecutable?: boolean): {
20
22
  command: string;
21
23
  args: string[];
22
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,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;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,CAyDhB"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,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;AA0CD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,QAAQ,GAAE,sBAGT,GACA,cAAc,CA8DhB"}
@@ -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 { isSea } from "node:sea";
5
6
  import { deploymentMode } from "@melra/protocol";
6
7
  import { unhingedFromEnvironment } from "@melra/server";
7
8
  // A generated client config has to name a command the client can actually
@@ -9,7 +10,13 @@ import { unhingedFromEnvironment } from "@melra/server";
9
10
  // so `melra` would fail to start for exactly the users who took the shortest
10
11
  // install path. Pin the version that wrote the config, so the client keeps
11
12
  // launching the same server until someone changes it.
12
- export function serverLaunch(moduleDirectory, version) {
13
+ //
14
+ // A single-executable build (`melra` with Node inside, #76) is neither: the
15
+ // client must spawn this very binary, by absolute path, since it may well not
16
+ // be on the PATH a client launches with.
17
+ export function serverLaunch(moduleDirectory, version, singleExecutable = isSea()) {
18
+ if (singleExecutable)
19
+ return { command: process.execPath, args: ["serve"] };
13
20
  return /[\\/]_npx[\\/]/.test(moduleDirectory)
14
21
  ? { command: "npx", args: ["-y", `@melra/cli@${version}`, "serve"] }
15
22
  : { command: "melra", args: ["serve"] };
@@ -92,6 +99,11 @@ export function parseCliEnvironment(source, defaults = {
92
99
  ...(source.MELRA_POLICY === undefined
93
100
  ? {}
94
101
  : { policyPath: resolve(source.MELRA_POLICY) }),
102
+ // Empty counts as unset, so `MELRA_SOCKET=` in a unit file turns it off
103
+ // rather than asking for a socket named after the working directory.
104
+ ...(source.MELRA_SOCKET === undefined || source.MELRA_SOCKET.trim() === ""
105
+ ? {}
106
+ : { socketPath: resolve(source.MELRA_SOCKET) }),
95
107
  ...(source.MELRA_BROWSER === undefined
96
108
  ? {}
97
109
  : { browserExecutablePath: resolve(source.MELRA_BROWSER) }),
@@ -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;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAqBxD,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,sDAAsD;AACtD,MAAM,UAAU,YAAY,CAC1B,eAAuB,EACvB,OAAe;IAEf,OAAO,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC;QAC3C,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE;QACpE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9C,MAAM,CAAC,QAAQ,KAAK,EAAE;QACtB,MAAM,CAAC,QAAQ,KAAK,EAAE;QACtB,MAAM,CAAC,MAAM,KAAK,EAAE;QACpB,MAAM,CAAC,IAAI,KAAK,EAAE,EAClB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,KAAyB;IACxC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAyB,EACzB,WAAmC;IACjC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;IAClB,IAAI,EAAE,OAAO,EAAE;CAChB;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,eAAe,CAClC,MAAM,CAAC,+BAA+B,CACvC,CAAC;IACF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAChD,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACvD,wEAAwE;QACxE,sDAAsD;QACtD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC1D,yEAAyE;QACzE,sDAAsD;QACtD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO;QACL,aAAa,EAAE,OAAO,CACpB,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC,GAAG,CACvC;QACD,aAAa,EAAE,OAAO,CACpB,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CACnD;QACD,QAAQ,EAAE,uBAAuB,CAAC,MAAM,CAAC;QACzC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;QACvC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC;QACnE,GAAG,CAAC,YAAY,KAAK,SAAS;YAC5B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAC;QAC7C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;QACzE,GAAG,CAAC,aAAa,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC;QAC5C,GAAG,CAAC,UAAU,KAAK,SAAS;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import type { ClientChoice, ClientStatus } from "./client-status.js";
2
+ import { type Status } from "./output.js";
3
+ export interface DoctorCheck {
4
+ name: string;
5
+ status: Status;
6
+ detail: string;
7
+ }
8
+ export interface DoctorReport {
9
+ product: string;
10
+ version: string;
11
+ ready: boolean;
12
+ unhinged: boolean;
13
+ mode: string;
14
+ checks: DoctorCheck[];
15
+ clients: ClientStatus[];
16
+ }
17
+ export interface InitResult {
18
+ initialized: true;
19
+ client: string;
20
+ policyPath: string;
21
+ configPath?: string;
22
+ written?: true;
23
+ backup?: string;
24
+ unchanged?: true;
25
+ config: Record<string, unknown> | string;
26
+ note: string;
27
+ }
28
+ export declare function nextStep(report: DoctorReport): string | undefined;
29
+ export declare function renderDoctor(report: DoctorReport): string;
30
+ export declare function renderInit(result: InitResult): string;
31
+ export declare function renderSetup(result: InitResult, report: DoctorReport): string;
32
+ export interface WizardIo {
33
+ input: NodeJS.ReadableStream;
34
+ output: NodeJS.WritableStream;
35
+ }
36
+ /**
37
+ * Ask which client to set up and whether to write its config. Resolves to the
38
+ * answer, or undefined if the person pressed Ctrl-C or closed input — in which
39
+ * case the caller writes nothing.
40
+ *
41
+ * Lines are read through the interface's async iterator rather than
42
+ * `question()`, because the iterator buffers: input that arrives all at once
43
+ * (a paste, or a test) is not lost between prompts.
44
+ */
45
+ export declare function setupWizard(io: WizardIo, clients: ClientChoice[]): Promise<{
46
+ client: string;
47
+ write: boolean;
48
+ } | undefined>;
49
+ export interface ConformanceReport {
50
+ suite: string;
51
+ level: number;
52
+ claimed: number;
53
+ claim: string;
54
+ passed: number;
55
+ of: number;
56
+ checks: Array<{
57
+ level: number;
58
+ name: string;
59
+ passed: boolean;
60
+ detail: string;
61
+ }>;
62
+ mode: string;
63
+ notProven: string[];
64
+ uncleanedProbeFile?: string;
65
+ }
66
+ export declare function renderConformance(report: ConformanceReport): string;
67
+ //# sourceMappingURL=human.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../src/human.ts"],"names":[],"mappings":"AASA,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;AAmBD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAiDjE;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 ADDED
@@ -0,0 +1,257 @@
1
+ // Copyright 2026 XAGI Labs Private Limited
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ // What `doctor`, `setup`, and `init` show a person at a terminal, and the
4
+ // question `setup` asks when nobody named a client. Kept out of `index.ts`
5
+ // because importing that runs the CLI, and every piece here needs a test.
6
+ import { createInterface } from "node:readline/promises";
7
+ import { CLIENTS } from "./clients.js";
8
+ import { mark, paint, table } from "./output.js";
9
+ const plural = (count, word) => `${count} ${word}${count === 1 ? "" : "s"}`;
10
+ function clientLine(status) {
11
+ const symbol = status.problems.length > 0
12
+ ? mark("warn")
13
+ : status.state === "configured"
14
+ ? mark("pass")
15
+ : paint.dim("·");
16
+ const extra = [...(status.note === undefined ? [] : [status.note]), ...status.problems];
17
+ return [symbol, status.client, status.state, paint.dim(extra.join("; "))];
18
+ }
19
+ // The one thing to do next, or undefined when there is nothing to fix or the
20
+ // fix is outside MELRA's reach (a platform without a computer adapter). Fails
21
+ // before warnings; among warnings a client problem first, because repointing a
22
+ // client is the step people run doctor to find.
23
+ export function nextStep(report) {
24
+ const broken = report.clients.find((client) => client.problems.length > 0);
25
+ const hint = (check) => {
26
+ switch (check.name) {
27
+ case "node":
28
+ return "install Node.js 22 or newer";
29
+ case "sqlite":
30
+ return "use Node.js 22.13 or newer, which ships node:sqlite";
31
+ case "workspace":
32
+ return "point MELRA_WORKSPACE at a directory you can read and write";
33
+ case "data-directory":
34
+ return "point MELRA_HOME at a directory you can write";
35
+ case "policy":
36
+ return "fix the policy file's JSON, or unset MELRA_POLICY to use the defaults";
37
+ case "socket":
38
+ return "fix or unset MELRA_SOCKET (see the socket line above)";
39
+ case "isolation":
40
+ return "run MELRA in the hardened container (https://github.com/XAGI-Lab/melra/blob/main/docs/INSTALLATION.md#docker), or another OS sandbox";
41
+ case "guardrails":
42
+ return "unset MELRA_UNHINGED and drop --unsafe-local to turn the guardrails back on";
43
+ case "browser":
44
+ return "install Chrome, or set MELRA_BROWSER to a Chrome, Chromium, or Edge executable";
45
+ case "clients": {
46
+ if (broken === undefined)
47
+ return undefined;
48
+ if (broken.state === "unreadable")
49
+ return `check the permissions on ${broken.path}`;
50
+ // A stale pin names its own fix. A command missing from PATH is not
51
+ // fixed by rewriting the config, so do not send anyone round that loop.
52
+ const fix = broken.problems.map((problem) => /; fix: (.+)$/.exec(problem)?.[1]).find(Boolean);
53
+ if (fix !== undefined)
54
+ return fix;
55
+ return broken.command === "melra"
56
+ ? "put 'melra' on PATH: npm install -g @melra/cli@alpha"
57
+ : `make '${broken.command ?? "the configured command"}' runnable from PATH`;
58
+ }
59
+ default:
60
+ return undefined;
61
+ }
62
+ };
63
+ const fails = report.checks.filter((check) => check.status === "fail");
64
+ const warns = report.checks.filter((check) => check.status === "warn");
65
+ const ordered = [
66
+ ...fails,
67
+ ...warns.filter((check) => check.name === "clients"),
68
+ ...warns.filter((check) => check.name !== "clients"),
69
+ ];
70
+ for (const check of ordered) {
71
+ const next = hint(check);
72
+ if (next !== undefined)
73
+ return next;
74
+ }
75
+ return undefined;
76
+ }
77
+ // The verdict and, when something is wrong, what to run about it.
78
+ function summary(report) {
79
+ const fails = report.checks.filter((check) => check.status === "fail").length;
80
+ const warns = report.checks.filter((check) => check.status === "warn").length;
81
+ const verdict = fails > 0
82
+ ? `${mark("fail")} ${paint.bold(`Not ready: ${plural(fails + warns, "problem")}`)}`
83
+ : warns > 0
84
+ ? `${mark("warn")} ${paint.bold(`Ready, with ${plural(warns, "warning")}`)}`
85
+ : `${mark("pass")} ${paint.bold("Ready")}`;
86
+ const next = nextStep(report);
87
+ return [verdict, ...(next === undefined ? [] : [`Next: ${paint.bold(next)}`])];
88
+ }
89
+ function checkRows(checks, report) {
90
+ const lines = [];
91
+ const rows = checks.map((check) => {
92
+ if (check.name !== "clients" || report.clients.length === 0) {
93
+ return [mark(check.status), check.name, check.detail];
94
+ }
95
+ const none = !report.clients.some((client) => client.state === "configured");
96
+ return [
97
+ mark(check.status),
98
+ check.name,
99
+ none ? paint.dim("none configured yet; run 'melra setup'") : "",
100
+ ];
101
+ });
102
+ lines.push(table(rows, { indent: 2 }));
103
+ if (checks.some((check) => check.name === "clients") && report.clients.length > 0) {
104
+ lines.push(table(report.clients.map(clientLine), { indent: 6 }));
105
+ }
106
+ return lines.join("\n");
107
+ }
108
+ export function renderDoctor(report) {
109
+ return [
110
+ paint.bold(`${report.product} ${report.version}`) + paint.dim(` · ${report.mode} mode`),
111
+ "",
112
+ checkRows(report.checks, report),
113
+ "",
114
+ ...summary(report),
115
+ ].join("\n");
116
+ }
117
+ function snippet(config) {
118
+ const text = typeof config === "string" ? config.trimEnd() : JSON.stringify(config, null, 2);
119
+ return text
120
+ .split("\n")
121
+ .map((line) => ` ${line}`)
122
+ .join("\n");
123
+ }
124
+ export function renderInit(result) {
125
+ const label = CLIENTS[result.client]?.label ?? result.client;
126
+ const rows = [[mark("pass"), "Policy", result.policyPath]];
127
+ if (result.written === true && result.configPath !== undefined) {
128
+ rows.push([mark("pass"), label, result.configPath]);
129
+ if (result.unchanged === true) {
130
+ rows.push(["", "", paint.dim("already set up; nothing changed")]);
131
+ }
132
+ else if (result.backup !== undefined) {
133
+ rows.push(["", "", paint.dim(`previous file saved as ${result.backup}`)]);
134
+ }
135
+ 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");
137
+ }
138
+ const where = result.configPath === undefined
139
+ ? "Add this to your MCP client's configuration:"
140
+ : `Add this to ${paint.bold(result.configPath)}:`;
141
+ const instead = result.configPath === undefined
142
+ ? `Or name your client to get its own format: ${paint.bold("melra setup --client <name>")}` +
143
+ `, or run ${paint.bold("melra setup")} in a terminal to pick one.`
144
+ : `Or let MELRA merge it in for you: ${paint.bold(`melra setup --client ${result.client} --write`)}`;
145
+ return [table(rows, { indent: 2 }), "", where, "", snippet(result.config), "", instead].join("\n");
146
+ }
147
+ // After a setup, only what needs attention: a full doctor report is one
148
+ // command away and would bury the "restart your client" line above it.
149
+ export function renderSetup(result, report) {
150
+ const attention = report.checks.filter((check) => check.status !== "pass");
151
+ return [
152
+ renderInit(result),
153
+ "",
154
+ ...(attention.length === 0 ? [] : [checkRows(attention, report), ""]),
155
+ ...summary(report),
156
+ ].join("\n");
157
+ }
158
+ /**
159
+ * Ask which client to set up and whether to write its config. Resolves to the
160
+ * answer, or undefined if the person pressed Ctrl-C or closed input — in which
161
+ * case the caller writes nothing.
162
+ *
163
+ * Lines are read through the interface's async iterator rather than
164
+ * `question()`, because the iterator buffers: input that arrives all at once
165
+ * (a paste, or a test) is not lost between prompts.
166
+ */
167
+ export async function setupWizard(io, clients) {
168
+ const choices = [
169
+ ...clients.filter((client) => client.detected !== undefined),
170
+ ...clients.filter((client) => client.detected === undefined),
171
+ { client: "generic", label: "generic (just print the config)" },
172
+ ];
173
+ const rl = createInterface({ input: io.input, output: io.output });
174
+ // Input can end with answers still buffered (a paste ending in EOF). Those
175
+ // are still read, but a closed interface refuses to prompt, so the prompt is
176
+ // then written directly.
177
+ let closed = false;
178
+ rl.on("close", () => (closed = true));
179
+ rl.on("SIGINT", () => rl.close());
180
+ const lines = rl[Symbol.asyncIterator]();
181
+ const ask = async (prompt) => {
182
+ if (closed) {
183
+ io.output.write(prompt);
184
+ }
185
+ else {
186
+ // Through readline while it is live, so line editing redraws the prompt.
187
+ rl.setPrompt(prompt);
188
+ rl.prompt();
189
+ }
190
+ const line = await lines.next();
191
+ return line.done === true ? undefined : String(line.value).trim().toLowerCase();
192
+ };
193
+ try {
194
+ io.output.write(`Which MCP client should use MELRA?\n\n${table(choices.map(({ label, detected }, index) => [
195
+ `${index + 1})`,
196
+ label,
197
+ detected === undefined ? "" : paint.ok(`detected: ${detected}`),
198
+ ]), { indent: 2 })}\n\n`);
199
+ const fallback = choices[0]?.detected === undefined ? undefined : choices[0];
200
+ let chosen;
201
+ while (chosen === undefined) {
202
+ const answer = await ask(`Choose 1-${choices.length}${fallback === undefined ? "" : " [1]"}: `);
203
+ if (answer === undefined)
204
+ return undefined;
205
+ chosen =
206
+ answer === ""
207
+ ? fallback
208
+ : (choices[Number(answer) - 1] ?? choices.find(({ client }) => client === answer));
209
+ if (chosen === undefined) {
210
+ io.output.write(`Enter a number from 1 to ${choices.length}.\n`);
211
+ }
212
+ }
213
+ if (chosen.path === undefined)
214
+ return { client: chosen.client, write: false };
215
+ for (;;) {
216
+ const answer = await ask(`Write it into ${chosen.path}? [Y/n] `);
217
+ if (answer === undefined)
218
+ return undefined;
219
+ if (["", "y", "yes"].includes(answer))
220
+ return { client: chosen.client, write: true };
221
+ if (["n", "no"].includes(answer))
222
+ return { client: chosen.client, write: false };
223
+ io.output.write("Answer y or n.\n");
224
+ }
225
+ }
226
+ finally {
227
+ rl.close();
228
+ }
229
+ }
230
+ // The checks by level, the level reached, and what it does not prove: the
231
+ // last part is what an operator has to read before quoting the level.
232
+ export function renderConformance(report) {
233
+ const rows = report.checks.map((check) => [
234
+ mark(check.passed ? "pass" : "fail"),
235
+ `L${check.level}`,
236
+ check.name,
237
+ paint.dim(check.detail),
238
+ ]);
239
+ const reached = report.level === 0 ? "no level reached" : report.claim;
240
+ const verdict = report.level >= report.claimed
241
+ ? `${mark("pass")} ${reached}`
242
+ : `${mark("fail")} ${reached}, short of the L${report.claimed} claimed`;
243
+ return [
244
+ paint.bold(`MELRA conformance ${report.suite}`) + paint.dim(` · ${report.mode} mode`),
245
+ "",
246
+ table(rows, { indent: 2 }),
247
+ "",
248
+ `${verdict} ${paint.dim(`(${report.passed} of ${report.of} checks)`)}`,
249
+ ...(report.uncleanedProbeFile === undefined
250
+ ? []
251
+ : ["", `${mark("warn")} probe file left behind: ${report.uncleanedProbeFile}`]),
252
+ "",
253
+ paint.dim("Not proven by this suite:"),
254
+ ...report.notProven.map((item) => paint.dim(` - ${item}`)),
255
+ ].join("\n");
256
+ }
257
+ //# sourceMappingURL=human.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"human.js","sourceRoot":"","sources":["../src/human.ts"],"names":[],"mappings":"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"}