@monoes/monomindcli 2.0.2 → 2.1.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/.claude/commands/mastermind/runorg.md +4 -0
- package/.claude/helpers/control-start.cjs +50 -5
- package/.claude/helpers/event-logger.cjs +109 -6
- package/.claude/helpers/graphify-freshen.cjs +19 -17
- package/.claude/helpers/handlers/agent-start-handler.cjs +60 -28
- package/.claude/helpers/handlers/capture-handler.cjs +75 -18
- package/.claude/helpers/handlers/edit-handler.cjs +27 -9
- package/.claude/helpers/handlers/gates-handler.cjs +16 -7
- package/.claude/helpers/handlers/loops-status-handler.cjs +1 -1
- package/.claude/helpers/handlers/route-handler.cjs +4 -4
- package/.claude/helpers/handlers/session-handler.cjs +40 -22
- package/.claude/helpers/handlers/session-restore-handler.cjs +0 -12
- package/.claude/helpers/handlers/task-handler.cjs +53 -22
- package/.claude/helpers/hook-handler.cjs +54 -4
- package/.claude/helpers/intelligence.cjs +94 -15
- package/.claude/helpers/session.cjs +6 -1
- package/.claude/helpers/statusline.cjs +10 -10
- package/.claude/helpers/token-tracker.cjs +3 -3
- package/.claude/helpers/utils/agent-registrations.cjs +41 -0
- package/.claude/helpers/utils/fs-helpers.cjs +183 -0
- package/.claude/helpers/utils/micro-agents.cjs +10 -6
- package/.claude/helpers/utils/telemetry.cjs +35 -19
- package/bin/cli.js +10 -1
- package/dist/src/commands/agent-ops.d.ts.map +1 -1
- package/dist/src/commands/agent-ops.js +9 -15
- package/dist/src/commands/agent-ops.js.map +1 -1
- package/dist/src/commands/cleanup.d.ts.map +1 -1
- package/dist/src/commands/cleanup.js +20 -4
- package/dist/src/commands/cleanup.js.map +1 -1
- package/dist/src/commands/completions.d.ts.map +1 -1
- package/dist/src/commands/completions.js +66 -261
- package/dist/src/commands/completions.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +7 -2
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/hooks-workers.d.ts.map +1 -1
- package/dist/src/commands/hooks-workers.js +7 -0
- package/dist/src/commands/hooks-workers.js.map +1 -1
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +3 -0
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/mcp.d.ts.map +1 -1
- package/dist/src/commands/mcp.js +11 -6
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/memory-admin.d.ts.map +1 -1
- package/dist/src/commands/memory-admin.js +12 -6
- package/dist/src/commands/memory-admin.js.map +1 -1
- package/dist/src/commands/memory-transfer.d.ts.map +1 -1
- package/dist/src/commands/memory-transfer.js +6 -13
- package/dist/src/commands/memory-transfer.js.map +1 -1
- package/dist/src/commands/monograph.js +3 -3
- package/dist/src/commands/monograph.js.map +1 -1
- package/dist/src/commands/org.d.ts +3 -1
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +306 -129
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/commands/start.d.ts.map +1 -1
- package/dist/src/commands/start.js +142 -37
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/tokens.d.ts.map +1 -1
- package/dist/src/commands/tokens.js +21 -3
- package/dist/src/commands/tokens.js.map +1 -1
- package/dist/src/config-adapter.d.ts.map +1 -1
- package/dist/src/config-adapter.js +37 -17
- package/dist/src/config-adapter.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +64 -28
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +44 -11
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +63 -49
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/mcp-client.d.ts +8 -3
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +37 -3
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.d.ts.map +1 -1
- package/dist/src/mcp-server.js +8 -2
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts +20 -0
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +10 -5
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/github-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/github-tools.js +30 -8
- package/dist/src/mcp-tools/github-tools.js.map +1 -1
- package/dist/src/mcp-tools/graphify-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/graphify-tools.js +11 -2
- package/dist/src/mcp-tools/graphify-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +51 -34
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/knowledge-tools.js +9 -1
- package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph-compat.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph-compat.js +56 -14
- package/dist/src/mcp-tools/monograph-compat.js.map +1 -1
- package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph-tools.js +65 -43
- package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +6 -4
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +4 -4
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/types.d.ts +20 -0
- package/dist/src/mcp-tools/types.d.ts.map +1 -1
- package/dist/src/mcp-tools/types.js +36 -1
- package/dist/src/mcp-tools/types.js.map +1 -1
- package/dist/src/memory/hnsw-operations.d.ts +13 -1
- package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
- package/dist/src/memory/hnsw-operations.js +66 -14
- package/dist/src/memory/hnsw-operations.js.map +1 -1
- package/dist/src/memory/intelligence.d.ts.map +1 -1
- package/dist/src/memory/intelligence.js +99 -3
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +7 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +20 -0
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/orgrt/broker.d.ts +24 -0
- package/dist/src/orgrt/broker.d.ts.map +1 -0
- package/dist/src/orgrt/broker.js +68 -0
- package/dist/src/orgrt/broker.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +30 -0
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +96 -7
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/forwarder.d.ts +10 -5
- package/dist/src/orgrt/forwarder.d.ts.map +1 -1
- package/dist/src/orgrt/forwarder.js +105 -8
- package/dist/src/orgrt/forwarder.js.map +1 -1
- package/dist/src/orgrt/live.html +56 -0
- package/dist/src/orgrt/provider.d.ts.map +1 -1
- package/dist/src/orgrt/provider.js +1 -0
- package/dist/src/orgrt/provider.js.map +1 -1
- package/dist/src/orgrt/scheduler.d.ts +13 -0
- package/dist/src/orgrt/scheduler.d.ts.map +1 -0
- package/dist/src/orgrt/scheduler.js +48 -0
- package/dist/src/orgrt/scheduler.js.map +1 -0
- package/dist/src/orgrt/server.d.ts +8 -0
- package/dist/src/orgrt/server.d.ts.map +1 -0
- package/dist/src/orgrt/server.js +72 -0
- package/dist/src/orgrt/server.js.map +1 -0
- package/dist/src/orgrt/test-loop.d.ts +12 -0
- package/dist/src/orgrt/test-loop.d.ts.map +1 -0
- package/dist/src/orgrt/test-loop.js +108 -0
- package/dist/src/orgrt/test-loop.js.map +1 -0
- package/dist/src/output.d.ts.map +1 -1
- package/dist/src/output.js +12 -5
- package/dist/src/output.js.map +1 -1
- package/dist/src/parser.d.ts +32 -0
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +130 -5
- package/dist/src/parser.js.map +1 -1
- package/dist/src/routing/embed-worker.js +13 -1
- package/dist/src/routing/embed-worker.js.map +1 -1
- package/dist/src/routing/route-layer-factory.d.ts.map +1 -1
- package/dist/src/routing/route-layer-factory.js +31 -0
- package/dist/src/routing/route-layer-factory.js.map +1 -1
- package/dist/src/services/config-file-manager.d.ts +21 -0
- package/dist/src/services/config-file-manager.d.ts.map +1 -1
- package/dist/src/services/config-file-manager.js +60 -7
- package/dist/src/services/config-file-manager.js.map +1 -1
- package/dist/src/services/crash-reporter.d.ts.map +1 -1
- package/dist/src/services/crash-reporter.js +2 -1
- package/dist/src/services/crash-reporter.js.map +1 -1
- package/dist/src/ui/dashboard.html +40 -40
- package/dist/src/ui/orgs.html +110 -11
- package/dist/src/ui/server.mjs +304 -133
- package/dist/src/utils/input-guards.d.ts +9 -0
- package/dist/src/utils/input-guards.d.ts.map +1 -1
- package/dist/src/utils/input-guards.js +39 -5
- package/dist/src/utils/input-guards.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -2
|
@@ -18,6 +18,15 @@ export interface ValidateInputOpts {
|
|
|
18
18
|
maxLength?: number;
|
|
19
19
|
required?: boolean;
|
|
20
20
|
}
|
|
21
|
+
/** Resolve symlinks so the containment check below can't be bypassed by a
|
|
22
|
+
* link that lexically resolves inside cwd but physically points outside it
|
|
23
|
+
* (e.g. `./link -> /etc`). `realpathSync` requires the full path to exist,
|
|
24
|
+
* which a not-yet-created file (or a symlinked *directory* holding a
|
|
25
|
+
* not-yet-created file) would fail — so walk up to the longest existing
|
|
26
|
+
* ancestor, realpath *that* (resolving any symlink components in it), and
|
|
27
|
+
* re-append the non-existent tail. Falls back to the lexical path only when
|
|
28
|
+
* no ancestor at all can be resolved. */
|
|
29
|
+
export declare function realOrResolved(p: string): string;
|
|
21
30
|
/**
|
|
22
31
|
* Validate and sanitize an input value.
|
|
23
32
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-guards.d.ts","sourceRoot":"","sources":["../../../src/utils/input-guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"input-guards.d.ts","sourceRoot":"","sources":["../../../src/utils/input-guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoDD;;;;;;;yCAOyC;AACzC,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBhD;AAuED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,iBAAiB,GACtB,gBAAgB,CAalB;AAMD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAuChC"}
|
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @module @monomind/cli/utils/input-guards
|
|
10
10
|
*/
|
|
11
|
-
import { resolve, isAbsolute } from 'node:path';
|
|
11
|
+
import { resolve, isAbsolute, relative, dirname, basename } from 'node:path';
|
|
12
12
|
import { cwd } from 'node:process';
|
|
13
|
+
import { realpathSync } from 'node:fs';
|
|
13
14
|
/**
|
|
14
15
|
* Strip C0 and C1 control characters (U+0000–U+001F, U+007F–U+009F)
|
|
15
16
|
* but preserve printable ASCII and extended Unicode.
|
|
@@ -52,6 +53,33 @@ function validateNumber(value, opts) {
|
|
|
52
53
|
}
|
|
53
54
|
return { valid: true, sanitized: String(parsed) };
|
|
54
55
|
}
|
|
56
|
+
/** Resolve symlinks so the containment check below can't be bypassed by a
|
|
57
|
+
* link that lexically resolves inside cwd but physically points outside it
|
|
58
|
+
* (e.g. `./link -> /etc`). `realpathSync` requires the full path to exist,
|
|
59
|
+
* which a not-yet-created file (or a symlinked *directory* holding a
|
|
60
|
+
* not-yet-created file) would fail — so walk up to the longest existing
|
|
61
|
+
* ancestor, realpath *that* (resolving any symlink components in it), and
|
|
62
|
+
* re-append the non-existent tail. Falls back to the lexical path only when
|
|
63
|
+
* no ancestor at all can be resolved. */
|
|
64
|
+
export function realOrResolved(p) {
|
|
65
|
+
let cur = p;
|
|
66
|
+
const tail = [];
|
|
67
|
+
// eslint-disable-next-line no-constant-condition
|
|
68
|
+
for (let i = 0; i < 64; i++) {
|
|
69
|
+
try {
|
|
70
|
+
const real = realpathSync(cur);
|
|
71
|
+
return tail.length ? resolve(real, ...tail.reverse()) : real;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
const parent = dirname(cur);
|
|
75
|
+
if (parent === cur)
|
|
76
|
+
return p; // reached filesystem root, nothing resolvable
|
|
77
|
+
tail.push(basename(cur));
|
|
78
|
+
cur = parent;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return p;
|
|
82
|
+
}
|
|
55
83
|
function validatePath(value, opts) {
|
|
56
84
|
if (typeof value !== 'string') {
|
|
57
85
|
return { valid: false, error: 'Path must be a string' };
|
|
@@ -63,11 +91,17 @@ function validatePath(value, opts) {
|
|
|
63
91
|
if (/(^|[\\/])\.\.($|[\\/])/.test(value)) {
|
|
64
92
|
return { valid: false, error: 'Path must not contain directory traversal (..)' };
|
|
65
93
|
}
|
|
66
|
-
// Reject absolute paths that escape cwd
|
|
94
|
+
// Reject absolute paths that escape cwd. Uses path.relative (platform-correct
|
|
95
|
+
// separator handling — the previous `startsWith(cwd + '/')` hardcoded POSIX
|
|
96
|
+
// '/' and rejected every legitimate path on Windows) plus realpathSync on
|
|
97
|
+
// both sides so a symlink that's lexically inside cwd but physically points
|
|
98
|
+
// outside it is caught too. Mirrors the pattern in
|
|
99
|
+
// src/memory/memory-bridge.ts's getDbPath().
|
|
67
100
|
if (isAbsolute(value)) {
|
|
68
|
-
const cwdPath = cwd();
|
|
69
|
-
const resolved = resolve(value);
|
|
70
|
-
|
|
101
|
+
const cwdPath = realOrResolved(cwd());
|
|
102
|
+
const resolved = realOrResolved(resolve(value));
|
|
103
|
+
const rel = relative(cwdPath, resolved);
|
|
104
|
+
if (rel.startsWith('..') || isAbsolute(rel)) {
|
|
71
105
|
return { valid: false, error: 'Absolute path must not escape the current working directory' };
|
|
72
106
|
}
|
|
73
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-guards.js","sourceRoot":"","sources":["../../../src/utils/input-guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"input-guards.js","sourceRoot":"","sources":["../../../src/utils/input-guards.ts"],"names":[],"mappings":"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"}
|