@monoes/monomindcli 2.11.9 → 2.11.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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 +5 -5
package/README.md
CHANGED
|
@@ -96,7 +96,7 @@ Use `monomind init --target codex` (or `--codex`) to initialize only Codex. See
|
|
|
96
96
|
| Concern | Answer |
|
|
97
97
|
|---|---|
|
|
98
98
|
| **License** | [Apache 2.0](LICENSE) — use it however you want |
|
|
99
|
-
| **Data privacy** | Your code and memory store stay local. Monomind does make outbound network calls, all to third-party services — never to a monoes-controlled server: crash reporting
|
|
99
|
+
| **Data privacy** | Your code and memory store stay local. Monomind does make outbound network calls, all to third-party services — never to a monoes-controlled server: crash reporting asks once, the first time an interactive crash happens, whether to file a GitHub issue via the GitHub API (showing the local report path before asking, defaulting to No). Until you've answered, a non-interactive crash — CI, agents, most real runs — never asks and only saves the crash locally; once you've explicitly chosen (`monomind crash-reporting enable`/`disable`), that answer is used every time, interactive or not. `monomind doctor` shows the current state. `security cve` queries the OSV vulnerability database; `update` checks the npm registry for new versions; the embedding model is downloaded from the HuggingFace CDN on first use. Neural pattern export/import (`hooks intelligence export`/`import`) is local-file-only. |
|
|
100
100
|
| **Dependencies** | Standard npm packages (tree-sitter, better-sqlite3, sql.js, zod). tree-sitter and better-sqlite3 are native (prebuilt) Node addons, not pure JS/WASM — sql.js is WASM. No post-install scripts that download code. |
|
|
101
101
|
| **Permissions** | Registers as an MCP server — Claude Code controls what tools are available and prompts you before executing anything sensitive. |
|
|
102
102
|
| **Source** | Fully open. Read every line at [github.com/monoes/monomind](https://github.com/monoes/monomind). |
|
package/bin/cli.js
CHANGED
|
@@ -296,13 +296,20 @@ if (isMCPMode) {
|
|
|
296
296
|
// filesystem paths. Sanitize before logging and exit non-zero.
|
|
297
297
|
const safeMsg = (m) =>
|
|
298
298
|
String(m == null ? '' : m).replace(/[\x00-\x1f\x7f-\x9f]/g, '?').slice(0, 1000);
|
|
299
|
-
// Crash reporting:
|
|
300
|
-
//
|
|
299
|
+
// Crash reporting: asks once whether to file a GitHub issue on
|
|
300
|
+
// monoes/monomind for an interactive crash (`monomind crash-reporting
|
|
301
|
+
// disable`/`enable` to change your answer); a non-interactive crash (CI,
|
|
302
|
+
// agents) always saves locally only and never asks.
|
|
301
303
|
// Bounded so a crash handler can't hang the process indefinitely on a
|
|
302
|
-
// stalled network call — best-effort only, never
|
|
304
|
+
// stalled network call or an unanswered prompt — best-effort only, never
|
|
305
|
+
// blocks exit past 10s. Raised to 30s only when stdin is a TTY, so the
|
|
306
|
+
// consent prompt (itself bounded at 15s, see crash-reporter.ts) has room
|
|
307
|
+
// to be answered; the non-TTY path never prompts, so it keeps the
|
|
308
|
+
// original 10s bound untouched.
|
|
303
309
|
const reportAndExit = async (title, stack) => {
|
|
304
310
|
try {
|
|
305
311
|
const { reportCrash } = await import('../dist/src/services/crash-reporter.js');
|
|
312
|
+
const { getCrashRaceTimeoutMs } = await import('../dist/src/services/crash-race-timeout.js');
|
|
306
313
|
const body = [
|
|
307
314
|
`Uncaught crash in \`monomind\` CLI.`,
|
|
308
315
|
``,
|
|
@@ -312,9 +319,10 @@ if (isMCPMode) {
|
|
|
312
319
|
stack || title,
|
|
313
320
|
'```',
|
|
314
321
|
].join('\n');
|
|
322
|
+
const crashRaceTimeoutMs = getCrashRaceTimeoutMs(Boolean(process.stdin.isTTY));
|
|
315
323
|
const result = await Promise.race([
|
|
316
324
|
reportCrash({ repo: 'monoes/monomind', title: `crash: ${title}`, body }),
|
|
317
|
-
new Promise((resolve) => setTimeout(() => resolve({ status: 'error', message:
|
|
325
|
+
new Promise((resolve) => setTimeout(() => resolve({ status: 'error', message: `crash report timed out after ${crashRaceTimeoutMs / 1000}s` }), crashRaceTimeoutMs)),
|
|
318
326
|
]);
|
|
319
327
|
if (result && result.message) console.error(`[${new Date().toISOString()}] INFO [monomind] crash-report: ${result.message}`);
|
|
320
328
|
} catch {
|
|
@@ -409,12 +417,13 @@ if (isMCPMode) {
|
|
|
409
417
|
// does, so it force-exited every MCP server exactly 5 seconds after it
|
|
410
418
|
// printed "MCP Server started", the detached `--daemon` child included
|
|
411
419
|
// (issue #267). The `-d` parent is excluded: it only spawns that child and
|
|
412
|
-
// must hand the terminal straight back.
|
|
420
|
+
// must hand the terminal straight back. `mcp monoes-proxy` is a stdio MCP
|
|
421
|
+
// server too: without it here, Claude Code saw monoes connect and then fail
|
|
422
|
+
// 5 seconds later.
|
|
413
423
|
const isMcpServerHost =
|
|
414
424
|
cliArgs[0] === 'mcp' &&
|
|
415
|
-
cliArgs[1] === 'start' &&
|
|
416
|
-
|
|
417
|
-
!cliArgs.includes('--daemon');
|
|
425
|
+
((cliArgs[1] === 'start' && !cliArgs.includes('-d') && !cliArgs.includes('--daemon')) ||
|
|
426
|
+
cliArgs[1] === 'monoes-proxy');
|
|
418
427
|
cli.run().then(() => {
|
|
419
428
|
if (!isDaemonChild && !isMcpServerHost) {
|
|
420
429
|
// Do NOT call process.exit() here. See
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `monomind crash-reporting` — opt-out switch for the crash reporter used by
|
|
3
|
-
* monomind, mono-agent, monotask, and mono-clip.
|
|
3
|
+
* monomind, mono-agent, monotask, and mono-clip. You're asked once, on the
|
|
4
|
+
* first interactive crash. Until then, a non-interactive crash (CI, agents)
|
|
5
|
+
* never asks and only saves locally.
|
|
4
6
|
*/
|
|
5
7
|
import type { Command } from '../types.js';
|
|
6
8
|
export declare const crashReportingCommand: Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crash-reporting.d.ts","sourceRoot":"","sources":["../../../src/commands/crash-reporting.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"crash-reporting.d.ts","sourceRoot":"","sources":["../../../src/commands/crash-reporting.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AAgD1E,eAAO,MAAM,qBAAqB,EAAE,OAqBnC,CAAC;eAEa,qBAAqB"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `monomind crash-reporting` — opt-out switch for the crash reporter used by
|
|
3
|
-
* monomind, mono-agent, monotask, and mono-clip.
|
|
3
|
+
* monomind, mono-agent, monotask, and mono-clip. You're asked once, on the
|
|
4
|
+
* first interactive crash. Until then, a non-interactive crash (CI, agents)
|
|
5
|
+
* never asks and only saves locally.
|
|
4
6
|
*/
|
|
5
7
|
import { output } from '../output.js';
|
|
6
|
-
import {
|
|
8
|
+
import { getConsentState, setEnabled } from '../services/crash-reporter.js';
|
|
9
|
+
/** Renders the tri-state consent as a line, so a user who was never asked
|
|
10
|
+
* can't be told "enabled" — a boolean can't distinguish "explicitly on"
|
|
11
|
+
* from "never chosen". */
|
|
12
|
+
function renderState() {
|
|
13
|
+
const state = getConsentState();
|
|
14
|
+
if (state === 'enabled')
|
|
15
|
+
return { state, line: `Crash reporting: ${output.success('enabled')}` };
|
|
16
|
+
if (state === 'disabled')
|
|
17
|
+
return { state, line: `Crash reporting: ${output.warning('disabled')}` };
|
|
18
|
+
return {
|
|
19
|
+
state,
|
|
20
|
+
line: `Crash reporting: ${output.dim('unanswered')} (asked once on your next interactive crash; non-interactive crashes always save locally)`,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
7
23
|
const enableCommand = {
|
|
8
24
|
name: 'enable',
|
|
9
25
|
description: 'Turn crash reporting back on',
|
|
@@ -24,16 +40,16 @@ const disableCommand = {
|
|
|
24
40
|
};
|
|
25
41
|
const statusCommand = {
|
|
26
42
|
name: 'status',
|
|
27
|
-
description: 'Show whether crash reporting is on or
|
|
43
|
+
description: 'Show whether crash reporting is on, off, or unanswered',
|
|
28
44
|
action: async () => {
|
|
29
|
-
const
|
|
30
|
-
output.writeln(
|
|
31
|
-
return { success: true, data: { enabled } };
|
|
45
|
+
const { state, line } = renderState();
|
|
46
|
+
output.writeln(line);
|
|
47
|
+
return { success: true, data: { state, enabled: state === 'enabled' } };
|
|
32
48
|
},
|
|
33
49
|
};
|
|
34
50
|
export const crashReportingCommand = {
|
|
35
51
|
name: 'crash-reporting',
|
|
36
|
-
description: "Enable/disable automatic crash reporting
|
|
52
|
+
description: "Enable/disable automatic crash reporting. When a monoes tool crashes interactively, it asks once whether to file a GitHub issue on the tool's own repo — redacted, deduplicated, and skipped entirely if disabled. Until answered, a non-interactive crash (CI, agents) never asks and only saves locally.",
|
|
37
53
|
subcommands: [enableCommand, disableCommand, statusCommand],
|
|
38
54
|
examples: [
|
|
39
55
|
{
|
|
@@ -46,10 +62,10 @@ export const crashReportingCommand = {
|
|
|
46
62
|
},
|
|
47
63
|
],
|
|
48
64
|
action: async (_ctx) => {
|
|
49
|
-
const
|
|
50
|
-
output.writeln(
|
|
65
|
+
const { state, line } = renderState();
|
|
66
|
+
output.writeln(line);
|
|
51
67
|
output.writeln(output.dim('Use "monomind crash-reporting enable|disable" to change this.'));
|
|
52
|
-
return { success: true, data: { enabled } };
|
|
68
|
+
return { success: true, data: { state, enabled: state === 'enabled' } };
|
|
53
69
|
},
|
|
54
70
|
};
|
|
55
71
|
export default crashReportingCommand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crash-reporting.js","sourceRoot":"","sources":["../../../src/commands/crash-reporting.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"crash-reporting.js","sourceRoot":"","sources":["../../../src/commands/crash-reporting.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG5E;;0BAE0B;AAC1B,SAAS,WAAW;IAClB,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;IACjG,IAAI,KAAK,KAAK,UAAU;QACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;IAC3E,OAAO;QACL,KAAK;QACL,IAAI,EAAE,oBAAoB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,2FAA2F;KAC9I,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAY;IAC7B,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,8BAA8B;IAC3C,MAAM,EAAE,KAAK,IAA4B,EAAE;QACzC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC;AAEF,MAAM,cAAc,GAAY;IAC9B,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAE,KAAK,IAA4B,EAAE;QACzC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,CAAC,YAAY,CACjB,2GAA2G,CAC5G,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC;AAEF,MAAM,aAAa,GAAY;IAC7B,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,wDAAwD;IACrE,MAAM,EAAE,KAAK,IAA4B,EAAE;QACzC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,EAAE,CAAC;IAC1E,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAY;IAC5C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,4SAA4S;IAC9S,WAAW,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC;IAC3D,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,qCAAqC;SACnD;QACD;YACE,OAAO,EAAE,kCAAkC;YAC3C,WAAW,EAAE,sCAAsC;SACpD;KACF;IACD,MAAM,EAAE,KAAK,EAAE,IAAoB,EAA0B,EAAE;QAC7D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAC;QAC5F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,EAAE,CAAC;IAC1E,CAAC;CACF,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -23,5 +23,14 @@ export declare function checkDiskSpace(): Promise<HealthCheck>;
|
|
|
23
23
|
export declare function checkBuildTools(): Promise<HealthCheck>;
|
|
24
24
|
export declare function checkVersionFreshness(): Promise<HealthCheck>;
|
|
25
25
|
export declare function checkClaudeCode(): Promise<HealthCheck>;
|
|
26
|
+
/**
|
|
27
|
+
* i-055-cli: crash reporting had no in-product surfacing at all, and its
|
|
28
|
+
* opt-out command (`monomind crash-reporting disable`) is undiscoverable
|
|
29
|
+
* without this — `doctor` must state the current state and the exact
|
|
30
|
+
* command to change it. Registered in doctor.ts's alwaysOnChecks and
|
|
31
|
+
* componentMap (deferred until i-066 released that registry — see
|
|
32
|
+
* i-055-doctor-followup).
|
|
33
|
+
*/
|
|
34
|
+
export declare function checkCrashReporting(): Promise<HealthCheck>;
|
|
26
35
|
export declare function installClaudeCode(): Promise<boolean>;
|
|
27
36
|
//# sourceMappingURL=doctor-env-checks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-env-checks.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor-env-checks.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"doctor-env-checks.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor-env-checks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,eAAO,MAAM,oBAAoB,QAAc,CAAC;AAChD,eAAO,MAAM,uBAAuB,QAAmB,CAAC;AACxD,eAAO,MAAM,0BAA0B,QAAa,CAAC;AACrD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,uBAAuB,QAAkB,CAAC;AACvD,eAAO,MAAM,+BAA+B,QAAY,CAAC;AAIzD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CASnF;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC,CAwB7D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAyC5D;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAYrD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAYzD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CA+B3D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CA6B5D;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,CAuFlE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAa5D;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,CAwBhE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAY1D"}
|
|
@@ -8,6 +8,7 @@ import { dirname, join } from 'node:path';
|
|
|
8
8
|
import { fileURLToPath } from 'node:url';
|
|
9
9
|
import { promisify } from 'node:util';
|
|
10
10
|
import { output } from '../output.js';
|
|
11
|
+
import { getConsentState } from '../services/crash-reporter.js';
|
|
11
12
|
export const MAX_DOCTOR_PKG_BYTES = 1024 * 1024; // 1 MB
|
|
12
13
|
export const MAX_DOCTOR_CONFIG_BYTES = 10 * 1024 * 1024; // 10 MB
|
|
13
14
|
export const MAX_DOCTOR_GITIGNORE_BYTES = 512 * 1024; // 512 KB
|
|
@@ -288,6 +289,36 @@ export async function checkClaudeCode() {
|
|
|
288
289
|
};
|
|
289
290
|
}
|
|
290
291
|
}
|
|
292
|
+
/**
|
|
293
|
+
* i-055-cli: crash reporting had no in-product surfacing at all, and its
|
|
294
|
+
* opt-out command (`monomind crash-reporting disable`) is undiscoverable
|
|
295
|
+
* without this — `doctor` must state the current state and the exact
|
|
296
|
+
* command to change it. Registered in doctor.ts's alwaysOnChecks and
|
|
297
|
+
* componentMap (deferred until i-066 released that registry — see
|
|
298
|
+
* i-055-doctor-followup).
|
|
299
|
+
*/
|
|
300
|
+
export async function checkCrashReporting() {
|
|
301
|
+
const state = getConsentState();
|
|
302
|
+
if (state === 'enabled') {
|
|
303
|
+
return {
|
|
304
|
+
name: 'Crash Reporting',
|
|
305
|
+
status: 'pass',
|
|
306
|
+
message: 'enabled — crashes are filed as public GitHub issues on monoes/monomind. Change with: monomind crash-reporting disable',
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
if (state === 'disabled') {
|
|
310
|
+
return {
|
|
311
|
+
name: 'Crash Reporting',
|
|
312
|
+
status: 'pass',
|
|
313
|
+
message: 'disabled — crashes are neither filed nor saved. Change with: monomind crash-reporting enable',
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
return {
|
|
317
|
+
name: 'Crash Reporting',
|
|
318
|
+
status: 'info',
|
|
319
|
+
message: "unanswered — you'll be asked on your next interactive crash; until then, a non-interactive crash (CI, agents) never asks and only saves locally. Change with: monomind crash-reporting enable or monomind crash-reporting disable",
|
|
320
|
+
};
|
|
321
|
+
}
|
|
291
322
|
export async function installClaudeCode() {
|
|
292
323
|
try {
|
|
293
324
|
output.writeln();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-env-checks.js","sourceRoot":"","sources":["../../../src/commands/doctor-env-checks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor-env-checks.js","sourceRoot":"","sources":["../../../src/commands/doctor-env-checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,17 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { HealthCheck } from './doctor-env-checks.js';
|
|
10
10
|
export declare function checkMonoesTools(): Promise<HealthCheck>;
|
|
11
|
+
/**
|
|
12
|
+
* i-066: verifies the monoes.me OAuth token isn't exposed to git — neither
|
|
13
|
+
* as a literal bearer value still sitting in `.mcp.json` (pre-fix state, or
|
|
14
|
+
* hand-edited back in) nor as an untracked-but-unprotected or git-tracked
|
|
15
|
+
* `monoes-connection.json`.
|
|
16
|
+
*
|
|
17
|
+
* Deliberately reports PRESENCE only, never the token VALUE — a doctor
|
|
18
|
+
* check that echoed the offending line would re-leak the secret into
|
|
19
|
+
* terminal scrollback and CI logs, exactly the places people paste from
|
|
20
|
+
* when asking for help.
|
|
21
|
+
*/
|
|
22
|
+
export declare function checkMonoesTokenExposure(): Promise<HealthCheck>;
|
|
11
23
|
export declare function fixMonoesTools(): Promise<boolean>;
|
|
12
24
|
//# sourceMappingURL=doctor-monoes-checks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-monoes-checks.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor-monoes-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"doctor-monoes-checks.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor-monoes-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAoK1D,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC,CAuB7D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,WAAW,CAAC,CAyFrE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CA8BvD"}
|
|
@@ -7,9 +7,50 @@
|
|
|
7
7
|
* issues discovered while installing them via /monoes:install.
|
|
8
8
|
*/
|
|
9
9
|
import { execSync } from 'node:child_process';
|
|
10
|
-
import { existsSync } from 'node:fs';
|
|
10
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
11
|
+
import { join } from 'node:path';
|
|
11
12
|
import { output } from '../output.js';
|
|
12
13
|
import { runCommand } from './doctor-env-checks.js';
|
|
14
|
+
// i-055 doctor follow-up, finding 4b (revised per review finding 13): fixed
|
|
15
|
+
// literals only, no interpolation — a caught error or token value must
|
|
16
|
+
// never reach either of these (see checkMonoesTokenExposure() below for
|
|
17
|
+
// how they're selected). Keyed on WHAT WAS FOUND, not on whether a
|
|
18
|
+
// connection file happens to exist: a literal bearer token sitting in a
|
|
19
|
+
// (possibly team-committed) .mcp.json is a real credential exposure
|
|
20
|
+
// regardless of whether THIS user has ever connected — "they never used
|
|
21
|
+
// Disconnect -> Connect" is irrelevant to whether the token itself must be
|
|
22
|
+
// revoked. REVOKE_LINE therefore applies to every failure; DISCONNECT_LINE
|
|
23
|
+
// is additive, only when an actual connection file was found flagged by
|
|
24
|
+
// git (there's a live app connection to disconnect from). There is
|
|
25
|
+
// deliberately no "your connection file is unreadable" sentence — this
|
|
26
|
+
// function never reads that file's content at all (only existsSync plus
|
|
27
|
+
// git tracked/ignored status), so it can never truthfully claim that.
|
|
28
|
+
const REVOKE_LINE = 'Treat this token as compromised: revoke it at https://monoes.me (Settings -> Connected apps). If it reached git history, rewriting the file does not remove it.';
|
|
29
|
+
const DISCONNECT_LINE = 'Run `monomind ui`, then monoes.me -> Disconnect -> Connect.';
|
|
30
|
+
/**
|
|
31
|
+
* True if `.mcp.json`'s raw text contains a literal bearer token, checked
|
|
32
|
+
* at the specific path this item's writers ever wrote one
|
|
33
|
+
* (`mcpServers.monoes.headers.Authorization`) rather than a whole-file
|
|
34
|
+
* regex. i-066 reviewer finding 6: a whole-file scan trips on any other MCP
|
|
35
|
+
* server the project has configured with an unrelated bearer header, and
|
|
36
|
+
* claims a hit at a JSON key it never actually looked at. Falls back to the
|
|
37
|
+
* raw regex only when the file fails to parse (a hand-corrupted file
|
|
38
|
+
* shouldn't silently hide a real leak). Presence-only either way — the
|
|
39
|
+
* value itself is never read into a variable that could be logged.
|
|
40
|
+
* Deliberately duplicated rather than imported from
|
|
41
|
+
* mcp/monoes-mcp-entry.mjs's identical `_hasLegacyBearerEntry` — two call
|
|
42
|
+
* sites is not a shared abstraction (dev-lead, i-066 plan §3.6).
|
|
43
|
+
*/
|
|
44
|
+
function hasLegacyMonoesBearerEntry(raw) {
|
|
45
|
+
try {
|
|
46
|
+
const parsed = JSON.parse(raw);
|
|
47
|
+
const auth = parsed?.mcpServers?.monoes?.headers?.Authorization;
|
|
48
|
+
return typeof auth === 'string' && /^Bearer\s+\S+/.test(auth);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return /"Authorization"\s*:\s*"Bearer\s+[^"]+"/.test(raw);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
13
54
|
async function commandExists(cmd) {
|
|
14
55
|
try {
|
|
15
56
|
await runCommand(`command -v ${cmd}`);
|
|
@@ -139,6 +180,106 @@ export async function checkMonoesTools() {
|
|
|
139
180
|
fix: issues.map((i) => i.fixCommand).join(' | '),
|
|
140
181
|
};
|
|
141
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* i-066: verifies the monoes.me OAuth token isn't exposed to git — neither
|
|
185
|
+
* as a literal bearer value still sitting in `.mcp.json` (pre-fix state, or
|
|
186
|
+
* hand-edited back in) nor as an untracked-but-unprotected or git-tracked
|
|
187
|
+
* `monoes-connection.json`.
|
|
188
|
+
*
|
|
189
|
+
* Deliberately reports PRESENCE only, never the token VALUE — a doctor
|
|
190
|
+
* check that echoed the offending line would re-leak the secret into
|
|
191
|
+
* terminal scrollback and CI logs, exactly the places people paste from
|
|
192
|
+
* when asking for help.
|
|
193
|
+
*/
|
|
194
|
+
export async function checkMonoesTokenExposure() {
|
|
195
|
+
const cwd = process.cwd();
|
|
196
|
+
const issues = [];
|
|
197
|
+
// Tracks WHAT KIND of issue was found, independent of each other, so the
|
|
198
|
+
// closing remediation can be keyed on the actual exposure rather than on
|
|
199
|
+
// an unrelated fact (whether a connection file happens to exist — see
|
|
200
|
+
// review finding 13, which caught the previous version of this function
|
|
201
|
+
// doing exactly that).
|
|
202
|
+
let hasConnectionFileIssue = false;
|
|
203
|
+
const mcpJsonPath = join(cwd, '.mcp.json');
|
|
204
|
+
if (existsSync(mcpJsonPath)) {
|
|
205
|
+
try {
|
|
206
|
+
const raw = readFileSync(mcpJsonPath, 'utf8');
|
|
207
|
+
if (hasLegacyMonoesBearerEntry(raw)) {
|
|
208
|
+
issues.push('.mcp.json contains a literal bearer token');
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
// unreadable — nothing to check
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
const connectionRelPath = '.monomind/monoes-connection.json';
|
|
216
|
+
const connectionPath = join(cwd, connectionRelPath);
|
|
217
|
+
if (existsSync(connectionPath)) {
|
|
218
|
+
// i-066 reviewer finding 5: outside a git work tree, `git check-ignore`
|
|
219
|
+
// and `git ls-files` both exit non-zero for reasons that have nothing
|
|
220
|
+
// to do with exposure (there is no git to leak through at all) — the
|
|
221
|
+
// old code read that as tracked=false, ignored=false and failed a
|
|
222
|
+
// zero-exposure user in a non-git project. Probe for a real work tree
|
|
223
|
+
// first; if there isn't one, this check simply doesn't apply.
|
|
224
|
+
let insideWorkTree = false;
|
|
225
|
+
try {
|
|
226
|
+
await runCommand('git rev-parse --is-inside-work-tree');
|
|
227
|
+
insideWorkTree = true;
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
insideWorkTree = false;
|
|
231
|
+
}
|
|
232
|
+
if (insideWorkTree) {
|
|
233
|
+
let ignored = false;
|
|
234
|
+
try {
|
|
235
|
+
await runCommand(`git check-ignore "${connectionRelPath}"`);
|
|
236
|
+
ignored = true;
|
|
237
|
+
}
|
|
238
|
+
catch {
|
|
239
|
+
ignored = false;
|
|
240
|
+
}
|
|
241
|
+
let tracked = false;
|
|
242
|
+
try {
|
|
243
|
+
await runCommand(`git ls-files --error-unmatch "${connectionRelPath}"`);
|
|
244
|
+
tracked = true;
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
tracked = false;
|
|
248
|
+
}
|
|
249
|
+
if (tracked) {
|
|
250
|
+
issues.push(`${connectionRelPath} is tracked by git — treat the token as compromised`);
|
|
251
|
+
hasConnectionFileIssue = true;
|
|
252
|
+
}
|
|
253
|
+
else if (!ignored) {
|
|
254
|
+
issues.push(`${connectionRelPath} exists but is not covered by .gitignore`);
|
|
255
|
+
hasConnectionFileIssue = true;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
if (issues.length === 0) {
|
|
260
|
+
return {
|
|
261
|
+
name: 'monoes Token Exposure',
|
|
262
|
+
status: 'pass',
|
|
263
|
+
message: 'No monoes.me token exposure detected',
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
// Fixed literals only, never interpolated — this message can reach a
|
|
267
|
+
// terminal or CI log, so it must never echo a caught error or a token
|
|
268
|
+
// value. REVOKE_LINE applies to every failure here: a literal bearer
|
|
269
|
+
// token in .mcp.json is a real credential exposure independent of
|
|
270
|
+
// whether THIS user ever connected (a teammate's commit, an older
|
|
271
|
+
// install, a pulled branch can all put it there) — a token you didn't
|
|
272
|
+
// create and can't rotate yourself is more urgent to escalate, not less.
|
|
273
|
+
// DISCONNECT_LINE is additive, only when an actual connection file was
|
|
274
|
+
// found and flagged by git — that's the only case where there's a live
|
|
275
|
+
// app connection to disconnect from at all.
|
|
276
|
+
const remediation = hasConnectionFileIssue ? `${REVOKE_LINE} ${DISCONNECT_LINE}` : REVOKE_LINE;
|
|
277
|
+
return {
|
|
278
|
+
name: 'monoes Token Exposure',
|
|
279
|
+
status: 'fail',
|
|
280
|
+
message: `${issues.join('; ')}. ${remediation}`,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
142
283
|
export async function fixMonoesTools() {
|
|
143
284
|
output.writeln();
|
|
144
285
|
output.writeln(output.bold('Applying monoes tools fixes...'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-monoes-checks.js","sourceRoot":"","sources":["../../../src/commands/doctor-monoes-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor-monoes-checks.js","sourceRoot":"","sources":["../../../src/commands/doctor-monoes-checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AAyD1E,eAAO,MAAM,aAAa,EAAE,OAqX3B,CAAC;eAEa,aAAa"}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
import * as path from 'node:path';
|
|
8
8
|
import { output } from '../output.js';
|
|
9
9
|
import { runPlatformsDoctor } from '../platform-adapters/operations.js';
|
|
10
|
-
import { checkBuildTools, checkClaudeCode, checkDiskSpace, checkGit, checkGitRepo, checkNodeVersion, checkNpmVersion, checkVersionFreshness, installClaudeCode, } from './doctor-env-checks.js';
|
|
11
|
-
import { checkMonoesTools, fixMonoesTools } from './doctor-monoes-checks.js';
|
|
10
|
+
import { checkBuildTools, checkClaudeCode, checkCrashReporting, checkDiskSpace, checkGit, checkGitRepo, checkNodeVersion, checkNpmVersion, checkVersionFreshness, installClaudeCode, } from './doctor-env-checks.js';
|
|
11
|
+
import { checkMonoesTokenExposure, checkMonoesTools, fixMonoesTools, } from './doctor-monoes-checks.js';
|
|
12
12
|
import { checkNativeBindings } from './doctor-native-checks.js';
|
|
13
13
|
import { checkAgentRegistry, checkApiKeys, checkAppleDoubleSidecars, checkConfigFile, checkDocumentExtractors, checkGitignoreCoverage, checkGuidanceGates, checkHelpersFresh, checkMcpServers, checkMemoryDatabase, checkMemoryKnowledgeGraph, checkMemoryProficiency, checkMetricsFreshness, checkMonoesIntegration, checkMonoesMemory, checkMonograph, checkMonographFreshness, checkSecondBrainModel, checkSecurityAuditFindings, fixAppleDoubleSidecars, fixGitignoreCoverage, fixStaleHelpers, } from './doctor-project-checks.js';
|
|
14
14
|
function formatCheck(check) {
|
|
@@ -42,7 +42,7 @@ export const doctorCommand = {
|
|
|
42
42
|
{
|
|
43
43
|
name: 'component',
|
|
44
44
|
short: 'c',
|
|
45
|
-
description: 'Check specific component (version, node, npm, config, memory, api, git, mcp, claude, disk, typescript, monograph, graph-freshness, memory-pkg, helpers, monoes, gates, gitignore, registry, memory-proficiency, monoes-tools, metrics-freshness, security-audit, documents, platforms)',
|
|
45
|
+
description: 'Check specific component (version, node, npm, config, memory, api, git, mcp, claude, disk, native, typescript, monograph, graph-freshness, memory-pkg, helpers, monoes, gates, gitignore, registry, memory-proficiency, monoes-tools, monoes-token, metrics-freshness, security-audit, documents, platforms, crash-reporting)',
|
|
46
46
|
type: 'string',
|
|
47
47
|
},
|
|
48
48
|
{ name: 'verbose', short: 'v', description: 'Verbose output', type: 'boolean', default: false },
|
|
@@ -116,6 +116,11 @@ export const doctorCommand = {
|
|
|
116
116
|
checkMemoryKnowledgeGraph,
|
|
117
117
|
checkAppleDoubleSidecars,
|
|
118
118
|
checkDocumentExtractors,
|
|
119
|
+
// i-055-cli's consent gate applies to every project regardless of
|
|
120
|
+
// whether it has code (a document/media-only project can still crash
|
|
121
|
+
// and needs to know its crash-reporting state) — alwaysOnChecks, not
|
|
122
|
+
// codeOnlyChecks.
|
|
123
|
+
checkCrashReporting,
|
|
119
124
|
];
|
|
120
125
|
const codeOnlyChecks = [
|
|
121
126
|
checkGitRepo,
|
|
@@ -124,6 +129,7 @@ export const doctorCommand = {
|
|
|
124
129
|
checkBuildTools,
|
|
125
130
|
checkMonographFreshness,
|
|
126
131
|
checkGitignoreCoverage,
|
|
132
|
+
checkMonoesTokenExposure,
|
|
127
133
|
checkPlatforms,
|
|
128
134
|
];
|
|
129
135
|
const allChecks = isCodeProject
|
|
@@ -158,11 +164,13 @@ export const doctorCommand = {
|
|
|
158
164
|
registry: checkAgentRegistry,
|
|
159
165
|
'memory-proficiency': checkMemoryProficiency,
|
|
160
166
|
'monoes-tools': checkMonoesTools,
|
|
167
|
+
'monoes-token': checkMonoesTokenExposure,
|
|
161
168
|
'metrics-freshness': checkMetricsFreshness,
|
|
162
169
|
'security-audit': checkSecurityAuditFindings,
|
|
163
170
|
documents: checkDocumentExtractors,
|
|
164
171
|
'doc-extractors': checkDocumentExtractors,
|
|
165
172
|
platforms: checkPlatforms,
|
|
173
|
+
'crash-reporting': checkCrashReporting,
|
|
166
174
|
};
|
|
167
175
|
if (component && !componentMap[component]) {
|
|
168
176
|
output.writeln(output.error(`Unknown component: "${component}"`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|