@monoes/monomindcli 2.11.9 → 2.11.11
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/skills/mastermind/SKILL.md +13 -0
- package/README.md +1 -1
- package/bin/cli.js +17 -8
- package/dist/src/commands/crash-reporting.d.ts +3 -1
- package/dist/src/commands/crash-reporting.d.ts.map +1 -1
- package/dist/src/commands/crash-reporting.js +26 -10
- package/dist/src/commands/crash-reporting.js.map +1 -1
- package/dist/src/commands/doctor-env-checks.d.ts +9 -0
- package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-env-checks.js +31 -0
- package/dist/src/commands/doctor-env-checks.js.map +1 -1
- package/dist/src/commands/doctor-monoes-checks.d.ts +12 -0
- package/dist/src/commands/doctor-monoes-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-monoes-checks.js +142 -1
- package/dist/src/commands/doctor-monoes-checks.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +11 -3
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/mcp.d.ts.map +1 -1
- package/dist/src/commands/mcp.js +16 -0
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +29 -4
- package/dist/src/commands/org-observe.js.map +1 -1
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +12 -3
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +17 -0
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/mcp-generator.d.ts +2 -7
- package/dist/src/init/mcp-generator.d.ts.map +1 -1
- package/dist/src/init/mcp-generator.js +15 -17
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/write-claude.d.ts.map +1 -1
- package/dist/src/init/write-claude.js +9 -0
- package/dist/src/init/write-claude.js.map +1 -1
- package/dist/src/init/write-runtime-config.d.ts +8 -0
- package/dist/src/init/write-runtime-config.d.ts.map +1 -1
- package/dist/src/init/write-runtime-config.js +69 -14
- package/dist/src/init/write-runtime-config.js.map +1 -1
- package/dist/src/mcp/monoes-mcp-entry.mjs +152 -0
- package/dist/src/mcp/monoes-proxy.d.ts +48 -0
- package/dist/src/mcp/monoes-proxy.d.ts.map +1 -0
- package/dist/src/mcp/monoes-proxy.js +240 -0
- package/dist/src/mcp/monoes-proxy.js.map +1 -0
- package/dist/src/orgrt/completion-gate.d.ts +58 -0
- package/dist/src/orgrt/completion-gate.d.ts.map +1 -0
- package/dist/src/orgrt/completion-gate.js +86 -0
- package/dist/src/orgrt/completion-gate.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +15 -0
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +194 -12
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/file-roots.d.ts +57 -0
- package/dist/src/orgrt/file-roots.d.ts.map +1 -0
- package/dist/src/orgrt/file-roots.js +100 -0
- package/dist/src/orgrt/file-roots.js.map +1 -0
- package/dist/src/orgrt/policy-git.d.ts.map +1 -1
- package/dist/src/orgrt/policy-git.js +122 -4
- package/dist/src/orgrt/policy-git.js.map +1 -1
- package/dist/src/orgrt/policy.d.ts +13 -1
- package/dist/src/orgrt/policy.d.ts.map +1 -1
- package/dist/src/orgrt/policy.js +60 -11
- package/dist/src/orgrt/policy.js.map +1 -1
- package/dist/src/orgrt/reporting.d.ts +56 -0
- package/dist/src/orgrt/reporting.d.ts.map +1 -1
- package/dist/src/orgrt/reporting.js +42 -3
- package/dist/src/orgrt/reporting.js.map +1 -1
- package/dist/src/orgrt/role-sandbox.d.ts.map +1 -1
- package/dist/src/orgrt/role-sandbox.js +19 -49
- package/dist/src/orgrt/role-sandbox.js.map +1 -1
- package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
- package/dist/src/orgrt/scheduler-integration.js +4 -2
- package/dist/src/orgrt/scheduler-integration.js.map +1 -1
- package/dist/src/orgrt/session.d.ts +5 -2
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +51 -7
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/task-dag.d.ts +11 -0
- package/dist/src/orgrt/task-dag.d.ts.map +1 -1
- package/dist/src/orgrt/task-dag.js +19 -0
- package/dist/src/orgrt/task-dag.js.map +1 -1
- package/dist/src/orgrt/types.d.ts +6 -0
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/orgrt/types.js +10 -0
- package/dist/src/orgrt/types.js.map +1 -1
- package/dist/src/prompt.d.ts.map +1 -1
- package/dist/src/prompt.js +14 -0
- package/dist/src/prompt.js.map +1 -1
- package/dist/src/services/crash-consent.d.ts +35 -0
- package/dist/src/services/crash-consent.d.ts.map +1 -0
- package/dist/src/services/crash-consent.js +100 -0
- package/dist/src/services/crash-consent.js.map +1 -0
- package/dist/src/services/crash-lock.d.ts +22 -0
- package/dist/src/services/crash-lock.d.ts.map +1 -0
- package/dist/src/services/crash-lock.js +86 -0
- package/dist/src/services/crash-lock.js.map +1 -0
- package/dist/src/services/crash-race-timeout.d.ts +13 -0
- package/dist/src/services/crash-race-timeout.d.ts.map +1 -0
- package/dist/src/services/crash-race-timeout.js +15 -0
- package/dist/src/services/crash-race-timeout.js.map +1 -0
- package/dist/src/services/crash-reporter.d.ts +12 -4
- package/dist/src/services/crash-reporter.d.ts.map +1 -1
- package/dist/src/services/crash-reporter.js +105 -129
- package/dist/src/services/crash-reporter.js.map +1 -1
- package/dist/src/ui/dashboard.html +122 -0
- package/dist/src/ui/mastermind-diagram-fallback.html +14 -0
- package/dist/src/ui/orgs.html +12 -0
- package/dist/src/ui/routes-monoes.mjs +105 -21
- package/dist/src/utils/redaction.d.ts +17 -0
- package/dist/src/utils/redaction.d.ts.map +1 -1
- package/dist/src/utils/redaction.js +52 -7
- package/dist/src/utils/redaction.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -5,22 +5,15 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import fs from 'node:fs';
|
|
7
7
|
import path from 'node:path';
|
|
8
|
+
// buildMonoesMcpEntry lives in a plain-ESM sibling, not here: routes-monoes.mjs
|
|
9
|
+
// ships as-is with no build step and cannot import compiled TypeScript, so the
|
|
10
|
+
// shape both writers emit has to live somewhere importable by both. Compiled
|
|
11
|
+
// TS *can* import a .mjs sibling (the constraint is one-directional), so this
|
|
12
|
+
// re-export keeps `generateMCPConfig()` and the existing test's
|
|
13
|
+
// `import { buildMonoesMcpEntry } from './mcp-generator.js'` working.
|
|
14
|
+
import { buildMonoesMcpEntry } from '../mcp/monoes-mcp-entry.mjs';
|
|
8
15
|
import { mcpCommand, mcpServerEntry } from '../platform-adapters/renderers/mcp.js';
|
|
9
|
-
|
|
10
|
-
* Build the remote HTTP MCP entry for a connected monoes.me account.
|
|
11
|
-
* Shared by generateMCPConfig() (init-time) and the dashboard's runtime
|
|
12
|
-
* .mcp.json sync (routes-monoes.mjs, plain JS, duplicates this shape since
|
|
13
|
-
* it can't import compiled TS at runtime).
|
|
14
|
-
*/
|
|
15
|
-
export function buildMonoesMcpEntry(accessToken, monoesUrl = 'https://monoes.me/api/mcp') {
|
|
16
|
-
return {
|
|
17
|
-
type: 'http',
|
|
18
|
-
url: monoesUrl,
|
|
19
|
-
headers: {
|
|
20
|
-
Authorization: `Bearer ${accessToken}`,
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
}
|
|
16
|
+
export { buildMonoesMcpEntry };
|
|
24
17
|
/**
|
|
25
18
|
* Generate MCP configuration
|
|
26
19
|
*/
|
|
@@ -45,12 +38,17 @@ export function generateMCPConfig(options) {
|
|
|
45
38
|
// Available as mcp__monomind__monograph_build, monograph_query, monograph_suggest, monograph_health.
|
|
46
39
|
// No separate server needed — the monomind entry above provides all monograph tools.
|
|
47
40
|
// If this project already has a monoes.me connection (e.g. re-running init
|
|
48
|
-
// after connecting via the dashboard), carry the entry forward
|
|
41
|
+
// after connecting via the dashboard), carry the entry forward — gated on
|
|
42
|
+
// the connection *existing*, never on reading its accessToken into the
|
|
43
|
+
// returned config (buildMonoesMcpEntry takes no token at all: see
|
|
44
|
+
// mcp/monoes-mcp-entry.mjs). A never-connected project gets no entry —
|
|
45
|
+
// one that's guaranteed to fail on every MCP startup would be worse than
|
|
46
|
+
// absent (the proxy has nothing to authenticate with).
|
|
49
47
|
try {
|
|
50
48
|
const connectionFile = path.join(options.targetDir, '.monomind', 'monoes-connection.json');
|
|
51
49
|
const conn = JSON.parse(fs.readFileSync(connectionFile, 'utf8'));
|
|
52
50
|
if (conn?.accessToken) {
|
|
53
|
-
mcpServers.monoes = buildMonoesMcpEntry(
|
|
51
|
+
mcpServers.monoes = buildMonoesMcpEntry();
|
|
54
52
|
}
|
|
55
53
|
}
|
|
56
54
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-generator.js","sourceRoot":"","sources":["../../../src/init/mcp-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,
|
|
1
|
+
{"version":3,"file":"mcp-generator.js","sourceRoot":"","sources":["../../../src/init/mcp-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-claude.d.ts","sourceRoot":"","sources":["../../../src/init/write-claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAe1D;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Ef;AA+JD;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"write-claude.d.ts","sourceRoot":"","sources":["../../../src/init/write-claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAe1D;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Ef;AA+JD;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Ff;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED;;GAEG;AAEH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
|
|
@@ -221,6 +221,15 @@ function mergeEventGroupsPreservingOrder(existingGroups, generatedGroups) {
|
|
|
221
221
|
*/
|
|
222
222
|
export async function writeMCPConfig(targetDir, options, result) {
|
|
223
223
|
const mcpPath = path.join(targetDir, '.mcp.json');
|
|
224
|
+
// i-066 follow-up finding 9: the already-leaked-token check used to live
|
|
225
|
+
// here (round 3), but this function only runs when
|
|
226
|
+
// options.components.mcp is set, which is FALSE on several documented
|
|
227
|
+
// init paths (`--target codex`, `--target opencode`/`kimicode` without
|
|
228
|
+
// claude, skipClaude) — silently dropping the check for a whole class of
|
|
229
|
+
// runs. Hoisted to executor.ts, once, ahead of every component block, so
|
|
230
|
+
// it runs regardless of which components are selected. See executor.ts
|
|
231
|
+
// for the ordering rationale (still ahead of this and every other
|
|
232
|
+
// .mcp.json write, satisfying finding U5).
|
|
224
233
|
if (fs.existsSync(mcpPath) && !options.force) {
|
|
225
234
|
result.skipped.push('.mcp.json');
|
|
226
235
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-claude.js","sourceRoot":"","sources":["../../../src/init/write-claude.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"write-claude.js","sourceRoot":"","sources":["../../../src/init/write-claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
* Runtime configuration writers: .monomind/config.yaml, initial metrics files.
|
|
3
3
|
*/
|
|
4
4
|
import type { InitOptions, InitResult } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Replacement list for a project-root `.gitignore`'s blanket `.monomind/`
|
|
7
|
+
* line — see the `replacementIsBlanketEquivalent` guard below. Exported
|
|
8
|
+
* (not just a local const) so its "contains no blanket-shaped entry" claim
|
|
9
|
+
* is a directly testable invariant rather than only a comment (i-066
|
|
10
|
+
* reviewer, "Plus one addition").
|
|
11
|
+
*/
|
|
12
|
+
export declare const MONOMIND_GITIGNORE_SPECIFIC_EXCLUDES: string[];
|
|
5
13
|
/**
|
|
6
14
|
* Write runtime configuration (.monomind/)
|
|
7
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-runtime-config.d.ts","sourceRoot":"","sources":["../../../src/init/write-runtime-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG1D;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"write-runtime-config.d.ts","sourceRoot":"","sources":["../../../src/init/write-runtime-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG1D;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,UAWhD,CAAC;AAQF;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CA6If;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Gf"}
|
|
@@ -5,6 +5,30 @@ import * as fs from 'node:fs';
|
|
|
5
5
|
import * as path from 'node:path';
|
|
6
6
|
import { atomicWriteFile, MAX_EXEC_FILE_BYTES, writeGeneratedFile } from './shared.js';
|
|
7
7
|
import { writeCapabilitiesDoc } from './write-capabilities.js';
|
|
8
|
+
/**
|
|
9
|
+
* Replacement list for a project-root `.gitignore`'s blanket `.monomind/`
|
|
10
|
+
* line — see the `replacementIsBlanketEquivalent` guard below. Exported
|
|
11
|
+
* (not just a local const) so its "contains no blanket-shaped entry" claim
|
|
12
|
+
* is a directly testable invariant rather than only a comment (i-066
|
|
13
|
+
* reviewer, "Plus one addition").
|
|
14
|
+
*/
|
|
15
|
+
export const MONOMIND_GITIGNORE_SPECIFIC_EXCLUDES = [
|
|
16
|
+
'# monomind runtime — exclude sensitive and machine-specific data',
|
|
17
|
+
'.monomind/sessions/',
|
|
18
|
+
'.monomind/security/',
|
|
19
|
+
'.monomind/*.tmp',
|
|
20
|
+
'.monomind/*.log',
|
|
21
|
+
'.monomind/daemon.pid',
|
|
22
|
+
'.monomind/*.db',
|
|
23
|
+
'.monomind/*.db-wal',
|
|
24
|
+
'.monomind/*.db-shm',
|
|
25
|
+
'.monomind/monoes-connection.json',
|
|
26
|
+
];
|
|
27
|
+
/** The line the generated `.monomind/.gitignore` needs to cover the
|
|
28
|
+
* monoes.me refresh token — kept as one constant so the "does the existing
|
|
29
|
+
* file already cover it" check and the line we'd append can never drift
|
|
30
|
+
* from each other. */
|
|
31
|
+
const MONOES_CONNECTION_GITIGNORE_LINE = 'monoes-connection.json';
|
|
8
32
|
/**
|
|
9
33
|
* Write runtime configuration (.monomind/)
|
|
10
34
|
*/
|
|
@@ -69,39 +93,70 @@ daemon.pid
|
|
|
69
93
|
*.token
|
|
70
94
|
*.secret
|
|
71
95
|
.env
|
|
96
|
+
# monoes.me OAuth refresh token (i-066) — must never be committed
|
|
97
|
+
monoes-connection.json
|
|
72
98
|
`;
|
|
73
99
|
if (!fs.existsSync(gitignorePath) || options.force) {
|
|
74
100
|
atomicWriteFile(gitignorePath, gitignore);
|
|
75
101
|
result.created.files.push('.monomind/.gitignore');
|
|
76
102
|
}
|
|
103
|
+
else {
|
|
104
|
+
// i-066 reviewer finding 3: a project inited BEFORE this fix — every
|
|
105
|
+
// project that could hold a monoes.me token, since you have to have
|
|
106
|
+
// connected to have one — keeps its old .monomind/.gitignore forever
|
|
107
|
+
// unless --force is passed, and none of that file's original patterns
|
|
108
|
+
// (*.key, *.token, *.secret, .env) match a file literally named
|
|
109
|
+
// monoes-connection.json. Make the fix additive: append the missing
|
|
110
|
+
// coverage line even on a non-forced re-init, content-guarded so a
|
|
111
|
+
// second run is a no-op.
|
|
112
|
+
const existingGitignore = fs.readFileSync(gitignorePath, 'utf-8');
|
|
113
|
+
const alreadyCovered = existingGitignore
|
|
114
|
+
.split('\n')
|
|
115
|
+
.some((line) => line.trim() === MONOES_CONNECTION_GITIGNORE_LINE);
|
|
116
|
+
if (!alreadyCovered) {
|
|
117
|
+
atomicWriteFile(gitignorePath, `${existingGitignore.trimEnd()}\n# monoes.me OAuth refresh token (i-066) — must never be committed\n${MONOES_CONNECTION_GITIGNORE_LINE}\n`);
|
|
118
|
+
result.updated.push('.monomind/.gitignore (added monoes-connection.json coverage)');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
77
121
|
// Ensure the project-level .gitignore does NOT blanket-ignore .monomind/
|
|
78
122
|
// A blanket ignore prevents config, metrics, and knowledge graph from being committed.
|
|
79
|
-
// We remove any bare `.monomind/` or `**/.monomind/` lines and add specific excludes instead
|
|
123
|
+
// We remove any bare `.monomind/` or `**/.monomind/` lines and add specific excludes instead —
|
|
124
|
+
// i-066: but ONLY when the replacement is a strict superset of what the
|
|
125
|
+
// blanket line already covered. A blanket `.monomind/` ignores every
|
|
126
|
+
// current and future path under the directory; a finite specific list can
|
|
127
|
+
// never be a superset of that (unless it also contains a blanket-shaped
|
|
128
|
+
// entry itself), so with today's list this never fires — the user's
|
|
129
|
+
// existing blanket coverage is left alone rather than narrowed. This was
|
|
130
|
+
// the actual regression: the old unconditional strip could uncover
|
|
131
|
+
// .monomind/monoes-connection.json (the monoes.me refresh token) for any
|
|
132
|
+
// user who had sensibly blanket-ignored .monomind/.
|
|
80
133
|
const projectGitignorePath = path.join(targetDir, '.gitignore');
|
|
81
134
|
if (fs.existsSync(projectGitignorePath) &&
|
|
82
135
|
fs.statSync(projectGitignorePath).size <= MAX_EXEC_FILE_BYTES) {
|
|
83
136
|
const existing = fs.readFileSync(projectGitignorePath, 'utf-8');
|
|
84
137
|
const blanketPattern = /^(\*\*\/)?\.monomind\/?\s*$/gm;
|
|
85
|
-
|
|
138
|
+
const specificExcludes = MONOMIND_GITIGNORE_SPECIFIC_EXCLUDES;
|
|
139
|
+
const replacementIsBlanketEquivalent = specificExcludes.some((line) => /^\.monomind\/\*{1,2}\/?$/.test(line.trim()));
|
|
140
|
+
if (blanketPattern.test(existing) && replacementIsBlanketEquivalent) {
|
|
86
141
|
const fixed = existing
|
|
87
142
|
.split('\n')
|
|
88
143
|
.filter((line) => !/^(\*\*\/)?\.monomind\/?\s*$/.test(line))
|
|
89
144
|
.join('\n');
|
|
90
|
-
|
|
91
|
-
'# monomind runtime — exclude sensitive and machine-specific data',
|
|
92
|
-
'.monomind/sessions/',
|
|
93
|
-
'.monomind/security/',
|
|
94
|
-
'.monomind/*.tmp',
|
|
95
|
-
'.monomind/*.log',
|
|
96
|
-
'.monomind/daemon.pid',
|
|
97
|
-
'.monomind/*.db',
|
|
98
|
-
'.monomind/*.db-wal',
|
|
99
|
-
'.monomind/*.db-shm',
|
|
100
|
-
].join('\n');
|
|
101
|
-
atomicWriteFile(projectGitignorePath, `${fixed.trimEnd()}\n${specificExcludes}\n`);
|
|
145
|
+
atomicWriteFile(projectGitignorePath, `${fixed.trimEnd()}\n${specificExcludes.join('\n')}\n`);
|
|
102
146
|
result.updated.push('.gitignore (replaced blanket .monomind/ ignore with specific excludes)');
|
|
103
147
|
}
|
|
104
148
|
}
|
|
149
|
+
// i-066 §3.5 leak warning: not here, and not in write-claude.ts's
|
|
150
|
+
// writeMCPConfig() either anymore (follow-up finding 9 [MAJOR]). It now
|
|
151
|
+
// lives in executor.ts, unconditionally, ahead of every component block —
|
|
152
|
+
// not because it runs "before writeMCPConfig" (an ordering between two
|
|
153
|
+
// conditional calls, which is exactly the assumption that produced
|
|
154
|
+
// finding 9: writeMCPConfig only runs when options.components.mcp is
|
|
155
|
+
// set, so an ordering claim relative to it is false on any run where
|
|
156
|
+
// that flag is off). The true property is that the check runs before any
|
|
157
|
+
// component block, regardless of which components are selected, so it
|
|
158
|
+
// still sees every leaked .mcp.json before anything in this function's
|
|
159
|
+
// family could migrate or overwrite it. See executor.ts:188.
|
|
105
160
|
// Write CAPABILITIES.md with full system overview
|
|
106
161
|
await writeCapabilitiesDoc(targetDir, options, result);
|
|
107
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-runtime-config.js","sourceRoot":"","sources":["../../../src/init/write-runtime-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,OAAoB,EACpB,MAAkB;IAElB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAEpE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG;eACF,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;cAKzB,OAAO,CAAC,OAAO,CAAC,QAAQ;eACvB,OAAO,CAAC,OAAO,CAAC,SAAS;;;;;aAK3B,OAAO,CAAC,OAAO,CAAC,aAAa;;;;;eAK3B,OAAO,CAAC,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY;;;;;eAKpE,OAAO,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI;;;;aAI3C,OAAO,CAAC,OAAO,CAAC,YAAY;;;;;;;;eAQ1B,OAAO,CAAC,GAAG,CAAC,SAAS;UAC1B,OAAO,CAAC,GAAG,CAAC,IAAI;CACzB,CAAC;IAEA,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAEnD,uFAAuF;IACvF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"write-runtime-config.js","sourceRoot":"","sources":["../../../src/init/write-runtime-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared shape + leak-detection for the monoes.me `.mcp.json` entry.
|
|
3
|
+
*
|
|
4
|
+
* Plain ESM (not TypeScript) on purpose: `ui/routes-monoes.mjs` ships as-is
|
|
5
|
+
* with no build step and cannot import compiled TypeScript, so this module
|
|
6
|
+
* has to be importable by both it and `init/mcp-generator.ts` (compiled TS
|
|
7
|
+
* *can* import a `.mjs` sibling — the constraint is one-directional).
|
|
8
|
+
*
|
|
9
|
+
* i-066: the monoes.me OAuth access token must never be written into the
|
|
10
|
+
* project's `.mcp.json`. `buildMonoesMcpEntry()` therefore takes no token —
|
|
11
|
+
* removing the parameter is a stronger guarantee than centralizing a shared
|
|
12
|
+
* helper that still accepts one, because there is then nothing for a future
|
|
13
|
+
* third writer to leak. The entry is a local stdio proxy
|
|
14
|
+
* (`mcp/monoes-proxy.ts`) that resolves the Authorization header itself, at
|
|
15
|
+
* request time, from the existing refresh-aware `getValidMonoesToken()`.
|
|
16
|
+
*/
|
|
17
|
+
import { execFile } from 'node:child_process';
|
|
18
|
+
import fs from 'node:fs';
|
|
19
|
+
import path from 'node:path';
|
|
20
|
+
import { promisify } from 'node:util';
|
|
21
|
+
|
|
22
|
+
// Deliberately NOT `promisify(execFile)` at module scope: several existing
|
|
23
|
+
// init tests (init-e2e.test.ts and friends) `vi.mock('child_process', ...)`
|
|
24
|
+
// with a fixed, explicit export list that predates this module and has no
|
|
25
|
+
// reason to know about it. `promisify()` requires its argument to already
|
|
26
|
+
// be a function, so evaluating it eagerly at import time throws the instant
|
|
27
|
+
// any such mock is active — breaking module load for every test that
|
|
28
|
+
// merely imports this file transitively, even ones that never touch the
|
|
29
|
+
// git check. Deferred to a lazy getter so only an actual call pays for it.
|
|
30
|
+
let _execFileAsync;
|
|
31
|
+
function execFileAsync(...args) {
|
|
32
|
+
_execFileAsync ??= promisify(execFile);
|
|
33
|
+
return _execFileAsync(...args);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Build the `monoes` MCP server entry: a local stdio command, never a
|
|
38
|
+
* remote `type: 'http'` entry with an embedded bearer header.
|
|
39
|
+
*
|
|
40
|
+
* i-066 reviewer finding 1: `npx` on win32 is a `.cmd` shim that cannot be
|
|
41
|
+
* spawned directly (ENOENT) — mirrors the identical branch in
|
|
42
|
+
* `platform-adapters/renderers/mcp.ts`'s `mcpCommand()`, which exists for
|
|
43
|
+
* exactly this reason. `os` is a parameter (not read from `process.platform`
|
|
44
|
+
* internally) for the same reason `mcpServerEntry()` already takes one: it
|
|
45
|
+
* makes the win32 shape testable without running on Windows.
|
|
46
|
+
* @param {string} [monoesUrl] - Override for the monoes.me base URL the
|
|
47
|
+
* proxy talks to (propagated via env so the proxy doesn't need its own
|
|
48
|
+
* flag). Omit to let the proxy use its own default (https://monoes.me).
|
|
49
|
+
* @param {NodeJS.Platform} [os] - Defaults to process.platform.
|
|
50
|
+
*/
|
|
51
|
+
export function buildMonoesMcpEntry(monoesUrl, os = process.platform) {
|
|
52
|
+
const env = {};
|
|
53
|
+
if (monoesUrl) env.MONOMIND_MONOES_URL = monoesUrl;
|
|
54
|
+
const baseCommand = ['npx', '-y', 'monomind@latest', 'mcp', 'monoes-proxy'];
|
|
55
|
+
const command = os === 'win32' ? ['cmd', '/c', ...baseCommand] : baseCommand;
|
|
56
|
+
const [executable, ...args] = command;
|
|
57
|
+
return { command: executable, args, env };
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* True if `.mcp.json`'s raw text contains a literal bearer token — checked
|
|
62
|
+
* at the specific path this item's writers ever wrote one
|
|
63
|
+
* (`mcpServers.monoes.headers.Authorization`), not a whole-file scan.
|
|
64
|
+
* i-066 reviewer finding 6: a whole-file regex trips on ANY other MCP
|
|
65
|
+
* server the project has configured with an unrelated bearer header. Falls
|
|
66
|
+
* back to the raw regex only when the file fails to parse as JSON (a
|
|
67
|
+
* hand-corrupted file shouldn't silently hide a real leak from this check).
|
|
68
|
+
* Presence-only either way — the value itself is never read into a variable
|
|
69
|
+
* that could be logged.
|
|
70
|
+
* @param {string} raw
|
|
71
|
+
* @returns {boolean}
|
|
72
|
+
*/
|
|
73
|
+
function _hasLegacyBearerEntry(raw) {
|
|
74
|
+
try {
|
|
75
|
+
const parsed = JSON.parse(raw);
|
|
76
|
+
const auth = parsed?.mcpServers?.monoes?.headers?.Authorization;
|
|
77
|
+
return typeof auth === 'string' && /^Bearer\s+\S+/.test(auth);
|
|
78
|
+
} catch {
|
|
79
|
+
return /"Authorization"\s*:\s*"Bearer\s+[^"]+"/.test(raw);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Detects whether a project already leaked (or is currently leaking) the
|
|
85
|
+
* monoes.me token — either a literal bearer value still sitting in
|
|
86
|
+
* `.mcp.json` (pre-fix state, or hand-edited back in), or the refresh token
|
|
87
|
+
* file being tracked by git. Returns human-readable reasons that name the
|
|
88
|
+
* file but never the secret value itself — callers must not print anything
|
|
89
|
+
* else about the match (see doc comment on formatMonoesLeakWarning).
|
|
90
|
+
* Async: the git check shells out (see i-066 reviewer finding 4 — callers
|
|
91
|
+
* on a hot path, like the dashboard's status poll, should throttle calls to
|
|
92
|
+
* this rather than call it per-request; this function itself does not
|
|
93
|
+
* cache, since it's also called once at `monomind init` where caching would
|
|
94
|
+
* be meaningless).
|
|
95
|
+
* @param {string} projectDir
|
|
96
|
+
* @returns {Promise<string[]>}
|
|
97
|
+
*/
|
|
98
|
+
export async function detectMonoesTokenLeak(projectDir) {
|
|
99
|
+
const reasons = [];
|
|
100
|
+
|
|
101
|
+
const mcpJsonPath = path.join(projectDir, '.mcp.json');
|
|
102
|
+
try {
|
|
103
|
+
const raw = fs.readFileSync(mcpJsonPath, 'utf8');
|
|
104
|
+
if (_hasLegacyBearerEntry(raw)) {
|
|
105
|
+
reasons.push(
|
|
106
|
+
`.mcp.json contains a literal bearer token (mcpServers.monoes.headers.Authorization)`,
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
} catch {
|
|
110
|
+
// no .mcp.json, or unreadable — nothing to check
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const connectionRelPath = path.join('.monomind', 'monoes-connection.json');
|
|
114
|
+
const connectionPath = path.join(projectDir, connectionRelPath);
|
|
115
|
+
if (fs.existsSync(connectionPath)) {
|
|
116
|
+
try {
|
|
117
|
+
await execFileAsync('git', ['ls-files', '--error-unmatch', connectionRelPath], {
|
|
118
|
+
cwd: projectDir,
|
|
119
|
+
timeout: 2000,
|
|
120
|
+
});
|
|
121
|
+
// exit 0 => the file is tracked
|
|
122
|
+
reasons.push(`${connectionRelPath} is tracked by git`);
|
|
123
|
+
} catch {
|
|
124
|
+
// non-zero exit (untracked) or git unavailable — not a leak signal
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return reasons;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Formats a loud, one-screen warning for `detectMonoesTokenLeak()` results.
|
|
133
|
+
* Names the file(s) and the remedy; never echoes the token value (there is
|
|
134
|
+
* none available to it — the detector only records presence, see above).
|
|
135
|
+
* @param {string[]} reasons
|
|
136
|
+
* @returns {string|null}
|
|
137
|
+
*/
|
|
138
|
+
export function formatMonoesLeakWarning(reasons) {
|
|
139
|
+
if (reasons.length === 0) return null;
|
|
140
|
+
return [
|
|
141
|
+
'',
|
|
142
|
+
'⚠ ⚠ ⚠ monoes.me token exposure detected — action required ⚠ ⚠ ⚠',
|
|
143
|
+
...reasons.map((r) => ` - ${r}`),
|
|
144
|
+
'',
|
|
145
|
+
'Treat this token as COMPROMISED. If it reached git history, rewriting',
|
|
146
|
+
'the file does NOT remove it — anyone with clone access already has it.',
|
|
147
|
+
'',
|
|
148
|
+
' 1. Revoke the token at https://monoes.me (Settings -> Connected apps)',
|
|
149
|
+
' 2. Reconnect: run `monomind ui`, then monoes.me -> Disconnect -> Connect',
|
|
150
|
+
'',
|
|
151
|
+
].join('\n');
|
|
152
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export type AuthFailureReason = 'not_connected' | 'timeout';
|
|
2
|
+
export type AuthResolution = {
|
|
3
|
+
ok: true;
|
|
4
|
+
headers: Record<string, string>;
|
|
5
|
+
} | {
|
|
6
|
+
ok: false;
|
|
7
|
+
reason: AuthFailureReason;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Resolve MONOMIND_HOME the same way the dashboard server does: explicit
|
|
11
|
+
* env var, else walk up from cwd looking for `.monomind/control.json`,
|
|
12
|
+
* else cwd. Duplicated rather than imported from `ui/server.mjs` — that
|
|
13
|
+
* module boots an entire HTTP server as an import side effect, which is
|
|
14
|
+
* not safe to pull into a stdio MCP process.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveMonomindHome(cwd?: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Resolves a fresh Authorization header at request time. Never throws —
|
|
19
|
+
* every failure (no connection, corrupted connection file, network
|
|
20
|
+
* unreachable, refresh rejected, timeout) collapses to one of two fixed
|
|
21
|
+
* reasons so the underlying error — which could theoretically carry request
|
|
22
|
+
* details — never has to be inspected or surfaced by a caller.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveAuthHeader(monomindHome: string, options?: {
|
|
25
|
+
timeoutMs?: number;
|
|
26
|
+
getToken?: (home: string) => Promise<string | null>;
|
|
27
|
+
}): Promise<AuthResolution>;
|
|
28
|
+
export declare function formatAuthFailureMessage(reason: AuthFailureReason): string;
|
|
29
|
+
/** JSON-RPC messages carried by an SSE body (`data:` lines, events split by a blank line). */
|
|
30
|
+
export declare function parseSseMessages(body: string): unknown[];
|
|
31
|
+
export interface RunProxyOptions {
|
|
32
|
+
cwd?: string;
|
|
33
|
+
monomindHome?: string;
|
|
34
|
+
monoesUrl?: string;
|
|
35
|
+
timeoutMs?: number;
|
|
36
|
+
requestTimeoutMs?: number;
|
|
37
|
+
getToken?: (home: string) => Promise<string | null>;
|
|
38
|
+
stdin?: NodeJS.ReadableStream;
|
|
39
|
+
stdout?: NodeJS.WritableStream;
|
|
40
|
+
stderr?: NodeJS.WritableStream;
|
|
41
|
+
exit?: (code: number) => void;
|
|
42
|
+
fetchImpl?: typeof fetch;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Entry point registered by `commands/mcp.ts`'s `monoes-proxy` subcommand.
|
|
46
|
+
*/
|
|
47
|
+
export declare function runMonoesProxy(options?: RunProxyOptions): Promise<void>;
|
|
48
|
+
//# sourceMappingURL=monoes-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monoes-proxy.d.ts","sourceRoot":"","sources":["../../../src/mcp/monoes-proxy.ts"],"names":[],"mappings":"AAsCA,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,SAAS,CAAC;AAE5D,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC7C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAQvE;AAkBD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAAO,GACxF,OAAO,CAAC,cAAc,CAAC,CAWzB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAM1E;AAED,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAgBxD;AA8ED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEjF"}
|