@memnexus-ai/mx-agent-cli 0.1.208 → 0.1.210

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/__tests__/claude-sync.test.js +77 -5
  2. package/dist/__tests__/claude-sync.test.js.map +1 -1
  3. package/dist/__tests__/config-generation-gate.test.js +18 -9
  4. package/dist/__tests__/config-generation-gate.test.js.map +1 -1
  5. package/dist/__tests__/generate-claude.test.js +90 -6
  6. package/dist/__tests__/generate-claude.test.js.map +1 -1
  7. package/dist/__tests__/security-posture.test.d.ts +8 -0
  8. package/dist/__tests__/security-posture.test.d.ts.map +1 -0
  9. package/dist/__tests__/security-posture.test.js +82 -0
  10. package/dist/__tests__/security-posture.test.js.map +1 -0
  11. package/dist/__tests__/start-report-generation-capture.test.d.ts +17 -0
  12. package/dist/__tests__/start-report-generation-capture.test.d.ts.map +1 -0
  13. package/dist/__tests__/start-report-generation-capture.test.js +127 -0
  14. package/dist/__tests__/start-report-generation-capture.test.js.map +1 -0
  15. package/dist/__tests__/startup-health-render.test.d.ts +11 -0
  16. package/dist/__tests__/startup-health-render.test.d.ts.map +1 -0
  17. package/dist/__tests__/startup-health-render.test.js +60 -0
  18. package/dist/__tests__/startup-health-render.test.js.map +1 -0
  19. package/dist/__tests__/startup-report.test.js +34 -1
  20. package/dist/__tests__/startup-report.test.js.map +1 -1
  21. package/dist/__tests__/startup-shipper.test.d.ts +13 -0
  22. package/dist/__tests__/startup-shipper.test.d.ts.map +1 -0
  23. package/dist/__tests__/startup-shipper.test.js +149 -0
  24. package/dist/__tests__/startup-shipper.test.js.map +1 -0
  25. package/dist/agent-config/settings.json +3 -3
  26. package/dist/commands/dashboard.d.ts +21 -0
  27. package/dist/commands/dashboard.d.ts.map +1 -1
  28. package/dist/commands/dashboard.js +72 -1
  29. package/dist/commands/dashboard.js.map +1 -1
  30. package/dist/commands/start.d.ts.map +1 -1
  31. package/dist/commands/start.js +16 -0
  32. package/dist/commands/start.js.map +1 -1
  33. package/dist/commands/sync.d.ts.map +1 -1
  34. package/dist/commands/sync.js +17 -0
  35. package/dist/commands/sync.js.map +1 -1
  36. package/dist/lib/claude.d.ts.map +1 -1
  37. package/dist/lib/claude.js +31 -6
  38. package/dist/lib/claude.js.map +1 -1
  39. package/dist/lib/security-posture.d.ts +69 -0
  40. package/dist/lib/security-posture.d.ts.map +1 -0
  41. package/dist/lib/security-posture.js +102 -0
  42. package/dist/lib/security-posture.js.map +1 -0
  43. package/dist/lib/startup-report.d.ts +19 -3
  44. package/dist/lib/startup-report.d.ts.map +1 -1
  45. package/dist/lib/startup-report.js +66 -8
  46. package/dist/lib/startup-report.js.map +1 -1
  47. package/dist/lib/startup-shipper.d.ts +55 -0
  48. package/dist/lib/startup-shipper.d.ts.map +1 -0
  49. package/dist/lib/startup-shipper.js +177 -0
  50. package/dist/lib/startup-shipper.js.map +1 -0
  51. package/package.json +1 -1
  52. package/scripts/generate-claude.mjs +45 -1
  53. package/dist/__tests__/config-mirror-integrity.test.d.ts +0 -32
  54. package/dist/__tests__/config-mirror-integrity.test.d.ts.map +0 -1
  55. package/dist/__tests__/config-mirror-integrity.test.js +0 -248
  56. package/dist/__tests__/config-mirror-integrity.test.js.map +0 -1
@@ -11,6 +11,7 @@ import chalk from 'chalk';
11
11
  import { BOOTSTRAP_SETTINGS_JSON } from './templates.js';
12
12
  import { removeLock, updateChildPid } from './leader-lock.js';
13
13
  import { startupReport, reportSuccess, reportWarning, reportDim } from './startup-report.js';
14
+ import { assessSettingsPosture } from './security-posture.js';
14
15
  // ── Logging helpers ───────────────────────────────────────────────────
15
16
  // These print exactly as before AND mirror a plain-text copy into the
16
17
  // per-invocation StartupReport (#4350). They record with an EXACT level and
@@ -360,22 +361,46 @@ Today's date is ${new Date().toISOString().slice(0, 10)}.
360
361
  * session. When a warn path is reached and `.claude/settings.json` is absent, throw
361
362
  * a clear, actionable error so start.ts blocks the session start instead.
362
363
  *
363
- * If `.claude/settings.json` exists (the pre-Phase-4 committed backstop, or a
364
- * previously generated tree), behavior is unchanged: warn and continue.
364
+ * If `.claude/settings.json` exists AND carries a usable security posture (the
365
+ * pre-Phase-4 committed backstop, or a previously generated tree), behavior is
366
+ * unchanged: warn and continue.
367
+ *
368
+ * KI-HARDSTOP-PRESENCE-NOT-VALIDITY: presence alone is not a usable backstop. A
369
+ * zero-byte, malformed, or deny-stripped settings.json satisfies `existsSync`
370
+ * but launches a guardrail-less session — exactly the failure mode the hard-stop
371
+ * exists to prevent. We now parse the file and assert a minimal posture (valid
372
+ * JSON, non-empty `permissions.deny`, and self-protection denies for
373
+ * `.claude/settings.json` + `.claude/hooks/**`, via `assessSettingsPosture`)
374
+ * before treating it as a fallback. An invalid backstop fails closed exactly as
375
+ * an absent one does.
365
376
  */
366
377
  function assertExistingConfigOrHardStop(worktreePath, baseBranch, reason) {
367
378
  const settingsPath = join(worktreePath, '.claude', 'settings.json');
368
- if (existsSync(settingsPath))
369
- return; // existing config to fall back on — warn-and-continue
379
+ let postureProblem = 'no existing .claude/settings.json present';
380
+ if (existsSync(settingsPath)) {
381
+ try {
382
+ postureProblem = assessSettingsPosture(readFileSync(settingsPath, 'utf-8'));
383
+ }
384
+ catch {
385
+ postureProblem = 'existing .claude/settings.json could not be read';
386
+ }
387
+ }
388
+ if (postureProblem === null)
389
+ return; // valid backstop to fall back on — warn-and-continue
390
+ // Fold the posture failure into the cause so the durable log and the thrown
391
+ // message say WHY the existing file was rejected (present-but-invalid vs absent).
392
+ const fullReason = existsSync(settingsPath)
393
+ ? `${reason}; existing .claude/settings.json is not a usable backstop (${postureProblem})`
394
+ : reason;
370
395
  // Fail-closed hard stop. Capture the reason into the StartupReport and
371
396
  // finalize with 'hard_stop' BEFORE throwing (#4350), so the durable log has a
372
397
  // terminal record even though the throw skips runStart's normal finalize.
373
398
  // finalize is idempotent and never throws, so this is safe even if a caller
374
399
  // already finalized; the process-exit safety net is the further backstop.
375
- startupReport.record('error', `agent config generation failed and no existing .claude/ is present — session cannot start (${reason})`, 'no-config-hard-stop');
400
+ startupReport.record('error', `agent config generation failed and no usable .claude/ backstop is present — session cannot start (${fullReason})`, 'no-config-hard-stop');
376
401
  startupReport.finalize('hard_stop');
377
402
  throw new Error(`agent config generation failed and no existing .claude/ is present — this session cannot start safely.\n` +
378
- ` Cause: ${reason}.\n` +
403
+ ` Cause: ${fullReason}.\n` +
379
404
  ` There is no committed or previously generated .claude/ to fall back on, so launching now would\n` +
380
405
  ` run without settings.json, hooks, or agent definitions (no guardrails).\n` +
381
406
  ` How to resolve:\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/lib/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/lib/claude.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * security-posture.ts — shared self-protection permission-posture contract
3
+ * (#4304 Phase 4 flip).
4
+ *
5
+ * Single source of truth for the agent-config self-protection deny rules that
6
+ * every shipped/backstop settings.json must carry. Consumed by BOTH:
7
+ * - the generation-correctness CI gate (config-generation-gate.test.ts), which
8
+ * asserts the SHIPPED source settings.json carries the corrected rules and no
9
+ * unmatched file-path forms, and
10
+ * - syncClaudeConfig's no-config hard-stop (claude.ts), which parses an existing
11
+ * `.claude/settings.json` backstop and refuses to fall back on it unless it
12
+ * carries a minimal security posture (KI-HARDSTOP-PRESENCE-NOT-VALIDITY).
13
+ *
14
+ * SYNTAX — Edit(path) covers all file-editing tools (Claude Code v2.1.210+):
15
+ * File-path permission checks match only `Edit(path)` and `Read(path)` rules.
16
+ * An `Edit(path)` deny covers EVERY file-editing tool — Write, MultiEdit,
17
+ * NotebookEdit. A `Write(path)` / `NotebookEdit(path)` / `Glob(path)` deny is
18
+ * ACCEPTED BUT NEVER MATCHED, and Claude Code warns at startup for each such
19
+ * rule ("Write(...) is not matched by file permission checks — only Edit(path)
20
+ * rules are. Use Edit(...) instead."). The v2.56 online canary printed exactly
21
+ * that warning for `Write(.claude/settings.json)`. So the corrected
22
+ * self-protection denies are Edit-only; the former redundant Write(...) twins
23
+ * were dropped in the v2.57 flip (canary syntax fix, KI item 3c).
24
+ */
25
+ /**
26
+ * Paths that MUST be write-protected in every settings.json. Edit(path) covers
27
+ * Write/MultiEdit/NotebookEdit, so one Edit rule per path is the full protection.
28
+ *
29
+ * The `.claude.staging-*` / `.claude.prev-*` siblings are the generator's
30
+ * atomic-swap scratch dirs (KI-GENERATOR-SWAP-SIBLINGS-UNGUARDED): a failed
31
+ * prev-cleanup can leave stale settings.json + hooks copies at an unguarded
32
+ * sibling path. Denying Write/Edit there closes the tool-write surface on them
33
+ * (same-UID residual, defense-in-depth — not a Bash-level control).
34
+ */
35
+ export declare const SELF_PROTECTED_PATHS: readonly [".claude/settings.json", ".claude/hooks/**", ".claude.staging-*/**", ".claude.prev-*/**"];
36
+ /**
37
+ * Core paths whose write-protection a FALLBACK backstop must carry to be treated
38
+ * as usable by the no-config hard-stop. The staging/prev siblings are NOT
39
+ * required here: they are new defense-in-depth added in the flip, and a valid
40
+ * pre-flip generated backstop predates them — requiring them would fail-closed on
41
+ * an otherwise-good backstop. Coverage of the siblings is enforced on the SHIPPED
42
+ * source by the CI gate, not on historical on-disk backstops.
43
+ */
44
+ export declare const BACKSTOP_REQUIRED_PATHS: readonly string[];
45
+ /** The exact Edit-form deny rules the SHIPPED source settings.json must carry. */
46
+ export declare const REQUIRED_SOURCE_DENIES: readonly string[];
47
+ /**
48
+ * Return the deny entries that use an unmatched file-path form
49
+ * (`Write(path)` / `NotebookEdit(path)` / `Glob(path)`) — the exact forms Claude
50
+ * Code warns about at startup. A bare tool-name rule with NO parentheses (e.g.
51
+ * `Write`) is fine (matches the tool everywhere, no warning) and is not flagged.
52
+ */
53
+ export declare function unmatchedFilePathDenies(denyList: readonly string[]): string[];
54
+ /**
55
+ * True if `denyList` write-protects `path` in EITHER the current Edit form or the
56
+ * legacy Write form. Lenient on FORM (an older generated backstop that still
57
+ * carries the Write(...) twin validates) but strict on COVERAGE.
58
+ */
59
+ export declare function pathIsWriteProtected(denyList: readonly string[], path: string): boolean;
60
+ /**
61
+ * Parse a settings.json string and assert it provides a usable security backstop:
62
+ * - parses as JSON,
63
+ * - has a non-empty `permissions.deny` array,
64
+ * - write-protects every BACKSTOP_REQUIRED_PATHS entry (Edit or Write form).
65
+ * Returns a human-readable reason on FAILURE, or null when the posture is usable.
66
+ * Never throws.
67
+ */
68
+ export declare function assessSettingsPosture(raw: string): string | null;
69
+ //# sourceMappingURL=security-posture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-posture.d.ts","sourceRoot":"","sources":["../../src/lib/security-posture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,qGAKvB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAGpD,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EACL,CAAC;AAKhD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAI7E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBhE"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * security-posture.ts — shared self-protection permission-posture contract
3
+ * (#4304 Phase 4 flip).
4
+ *
5
+ * Single source of truth for the agent-config self-protection deny rules that
6
+ * every shipped/backstop settings.json must carry. Consumed by BOTH:
7
+ * - the generation-correctness CI gate (config-generation-gate.test.ts), which
8
+ * asserts the SHIPPED source settings.json carries the corrected rules and no
9
+ * unmatched file-path forms, and
10
+ * - syncClaudeConfig's no-config hard-stop (claude.ts), which parses an existing
11
+ * `.claude/settings.json` backstop and refuses to fall back on it unless it
12
+ * carries a minimal security posture (KI-HARDSTOP-PRESENCE-NOT-VALIDITY).
13
+ *
14
+ * SYNTAX — Edit(path) covers all file-editing tools (Claude Code v2.1.210+):
15
+ * File-path permission checks match only `Edit(path)` and `Read(path)` rules.
16
+ * An `Edit(path)` deny covers EVERY file-editing tool — Write, MultiEdit,
17
+ * NotebookEdit. A `Write(path)` / `NotebookEdit(path)` / `Glob(path)` deny is
18
+ * ACCEPTED BUT NEVER MATCHED, and Claude Code warns at startup for each such
19
+ * rule ("Write(...) is not matched by file permission checks — only Edit(path)
20
+ * rules are. Use Edit(...) instead."). The v2.56 online canary printed exactly
21
+ * that warning for `Write(.claude/settings.json)`. So the corrected
22
+ * self-protection denies are Edit-only; the former redundant Write(...) twins
23
+ * were dropped in the v2.57 flip (canary syntax fix, KI item 3c).
24
+ */
25
+ /**
26
+ * Paths that MUST be write-protected in every settings.json. Edit(path) covers
27
+ * Write/MultiEdit/NotebookEdit, so one Edit rule per path is the full protection.
28
+ *
29
+ * The `.claude.staging-*` / `.claude.prev-*` siblings are the generator's
30
+ * atomic-swap scratch dirs (KI-GENERATOR-SWAP-SIBLINGS-UNGUARDED): a failed
31
+ * prev-cleanup can leave stale settings.json + hooks copies at an unguarded
32
+ * sibling path. Denying Write/Edit there closes the tool-write surface on them
33
+ * (same-UID residual, defense-in-depth — not a Bash-level control).
34
+ */
35
+ export const SELF_PROTECTED_PATHS = [
36
+ '.claude/settings.json',
37
+ '.claude/hooks/**',
38
+ '.claude.staging-*/**',
39
+ '.claude.prev-*/**',
40
+ ];
41
+ /**
42
+ * Core paths whose write-protection a FALLBACK backstop must carry to be treated
43
+ * as usable by the no-config hard-stop. The staging/prev siblings are NOT
44
+ * required here: they are new defense-in-depth added in the flip, and a valid
45
+ * pre-flip generated backstop predates them — requiring them would fail-closed on
46
+ * an otherwise-good backstop. Coverage of the siblings is enforced on the SHIPPED
47
+ * source by the CI gate, not on historical on-disk backstops.
48
+ */
49
+ export const BACKSTOP_REQUIRED_PATHS = [
50
+ '.claude/settings.json',
51
+ '.claude/hooks/**',
52
+ ];
53
+ /** The exact Edit-form deny rules the SHIPPED source settings.json must carry. */
54
+ export const REQUIRED_SOURCE_DENIES = SELF_PROTECTED_PATHS.map((p) => `Edit(${p})`);
55
+ /** Tool prefixes whose `Tool(path)` deny form is accepted but never matched (warns). */
56
+ const UNMATCHED_FILE_TOOL_PREFIXES = ['Write', 'NotebookEdit', 'Glob'];
57
+ /**
58
+ * Return the deny entries that use an unmatched file-path form
59
+ * (`Write(path)` / `NotebookEdit(path)` / `Glob(path)`) — the exact forms Claude
60
+ * Code warns about at startup. A bare tool-name rule with NO parentheses (e.g.
61
+ * `Write`) is fine (matches the tool everywhere, no warning) and is not flagged.
62
+ */
63
+ export function unmatchedFilePathDenies(denyList) {
64
+ return denyList.filter((d) => UNMATCHED_FILE_TOOL_PREFIXES.some((t) => d.startsWith(`${t}(`)));
65
+ }
66
+ /**
67
+ * True if `denyList` write-protects `path` in EITHER the current Edit form or the
68
+ * legacy Write form. Lenient on FORM (an older generated backstop that still
69
+ * carries the Write(...) twin validates) but strict on COVERAGE.
70
+ */
71
+ export function pathIsWriteProtected(denyList, path) {
72
+ const deny = new Set(denyList);
73
+ return deny.has(`Edit(${path})`) || deny.has(`Write(${path})`);
74
+ }
75
+ /**
76
+ * Parse a settings.json string and assert it provides a usable security backstop:
77
+ * - parses as JSON,
78
+ * - has a non-empty `permissions.deny` array,
79
+ * - write-protects every BACKSTOP_REQUIRED_PATHS entry (Edit or Write form).
80
+ * Returns a human-readable reason on FAILURE, or null when the posture is usable.
81
+ * Never throws.
82
+ */
83
+ export function assessSettingsPosture(raw) {
84
+ let parsed;
85
+ try {
86
+ parsed = JSON.parse(raw);
87
+ }
88
+ catch {
89
+ return 'settings.json is not valid JSON';
90
+ }
91
+ const deny = parsed?.permissions?.deny;
92
+ if (!Array.isArray(deny) || deny.length === 0) {
93
+ return 'permissions.deny is missing or empty';
94
+ }
95
+ const denyStrs = deny.filter((d) => typeof d === 'string');
96
+ const missing = BACKSTOP_REQUIRED_PATHS.filter((p) => !pathIsWriteProtected(denyStrs, p));
97
+ if (missing.length > 0) {
98
+ return `missing self-protection deny for: ${missing.join(', ')}`;
99
+ }
100
+ return null;
101
+ }
102
+ //# sourceMappingURL=security-posture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-posture.js","sourceRoot":"","sources":["../../src/lib/security-posture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,uBAAuB;IACvB,kBAAkB;IAClB,sBAAsB;IACtB,mBAAmB;CACX,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,uBAAuB;IACvB,kBAAkB;CACnB,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GACjC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAEhD,wFAAwF;AACxF,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAU,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAA2B;IACjE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAChE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA2B,EAAE,IAAY;IAC5E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IACD,MAAM,IAAI,GAAI,MAAsD,EAAE,WAAW,EAAE,IAAI,CAAC;IACxF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,sCAAsC,CAAC;IAChD,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,qCAAqC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -50,7 +50,18 @@ export interface StartupContext {
50
50
  }
51
51
  /** Redact credentials from any URL in a message before it is persisted. */
52
52
  export declare function redactUrlCredentials(s: string): string;
53
- /** Strip SGR (color/style) escape sequences so the stored message is plain text. */
53
+ /**
54
+ * Strip all terminal control sequences (CSI, OSC) and C0/C1 control chars from a
55
+ * string so it is safe to store and to print to an operator's terminal. TAB and
56
+ * LF are preserved. Use this on ANY externally-influenced text before it is
57
+ * persisted or rendered (CWE-150).
58
+ */
59
+ export declare function stripControlSequences(s: string): string;
60
+ /**
61
+ * Back-compat alias — historically this stripped only SGR color codes; it now
62
+ * strips the full control-sequence set. All existing call sites (level
63
+ * inference, the console tee, stored messages) want the broader stripping.
64
+ */
54
65
  export declare function stripAnsi(s: string): string;
55
66
  /**
56
67
  * Infer a log level from a printed line without any call-site cooperation.
@@ -71,11 +82,14 @@ declare class StartupReport {
71
82
  private origStderrWrite;
72
83
  private capturing;
73
84
  private exitNetRegistered;
85
+ private shipHook;
74
86
  private inErrorTee;
75
87
  /** Merge in context as it becomes known (project, worktree, etc.). */
76
88
  setContext(partial: StartupContext): void;
77
- /** Buffer one entry. Never throws. Scrubs URL credentials from every persisted
78
- * message (blanket coverage for all capture sites, current and future). */
89
+ /** Buffer one entry. Never throws. This is the single choke point for every
90
+ * persisted message, so it scrubs URL credentials AND strips all terminal
91
+ * control sequences (CWE-150) here — guaranteeing no CSI/OSC/C0/C1 byte is
92
+ * ever stored regardless of which capture site produced the entry. */
79
93
  record(level: StartupLevel, message: string, code?: string): void;
80
94
  /**
81
95
  * Assemble the report and append one JSON line to the durable log. Idempotent
@@ -83,6 +97,8 @@ declare class StartupReport {
83
97
  * untouched.
84
98
  */
85
99
  finalize(outcome: StartupOutcome): void;
100
+ /** Register the fire-and-forget central-shipping hook (start.ts only). */
101
+ setShipHook(fn: () => void): void;
86
102
  /** Absolute path to this invocation's JSONL log. */
87
103
  private logFilePath;
88
104
  /** Append a line, creating dirs and performing two-generation rotation. */
@@ -1 +1 @@
1
- {"version":3,"file":"startup-report.d.ts","sourceRoot":"","sources":["../../src/lib/startup-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup-report.d.ts","sourceRoot":"","sources":["../../src/lib/startup-report.ts"],"names":[],"mappings":"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"}
@@ -31,9 +31,28 @@
31
31
  import { appendFileSync, mkdirSync, renameSync, statSync } from 'fs';
32
32
  import { homedir, hostname } from 'os';
33
33
  import { dirname, join } from 'path';
34
+ import { spoolReport } from './startup-shipper.js';
34
35
  /** Rotate the JSONL file once it exceeds this size (simple two-generation rotation). */
35
36
  const MAX_LOG_BYTES = 5 * 1024 * 1024;
36
- const ANSI_RE = /\x1b\[[0-9;]*m/g;
37
+ /**
38
+ * Full terminal control-sequence stripper (CWE-150 defense, #4350 security
39
+ * review). SGR color stripping alone (the old `\x1b\[...m`) left OSC (window-
40
+ * title set, hyperlinks) and CSI cursor/screen-clear sequences intact, so a
41
+ * crafted report field could drive the operator's terminal when rendered. This
42
+ * pattern removes:
43
+ * 1. CSI sequences — ESC [ params intermediates final (covers SGR, cursor
44
+ * moves, ESC[2J screen clear).
45
+ * 2. OSC sequences — ESC ] … terminated by BEL or ESC\ (covers ESC]0; title
46
+ * set and hyperlinks).
47
+ * 3. C0/C1 control chars — U+0000–0008, U+000B–001F, U+007F–009F. TAB (U+0009)
48
+ * and LF (U+000A) are deliberately preserved.
49
+ *
50
+ * Order matters: the multi-char CSI/OSC branches come BEFORE the single-char
51
+ * class so a leading ESC (itself a C0 control) is consumed as part of its
52
+ * sequence rather than stripped alone — which would leave the payload bytes
53
+ * (e.g. "[2J") behind as visible text.
54
+ */
55
+ const CONTROL_SEQ_RE = /\u001b\[[0-?]*[ -\/]*[@-~]|\u001b\][^\u0007]*(?:\u0007|\u001b\\)|[\u0000-\u0008\u000b-\u001f\u007f-\u009f]/g;
37
56
  /**
38
57
  * Strip `userinfo` (user:password@) from any `scheme://` URL. Covers git fetch
39
58
  * stderr that echoes a credentialed remote (e.g.
@@ -45,9 +64,22 @@ const REDACT_URL_CRED = /([a-z][a-z0-9+.-]*:\/\/)[^/@\s]*@/gi;
45
64
  export function redactUrlCredentials(s) {
46
65
  return s.replace(REDACT_URL_CRED, '$1***@');
47
66
  }
48
- /** Strip SGR (color/style) escape sequences so the stored message is plain text. */
67
+ /**
68
+ * Strip all terminal control sequences (CSI, OSC) and C0/C1 control chars from a
69
+ * string so it is safe to store and to print to an operator's terminal. TAB and
70
+ * LF are preserved. Use this on ANY externally-influenced text before it is
71
+ * persisted or rendered (CWE-150).
72
+ */
73
+ export function stripControlSequences(s) {
74
+ return String(s ?? '').replace(CONTROL_SEQ_RE, '');
75
+ }
76
+ /**
77
+ * Back-compat alias — historically this stripped only SGR color codes; it now
78
+ * strips the full control-sequence set. All existing call sites (level
79
+ * inference, the console tee, stored messages) want the broader stripping.
80
+ */
49
81
  export function stripAnsi(s) {
50
- return s.replace(ANSI_RE, '');
82
+ return stripControlSequences(s);
51
83
  }
52
84
  /**
53
85
  * Infer a log level from a printed line without any call-site cooperation.
@@ -94,6 +126,10 @@ class StartupReport {
94
126
  origStderrWrite = process.stderr.write;
95
127
  capturing = false;
96
128
  exitNetRegistered = false;
129
+ // Fire-and-forget central-shipping hook (#4350 Phase 2). Registered by start.ts
130
+ // with the observability config; null everywhere else (e.g. tests) so finalize's
131
+ // local-write behavior is unchanged when no shipper is wired.
132
+ shipHook = null;
97
133
  // Re-entrancy guard: Node's native console.error dispatches through the live
98
134
  // (teed) process.stderr.write, so without this flag an error line would be
99
135
  // recorded twice — once by the console.error tee (error) and again by the
@@ -104,13 +140,16 @@ class StartupReport {
104
140
  setContext(partial) {
105
141
  this.ctx = { ...this.ctx, ...partial };
106
142
  }
107
- /** Buffer one entry. Never throws. Scrubs URL credentials from every persisted
108
- * message (blanket coverage for all capture sites, current and future). */
143
+ /** Buffer one entry. Never throws. This is the single choke point for every
144
+ * persisted message, so it scrubs URL credentials AND strips all terminal
145
+ * control sequences (CWE-150) here — guaranteeing no CSI/OSC/C0/C1 byte is
146
+ * ever stored regardless of which capture site produced the entry. */
109
147
  record(level, message, code) {
110
148
  try {
111
- const entry = { ts: new Date().toISOString(), level, message: redactUrlCredentials(message) };
149
+ const clean = redactUrlCredentials(stripControlSequences(message));
150
+ const entry = { ts: new Date().toISOString(), level, message: clean };
112
151
  if (code)
113
- entry.code = code;
152
+ entry.code = stripControlSequences(code);
114
153
  this.entries.push(entry);
115
154
  }
116
155
  catch {
@@ -149,12 +188,30 @@ class StartupReport {
149
188
  outcome,
150
189
  entries: this.entries,
151
190
  };
152
- this.appendLine(JSON.stringify(report));
191
+ const json = JSON.stringify(report);
192
+ this.appendLine(json);
193
+ // #4350 Phase 2: enqueue for central shipping. spoolReport never throws;
194
+ // the ship hook (if any) fires a best-effort POST and is fire-and-forget so
195
+ // it can never block or slow the start. A failed POST leaves the file
196
+ // spooled for the Stop-hook `mx-agent sync` flush.
197
+ spoolReport(json);
198
+ if (this.shipHook) {
199
+ try {
200
+ this.shipHook();
201
+ }
202
+ catch {
203
+ /* shipping must never affect the start */
204
+ }
205
+ }
153
206
  }
154
207
  catch {
155
208
  /* a logging failure must never affect the start */
156
209
  }
157
210
  }
211
+ /** Register the fire-and-forget central-shipping hook (start.ts only). */
212
+ setShipHook(fn) {
213
+ this.shipHook = fn;
214
+ }
158
215
  /** Absolute path to this invocation's JSONL log. */
159
216
  logFilePath() {
160
217
  const name = this.ctx.worktree || this.ctx.team || 'unknown';
@@ -296,6 +353,7 @@ class StartupReport {
296
353
  this.ctx = {};
297
354
  this.startedAt = new Date().toISOString();
298
355
  this.finalized = false;
356
+ this.shipHook = null;
299
357
  }
300
358
  /** @internal snapshot of buffered entries (tests only). */
301
359
  _entries() {
@@ -1 +1 @@
1
- {"version":3,"file":"startup-report.js","sourceRoot":"","sources":["../../src/lib/startup-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup-report.js","sourceRoot":"","sources":["../../src/lib/startup-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * startup-shipper.ts — ships StartupReports to the central observability
3
+ * service (platform v2.58 Phase 2, #4350).
4
+ *
5
+ * Durability model mirrors the local JSONL from Phase 1: every report is first
6
+ * written to a spool dir (~/.mx-agent/logs/startup/spool/<uuid>.json), then a
7
+ * best-effort POST deletes it on success. A failed or token-less POST leaves the
8
+ * file spooled; the Stop-hook `mx-agent sync` flushes the backlog on the next
9
+ * session end.
10
+ *
11
+ * Discipline (identical to startup-report.ts): NOTHING here throws. Shipping is
12
+ * additive telemetry — it must never block, slow, or fail a session start. Every
13
+ * filesystem and network call is wrapped; the worst outcome of any failure is a
14
+ * report that stays spooled for a later retry.
15
+ *
16
+ * - spoolReport(json) — write one report to the spool. Drops files older
17
+ * than 14 days at write time (bounded disk/staleness).
18
+ * - flushSpool(cfg) — POST every spooled report, deleting each on 2xx.
19
+ * Enforces a 50-file cap (drops oldest beyond it) and
20
+ * skips entirely when no token is configured.
21
+ * - postSpoolFile(p, cfg) — POST one spool file with a 3 s timeout.
22
+ */
23
+ /** Absolute path to the spool directory. Computed at call time so tests that
24
+ * repoint $HOME observe the change (matches startup-report.ts). */
25
+ export declare function spoolDir(): string;
26
+ export interface ShipConfig {
27
+ apiUrl: string;
28
+ apiToken?: string;
29
+ /** Optional dim-note logger (sync passes one; startup passes nothing). */
30
+ log?: (msg: string) => void;
31
+ }
32
+ /**
33
+ * Write a report JSON string to the spool. Never throws. Returns the file path,
34
+ * or null if the write could not be performed (e.g. a read-only spool dir).
35
+ * Drops files older than 14 days first.
36
+ */
37
+ export declare function spoolReport(reportJson: string): string | null;
38
+ /**
39
+ * POST one spool file to the observability service. Returns true and deletes the
40
+ * file on a 2xx response. Any non-2xx, network error, or timeout returns false
41
+ * and leaves the file spooled. Never throws.
42
+ */
43
+ export declare function postSpoolFile(path: string, cfg: ShipConfig): Promise<boolean>;
44
+ /**
45
+ * Flush the spool: POST every spooled report, deleting each on success.
46
+ *
47
+ * Enforces the 50-file cap first (drops the oldest beyond it, with a dim note if
48
+ * a logger is provided). If no token is configured the whole flush is skipped —
49
+ * files stay spooled so a later run with a token can retry. Never throws.
50
+ */
51
+ export declare function flushSpool(cfg: ShipConfig): Promise<{
52
+ shipped: number;
53
+ remaining: number;
54
+ }>;
55
+ //# sourceMappingURL=startup-shipper.d.ts.map