@monoes/monomindcli 2.11.8 → 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-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +8 -3
- package/dist/src/commands/doctor-project-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/memory/embedding-operations.d.ts.map +1 -1
- package/dist/src/memory/embedding-operations.js +5 -0
- package/dist/src/memory/embedding-operations.js.map +1 -1
- 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 +6 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crash-race-timeout.js","sourceRoot":"","sources":["../../../src/services/crash-race-timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACjC,CAAC"}
|
|
@@ -6,10 +6,20 @@
|
|
|
6
6
|
* from their own panic/recover handlers so redaction, dedup, and GitHub auth
|
|
7
7
|
* logic live in exactly one place instead of being reimplemented per language.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Consent is asked once, on the first interactive crash (a local report path
|
|
10
|
+
* is shown before asking; default answer is No). Until you've answered, a
|
|
11
|
+
* non-interactive crash (CI, agents — most real runs) never asks and only
|
|
12
|
+
* saves locally, never filing. Once you've explicitly chosen — via the
|
|
13
|
+
* prompt or `monomind crash-reporting enable`/`disable` — that answer is
|
|
14
|
+
* used every time, interactive or not; `monomind crash-reporting status`
|
|
15
|
+
* shows the current state.
|
|
16
|
+
*
|
|
17
|
+
* Consent state and the interactive prompt live in ./crash-consent.ts; the
|
|
18
|
+
* advisory lock around the ledger lives in ./crash-lock.ts.
|
|
11
19
|
*/
|
|
12
20
|
import { redact } from '../utils/redaction.js';
|
|
21
|
+
export type { ConsentState } from './crash-consent.js';
|
|
22
|
+
export { getConsentState, setEnabled } from './crash-consent.js';
|
|
13
23
|
export interface CrashReportInput {
|
|
14
24
|
/** e.g. "monoes/monomind", "monoes/mono-agent" */
|
|
15
25
|
repo: string;
|
|
@@ -24,8 +34,6 @@ export interface CrashReportResult {
|
|
|
24
34
|
path?: string;
|
|
25
35
|
message: string;
|
|
26
36
|
}
|
|
27
|
-
export declare function isEnabled(): boolean;
|
|
28
|
-
export declare function setEnabled(enabled: boolean): void;
|
|
29
37
|
/**
|
|
30
38
|
* Strip obvious secrets/PII before anything gets sent to a public GitHub repo.
|
|
31
39
|
* Not a substitute for careful callers — this is a last-resort net.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crash-reporter.d.ts","sourceRoot":"","sources":["../../../src/services/crash-reporter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"crash-reporter.d.ts","sourceRoot":"","sources":["../../../src/services/crash-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAa/C,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAWjE,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,eAAe,GAAG,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC;IAC1F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAuBD;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAE,CAAC;AAkBlB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpE;AA0JD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuKrF"}
|
|
@@ -6,68 +6,32 @@
|
|
|
6
6
|
* from their own panic/recover handlers so redaction, dedup, and GitHub auth
|
|
7
7
|
* logic live in exactly one place instead of being reimplemented per language.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Consent is asked once, on the first interactive crash (a local report path
|
|
10
|
+
* is shown before asking; default answer is No). Until you've answered, a
|
|
11
|
+
* non-interactive crash (CI, agents — most real runs) never asks and only
|
|
12
|
+
* saves locally, never filing. Once you've explicitly chosen — via the
|
|
13
|
+
* prompt or `monomind crash-reporting enable`/`disable` — that answer is
|
|
14
|
+
* used every time, interactive or not; `monomind crash-reporting status`
|
|
15
|
+
* shows the current state.
|
|
16
|
+
*
|
|
17
|
+
* Consent state and the interactive prompt live in ./crash-consent.ts; the
|
|
18
|
+
* advisory lock around the ledger lives in ./crash-lock.ts.
|
|
11
19
|
*/
|
|
12
20
|
import { execFile } from 'node:child_process';
|
|
13
21
|
import { createHash } from 'node:crypto';
|
|
14
|
-
import {
|
|
15
|
-
import { homedir } from 'node:os';
|
|
22
|
+
import { existsSync, mkdirSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
16
23
|
import { join } from 'node:path';
|
|
17
24
|
import { promisify } from 'node:util';
|
|
18
25
|
import { redact } from '../utils/redaction.js';
|
|
26
|
+
import { ensureStateDir, getConsentState, isInteractiveTty, promptForConsent, readJsonSafe, STATE_DIR, setEnabled, writeJsonSafe, } from './crash-consent.js';
|
|
27
|
+
import { acquireLock, releaseLock } from './crash-lock.js';
|
|
28
|
+
export { getConsentState, setEnabled } from './crash-consent.js';
|
|
19
29
|
const execFileAsync = promisify(execFile);
|
|
20
|
-
const STATE_DIR = join(homedir(), '.monomind');
|
|
21
|
-
const CONFIG_PATH = join(STATE_DIR, 'crash-reporting.json');
|
|
22
30
|
const LEDGER_PATH = join(STATE_DIR, 'crash-reports.json');
|
|
23
31
|
const PENDING_DIR = join(STATE_DIR, 'pending-reports');
|
|
24
|
-
const LOCK_PATH = join(STATE_DIR, 'crash-reports.lock');
|
|
25
32
|
const DEDUP_WINDOW_MS = 30 * 24 * 60 * 60 * 1000; // 30 days
|
|
26
|
-
// Worst-case critical section is ~28s (5s hasGhAuth + 8s upstream search + 15s
|
|
27
|
-
// issue create) — stale threshold needs real margin above that so a slow-but-
|
|
28
|
-
// legitimate holder never gets its lock stolen mid-operation.
|
|
29
|
-
const LOCK_STALE_MS = 60 * 1000;
|
|
30
|
-
const LOCK_WAIT_MS = 3 * 1000; // bounded poll for a concurrent holder to finish — closes the
|
|
31
|
-
// near-simultaneous-crash race without blocking the handler for long
|
|
32
33
|
const RATE_LIMIT_WINDOW_MS = 60 * 60 * 1000; // 1 hour
|
|
33
34
|
const RATE_LIMIT_MAX_PER_REPO = 5; // circuit breaker independent of per-signature dedup
|
|
34
|
-
function ensureStateDir() {
|
|
35
|
-
if (!existsSync(STATE_DIR))
|
|
36
|
-
mkdirSync(STATE_DIR, { recursive: true });
|
|
37
|
-
}
|
|
38
|
-
function readJsonSafe(path, fallback) {
|
|
39
|
-
try {
|
|
40
|
-
if (!existsSync(path))
|
|
41
|
-
return fallback;
|
|
42
|
-
return JSON.parse(readFileSync(path, 'utf8'));
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
return fallback;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
function writeJsonSafe(path, data) {
|
|
49
|
-
try {
|
|
50
|
-
ensureStateDir();
|
|
51
|
-
writeFileSync(path, JSON.stringify(data, null, 2), 'utf8');
|
|
52
|
-
}
|
|
53
|
-
catch {
|
|
54
|
-
// best-effort — a failed write here shouldn't crash the crash reporter
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
export function isEnabled() {
|
|
58
|
-
// Env override, so a measurement harness can switch telemetry off for the
|
|
59
|
-
// duration of a run it intends to make claims about. `monomind doc eval`
|
|
60
|
-
// sets this: its "zero network calls" verdict must describe the retrieval
|
|
61
|
-
// path, not merely the fact that nothing happened to crash.
|
|
62
|
-
const env = process.env.MONOMIND_CRASH_REPORTING;
|
|
63
|
-
if (env && ['0', 'off', 'false', 'no'].includes(env.toLowerCase()))
|
|
64
|
-
return false;
|
|
65
|
-
const config = readJsonSafe(CONFIG_PATH, { enabled: true });
|
|
66
|
-
return config.enabled !== false;
|
|
67
|
-
}
|
|
68
|
-
export function setEnabled(enabled) {
|
|
69
|
-
writeJsonSafe(CONFIG_PATH, { enabled });
|
|
70
|
-
}
|
|
71
35
|
/**
|
|
72
36
|
* Strip obvious secrets/PII before anything gets sent to a public GitHub repo.
|
|
73
37
|
* Not a substitute for careful callers — this is a last-resort net.
|
|
@@ -101,7 +65,11 @@ function loadLedger() {
|
|
|
101
65
|
const raw = readJsonSafe(LEDGER_PATH, {});
|
|
102
66
|
// Defensive defaults — also covers the pre-rate-limiting ledger format
|
|
103
67
|
// (a flat signature->entry map with no `bySignature` wrapper).
|
|
104
|
-
return {
|
|
68
|
+
return {
|
|
69
|
+
bySignature: raw.bySignature ?? {},
|
|
70
|
+
filedAtByRepo: raw.filedAtByRepo ?? {},
|
|
71
|
+
localOnly: raw.localOnly ?? {},
|
|
72
|
+
};
|
|
105
73
|
}
|
|
106
74
|
function saveLedger(ledger) {
|
|
107
75
|
writeJsonSafe(LEDGER_PATH, ledger);
|
|
@@ -134,74 +102,6 @@ function recordFiled(ledger, signature, repo, url, countsTowardRateLimit) {
|
|
|
134
102
|
ledger.filedAtByRepo[repo] = recent;
|
|
135
103
|
}
|
|
136
104
|
}
|
|
137
|
-
function sleep(ms) {
|
|
138
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
139
|
-
}
|
|
140
|
-
/** Tries once to atomically create the lock file with an ownership token. */
|
|
141
|
-
function tryAcquireOnce(token) {
|
|
142
|
-
ensureStateDir();
|
|
143
|
-
try {
|
|
144
|
-
const fd = openSync(LOCK_PATH, 'wx');
|
|
145
|
-
writeFileSync(fd, token);
|
|
146
|
-
closeSync(fd);
|
|
147
|
-
return true;
|
|
148
|
-
}
|
|
149
|
-
catch {
|
|
150
|
-
return false;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Best-effort advisory lock around the ledger's check-then-write sequence,
|
|
155
|
-
* to close the race where two near-simultaneous crashes (e.g. a supervisor
|
|
156
|
-
* restarting a process that panics on every startup) both pass the dedup
|
|
157
|
-
* check before either records its result, filing duplicate issues.
|
|
158
|
-
*
|
|
159
|
-
* Returns an ownership token if acquired (pass to releaseLock so it only ever
|
|
160
|
-
* removes its OWN lock, never one a stale-recovery elsewhere already
|
|
161
|
-
* re-acquired), or null if not acquired — callers proceed unlocked rather
|
|
162
|
-
* than block indefinitely, since a lock miss only reopens the same race this
|
|
163
|
-
* exists to narrow, not something worth ever hanging a crash handler over.
|
|
164
|
-
*/
|
|
165
|
-
async function acquireLock() {
|
|
166
|
-
const token = `${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
167
|
-
if (tryAcquireOnce(token))
|
|
168
|
-
return token;
|
|
169
|
-
// Bounded poll: closes the race for genuinely-simultaneous crashes (the
|
|
170
|
-
// common real case — e.g. two crash handlers firing within the same
|
|
171
|
-
// second) without blocking the handler for the full worst-case critical
|
|
172
|
-
// section duration.
|
|
173
|
-
const deadline = Date.now() + LOCK_WAIT_MS;
|
|
174
|
-
while (Date.now() < deadline) {
|
|
175
|
-
await sleep(150);
|
|
176
|
-
if (tryAcquireOnce(token))
|
|
177
|
-
return token;
|
|
178
|
-
}
|
|
179
|
-
// Still held — check staleness (crashed holder that never released it).
|
|
180
|
-
try {
|
|
181
|
-
const age = Date.now() - statSync(LOCK_PATH).mtimeMs;
|
|
182
|
-
if (age > LOCK_STALE_MS) {
|
|
183
|
-
unlinkSync(LOCK_PATH);
|
|
184
|
-
if (tryAcquireOnce(token))
|
|
185
|
-
return token;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
catch {
|
|
189
|
-
// lock disappeared or another race — fall through to unlocked
|
|
190
|
-
}
|
|
191
|
-
return null;
|
|
192
|
-
}
|
|
193
|
-
function releaseLock(token) {
|
|
194
|
-
if (!token)
|
|
195
|
-
return;
|
|
196
|
-
try {
|
|
197
|
-
if (readFileSync(LOCK_PATH, 'utf8') === token)
|
|
198
|
-
unlinkSync(LOCK_PATH);
|
|
199
|
-
// else: someone else's lock (ours was stolen after going stale) — leave it alone
|
|
200
|
-
}
|
|
201
|
-
catch {
|
|
202
|
-
// already gone — fine
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
105
|
async function hasGhAuth() {
|
|
206
106
|
try {
|
|
207
107
|
await execFileAsync('gh', ['auth', 'status'], { timeout: 5000 });
|
|
@@ -270,6 +170,23 @@ function saveLocally(repo, title, body) {
|
|
|
270
170
|
writeFileSync(path, `# ${title}\n\nRepo: ${repo}\n\n${body}\n`, 'utf8');
|
|
271
171
|
return path;
|
|
272
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Removes the local copy saved before the consent prompt once the same
|
|
175
|
+
* crash has actually been filed upstream — otherwise a Yes answer leaves
|
|
176
|
+
* that pre-prompt file behind forever even though the issue now lives on
|
|
177
|
+
* GitHub. Best-effort and silent: this runs inside a crash handler, which
|
|
178
|
+
* must not throw, and a leftover local file is a cosmetic issue at worst.
|
|
179
|
+
*/
|
|
180
|
+
function discardPreSavedCopy(path) {
|
|
181
|
+
if (!path)
|
|
182
|
+
return;
|
|
183
|
+
try {
|
|
184
|
+
unlinkSync(path);
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
// already gone, or never existed — fine either way
|
|
188
|
+
}
|
|
189
|
+
}
|
|
273
190
|
/**
|
|
274
191
|
* Report a crash. Never throws — always resolves to a result the caller can
|
|
275
192
|
* log and move on from, since this runs inside a crash handler. Every step
|
|
@@ -279,13 +196,13 @@ function saveLocally(repo, title, body) {
|
|
|
279
196
|
*/
|
|
280
197
|
export async function reportCrash(input) {
|
|
281
198
|
let lockToken = null;
|
|
199
|
+
// Set only when the unanswered+TTY branch below saves a local copy before
|
|
200
|
+
// prompting. Reused by the filing pipeline instead of saving a second
|
|
201
|
+
// time, and cleaned up on a successful file (see the two `created`
|
|
202
|
+
// branches) — otherwise a Yes answer can leave an orphaned duplicate on
|
|
203
|
+
// disk forever, or write two files for one crash on a filing failure.
|
|
204
|
+
let preSavedPath;
|
|
282
205
|
try {
|
|
283
|
-
if (!isEnabled()) {
|
|
284
|
-
return {
|
|
285
|
-
status: 'disabled',
|
|
286
|
-
message: 'Crash reporting is disabled (monomind crash-reporting enable to turn back on).',
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
206
|
const title = redact(input.title).slice(0, 250);
|
|
290
207
|
const body = redact(input.body).slice(0, 60_000);
|
|
291
208
|
// Run caller-supplied signatures through the same digit/hex/address
|
|
@@ -298,6 +215,63 @@ export async function reportCrash(input) {
|
|
|
298
215
|
.digest('hex')
|
|
299
216
|
.slice(0, 16)
|
|
300
217
|
: computeSignature(input.repo, title);
|
|
218
|
+
// The consent gate lives here, inside reportCrash() itself, rather than
|
|
219
|
+
// at a call site — there are two entry points (monomind's own
|
|
220
|
+
// uncaughtException/unhandledRejection handlers in bin/cli.js, and the
|
|
221
|
+
// hidden `monomind report-crash` command mono-agent/monotask/mono-clip
|
|
222
|
+
// shell out to). A gate at only one of them leaves the other wide open.
|
|
223
|
+
const state = getConsentState();
|
|
224
|
+
if (state === 'disabled') {
|
|
225
|
+
return {
|
|
226
|
+
status: 'disabled',
|
|
227
|
+
message: 'Crash reporting is disabled (monomind crash-reporting enable to turn back on).',
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
if (state === 'unanswered') {
|
|
231
|
+
if (!isInteractiveTty()) {
|
|
232
|
+
// Most monomind runs are inside agent sessions and CI — non-TTY.
|
|
233
|
+
// Never prompt, never file, never persist a *consent* decision
|
|
234
|
+
// here: this crash stays "unanswered" forever so a later
|
|
235
|
+
// interactive run can still ask. Deferring to "ask next time"
|
|
236
|
+
// would change nothing for the majority of real runs, which never
|
|
237
|
+
// get a next interactive time.
|
|
238
|
+
const ledger = loadLedger();
|
|
239
|
+
const existingLocal = ledger.localOnly[signature];
|
|
240
|
+
if (existingLocal && Date.now() - existingLocal.reportedAt <= DEDUP_WINDOW_MS) {
|
|
241
|
+
// Same signature saved once already this window — a crash-
|
|
242
|
+
// looping agent or CI job would otherwise pile up one .md file
|
|
243
|
+
// per iteration with no bound at all (this path had no dedup or
|
|
244
|
+
// rate limit of any kind, unlike the filing pipeline below).
|
|
245
|
+
return {
|
|
246
|
+
status: 'saved-locally',
|
|
247
|
+
path: existingLocal.path,
|
|
248
|
+
message: `Crash reporting hasn't been configured yet; this crash was already saved locally: ${existingLocal.path}. Run \`monomind crash-reporting enable\` or \`monomind crash-reporting disable\` to choose, or answer the prompt next time this runs interactively.`,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
const path = saveLocally(input.repo, title, body);
|
|
252
|
+
ledger.localOnly[signature] = { path, reportedAt: Date.now() };
|
|
253
|
+
saveLedger(ledger);
|
|
254
|
+
return {
|
|
255
|
+
status: 'saved-locally',
|
|
256
|
+
path,
|
|
257
|
+
message: `Crash reporting hasn't been configured yet, so this crash was only saved locally (no network call): ${path}. Run \`monomind crash-reporting enable\` or \`monomind crash-reporting disable\` to choose, or answer the prompt next time this runs interactively.`,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
// Show the local report path before asking, so consent isn't blind.
|
|
261
|
+
preSavedPath = saveLocally(input.repo, title, body);
|
|
262
|
+
const consented = await promptForConsent(input.repo, preSavedPath);
|
|
263
|
+
setEnabled(consented);
|
|
264
|
+
if (!consented) {
|
|
265
|
+
return {
|
|
266
|
+
status: 'saved-locally',
|
|
267
|
+
path: preSavedPath,
|
|
268
|
+
message: `Crash reporting is now disabled (monomind crash-reporting disable). Saved locally to ${preSavedPath}. Re-enable any time with \`monomind crash-reporting enable\`.`,
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
// Consented: fall through into the normal filing pipeline below, same
|
|
272
|
+
// as an already-'enabled' state. preSavedPath stays set so that
|
|
273
|
+
// pipeline reuses this file instead of writing a second one.
|
|
274
|
+
}
|
|
301
275
|
// Bounded wait — closes the near-simultaneous-crash race without ever
|
|
302
276
|
// blocking the handler for long; proceeds unlocked if still contended.
|
|
303
277
|
lockToken = await acquireLock();
|
|
@@ -314,7 +288,7 @@ export async function reportCrash(input) {
|
|
|
314
288
|
return {
|
|
315
289
|
status: 'rate-limited',
|
|
316
290
|
message: `Already filed ${RATE_LIMIT_MAX_PER_REPO}+ crash issues on ${input.repo} in the last hour — suppressing further auto-reports to avoid spamming the repo. Saved locally instead.`,
|
|
317
|
-
path: saveLocally(input.repo, title, body),
|
|
291
|
+
path: preSavedPath ?? saveLocally(input.repo, title, body),
|
|
318
292
|
};
|
|
319
293
|
}
|
|
320
294
|
const upstreamUrl = await findExistingUpstreamIssue(input.repo, title);
|
|
@@ -337,10 +311,11 @@ export async function reportCrash(input) {
|
|
|
337
311
|
ledger = loadLedger();
|
|
338
312
|
recordFiled(ledger, signature, input.repo, url, true);
|
|
339
313
|
saveLedger(ledger);
|
|
314
|
+
discardPreSavedCopy(preSavedPath);
|
|
340
315
|
return { status: 'created', url, message: `Filed: ${url}` };
|
|
341
316
|
}
|
|
342
317
|
catch (error) {
|
|
343
|
-
const path = saveLocally(input.repo, title, body);
|
|
318
|
+
const path = preSavedPath ?? saveLocally(input.repo, title, body);
|
|
344
319
|
return {
|
|
345
320
|
status: 'saved-locally',
|
|
346
321
|
path,
|
|
@@ -355,10 +330,11 @@ export async function reportCrash(input) {
|
|
|
355
330
|
ledger = loadLedger();
|
|
356
331
|
recordFiled(ledger, signature, input.repo, url, true);
|
|
357
332
|
saveLedger(ledger);
|
|
333
|
+
discardPreSavedCopy(preSavedPath);
|
|
358
334
|
return { status: 'created', url, message: `Filed: ${url}` };
|
|
359
335
|
}
|
|
360
336
|
catch (error) {
|
|
361
|
-
const path = saveLocally(input.repo, title, body);
|
|
337
|
+
const path = preSavedPath ?? saveLocally(input.repo, title, body);
|
|
362
338
|
return {
|
|
363
339
|
status: 'saved-locally',
|
|
364
340
|
path,
|
|
@@ -366,7 +342,7 @@ export async function reportCrash(input) {
|
|
|
366
342
|
};
|
|
367
343
|
}
|
|
368
344
|
}
|
|
369
|
-
const path = saveLocally(input.repo, title, body);
|
|
345
|
+
const path = preSavedPath ?? saveLocally(input.repo, title, body);
|
|
370
346
|
return {
|
|
371
347
|
status: 'saved-locally',
|
|
372
348
|
path,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crash-reporter.js","sourceRoot":"","sources":["../../../src/services/crash-reporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crash-reporter.js","sourceRoot":"","sources":["../../../src/services/crash-reporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -14129,6 +14129,128 @@ async function mmRenderGraph(body) {
|
|
|
14129
14129
|
} catch (e) { body.innerHTML = `<div class="empty">Failed: ${esc(e.message)}</div>`; }
|
|
14130
14130
|
}
|
|
14131
14131
|
|
|
14132
|
+
// i-065-dash: expose the _-prefixed implementations under the bare names
|
|
14133
|
+
// inline onclick/onchange/... attributes above actually call. Commit 9537930fb
|
|
14134
|
+
// prefixed these declarations with _ (conventionally "intentionally unused") but
|
|
14135
|
+
// they are used, just from HTML attributes no linter sees — every name below threw
|
|
14136
|
+
// ReferenceError on click before this block existed. See
|
|
14137
|
+
// src/__tests__/dashboard-handler-resolution.test.ts, which fails if this list is
|
|
14138
|
+
// ever incomplete or stale.
|
|
14139
|
+
Object.assign(window, {
|
|
14140
|
+
toggleGlobalNav: _toggleGlobalNav,
|
|
14141
|
+
openBudgetModal: _openBudgetModal,
|
|
14142
|
+
cmdKey: _cmdKey,
|
|
14143
|
+
toggleLiveTail: _toggleLiveTail,
|
|
14144
|
+
copySession: _copySession,
|
|
14145
|
+
exportSession: _exportSession,
|
|
14146
|
+
toggleFocusMode: _toggleFocusMode,
|
|
14147
|
+
prevSession: _prevSession,
|
|
14148
|
+
nextSession: _nextSession,
|
|
14149
|
+
stopReplay: _stopReplay,
|
|
14150
|
+
setFeedTimeFilter: _setFeedTimeFilter,
|
|
14151
|
+
dismissWeekly: _dismissWeekly,
|
|
14152
|
+
dismissDigest: _dismissDigest,
|
|
14153
|
+
filterProjects: _filterProjects,
|
|
14154
|
+
toggleSessStarFilter: _toggleSessStarFilter,
|
|
14155
|
+
toggleLeaderboard: _toggleLeaderboard,
|
|
14156
|
+
toggleModelMix: _toggleModelMix,
|
|
14157
|
+
toggleToolErrors: _toggleToolErrors,
|
|
14158
|
+
toggleToolRank: _toggleToolRank,
|
|
14159
|
+
toggleProjCosts: _toggleProjCosts,
|
|
14160
|
+
exportSessionsCSV: _exportSessionsCSV,
|
|
14161
|
+
togglePatterns: _togglePatterns,
|
|
14162
|
+
toggleDiffMode: _toggleDiffMode,
|
|
14163
|
+
toggleTimeline: _toggleTimeline,
|
|
14164
|
+
toggleModelDonut: _toggleModelDonut,
|
|
14165
|
+
showReportCard: _showReportCard,
|
|
14166
|
+
clearFilePivot: _clearFilePivot,
|
|
14167
|
+
clearHeatmapFilter: _clearHeatmapFilter,
|
|
14168
|
+
setPeriod: _setPeriod,
|
|
14169
|
+
bulkExport: _bulkExport,
|
|
14170
|
+
bulkBookmark: _bulkBookmark,
|
|
14171
|
+
filterSessions: _filterSessions,
|
|
14172
|
+
filterLoopList: _filterLoopList,
|
|
14173
|
+
showLoopForm: _showLoopForm,
|
|
14174
|
+
createLoop: _createLoop,
|
|
14175
|
+
setTokPeriod: _setTokPeriod,
|
|
14176
|
+
switchMemTab: _switchMemTab,
|
|
14177
|
+
openNewMemModal: _openNewMemModal,
|
|
14178
|
+
filterADRs: _filterADRs,
|
|
14179
|
+
buildKnowledgeDocs: _buildKnowledgeDocs,
|
|
14180
|
+
secondBrainSearch: _secondBrainSearch,
|
|
14181
|
+
filterChunks: _filterChunks,
|
|
14182
|
+
filterDocs: _filterDocs,
|
|
14183
|
+
storeSearch: _storeSearch,
|
|
14184
|
+
openStoreNewModal: _openStoreNewModal,
|
|
14185
|
+
filterOrgList: _filterOrgList,
|
|
14186
|
+
mgSwitchTab: _mgSwitchTab,
|
|
14187
|
+
mgToggleWatch: _mgToggleWatch,
|
|
14188
|
+
mgRebuild: _mgRebuild,
|
|
14189
|
+
mgWikiSearchDebounced: _mgWikiSearchDebounced,
|
|
14190
|
+
mgRebuildDocs: _mgRebuildDocs,
|
|
14191
|
+
gdFilter: _gdFilter,
|
|
14192
|
+
hiSwitchTab: _hiSwitchTab,
|
|
14193
|
+
saveChunkModal: _saveChunkModal,
|
|
14194
|
+
saveMemModal: _saveMemModal,
|
|
14195
|
+
closeReportCard: _closeReportCard,
|
|
14196
|
+
copyReportCard: _copyReportCard,
|
|
14197
|
+
saveBudget: _saveBudget,
|
|
14198
|
+
expandGroup: _expandGroup,
|
|
14199
|
+
dismissAlert: _dismissAlert,
|
|
14200
|
+
showCostExplainer: _showCostExplainer,
|
|
14201
|
+
setFilePivot: _setFilePivot,
|
|
14202
|
+
toggleErrDrawer: _toggleErrDrawer,
|
|
14203
|
+
handleSessRowClick: _handleSessRowClick,
|
|
14204
|
+
copyPrompt: _copyPrompt,
|
|
14205
|
+
toggleBookmark: _toggleBookmark,
|
|
14206
|
+
toggleSessNote: _toggleSessNote,
|
|
14207
|
+
saveSessNote: _saveSessNote,
|
|
14208
|
+
toggleSessGroup: _toggleSessGroup,
|
|
14209
|
+
setTagFilter: _setTagFilter,
|
|
14210
|
+
openGlobalOrg: _openGlobalOrg,
|
|
14211
|
+
gdOpen: _gdOpen,
|
|
14212
|
+
gdRevealPath: _gdRevealPath,
|
|
14213
|
+
gdCopyPath: _gdCopyPath,
|
|
14214
|
+
submitHumanAnswer: _submitHumanAnswer,
|
|
14215
|
+
v2ViewOrgFile: _v2ViewOrgFile,
|
|
14216
|
+
minimapJump: _minimapJump,
|
|
14217
|
+
stopLoop: _stopLoop,
|
|
14218
|
+
toggleLoop: _toggleLoop,
|
|
14219
|
+
v2OpenMetaModal: _v2OpenMetaModal,
|
|
14220
|
+
v2TriggerAvatarUpload: _v2TriggerAvatarUpload,
|
|
14221
|
+
v2HandleAvatarFile: _v2HandleAvatarFile,
|
|
14222
|
+
orgApprovalAction: _orgApprovalAction,
|
|
14223
|
+
generateOrgSettingsCmd: _generateOrgSettingsCmd,
|
|
14224
|
+
setOdtChatMode: _setOdtChatMode,
|
|
14225
|
+
v2SaveOrgConfig: _v2SaveOrgConfig,
|
|
14226
|
+
setHeatmapFilter: _setHeatmapFilter,
|
|
14227
|
+
setDailyTrendFilter: _setDailyTrendFilter,
|
|
14228
|
+
removeCustomTag: _removeCustomTag,
|
|
14229
|
+
showCustomTagInput: _showCustomTagInput,
|
|
14230
|
+
closeErrDrawer: _closeErrDrawer,
|
|
14231
|
+
wfSwitchTab: _wfSwitchTab,
|
|
14232
|
+
pbToggleCat: _pbToggleCat,
|
|
14233
|
+
pbAddNode: _pbAddNode,
|
|
14234
|
+
pbDeleteNode: _pbDeleteNode,
|
|
14235
|
+
pbStartConnect: _pbStartConnect,
|
|
14236
|
+
pbUpdateNodeName: _pbUpdateNodeName,
|
|
14237
|
+
pbUpdateConfig: _pbUpdateConfig,
|
|
14238
|
+
pbRemoveConn: _pbRemoveConn,
|
|
14239
|
+
mgRunClient: _mgRunClient,
|
|
14240
|
+
mgRunServer: _mgRunServer,
|
|
14241
|
+
mgExport: _mgExport,
|
|
14242
|
+
mgWikiFilterType: _mgWikiFilterType,
|
|
14243
|
+
mgWikiShowDetail: _mgWikiShowDetail,
|
|
14244
|
+
selectMem: _selectMem,
|
|
14245
|
+
openEditMemModal: _openEditMemModal,
|
|
14246
|
+
deleteMem: _deleteMem,
|
|
14247
|
+
viewStoreEntry: _viewStoreEntry,
|
|
14248
|
+
deleteStoreEntry: _deleteStoreEntry,
|
|
14249
|
+
openChunkEditAt: _openChunkEditAt,
|
|
14250
|
+
deleteChunkAt: _deleteChunkAt,
|
|
14251
|
+
openDocModal: _openDocModal,
|
|
14252
|
+
mmGenerateOrgCmd: _mmGenerateOrgCmd,
|
|
14253
|
+
});
|
|
14132
14254
|
</script>
|
|
14133
14255
|
</body>
|
|
14134
14256
|
</html>
|
|
@@ -1064,6 +1064,20 @@ setInterval(refreshSessions, 8000);
|
|
|
1064
1064
|
|
|
1065
1065
|
// Set initial live mode banner
|
|
1066
1066
|
document.getElementById('mode-banner').classList.add('live-mode');
|
|
1067
|
+
|
|
1068
|
+
// i-065-dash: expose the _-prefixed implementations under the bare names
|
|
1069
|
+
// inline onclick/onchange/... attributes above actually call. Commit 9537930fb
|
|
1070
|
+
// prefixed these declarations with _ (conventionally "intentionally unused") but
|
|
1071
|
+
// they are used, just from HTML attributes no linter sees — every name below threw
|
|
1072
|
+
// ReferenceError on click before this block existed. See
|
|
1073
|
+
// src/__tests__/dashboard-handler-resolution.test.ts, which fails if this list is
|
|
1074
|
+
// ever incomplete or stale.
|
|
1075
|
+
Object.assign(window, {
|
|
1076
|
+
applyProjectFilter: _applyProjectFilter,
|
|
1077
|
+
toggleMovieMode: _toggleMovieMode,
|
|
1078
|
+
closeDetail: _closeDetail,
|
|
1079
|
+
downloadSession: _downloadSession,
|
|
1080
|
+
});
|
|
1067
1081
|
</script>
|
|
1068
1082
|
</body>
|
|
1069
1083
|
</html>
|
package/dist/src/ui/orgs.html
CHANGED
|
@@ -2578,6 +2578,18 @@ fetch('/api/status').then(r => r.json()).then(d => { if (d.dir) window._orgDir =
|
|
|
2578
2578
|
connectSSE();
|
|
2579
2579
|
loadOrgs();
|
|
2580
2580
|
setInterval(loadOrgs, 8000);
|
|
2581
|
+
|
|
2582
|
+
// i-065-dash: expose the _-prefixed implementations under the bare names
|
|
2583
|
+
// inline onclick/onchange/... attributes above actually call. Commit 9537930fb
|
|
2584
|
+
// prefixed these declarations with _ (conventionally "intentionally unused") but
|
|
2585
|
+
// they are used, just from HTML attributes no linter sees — every name below threw
|
|
2586
|
+
// ReferenceError on click before this block existed. See
|
|
2587
|
+
// src/__tests__/dashboard-handler-resolution.test.ts, which fails if this list is
|
|
2588
|
+
// ever incomplete or stale.
|
|
2589
|
+
Object.assign(window, {
|
|
2590
|
+
setChatMode: _setChatMode,
|
|
2591
|
+
chatComposeKey: _chatComposeKey,
|
|
2592
|
+
});
|
|
2581
2593
|
</script>
|
|
2582
2594
|
</body>
|
|
2583
2595
|
</html>
|