@newrelic/preflight 1.34.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  [![Local First](https://img.shields.io/badge/Local%20First-Offline%20by%20default-brightgreen)](#quick-start)
9
9
  [![Dashboards Included](https://img.shields.io/badge/Dashboards-7%20Included-blue)](#dashboards)
10
10
 
11
- [**Docs**](docs/ADVANCED.md) • [**Examples**](examples/) • [**Community**](https://support.newrelic.com/s/) • [**Contributing**](CONTRIBUTING.md)
11
+ [**Docs**](https://newrelic-experimental.github.io/preflight/) • [**What's New**](https://newrelic-experimental.github.io/preflight/whats-new/) • [**Examples**](examples/) • [**Community**](https://support.newrelic.com/s/) • [**Contributing**](CONTRIBUTING.md)
12
12
 
13
13
  </div>
14
14
 
@@ -98,6 +98,10 @@ When prompted, pick a mode:
98
98
 
99
99
  Restart your AI tool — hooks and the MCP server load at session start. Every tool call is captured automatically. Open **http://localhost:7777** to watch your session live.
100
100
 
101
+ > **Using Kiro?** Add Preflight as a [Kiro Power](docs/KIRO_POWER.md) for the
102
+ > `nr_observe_*` query tools — see the doc for install steps and how to add
103
+ > automatic tool-call capture on top.
104
+
101
105
  > **Using Claude Code?** You can skip the npm install above and add Preflight as a [Claude Code plugin](docs/PLUGIN.md) instead:
102
106
  >
103
107
  > ```
@@ -1 +1 @@
1
- {"version":3,"file":"collector-script.d.ts","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AA0BH;;;;;;;;;GASG;AACH,iBAAS,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQjD;AA2BD,iBAAS,gBAAgB,IAAI,OAAO,CAKnC;AA4BD,iBAAS,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAarC;AAMD,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGzC;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtC;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAoCD;;;;GAIG;AACH,eAAO,MAAM,OAAO;qBACD,MAAM,KAAG,MAAM;CACjC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,EAAE,CAsB9E;AAID,iBAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA4DpD;AAID,iBAAS,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAuC5E;AA+SD,iBAAS,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA4nBtC;AAGD,OAAO,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,GACd,CAAC;AAkBF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;6BACM,MAAM,GAAG,MAAM,KAAG,MAAM;CAClD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,iBAAS,aAAa,IAAI,MAAM,CAS/B"}
1
+ {"version":3,"file":"collector-script.d.ts","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AA0BH;;;;;;;;;GASG;AACH,iBAAS,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQjD;AA2BD,iBAAS,gBAAgB,IAAI,OAAO,CAKnC;AA4BD,iBAAS,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAarC;AAMD,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGzC;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtC;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAoCD;;;;GAIG;AACH,eAAO,MAAM,OAAO;qBACD,MAAM,KAAG,MAAM;CACjC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,EAAE,CAsB9E;AAID,iBAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA4DpD;AAID,iBAAS,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAuC5E;AAkVD,iBAAS,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA4nBtC;AAGD,OAAO,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,GACd,CAAC;AAkBF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;6BACM,MAAM,GAAG,MAAM,KAAG,MAAM;CAClD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,iBAAS,aAAa,IAAI,MAAM,CAS/B"}
@@ -385,6 +385,46 @@ function extractInputMeta(toolName, input) {
385
385
  if (typeof obj.replace_all === 'boolean')
386
386
  meta.replace_all = obj.replace_all;
387
387
  break;
388
+ // Amazon Kiro. Tool names and tool_input field names captured from a live
389
+ // Kiro install (42.08, macOS) — `read_file` sends {path, offset, limit} and
390
+ // `str_replace` sends {path, oldStr, newStr, replace_all}. Two deltas from
391
+ // Claude Code worth noting: the file key is `path`, not `file_path`, and the
392
+ // edit strings are `oldStr`/`newStr`, not `old_string`/`new_string`.
393
+ //
394
+ // These are explicit cases rather than hoisting `path` into the
395
+ // name-independent file_path block above, because Grep/Glob also send `path`
396
+ // — there it means a search root, not a file, and promoting it to file_path
397
+ // would misreport searches as file access for every platform.
398
+ //
399
+ // The path Kiro sends is workspace-relative ("cloudformation/export-env.sh"),
400
+ // unlike Claude Code's absolute paths. That's fine for the unique-file
401
+ // counting these fields feed, but don't assume absolute downstream.
402
+ case 'read_file':
403
+ if (typeof obj.path === 'string')
404
+ meta.file_path = obj.path;
405
+ if (typeof obj.offset === 'number')
406
+ meta.offset = obj.offset;
407
+ if (typeof obj.limit === 'number')
408
+ meta.limit = obj.limit;
409
+ break;
410
+ case 'str_replace': {
411
+ if (typeof obj.path === 'string')
412
+ meta.file_path = obj.path;
413
+ const kiroOld = obj.oldStr;
414
+ const kiroNew = obj.newStr;
415
+ if (typeof kiroOld === 'string') {
416
+ meta.oldStringLength = kiroOld.length;
417
+ meta.oldLineCount = kiroOld.length > 0 ? countLines(kiroOld) : 0;
418
+ }
419
+ if (typeof kiroNew === 'string') {
420
+ meta.newStringLength = kiroNew.length;
421
+ meta.newLineCount = kiroNew.length > 0 ? countLines(kiroNew) : 0;
422
+ meta.isDelete = kiroNew.length === 0;
423
+ }
424
+ if (typeof obj.replace_all === 'boolean')
425
+ meta.replace_all = obj.replace_all;
426
+ break;
427
+ }
388
428
  // PowerShell is a real, first-party Claude Code tool on native Windows,
389
429
  // auto-enabled without Git Bash (code.claude.com/docs/en/tools-reference,
390
430
  // /setup, /env-vars) — same command/description/timeout/run_in_background
@@ -1 +1 @@
1
- {"version":3,"file":"collector-script.js","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collector-script.js","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Cross-platform ancestor-PID walk for the MCP server (read side).
3
+ *
4
+ * Why this exists: the session-id breadcrumb the hook collector writes is keyed
5
+ * on a PID, and `resolveFromBreadcrumb()` (session-resolver.ts) looks it up at
6
+ * the MCP server's own `process.ppid`. That only lines up when the server and
7
+ * the collector are both direct children of the IDE. When the server's launch
8
+ * command routes through a wrapper — `npx`, which execs an `npm exec` process
9
+ * in between — the server's `ppid` is the wrapper, not the IDE, and the lookup
10
+ * misses even though the correct breadcrumb is sitting one level further up.
11
+ * Confirmed on Kiro: `Kiro Helper → npm exec → node preflight --stdio`, with
12
+ * the breadcrumb at Kiro Helper's PID.
13
+ *
14
+ * Note this is NOT the same gap `collector-script.ts`'s `getLinuxAncestorPids`
15
+ * covers. That one walks up from the *collector's* ppid so the collector can
16
+ * write a breadcrumb at every ancestor, for hook runners that interpose a shell
17
+ * between the IDE and the collector. A wrapper between the IDE and the *server*
18
+ * is a different branch of the tree, so no amount of write-side walking reaches
19
+ * it — the server has to walk its own ancestry.
20
+ *
21
+ * Platform coverage:
22
+ * - linux — reads `/proc/<pid>/stat`. No subprocess.
23
+ * - darwin and other POSIX — one `ps -Ao pid=,ppid=` call for the whole
24
+ * process table, parsed into a pid→ppid map and walked in memory.
25
+ * - win32 — NOT IMPLEMENTED: returns `[startPid]`, which is exactly the
26
+ * pre-walk behavior, so nothing regresses. `wmic` is deprecated/removed on
27
+ * current Windows and PowerShell `Get-CimInstance` costs hundreds of ms to
28
+ * start, so neither was adopted blind. Consequence to be aware of: a
29
+ * wrapper-launched MCP server on native Windows still can't resolve its
30
+ * session_id by PID. Claude Code on native Windows is unaffected — it
31
+ * launches the server directly and has the cwd breadcrumb as a fallback.
32
+ *
33
+ * The `/proc` parsing here is deliberately duplicated from
34
+ * `collector-script.ts`'s `getLinuxAncestorPids` rather than imported: that
35
+ * module runs on every single tool call under a <5ms budget with a "no heavy
36
+ * imports" rule, and importing this one would pull `node:child_process` into
37
+ * that path. It also has top-level side effects (it reads stdin when invoked
38
+ * directly). Same precedent as `src/metrics/transcript-reasoning.ts`'s
39
+ * duplicated `translateWslPath`. Keep the two parsers in sync.
40
+ */
41
+ /**
42
+ * Narrowed `execFileSync` shape — only what this module needs, so tests can
43
+ * inject a plain function instead of mocking `node:child_process`. Mirrors
44
+ * `ExecFileFn` in src/alerts/os-notifier.ts.
45
+ */
46
+ export type ExecFileSyncFn = (file: string, args: readonly string[], options: {
47
+ readonly encoding: 'utf-8';
48
+ readonly timeout: number;
49
+ readonly stdio: readonly ['ignore', 'pipe', 'ignore'];
50
+ }) => string;
51
+ export interface AncestorPidsOptions {
52
+ /** How many levels above `startPid` to walk. Default 4 — see getAncestorPids. */
53
+ readonly maxDepth?: number;
54
+ /** Override `process.platform` (test seam). */
55
+ readonly platform?: NodeJS.Platform;
56
+ /** Override the `ps` invocation (test seam). */
57
+ readonly execFileSync?: ExecFileSyncFn;
58
+ }
59
+ /**
60
+ * Seam for unit tests: replace `readFile` to inject fake `/proc/<pid>/stat`
61
+ * content without touching the real filesystem. Production code never sets this.
62
+ * @internal
63
+ */
64
+ export declare const _procFs: {
65
+ readFile: (path: string) => string;
66
+ };
67
+ /**
68
+ * Returns `[startPid, parent, grandparent, ...]` — `startPid` is always at
69
+ * index 0, so the result is never empty for a valid input.
70
+ *
71
+ * The walk stops at `maxDepth` levels, at PID <= 1 (init/systemd and the PID-0
72
+ * sentinel are never useful breadcrumb keys), on a cycle, and on any lookup
73
+ * failure. Default `maxDepth` is 4: the motivating `npx` case needs only one
74
+ * level, and a wrapper shell behind it would need two, while deeper ancestors
75
+ * are progressively more *shared* between concurrent sessions on the same
76
+ * machine — so a shallow cap covers real launcher shapes without widening the
77
+ * window for resolving to a neighbouring session's breadcrumb.
78
+ *
79
+ * Never throws.
80
+ */
81
+ export declare function getAncestorPids(startPid: number, options?: AncestorPidsOptions): number[];
82
+ //# sourceMappingURL=process-ancestry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-ancestry.d.ts","sourceRoot":"","sources":["../../src/hooks/process-ancestry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAYH;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;CACvD,KACE,MAAM,CAAC;AAEZ,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IACpC,gDAAgD;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC;CACxC;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO;qBACD,MAAM,KAAG,MAAM;CACjC,CAAC;AAqDF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,EAAE,CAwC7F"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Cross-platform ancestor-PID walk for the MCP server (read side).
3
+ *
4
+ * Why this exists: the session-id breadcrumb the hook collector writes is keyed
5
+ * on a PID, and `resolveFromBreadcrumb()` (session-resolver.ts) looks it up at
6
+ * the MCP server's own `process.ppid`. That only lines up when the server and
7
+ * the collector are both direct children of the IDE. When the server's launch
8
+ * command routes through a wrapper — `npx`, which execs an `npm exec` process
9
+ * in between — the server's `ppid` is the wrapper, not the IDE, and the lookup
10
+ * misses even though the correct breadcrumb is sitting one level further up.
11
+ * Confirmed on Kiro: `Kiro Helper → npm exec → node preflight --stdio`, with
12
+ * the breadcrumb at Kiro Helper's PID.
13
+ *
14
+ * Note this is NOT the same gap `collector-script.ts`'s `getLinuxAncestorPids`
15
+ * covers. That one walks up from the *collector's* ppid so the collector can
16
+ * write a breadcrumb at every ancestor, for hook runners that interpose a shell
17
+ * between the IDE and the collector. A wrapper between the IDE and the *server*
18
+ * is a different branch of the tree, so no amount of write-side walking reaches
19
+ * it — the server has to walk its own ancestry.
20
+ *
21
+ * Platform coverage:
22
+ * - linux — reads `/proc/<pid>/stat`. No subprocess.
23
+ * - darwin and other POSIX — one `ps -Ao pid=,ppid=` call for the whole
24
+ * process table, parsed into a pid→ppid map and walked in memory.
25
+ * - win32 — NOT IMPLEMENTED: returns `[startPid]`, which is exactly the
26
+ * pre-walk behavior, so nothing regresses. `wmic` is deprecated/removed on
27
+ * current Windows and PowerShell `Get-CimInstance` costs hundreds of ms to
28
+ * start, so neither was adopted blind. Consequence to be aware of: a
29
+ * wrapper-launched MCP server on native Windows still can't resolve its
30
+ * session_id by PID. Claude Code on native Windows is unaffected — it
31
+ * launches the server directly and has the cwd breadcrumb as a fallback.
32
+ *
33
+ * The `/proc` parsing here is deliberately duplicated from
34
+ * `collector-script.ts`'s `getLinuxAncestorPids` rather than imported: that
35
+ * module runs on every single tool call under a <5ms budget with a "no heavy
36
+ * imports" rule, and importing this one would pull `node:child_process` into
37
+ * that path. It also has top-level side effects (it reads stdin when invoked
38
+ * directly). Same precedent as `src/metrics/transcript-reasoning.ts`'s
39
+ * duplicated `translateWslPath`. Keep the two parsers in sync.
40
+ */
41
+ import { execFileSync as nodeExecFileSync } from 'node:child_process';
42
+ import { readFileSync } from 'node:fs';
43
+ import { createLogger } from '../shared/index.js';
44
+ const logger = createLogger('process-ancestry');
45
+ /** Whole-table lookup timeout. Matches the 2s budget used for `git` in index.ts. */
46
+ const PS_TIMEOUT_MS = 2000;
47
+ /**
48
+ * Seam for unit tests: replace `readFile` to inject fake `/proc/<pid>/stat`
49
+ * content without touching the real filesystem. Production code never sets this.
50
+ * @internal
51
+ */
52
+ export const _procFs = {
53
+ readFile: (path) => readFileSync(path, 'utf-8'),
54
+ };
55
+ /**
56
+ * Parses a `/proc/<pid>/stat` line and returns the parent PID, or null when the
57
+ * line is malformed.
58
+ *
59
+ * Format: `pid (comm) state ppid pgrp ...`. `comm` can itself contain spaces
60
+ * and parentheses, so the field separator is found with lastIndexOf(')').
61
+ */
62
+ function parentPidFromProcStat(stat) {
63
+ const lastParen = stat.lastIndexOf(')');
64
+ if (lastParen === -1)
65
+ return null;
66
+ // After the last ')': " state ppid ..." — split on space, index [1] is ppid.
67
+ const parsed = parseInt(stat.slice(lastParen + 2).split(' ')[1] ?? '', 10);
68
+ return Number.isFinite(parsed) ? parsed : null;
69
+ }
70
+ /**
71
+ * Builds a pid→ppid map for every process, via a single `ps` call.
72
+ * Returns an empty map on any failure (missing `ps`, non-zero exit, timeout,
73
+ * unparseable output) so callers degrade to a depth-0 walk rather than throw.
74
+ */
75
+ function readProcessTable(execFileSync) {
76
+ const table = new Map();
77
+ let out;
78
+ try {
79
+ // `-A` = all processes; `-o pid=,ppid=` = those two columns, no header.
80
+ // Both are POSIX options. One call for the whole table rather than one per
81
+ // level, so the walk costs a single subprocess (~40ms on macOS).
82
+ out = execFileSync('ps', ['-Ao', 'pid=,ppid='], {
83
+ encoding: 'utf-8',
84
+ timeout: PS_TIMEOUT_MS,
85
+ stdio: ['ignore', 'pipe', 'ignore'],
86
+ });
87
+ }
88
+ catch (err) {
89
+ // execFileSync throws on non-zero exit, timeout, and ENOENT alike. A
90
+ // pathological injected fn could also throw synchronously — same handling.
91
+ logger.debug('Could not read process table via ps', { error: String(err) });
92
+ return table;
93
+ }
94
+ if (typeof out !== 'string')
95
+ return table;
96
+ for (const line of out.split('\n')) {
97
+ const parts = line.trim().split(/\s+/);
98
+ if (parts.length < 2)
99
+ continue;
100
+ const pid = parseInt(parts[0] ?? '', 10);
101
+ const ppid = parseInt(parts[1] ?? '', 10);
102
+ if (!Number.isFinite(pid) || !Number.isFinite(ppid))
103
+ continue;
104
+ table.set(pid, ppid);
105
+ }
106
+ return table;
107
+ }
108
+ /**
109
+ * Returns `[startPid, parent, grandparent, ...]` — `startPid` is always at
110
+ * index 0, so the result is never empty for a valid input.
111
+ *
112
+ * The walk stops at `maxDepth` levels, at PID <= 1 (init/systemd and the PID-0
113
+ * sentinel are never useful breadcrumb keys), on a cycle, and on any lookup
114
+ * failure. Default `maxDepth` is 4: the motivating `npx` case needs only one
115
+ * level, and a wrapper shell behind it would need two, while deeper ancestors
116
+ * are progressively more *shared* between concurrent sessions on the same
117
+ * machine — so a shallow cap covers real launcher shapes without widening the
118
+ * window for resolving to a neighbouring session's breadcrumb.
119
+ *
120
+ * Never throws.
121
+ */
122
+ export function getAncestorPids(startPid, options = {}) {
123
+ if (!Number.isFinite(startPid) || startPid <= 0)
124
+ return [];
125
+ const maxDepth = options.maxDepth ?? 4;
126
+ const platform = options.platform ?? process.platform;
127
+ const pids = [startPid];
128
+ if (platform === 'win32') {
129
+ // Not implemented — see the module doc comment. Returning just the direct
130
+ // pid keeps behavior identical to having no walk at all.
131
+ return pids;
132
+ }
133
+ // On Linux read /proc directly; everywhere else pay for one `ps` call, and
134
+ // only lazily — a walk that stops at depth 0 never spawns anything.
135
+ let table;
136
+ const execFileSync = options.execFileSync ?? nodeExecFileSync;
137
+ let pid = startPid;
138
+ for (let depth = 0; depth < maxDepth && pid > 1; depth++) {
139
+ let parentPid = null;
140
+ if (platform === 'linux') {
141
+ try {
142
+ parentPid = parentPidFromProcStat(_procFs.readFile(`/proc/${pid}/stat`));
143
+ }
144
+ catch {
145
+ break;
146
+ }
147
+ }
148
+ else {
149
+ table ??= readProcessTable(execFileSync);
150
+ parentPid = table.get(pid) ?? null;
151
+ }
152
+ if (parentPid === null || !Number.isFinite(parentPid) || parentPid <= 1)
153
+ break;
154
+ if (pids.includes(parentPid))
155
+ break; // cycle guard
156
+ pids.push(parentPid);
157
+ pid = parentPid;
158
+ }
159
+ return pids;
160
+ }
161
+ //# sourceMappingURL=process-ancestry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-ancestry.js","sourceRoot":"","sources":["../../src/hooks/process-ancestry.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Resolve the Claude Code session_id for the running MCP process.
3
3
  *
4
- * Three sources, in order:
4
+ * Four sources, in order:
5
5
  * 1. `CLAUDE_JOB_DIR` env var → read `<dir>/state.json`, regex-extract the
6
6
  * session UUID from the `linkScanPath` field's filename. Instant; used
7
7
  * by background-job MCPs.
@@ -11,23 +11,29 @@
11
11
  * breadcrumb was written — resolveFromBreadcrumb() guards against that
12
12
  * by rejecting a breadcrumb older than the resolving process's own
13
13
  * start time (see its doc comment).
14
- * 3. cwd breadcrumb at `<storage>/session-by-cwd/<sanitized-cwd>.txt` —
14
+ * 3. ancestor PPID breadcrumbs — the same files as #2, but looked up at each
15
+ * of this process's ancestor PIDs rather than only its immediate parent.
16
+ * Covers launchers that interpose a process between the IDE and the MCP
17
+ * server (`npx`, which execs an `npm exec` wrapper), where our own
18
+ * `process.ppid` is that wrapper and the breadcrumb sits a level above it.
19
+ * See process-ancestry.ts. Only consulted when #2 misses.
20
+ * 4. cwd breadcrumb at `<storage>/session-by-cwd/<sanitized-cwd>.txt` —
15
21
  * also written by the hook collector on every tool call, keyed by the
16
22
  * project directory instead of a PID. Fallback for platforms where the
17
23
  * PPID bridge never reaches the MCP's own `process.ppid` (e.g. native
18
24
  * Windows, where Claude Code interposes Git Bash between itself and the
19
- * hook collector but launches the MCP server directly). Only consulted
20
- * when #2 misses.
21
- * Both breadcrumb sources are polled together at exponential backoff:
22
- * 100ms, 200ms, 500ms, 1s, 2s, then steady at 2s. No hard timeout; logs a
23
- * single WARN at 60s if still unresolved.
25
+ * hook collector but launches the MCP server directly). Consulted last,
26
+ * only when #2 and #3 both miss.
27
+ * Sources #2–#4 are polled together at exponential backoff: 100ms, 200ms,
28
+ * 500ms, 1s, 2s, then steady at 2s. No hard timeout; logs a single WARN at
29
+ * 60s if still unresolved.
24
30
  *
25
31
  * The MCP must never fabricate its own session_id. If none of these resolve,
26
32
  * tool handlers should report "session_id not yet resolved" rather than make
27
33
  * one up.
28
34
  */
29
- /** Which of the three sources produced a resolveSessionId() result. */
30
- export type SessionIdSource = 'jobdir' | 'ppid' | 'cwd';
35
+ /** Which of the sources produced a resolveSessionId() result. */
36
+ export type SessionIdSource = 'jobdir' | 'ppid' | 'ppid-ancestor' | 'cwd';
31
37
  export interface SessionResolverOptions {
32
38
  /** Override the storage path used to find the breadcrumb directory. */
33
39
  readonly storagePath?: string;
@@ -37,6 +43,12 @@ export interface SessionResolverOptions {
37
43
  readonly cwd?: string;
38
44
  /** Override `process.env.CLAUDE_JOB_DIR` (test seam). */
39
45
  readonly claudeJobDir?: string | null;
46
+ /**
47
+ * Override the ancestor-PID chain that would otherwise be derived from
48
+ * `ppid` via getAncestorPids() (test seam). Supplying it also skips that
49
+ * derivation, which on non-Linux costs a `ps` subprocess.
50
+ */
51
+ readonly ancestorPids?: readonly number[];
40
52
  /** When true, skip the WARN log (test seam). */
41
53
  readonly suppressWarn?: boolean;
42
54
  /**
@@ -68,6 +80,29 @@ export declare function resolveFromJobDir(claudeJobDir: string | null | undefine
68
80
  * only checks whether the PID is alive, and a recycled PID always is.
69
81
  */
70
82
  export declare function resolveFromBreadcrumb(storagePath: string, ppid: number | undefined, processStartMs?: number): string | null;
83
+ /** What resolveFromAncestorBreadcrumb() found, and where. */
84
+ export interface AncestorBreadcrumbHit {
85
+ readonly sessionId: string;
86
+ /** The ancestor PID whose breadcrumb matched. */
87
+ readonly pid: number;
88
+ /** Levels above our own ppid — 1 is our ppid's parent. */
89
+ readonly depth: number;
90
+ }
91
+ /**
92
+ * Try each ANCESTOR pid's breadcrumb, for the case where a launcher interposed
93
+ * a process between the IDE and this one so our own `process.ppid` isn't the
94
+ * PID the collector keyed its breadcrumb on (`npx` → `npm exec` → server; see
95
+ * process-ancestry.ts). Index 0 of `ancestorPids` is our own ppid and is
96
+ * skipped — resolveFromBreadcrumb() already covered it.
97
+ *
98
+ * First match wins: the closest ancestor is the most specific, and therefore
99
+ * the least likely to be a PID shared with a concurrent session.
100
+ *
101
+ * Each level goes through resolveFromBreadcrumb(), so the PID-recycling mtime
102
+ * gate applies per level — which matters more here than for a single lookup,
103
+ * since a walk tests several PIDs and any of them could have been recycled.
104
+ */
105
+ export declare function resolveFromAncestorBreadcrumb(storagePath: string, ancestorPids: readonly number[], processStartMs?: number): AncestorBreadcrumbHit | null;
71
106
  /**
72
107
  * Sanitize a cwd into the single filename segment used both by the collector's
73
108
  * `writeCwdBreadcrumb()` (session-by-cwd breadcrumb) and by Claude Code's own
@@ -1 +1 @@
1
- {"version":3,"file":"session-resolver.d.ts","sourceRoot":"","sources":["../../src/hooks/session-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-resolver.d.ts","sourceRoot":"","sources":["../../src/hooks/session-resolver.ts"],"names":[],"mappings":"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"}