litmus-cli 1.4.35 → 1.4.36
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 +28 -2
- package/dist/commands/connect.d.ts +43 -4
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +91 -11
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/lib/ai-tracking.d.ts +5 -0
- package/dist/lib/ai-tracking.d.ts.map +1 -1
- package/dist/lib/ai-tracking.js +24 -9
- package/dist/lib/ai-tracking.js.map +1 -1
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +6 -5
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/backfill-tools.d.ts +37 -1
- package/dist/lib/backfill-tools.d.ts.map +1 -1
- package/dist/lib/backfill-tools.js +63 -12
- package/dist/lib/backfill-tools.js.map +1 -1
- package/dist/lib/capture-selftest.d.ts +7 -2
- package/dist/lib/capture-selftest.d.ts.map +1 -1
- package/dist/lib/capture-selftest.js +4 -4
- package/dist/lib/capture-selftest.js.map +1 -1
- package/dist/lib/cursor-restart.js +1 -1
- package/dist/lib/cursor-restart.js.map +1 -1
- package/dist/lib/detection.d.ts +75 -11
- package/dist/lib/detection.d.ts.map +1 -1
- package/dist/lib/detection.js +259 -33
- package/dist/lib/detection.js.map +1 -1
- package/dist/lib/hook-logger.cjs +57 -60
- package/dist/lib/platform.d.ts +19 -6
- package/dist/lib/platform.d.ts.map +1 -1
- package/dist/lib/platform.js +40 -9
- package/dist/lib/platform.js.map +1 -1
- package/dist/lib/watcher.js +4 -41
- package/dist/lib/watcher.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture-selftest.js","sourceRoot":"","sources":["../../src/lib/capture-selftest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capture-selftest.js","sourceRoot":"","sources":["../../src/lib/capture-selftest.ts"],"names":[],"mappings":"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"}
|
|
@@ -237,7 +237,7 @@ export function realCursorProcessIo(ps = getProcessList) {
|
|
|
237
237
|
catch {
|
|
238
238
|
return "unknown";
|
|
239
239
|
}
|
|
240
|
-
return detectRunningHookTools(list).includes("cursor") ? "running" : "not-running";
|
|
240
|
+
return detectRunningHookTools({ ps: list, platform: process.platform }).includes("cursor") ? "running" : "not-running";
|
|
241
241
|
},
|
|
242
242
|
canRelaunch: () => {
|
|
243
243
|
const result = runOsascript('POSIX path of (path to application "Cursor")');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-restart.js","sourceRoot":"","sources":["../../src/lib/cursor-restart.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cursor-restart.js","sourceRoot":"","sources":["../../src/lib/cursor-restart.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/detection.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Claude surface
|
|
3
|
-
* is a spawned script, so logic living there can't
|
|
2
|
+
* Editor, AI tool and Claude surface detection — pure functions,
|
|
3
|
+
* unit-testable (watcher.ts is a spawned script, so logic living there can't
|
|
4
|
+
* be imported by tests).
|
|
4
5
|
*
|
|
5
6
|
* "claude" on a candidate machine is at least three different products, and
|
|
6
7
|
* the old bare-word pattern labeled them all `claude` — which report readers
|
|
@@ -10,15 +11,6 @@
|
|
|
10
11
|
* claude_web — claude.ai in a browser tab; no hook can exist
|
|
11
12
|
* claude — legacy/unattributable, kept so old readers keep working
|
|
12
13
|
*/
|
|
13
|
-
/**
|
|
14
|
-
* Classifies every process-list line containing "claude" into surfaces.
|
|
15
|
-
* `ps` is the lowercased `ps aux` / `tasklist` output from getProcessList().
|
|
16
|
-
* A line matching no surface pattern stays legacy `claude` (unattributable —
|
|
17
|
-
* notably Windows tasklist, where Desktop and Claude Code are both bare
|
|
18
|
-
* `claude.exe` image names, and bystander strings like the VS Code
|
|
19
|
-
* extension's install path in some process's args).
|
|
20
|
-
*/
|
|
21
|
-
export declare function classifyClaudeProcesses(ps: string): string[];
|
|
22
14
|
/**
|
|
23
15
|
* Re-labels an Anthropic-bound connection by its owning process. The IP alone
|
|
24
16
|
* cannot separate the surfaces (claude.ai is Cloudflare-fronted and shares
|
|
@@ -29,4 +21,76 @@ export declare function classifyClaudeProcesses(ps: string): string[];
|
|
|
29
21
|
* `owner` is the process name exactly as the OS reported it — case matters.
|
|
30
22
|
*/
|
|
31
23
|
export declare function refineClaudeTool(tool: string, owner: string): string;
|
|
24
|
+
export interface ProcessRow {
|
|
25
|
+
/** `ps aux` USER column, or the tasklist Session# on Windows. */
|
|
26
|
+
owner: string;
|
|
27
|
+
pid: number;
|
|
28
|
+
/** Full command line (`ps aux`), or the bare image name (tasklist). */
|
|
29
|
+
command: string;
|
|
30
|
+
/** True for tasklist rows: `command` is one image name, never argv. */
|
|
31
|
+
imageOnly: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Parses getProcessList() output into rows. Header, separator and
|
|
35
|
+
* unrecognised lines are dropped — a line that cannot be attributed to a
|
|
36
|
+
* program is not evidence of one.
|
|
37
|
+
*/
|
|
38
|
+
export declare function parseProcessRows(ps: string, platform: NodeJS.Platform): ProcessRow[];
|
|
39
|
+
/**
|
|
40
|
+
* Keeps the rows owned by whoever owns `selfPid` — the watcher itself, which
|
|
41
|
+
* runs as the candidate. Its own row carries the owner exactly as this
|
|
42
|
+
* output spells it (procps truncates long user names), so no lookup of the
|
|
43
|
+
* account name is needed. Without that row ownership cannot be established,
|
|
44
|
+
* so nothing counts rather than everyone's processes.
|
|
45
|
+
*
|
|
46
|
+
* On Windows the owner is the Session#, which another account can share
|
|
47
|
+
* (a `runas` process in the candidate's session); getProcessList() therefore
|
|
48
|
+
* asks tasklist for the candidate's own processes only, and this keeps the
|
|
49
|
+
* session filter on top.
|
|
50
|
+
*/
|
|
51
|
+
export declare function ownRows(rows: ProcessRow[], selfPid: number): ProcessRow[];
|
|
52
|
+
interface ProgramSignature {
|
|
53
|
+
/** Executable basenames, lowercase, .exe/.cmd/.bat stripped. */
|
|
54
|
+
names: string[];
|
|
55
|
+
/** macOS app bundle names (the outermost `<name>.app`). */
|
|
56
|
+
bundles?: string[];
|
|
57
|
+
/** Install-location markers, matched against the program path only. */
|
|
58
|
+
paths?: string[];
|
|
59
|
+
/** `python -m <module>` names — only for tools that really run that way. */
|
|
60
|
+
modules?: string[];
|
|
61
|
+
}
|
|
62
|
+
export declare const EDITOR_SIGNATURES: Record<string, ProgramSignature>;
|
|
63
|
+
export declare const AI_TOOL_SIGNATURES: Record<string, ProgramSignature>;
|
|
64
|
+
export interface Program {
|
|
65
|
+
path: string;
|
|
66
|
+
/**
|
|
67
|
+
* exe: an executable (argv0, or the command after `sh -c`); script: a file
|
|
68
|
+
* handed to an interpreter or Electron; module: a `python -m` module name.
|
|
69
|
+
*/
|
|
70
|
+
kind: "exe" | "script" | "module";
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* What a row runs: the macOS bundle name (if any) and the programs — argv0,
|
|
74
|
+
* plus the script when argv0 is an interpreter or an Electron binary.
|
|
75
|
+
*/
|
|
76
|
+
export declare function rowPrograms(row: ProcessRow): {
|
|
77
|
+
bundle?: string;
|
|
78
|
+
programs: Program[];
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Claude surfaces running in getProcessList() output, any user's. `ps` is
|
|
82
|
+
* lowercased `ps aux` / `tasklist /fo csv` text, parsed per row like
|
|
83
|
+
* detectTools; `platform` is the OS that produced it.
|
|
84
|
+
*/
|
|
85
|
+
export declare function classifyClaudeProcesses(ps: string, platform: NodeJS.Platform): string[];
|
|
86
|
+
/**
|
|
87
|
+
* Editors and AI tools running as the watcher's own user. `ps` is
|
|
88
|
+
* getProcessList() output; `selfPid` is the watcher's pid (its own row
|
|
89
|
+
* names the owner to keep). Cursor counts as both an editor and an AI tool.
|
|
90
|
+
*/
|
|
91
|
+
export declare function detectTools(ps: string, platform: NodeJS.Platform, selfPid: number): {
|
|
92
|
+
editors: string[];
|
|
93
|
+
aiTools: string[];
|
|
94
|
+
};
|
|
95
|
+
export {};
|
|
32
96
|
//# sourceMappingURL=detection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../src/lib/detection.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../src/lib/detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAepE;AAaD,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAA;CACnB;AASD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,UAAU,EAAE,CAYpF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAGzE;AAED,UAAU,gBAAgB;IACxB,gEAAgE;IAChE,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAiB9D,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAgB/D,CAAA;AAwDD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;CAClC;AAyBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAyBrF;AA4CD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,EAAE,CAEvF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,OAAO,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAa1C"}
|
package/dist/lib/detection.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Claude surface
|
|
3
|
-
* is a spawned script, so logic living there can't
|
|
2
|
+
* Editor, AI tool and Claude surface detection — pure functions,
|
|
3
|
+
* unit-testable (watcher.ts is a spawned script, so logic living there can't
|
|
4
|
+
* be imported by tests).
|
|
4
5
|
*
|
|
5
6
|
* "claude" on a candidate machine is at least three different products, and
|
|
6
7
|
* the old bare-word pattern labeled them all `claude` — which report readers
|
|
@@ -10,37 +11,6 @@
|
|
|
10
11
|
* claude_web — claude.ai in a browser tab; no hook can exist
|
|
11
12
|
* claude — legacy/unattributable, kept so old readers keep working
|
|
12
13
|
*/
|
|
13
|
-
/**
|
|
14
|
-
* Classifies every process-list line containing "claude" into surfaces.
|
|
15
|
-
* `ps` is the lowercased `ps aux` / `tasklist` output from getProcessList().
|
|
16
|
-
* A line matching no surface pattern stays legacy `claude` (unattributable —
|
|
17
|
-
* notably Windows tasklist, where Desktop and Claude Code are both bare
|
|
18
|
-
* `claude.exe` image names, and bystander strings like the VS Code
|
|
19
|
-
* extension's install path in some process's args).
|
|
20
|
-
*/
|
|
21
|
-
export function classifyClaudeProcesses(ps) {
|
|
22
|
-
const found = new Set();
|
|
23
|
-
for (const line of ps.split("\n")) {
|
|
24
|
-
if (!/\bclaude\b/.test(line))
|
|
25
|
-
continue;
|
|
26
|
-
if (/claude\.app|claude helper/.test(line)) {
|
|
27
|
-
// macOS Desktop app bundle and its renderer/GPU helpers
|
|
28
|
-
found.add("claude_desktop");
|
|
29
|
-
}
|
|
30
|
-
else if (/claude-code[/\\]cli\.js|[/\\]claude(?:\s|$)/.test(line)) {
|
|
31
|
-
// The npm entrypoint, or the `claude` binary itself as the executed
|
|
32
|
-
// path. Path-anchored so the word inside a directory name (the VS Code
|
|
33
|
-
// extension's install path, a .claude config dir) doesn't count as the
|
|
34
|
-
// CLI running. Desktop's binary also ends in /claude but its lines
|
|
35
|
-
// match the app-bundle branch above first.
|
|
36
|
-
found.add("claude_code");
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
found.add("claude");
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return [...found];
|
|
43
|
-
}
|
|
44
14
|
// Owners that mean "a browser tab". First-token matching: lsof reports
|
|
45
15
|
// multi-word app names ("Google Chrome Helper", "Brave Browser") but the
|
|
46
16
|
// leading token identifies the browser; Safari's network traffic comes from
|
|
@@ -77,4 +47,260 @@ export function refineClaudeTool(tool, owner) {
|
|
|
77
47
|
// drops the surface claim; api traffic keeps its API label.
|
|
78
48
|
return tool === "claude_web" ? "claude" : tool;
|
|
79
49
|
}
|
|
50
|
+
// USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND — the same eleven
|
|
51
|
+
// columns on macOS and procps, none of the first ten containing a space.
|
|
52
|
+
const PS_AUX_ROW = /^(\S+)\s+(\d+)\s+(?:\S+\s+){8}(.*)$/;
|
|
53
|
+
// `tasklist /fo csv /nh`: "Image Name","PID","Session Name","Session#","Mem
|
|
54
|
+
// Usage". CSV, because the default table cuts image names at 25 characters.
|
|
55
|
+
const TASKLIST_ROW = /^"([^"]+)","(\d+)","([^"]*)","(\d+)",/;
|
|
56
|
+
/**
|
|
57
|
+
* Parses getProcessList() output into rows. Header, separator and
|
|
58
|
+
* unrecognised lines are dropped — a line that cannot be attributed to a
|
|
59
|
+
* program is not evidence of one.
|
|
60
|
+
*/
|
|
61
|
+
export function parseProcessRows(ps, platform) {
|
|
62
|
+
const rows = [];
|
|
63
|
+
for (const line of ps.split("\n")) {
|
|
64
|
+
if (platform === "win32") {
|
|
65
|
+
const m = line.trim().match(TASKLIST_ROW);
|
|
66
|
+
if (m)
|
|
67
|
+
rows.push({ owner: m[4], pid: Number(m[2]), command: m[1], imageOnly: true });
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const m = line.trim().match(PS_AUX_ROW);
|
|
71
|
+
if (m)
|
|
72
|
+
rows.push({ owner: m[1], pid: Number(m[2]), command: m[3], imageOnly: false });
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return rows;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Keeps the rows owned by whoever owns `selfPid` — the watcher itself, which
|
|
79
|
+
* runs as the candidate. Its own row carries the owner exactly as this
|
|
80
|
+
* output spells it (procps truncates long user names), so no lookup of the
|
|
81
|
+
* account name is needed. Without that row ownership cannot be established,
|
|
82
|
+
* so nothing counts rather than everyone's processes.
|
|
83
|
+
*
|
|
84
|
+
* On Windows the owner is the Session#, which another account can share
|
|
85
|
+
* (a `runas` process in the candidate's session); getProcessList() therefore
|
|
86
|
+
* asks tasklist for the candidate's own processes only, and this keeps the
|
|
87
|
+
* session filter on top.
|
|
88
|
+
*/
|
|
89
|
+
export function ownRows(rows, selfPid) {
|
|
90
|
+
const self = rows.find((r) => r.pid === selfPid);
|
|
91
|
+
return self ? rows.filter((r) => r.owner === self.owner) : [];
|
|
92
|
+
}
|
|
93
|
+
export const EDITOR_SIGNATURES = {
|
|
94
|
+
vscode: {
|
|
95
|
+
names: ["code", "code-insiders", "code - insiders", "code-oss"],
|
|
96
|
+
bundles: ["visual studio code", "visual studio code - insiders"],
|
|
97
|
+
paths: ["/.vscode-server/", "/opt/vscode-server-cache/"],
|
|
98
|
+
},
|
|
99
|
+
cursor: {
|
|
100
|
+
names: ["cursor", "cursor-agent"],
|
|
101
|
+
bundles: ["cursor"],
|
|
102
|
+
paths: ["/.cursor-server/", "/opt/cursor-server-cache/"],
|
|
103
|
+
},
|
|
104
|
+
vim: { names: ["vim", "gvim", "nvim", "mvim"], bundles: ["macvim"] },
|
|
105
|
+
intellij: { names: ["idea", "idea64"], bundles: ["intellij idea", "intellij idea ce", "intellij idea ultimate"] },
|
|
106
|
+
webstorm: { names: ["webstorm", "webstorm64"], bundles: ["webstorm"] },
|
|
107
|
+
sublime: { names: ["subl", "sublime_text"], bundles: ["sublime text"] },
|
|
108
|
+
emacs: { names: ["emacs", "runemacs"], bundles: ["emacs"] },
|
|
109
|
+
zed: { names: ["zed", "zed-editor"], bundles: ["zed", "zed preview"] },
|
|
110
|
+
};
|
|
111
|
+
export const AI_TOOL_SIGNATURES = {
|
|
112
|
+
aider: { names: ["aider"], modules: ["aider"] },
|
|
113
|
+
codeium: { names: ["codeium"], paths: ["/codeium.codeium-", "/.codeium/"] },
|
|
114
|
+
codex: { names: ["codex"], bundles: ["codex"], paths: ["/@openai/codex/"] },
|
|
115
|
+
copilot: { names: ["copilot", "copilot-language-server"], paths: ["/@github/copilot/", "/github.copilot-"] },
|
|
116
|
+
gemini: { names: ["gemini"], paths: ["/@google/gemini-cli/"] },
|
|
117
|
+
windsurf: { names: ["windsurf"], bundles: ["windsurf"] },
|
|
118
|
+
ollama: { names: ["ollama", "ollama app"], bundles: ["ollama"] },
|
|
119
|
+
tabnine: { names: ["tabnine", "tabnine-deep-local", "tabnine-deep-cloud"], paths: ["/.tabnine/"] },
|
|
120
|
+
supermaven: { names: ["supermaven", "sm-agent"], paths: ["/.supermaven/"] },
|
|
121
|
+
cline: { names: ["cline"] },
|
|
122
|
+
cody: { names: ["cody-agent", "sourcegraph-cody"], paths: ["/@sourcegraph/cody/"] },
|
|
123
|
+
"amazon-q": { names: ["amazon-q", "qchat"], bundles: ["amazon q"] },
|
|
124
|
+
"roo-code": { names: ["roo-code", "roo_code"] },
|
|
125
|
+
pearai: { names: ["pearai"], bundles: ["pearai"] },
|
|
126
|
+
ghostwriter: { names: ["ghostwriter"], bundles: ["ghostwriter"] },
|
|
127
|
+
};
|
|
128
|
+
// Programs that run somebody else's program: the tool is the script they
|
|
129
|
+
// were handed (`node /opt/homebrew/bin/codex`, `python3 -m aider`), never
|
|
130
|
+
// the interpreter.
|
|
131
|
+
const INTERPRETER = /^(?:node|nodejs|bun|deno|python[\d.]*|pythonw|sh|bash|dash|zsh)$/;
|
|
132
|
+
const PYTHON = /^python/;
|
|
133
|
+
const SHELL = /^(?:sh|bash|dash|zsh)$/;
|
|
134
|
+
// Interpreter options whose value is the NEXT argument, so it is not the
|
|
135
|
+
// script (`python3 -W ignore -m aider`, `node -r ./hook.js bin/codex`).
|
|
136
|
+
// Lowercase, like the command line they are matched against.
|
|
137
|
+
const VALUE_FLAGS = {
|
|
138
|
+
python: new Set(["-w", "-x", "--check-hash-based-pycs"]),
|
|
139
|
+
node: new Set(["-r", "--require", "--import", "--loader", "--experimental-loader", "--conditions", "--inspect-port", "--title", "--env-file"]),
|
|
140
|
+
shell: new Set(["-o", "+o"]),
|
|
141
|
+
};
|
|
142
|
+
// Options after which the rest is inline code, not a script.
|
|
143
|
+
const CODE_FLAGS = {
|
|
144
|
+
python: new Set(["-c"]),
|
|
145
|
+
node: new Set(["-e", "--eval", "-p", "--print"]),
|
|
146
|
+
shell: new Set(),
|
|
147
|
+
};
|
|
148
|
+
// A Linux editor binary run as node (ELECTRON_RUN_AS_NODE): only its .js
|
|
149
|
+
// script is a program; any other argument is a file or folder it opens.
|
|
150
|
+
const ELECTRON_NODE = /^(?:code|code-insiders|code-oss|cursor)$/;
|
|
151
|
+
// What Electron runs as node is an absolute script path. Anything else among
|
|
152
|
+
// its arguments is a file it opens or a piece of a flag value split at a
|
|
153
|
+
// space (`--user-data-dir=/users/c/library/application support/cursor`).
|
|
154
|
+
const ELECTRON_SCRIPT = /^\/.*\.[cm]?js$/;
|
|
155
|
+
// Only executable suffixes are stripped. A script keeps its source extension,
|
|
156
|
+
// so a candidate's own gemini.py is not the gemini CLI; packaged entrypoints
|
|
157
|
+
// are recognised by their install-path markers instead.
|
|
158
|
+
const EXECUTABLE_EXT = /\.(?:exe|cmd|bat)$/;
|
|
159
|
+
// Outermost bundle of an absolute macOS program path. Only the bundle's own
|
|
160
|
+
// name may hold spaces ("visual studio code - insiders.app"); the directories
|
|
161
|
+
// before it may not, so a `.app/contents/` path in an argument (`codesign
|
|
162
|
+
// --verify /applications/cursor.app/...`, `vim build/cursor.app/...`) is
|
|
163
|
+
// never the program's bundle. The one spaced directory allowed is the macOS
|
|
164
|
+
// per-user install parent "application support" — a deliberate allow-list of
|
|
165
|
+
// known install parents, not a general space allowance, which would let an
|
|
166
|
+
// argument path become the bundle again.
|
|
167
|
+
const BUNDLE = /^\/(?:(?:[^/\s]+|application support)\/)*?([^/]+)\.app\/contents\//;
|
|
168
|
+
// An Electron helper run as node (VS Code / Cursor extension processes):
|
|
169
|
+
// `<...>/x.app/contents/frameworks/x helper (plugin).app/contents/macos/x
|
|
170
|
+
// helper (plugin) <script>`.
|
|
171
|
+
const ELECTRON_HELPER = /^\/(?:(?:[^/\s]+|application support)\/)*?[^/]+\.app\/contents\/frameworks\/([^/]+ helper[^/]*)\.app\/contents\/macos\/\1(?=\s|$)(.*)$/;
|
|
172
|
+
function basename(path) {
|
|
173
|
+
return path.slice(Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\")) + 1);
|
|
174
|
+
}
|
|
175
|
+
function programName(p) {
|
|
176
|
+
return p.kind === "exe" ? basename(p.path).replace(EXECUTABLE_EXT, "") : basename(p.path);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* What an interpreter was handed: the first argument that is neither an
|
|
180
|
+
* option nor an option's value; the module after python's `-m`; the command
|
|
181
|
+
* after a shell's `-c`. Inline code (`python -c`, `node -e`) is no program.
|
|
182
|
+
*/
|
|
183
|
+
function scriptArg(interpreter, args) {
|
|
184
|
+
const family = PYTHON.test(interpreter) ? "python" : SHELL.test(interpreter) ? "shell" : "node";
|
|
185
|
+
for (let i = 0; i < args.length; i++) {
|
|
186
|
+
const a = args[i];
|
|
187
|
+
if (family === "python" && a === "-m")
|
|
188
|
+
return args[i + 1] ? { path: args[i + 1], kind: "module" } : undefined;
|
|
189
|
+
if (family === "shell" && a === "-c")
|
|
190
|
+
return args[i + 1] ? { path: args[i + 1], kind: "exe" } : undefined;
|
|
191
|
+
if (CODE_FLAGS[family].has(a))
|
|
192
|
+
return undefined;
|
|
193
|
+
if (VALUE_FLAGS[family].has(a)) {
|
|
194
|
+
i++;
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
// `bun run x`, `deno run -A x`: the subcommand is not the script.
|
|
198
|
+
if (a === "run" && (interpreter === "bun" || interpreter === "deno"))
|
|
199
|
+
continue;
|
|
200
|
+
if (!a.startsWith("-") && !a.startsWith("+"))
|
|
201
|
+
return { path: a, kind: "script" };
|
|
202
|
+
}
|
|
203
|
+
return undefined;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* What a row runs: the macOS bundle name (if any) and the programs — argv0,
|
|
207
|
+
* plus the script when argv0 is an interpreter or an Electron binary.
|
|
208
|
+
*/
|
|
209
|
+
export function rowPrograms(row) {
|
|
210
|
+
const command = row.command.trim().toLowerCase();
|
|
211
|
+
if (row.imageOnly)
|
|
212
|
+
return { programs: [{ path: command, kind: "exe" }] };
|
|
213
|
+
const bundle = command.match(BUNDLE)?.[1];
|
|
214
|
+
const helper = command.match(ELECTRON_HELPER);
|
|
215
|
+
if (helper) {
|
|
216
|
+
const script = scriptArg("node", helper[2].split(/\s+/).filter(Boolean));
|
|
217
|
+
return { bundle, programs: script && ELECTRON_SCRIPT.test(script.path) ? [script] : [] };
|
|
218
|
+
}
|
|
219
|
+
const words = command.split(/\s+/);
|
|
220
|
+
// macOS per-user installs live under "Library/Application Support".
|
|
221
|
+
if (words[0].endsWith("/library/application") && words[1]?.startsWith("support/")) {
|
|
222
|
+
words.splice(0, 2, `${words[0]} ${words[1]}`);
|
|
223
|
+
}
|
|
224
|
+
const [argv0 = "", ...args] = words;
|
|
225
|
+
const programs = [{ path: argv0, kind: "exe" }];
|
|
226
|
+
const name = basename(argv0).replace(EXECUTABLE_EXT, "");
|
|
227
|
+
if (INTERPRETER.test(name)) {
|
|
228
|
+
const script = scriptArg(name, args);
|
|
229
|
+
if (script)
|
|
230
|
+
programs.push(script);
|
|
231
|
+
}
|
|
232
|
+
else if (ELECTRON_NODE.test(name)) {
|
|
233
|
+
const script = scriptArg("node", args);
|
|
234
|
+
if (script && ELECTRON_SCRIPT.test(script.path))
|
|
235
|
+
programs.push(script);
|
|
236
|
+
}
|
|
237
|
+
return { bundle, programs };
|
|
238
|
+
}
|
|
239
|
+
function matchesSignature(sig, bundle, programs) {
|
|
240
|
+
if (bundle && sig.bundles?.includes(bundle))
|
|
241
|
+
return true;
|
|
242
|
+
return programs.some((p) => {
|
|
243
|
+
// A module name is only a tool where that tool really runs as a module;
|
|
244
|
+
// a candidate's own `python3 -m codex` is their code, not the Codex CLI.
|
|
245
|
+
if (p.kind === "module")
|
|
246
|
+
return (sig.modules ?? []).includes(p.path);
|
|
247
|
+
return sig.names.includes(programName(p)) || (sig.paths ?? []).some((marker) => p.path.includes(marker));
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
const CLAUDE_CODE_PATH = "/@anthropic-ai/claude-code/";
|
|
251
|
+
/**
|
|
252
|
+
* Which Claude surface a row runs, from its program only (see the header):
|
|
253
|
+
* claude_desktop — the Claude.app bundle and its helpers. Desktop's own
|
|
254
|
+
* binary is also named `claude`, so the bundle wins.
|
|
255
|
+
* claude_code — an executable named `claude` (native install, npm bin,
|
|
256
|
+
* a shell's bare `claude`), or the npm entrypoint.
|
|
257
|
+
* claude — the Windows image `claude.exe`, which Desktop and
|
|
258
|
+
* Claude Code share, so the surface is unattributable.
|
|
259
|
+
* The word elsewhere in a row (a .claude config dir, an argument, the VS
|
|
260
|
+
* Code extension's install path) is no program.
|
|
261
|
+
*/
|
|
262
|
+
function claudeSurface(row) {
|
|
263
|
+
const { bundle, programs } = rowPrograms(row);
|
|
264
|
+
if (bundle === "claude" || /^claude helper\b/.test(row.command.trim().toLowerCase()))
|
|
265
|
+
return "claude_desktop";
|
|
266
|
+
const runsClaude = programs.some((p) => p.kind !== "module" && (programName(p) === "claude" || p.path.includes(CLAUDE_CODE_PATH)));
|
|
267
|
+
if (!runsClaude)
|
|
268
|
+
return undefined;
|
|
269
|
+
return row.imageOnly ? "claude" : "claude_code";
|
|
270
|
+
}
|
|
271
|
+
function claudeSurfaces(rows) {
|
|
272
|
+
const found = new Set();
|
|
273
|
+
for (const row of rows) {
|
|
274
|
+
const surface = claudeSurface(row);
|
|
275
|
+
if (surface)
|
|
276
|
+
found.add(surface);
|
|
277
|
+
}
|
|
278
|
+
return [...found];
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Claude surfaces running in getProcessList() output, any user's. `ps` is
|
|
282
|
+
* lowercased `ps aux` / `tasklist /fo csv` text, parsed per row like
|
|
283
|
+
* detectTools; `platform` is the OS that produced it.
|
|
284
|
+
*/
|
|
285
|
+
export function classifyClaudeProcesses(ps, platform) {
|
|
286
|
+
return claudeSurfaces(parseProcessRows(ps, platform));
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Editors and AI tools running as the watcher's own user. `ps` is
|
|
290
|
+
* getProcessList() output; `selfPid` is the watcher's pid (its own row
|
|
291
|
+
* names the owner to keep). Cursor counts as both an editor and an AI tool.
|
|
292
|
+
*/
|
|
293
|
+
export function detectTools(ps, platform, selfPid) {
|
|
294
|
+
const rows = ownRows(parseProcessRows(ps, platform), selfPid);
|
|
295
|
+
const programs = rows.map(rowPrograms);
|
|
296
|
+
const running = (sigs) => Object.entries(sigs)
|
|
297
|
+
.filter(([, sig]) => programs.some((p) => matchesSignature(sig, p.bundle, p.programs)))
|
|
298
|
+
.map(([name]) => name);
|
|
299
|
+
const editors = running(EDITOR_SIGNATURES);
|
|
300
|
+
const aiTools = running(AI_TOOL_SIGNATURES);
|
|
301
|
+
aiTools.push(...claudeSurfaces(rows));
|
|
302
|
+
if (editors.includes("cursor") && !aiTools.includes("cursor"))
|
|
303
|
+
aiTools.push("cursor");
|
|
304
|
+
return { editors, aiTools };
|
|
305
|
+
}
|
|
80
306
|
//# sourceMappingURL=detection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection.js","sourceRoot":"","sources":["../../src/lib/detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,EAAU;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAQ;QACtC,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,wDAAwD;YACxD,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,oEAAoE;YACpE,uEAAuE;YACvE,uEAAuE;YACvE,mEAAmE;YACnE,2CAA2C;YAC3C,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;AACnB,CAAC;AAED,uEAAuE;AACvE,yEAAyE;AACzE,4EAA4E;AAC5E,+BAA+B;AAC/B,MAAM,gBAAgB,GAAG,4GAA4G,CAAA;AAErI;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IAC1D,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAA;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA,CAAC,+CAA+C;IACvE,4EAA4E;IAC5E,gCAAgC;IAChC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IACjD,2EAA2E;IAC3E,4EAA4E;IAC5E,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,CAAA;IACxD,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAA;IACpD,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC7C,2EAA2E;IAC3E,0EAA0E;IAC1E,4DAA4D;IAC5D,OAAO,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;AAChD,CAAC"}
|
|
1
|
+
{"version":3,"file":"detection.js","sourceRoot":"","sources":["../../src/lib/detection.ts"],"names":[],"mappings":"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"}
|