@harness-nexus/cli 0.1.0-alpha.1 → 0.1.0-alpha.3
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/dist/daemon/acp/adapters.d.ts.map +1 -1
- package/dist/daemon/acp/adapters.js +9 -3
- package/dist/daemon/acp/adapters.js.map +1 -1
- package/dist/daemon/acp/agent-connection.d.ts +30 -1
- package/dist/daemon/acp/agent-connection.d.ts.map +1 -1
- package/dist/daemon/acp/agent-connection.js +59 -6
- package/dist/daemon/acp/agent-connection.js.map +1 -1
- package/dist/daemon/chat.d.ts +9 -1
- package/dist/daemon/chat.d.ts.map +1 -1
- package/dist/daemon/chat.js +642 -37
- package/dist/daemon/chat.js.map +1 -1
- package/dist/daemon/client.d.ts +10 -2
- package/dist/daemon/client.d.ts.map +1 -1
- package/dist/daemon/client.js +99 -23
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/config-view.d.ts +42 -0
- package/dist/daemon/config-view.d.ts.map +1 -0
- package/dist/daemon/config-view.js +159 -0
- package/dist/daemon/config-view.js.map +1 -0
- package/dist/daemon/dsh-sessions.d.ts +161 -0
- package/dist/daemon/dsh-sessions.d.ts.map +1 -0
- package/dist/daemon/dsh-sessions.js +674 -0
- package/dist/daemon/dsh-sessions.js.map +1 -0
- package/dist/daemon/dsh-tap/index.mjs +99 -0
- package/dist/daemon/dsh-tap-listener.d.ts +62 -0
- package/dist/daemon/dsh-tap-listener.d.ts.map +1 -0
- package/dist/daemon/dsh-tap-listener.js +196 -0
- package/dist/daemon/dsh-tap-listener.js.map +1 -0
- package/dist/daemon/jobs.d.ts +8 -5
- package/dist/daemon/jobs.d.ts.map +1 -1
- package/dist/daemon/jobs.js +28 -8
- package/dist/daemon/jobs.js.map +1 -1
- package/dist/daemon/runtime-config.d.ts +34 -0
- package/dist/daemon/runtime-config.d.ts.map +1 -0
- package/dist/daemon/runtime-config.js +343 -0
- package/dist/daemon/runtime-config.js.map +1 -0
- package/dist/daemon/runtime.d.ts +49 -0
- package/dist/daemon/runtime.d.ts.map +1 -0
- package/dist/daemon/runtime.js +218 -0
- package/dist/daemon/runtime.js.map +1 -0
- package/dist/daemon/sessions.d.ts +21 -0
- package/dist/daemon/sessions.d.ts.map +1 -0
- package/dist/daemon/sessions.js +125 -0
- package/dist/daemon/sessions.js.map +1 -0
- package/dist/daemon/workspace.d.ts +3 -0
- package/dist/daemon/workspace.d.ts.map +1 -0
- package/dist/daemon/workspace.js +27 -0
- package/dist/daemon/workspace.js.map +1 -0
- package/dist/install/adapters/deepseek.d.ts +4 -0
- package/dist/install/adapters/deepseek.d.ts.map +1 -1
- package/dist/install/adapters/deepseek.js +4 -2
- package/dist/install/adapters/deepseek.js.map +1 -1
- package/dist/inventory/common.d.ts +2 -0
- package/dist/inventory/common.d.ts.map +1 -1
- package/dist/inventory/common.js.map +1 -1
- package/dist/inventory/runtime.d.ts +40 -0
- package/dist/inventory/runtime.d.ts.map +1 -0
- package/dist/inventory/runtime.js +114 -0
- package/dist/inventory/runtime.js.map +1 -0
- package/dist/inventory/scanners/claude-code.d.ts +2 -0
- package/dist/inventory/scanners/claude-code.d.ts.map +1 -1
- package/dist/inventory/scanners/claude-code.js +103 -39
- package/dist/inventory/scanners/claude-code.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Socket } from 'socket.io-client';
|
|
2
|
+
/**
|
|
3
|
+
* Native session listing (Phase 9 W7) — the chat rail's data source. The
|
|
4
|
+
* platform persists nothing session-shaped; this answers `sessions:list` from
|
|
5
|
+
* whatever the TARGET itself holds:
|
|
6
|
+
*
|
|
7
|
+
* claude-code / codex — a short-lived ACP adapter spawn + `session/list`
|
|
8
|
+
* (the adapter IS the vendor's session list; no storage-format coupling).
|
|
9
|
+
* deepseek — a pure file scan of `~/.dsh/sessions` (no spawn, no auth; dsh's
|
|
10
|
+
* own list returns neither title nor time, so both come from the
|
|
11
|
+
* transcript header + mtime).
|
|
12
|
+
* hermes / zcode / generic — no verified native surface: `supported:false`.
|
|
13
|
+
*/
|
|
14
|
+
export interface SessionsHandlersOptions {
|
|
15
|
+
/** Env source for `HN_ACP_COMMAND_<TARGET>` overrides. */
|
|
16
|
+
env?: NodeJS.ProcessEnv;
|
|
17
|
+
/** Overridable for tests. */
|
|
18
|
+
homeDir?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function attachSessionsHandlers(socket: Socket, opts?: SessionsHandlersOptions): void;
|
|
21
|
+
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/daemon/sessions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM/C;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,uBAA4B,GAAG,IAAI,CAmF/F"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { readdirSync, readFileSync, statSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { sessionsListRequestSchema } from '@harness-nexus/shared';
|
|
5
|
+
import { AcpAgentConnection } from './acp/agent-connection.js';
|
|
6
|
+
import { resolveAcpCommand } from './acp/adapters.js';
|
|
7
|
+
import { currentCatalogModels, dshListSessions, nativeZstd } from './dsh-sessions.js';
|
|
8
|
+
export function attachSessionsHandlers(socket, opts = {}) {
|
|
9
|
+
const env = opts.env ?? process.env;
|
|
10
|
+
const home = opts.homeDir ?? homedir();
|
|
11
|
+
socket.on('sessions:list', (payload, ack) => {
|
|
12
|
+
const parsed = sessionsListRequestSchema.safeParse(payload);
|
|
13
|
+
if (!parsed.success) {
|
|
14
|
+
ack?.({ error: 'proto:invalid' });
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
ack?.({ accepted: true });
|
|
18
|
+
const { requestId, target } = parsed.data;
|
|
19
|
+
void (async () => {
|
|
20
|
+
try {
|
|
21
|
+
if (target === 'claude-code' || target === 'codex') {
|
|
22
|
+
socket.emit('sessions:list:result', {
|
|
23
|
+
requestId,
|
|
24
|
+
sessions: await listViaAdapter(target, env),
|
|
25
|
+
});
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (target === 'deepseek') {
|
|
29
|
+
const zstd = nativeZstd();
|
|
30
|
+
if (zstd === null) {
|
|
31
|
+
socket.emit('sessions:list:result', {
|
|
32
|
+
requestId,
|
|
33
|
+
error: 'dsh session transcripts need Node >= 22.15 (zstd) on the daemon',
|
|
34
|
+
});
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const catalog = (() => {
|
|
38
|
+
try {
|
|
39
|
+
return currentCatalogModels(readFileSync(join(home, '.dsh', 'settings.yaml'), 'utf8'));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return null; // no settings yet — nothing to compare against
|
|
43
|
+
}
|
|
44
|
+
})();
|
|
45
|
+
const sessions = dshListSessions(join(home, '.dsh', 'sessions'), {
|
|
46
|
+
readdir: (p) => readdirSync(p),
|
|
47
|
+
readFile: (p) => readFileSync(p),
|
|
48
|
+
stat: (p) => statSync(p),
|
|
49
|
+
}, zstd, { maxSessions: 200 }).map((s) => {
|
|
50
|
+
// dsh validates the session's PINNED (provider, model) against
|
|
51
|
+
// the live catalog at resume — a provider-config change orphans
|
|
52
|
+
// old sessions. Flag them here so the rail explains instead of
|
|
53
|
+
// offering a guaranteed failure.
|
|
54
|
+
if (s.model !== null && catalog !== null && !catalog.has(s.model)) {
|
|
55
|
+
return {
|
|
56
|
+
sessionId: s.sessionId,
|
|
57
|
+
cwd: s.cwd,
|
|
58
|
+
...(s.title !== null ? { title: s.title } : {}),
|
|
59
|
+
...(s.updatedAt !== null ? { updatedAt: s.updatedAt } : {}),
|
|
60
|
+
model: s.model,
|
|
61
|
+
staleReason: 'model-missing',
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
sessionId: s.sessionId,
|
|
66
|
+
cwd: s.cwd,
|
|
67
|
+
...(s.title !== null ? { title: s.title } : {}),
|
|
68
|
+
...(s.updatedAt !== null ? { updatedAt: s.updatedAt } : {}),
|
|
69
|
+
...(s.model !== null ? { model: s.model } : {}),
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
socket.emit('sessions:list:result', { requestId, sessions });
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
socket.emit('sessions:list:result', { requestId, supported: false });
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
socket.emit('sessions:list:result', {
|
|
79
|
+
requestId,
|
|
80
|
+
error: e instanceof Error ? e.message : String(e),
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
})();
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/** Spawn the target's adapter, `session/list`, kill. Bounded, best-effort. */
|
|
87
|
+
async function listViaAdapter(target, env) {
|
|
88
|
+
const cmd = resolveAcpCommand(target, env);
|
|
89
|
+
if (cmd === null)
|
|
90
|
+
throw new Error(`no ACP adapter for target '${target}'`);
|
|
91
|
+
const { conn, sessionCaps } = await AcpAgentConnection.start(cmd.command, cmd.args, {
|
|
92
|
+
cwd: homedir(),
|
|
93
|
+
});
|
|
94
|
+
try {
|
|
95
|
+
if (!sessionCaps.list)
|
|
96
|
+
throw new Error(`adapter for '${target}' does not support session/list`);
|
|
97
|
+
const result = (await conn.request('session/list', {}, 10000));
|
|
98
|
+
const raw = Array.isArray(result?.sessions) ? result.sessions : [];
|
|
99
|
+
const out = [];
|
|
100
|
+
for (const s of raw.slice(0, 200)) {
|
|
101
|
+
if (s === null || typeof s !== 'object')
|
|
102
|
+
continue;
|
|
103
|
+
const r = s;
|
|
104
|
+
if (typeof r['sessionId'] !== 'string' || r['sessionId'] === '')
|
|
105
|
+
continue;
|
|
106
|
+
if (typeof r['cwd'] !== 'string' || !r['cwd'].startsWith('/'))
|
|
107
|
+
continue;
|
|
108
|
+
out.push({
|
|
109
|
+
sessionId: r['sessionId'],
|
|
110
|
+
cwd: r['cwd'],
|
|
111
|
+
...(typeof r['title'] === 'string' && r['title'] !== ''
|
|
112
|
+
? { title: r['title'].slice(0, 256) }
|
|
113
|
+
: {}),
|
|
114
|
+
...(typeof r['updatedAt'] === 'string' && r['updatedAt'] !== ''
|
|
115
|
+
? { updatedAt: r['updatedAt'] }
|
|
116
|
+
: {}),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return out;
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
conn.kill();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/daemon/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/daemon/workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAahE,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAWjF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { readdir } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* Workspace directory listing (Phase 9 W6) — one level of subdirectories for
|
|
5
|
+
* the chat session picker. The server has ALREADY validated containment
|
|
6
|
+
* against the machine's baseWorkspace before emitting `workspace:list`; this
|
|
7
|
+
* module keeps the listing itself honest and bounded: directories only
|
|
8
|
+
* (symlinks are excluded — `Dirent.isDirectory()` is false for them), hidden
|
|
9
|
+
* `.*` entries skipped, name-sorted, capped at 512.
|
|
10
|
+
*/
|
|
11
|
+
const MAX_DIRECTORIES = 512;
|
|
12
|
+
export async function listDirectories(path) {
|
|
13
|
+
const entries = await readdir(path, { withFileTypes: true });
|
|
14
|
+
const out = [];
|
|
15
|
+
for (const entry of entries) {
|
|
16
|
+
if (!entry.isDirectory())
|
|
17
|
+
continue; // skips files AND symlinks-to-dirs
|
|
18
|
+
if (entry.name.startsWith('.'))
|
|
19
|
+
continue;
|
|
20
|
+
out.push({ name: entry.name, path: join(path, entry.name) });
|
|
21
|
+
if (out.length >= MAX_DIRECTORIES)
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
out.sort((a, b) => a.name.localeCompare(b.name));
|
|
25
|
+
return out;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/daemon/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC;;;;;;;GAOG;AAEH,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS,CAAC,mCAAmC;QACvE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACzC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,MAAM,IAAI,eAAe;YAAE,MAAM;IAC3C,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -7,6 +7,10 @@ import type { ResolvedProfile, TargetAdapter } from '../types.js';
|
|
|
7
7
|
* description text.
|
|
8
8
|
*/
|
|
9
9
|
export declare function ensureDshFrontmatter(content: string, slug: string, description: string): string;
|
|
10
|
+
/** dsh home patch file — applied to EVERY profile and hot-reloaded live. */
|
|
11
|
+
export declare const DSH_PATCH_FILENAME = "cordis.patch.yml";
|
|
12
|
+
export declare const beginMarker: (slug: string) => string;
|
|
13
|
+
export declare const endMarker: (slug: string) => string;
|
|
10
14
|
/**
|
|
11
15
|
* Replace (or append) this profile's managed region in the home patch,
|
|
12
16
|
* preserving every other byte — including other profiles' regions. Re-running
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek.d.ts","sourceRoot":"","sources":["../../../src/install/adapters/deepseek.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAA+B,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAuD/F;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAyB/F;
|
|
1
|
+
{"version":3,"file":"deepseek.d.ts","sourceRoot":"","sources":["../../../src/install/adapters/deepseek.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAA+B,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAuD/F;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAyB/F;AAID,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,qBAAiB,CAAC;AAEjD,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAAmD,CAAC;AAC/F,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAAiD,CAAC;AAE3F;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAa7F;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAevF;AAeD,eAAO,MAAM,eAAe,EAAE,aAyF5B,CAAC;AAEH,gFAAgF;AAChF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,CAE9D"}
|
|
@@ -106,8 +106,10 @@ export function ensureDshFrontmatter(content, slug, description) {
|
|
|
106
106
|
return `---\n${lines.join('\n')}\n---\n${fm.body}`;
|
|
107
107
|
}
|
|
108
108
|
// ---- cordis patch surgery (per-profile managed region, no YAML parser) ----
|
|
109
|
-
|
|
110
|
-
const
|
|
109
|
+
/** dsh home patch file — applied to EVERY profile and hot-reloaded live. */
|
|
110
|
+
export const DSH_PATCH_FILENAME = PATCH_FILENAME;
|
|
111
|
+
export const beginMarker = (slug) => `# BEGIN harness-nexus:${slug} (managed)`;
|
|
112
|
+
export const endMarker = (slug) => `# END harness-nexus:${slug} (managed)`;
|
|
111
113
|
/**
|
|
112
114
|
* Replace (or append) this profile's managed region in the home patch,
|
|
113
115
|
* preserving every other byte — including other profiles' regions. Re-running
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../../src/install/adapters/deepseek.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../../src/install/adapters/deepseek.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,8 @@ export interface DiscoveredItem {
|
|
|
41
41
|
transport?: 'stdio' | 'sse' | 'http' | undefined;
|
|
42
42
|
command?: string | undefined;
|
|
43
43
|
url?: string | undefined;
|
|
44
|
+
/** claude-code plugin-cache items: `<marketplace>/<plugin>/<version>`. */
|
|
45
|
+
plugin?: string | undefined;
|
|
44
46
|
} | undefined;
|
|
45
47
|
/** Extra evidence for origin:'platform' beyond the ledger (scanner-specific). */
|
|
46
48
|
platform?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/inventory/common.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;;;;GAMG;AAEH,4DAA4D;AAC5D,eAAO,MAAM,cAAc,QAAa,CAAC;AAEzC,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,iFAAiF;AACjF,wBAAgB,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG;IAC/C,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAOA;AAED,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EACD;QACE,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;QACjD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/inventory/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/inventory/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B;;;;;;GAMG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;AAEzC,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAEnD,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,mBAAmB,GAAG,CAAC,CAAC;AACpF,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,OAAO,CAAC,KAAsB;IAK5C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAClF,OAAO;QACL,SAAS;QACT,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/inventory/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { RuntimeInfo, RuntimeTarget } from '@harness-nexus/shared';
|
|
2
|
+
/**
|
|
3
|
+
* Harness runtime probe (Phase 9 W1) — is the Agent's own software installed,
|
|
4
|
+
* where, at which version, installed how? Kept in lockstep with
|
|
5
|
+
* `RUNTIME_TARGETS` in shared (hermes is unlisted — no runtime management).
|
|
6
|
+
*
|
|
7
|
+
* Metadata only: the probe reads paths and `<bin> --version` output; it never
|
|
8
|
+
* opens config files (those are W4's redacted viewer).
|
|
9
|
+
*/
|
|
10
|
+
interface RuntimeProbe {
|
|
11
|
+
target: RuntimeTarget;
|
|
12
|
+
bin: string;
|
|
13
|
+
/** Locations a PATH walk misses (checked AFTER the PATH, so the user's PATH wins). */
|
|
14
|
+
knownPaths: (homeDir: string) => string[];
|
|
15
|
+
}
|
|
16
|
+
export declare const RUNTIME_PROBES: readonly RuntimeProbe[];
|
|
17
|
+
export interface ProbeOptions {
|
|
18
|
+
/** Override `process.env.PATH` (tests inject fixture bins). */
|
|
19
|
+
pathEnv?: string;
|
|
20
|
+
homeDir?: string;
|
|
21
|
+
/** Per-`<bin> --version` timeout. Default 5s (a hung binary must not stall a scan). */
|
|
22
|
+
timeoutMs?: number;
|
|
23
|
+
}
|
|
24
|
+
export type ResolveOptions = Pick<ProbeOptions, 'pathEnv' | 'homeDir'>;
|
|
25
|
+
/** Resolve a bare bin name to an executable path — PATH walk, then known locations. */
|
|
26
|
+
export declare function findRuntimeBin(bin: string, opts?: Pick<ProbeOptions, 'pathEnv' | 'homeDir'>): Promise<string | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Classify the install method from the REAL bin path (research §5.1): prefix
|
|
29
|
+
* sniff on the symlink-resolved path (npm/brew installs are symlinks into
|
|
30
|
+
* their stores). Best effort — anything unrecognized is `unknown`, never a
|
|
31
|
+
* guess. `npm` is checked first: a user npm-prefix of `~/.local` would
|
|
32
|
+
* otherwise masquerade as the native claude launcher location.
|
|
33
|
+
*/
|
|
34
|
+
export declare function classifyInstallMethod(resolvedPath: string, homeDir: string): 'npm' | 'native' | 'brew' | 'unknown';
|
|
35
|
+
/** Probe one target. */
|
|
36
|
+
export declare function probeRuntime(target: RuntimeTarget, opts?: ProbeOptions): Promise<RuntimeInfo>;
|
|
37
|
+
/** Probe every runtime target in parallel — one pass feeds the whole inventory report. */
|
|
38
|
+
export declare function probeRuntimes(opts?: ProbeOptions): Promise<RuntimeInfo[]>;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/inventory/runtime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAExE;;;;;;;GAOG;AAEH,UAAU,YAAY;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,sFAAsF;IACtF,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CAC3C;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EASjD,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;AAEvE,uFAAuF;AACvF,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAM,GACnD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBxB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAMvC;AAgCD,wBAAwB;AACxB,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,WAAW,CAAC,CAoBtB;AAED,0FAA0F;AAC1F,wBAAsB,aAAa,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAEnF"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { access, realpath } from 'node:fs/promises';
|
|
2
|
+
import { constants } from 'node:fs';
|
|
3
|
+
import { spawn } from 'node:child_process';
|
|
4
|
+
import { delimiter, isAbsolute, join } from 'node:path';
|
|
5
|
+
import { homedir } from 'node:os';
|
|
6
|
+
export const RUNTIME_PROBES = [
|
|
7
|
+
{
|
|
8
|
+
target: 'claude-code',
|
|
9
|
+
bin: 'claude',
|
|
10
|
+
// Native install launcher (~/.local/bin) — the documented native location.
|
|
11
|
+
knownPaths: (home) => [join(home, '.local', 'bin', 'claude')],
|
|
12
|
+
},
|
|
13
|
+
{ target: 'codex', bin: 'codex', knownPaths: () => [] },
|
|
14
|
+
{ target: 'deepseek', bin: 'dsh', knownPaths: () => [] },
|
|
15
|
+
];
|
|
16
|
+
/** Resolve a bare bin name to an executable path — PATH walk, then known locations. */
|
|
17
|
+
export async function findRuntimeBin(bin, opts = {}) {
|
|
18
|
+
const home = opts.homeDir ?? homedir();
|
|
19
|
+
const pathEnv = opts.pathEnv ?? process.env.PATH ?? '';
|
|
20
|
+
const candidates = [
|
|
21
|
+
...pathEnv
|
|
22
|
+
.split(delimiter)
|
|
23
|
+
.filter((p) => p.length > 0)
|
|
24
|
+
.map((p) => join(p, bin)),
|
|
25
|
+
...RUNTIME_PROBES.find((r) => r.bin === bin).knownPaths(home),
|
|
26
|
+
];
|
|
27
|
+
for (const candidate of candidates) {
|
|
28
|
+
if (!isAbsolute(candidate))
|
|
29
|
+
continue;
|
|
30
|
+
try {
|
|
31
|
+
await access(candidate, constants.X_OK);
|
|
32
|
+
return candidate;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// not there — keep walking
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Classify the install method from the REAL bin path (research §5.1): prefix
|
|
42
|
+
* sniff on the symlink-resolved path (npm/brew installs are symlinks into
|
|
43
|
+
* their stores). Best effort — anything unrecognized is `unknown`, never a
|
|
44
|
+
* guess. `npm` is checked first: a user npm-prefix of `~/.local` would
|
|
45
|
+
* otherwise masquerade as the native claude launcher location.
|
|
46
|
+
*/
|
|
47
|
+
export function classifyInstallMethod(resolvedPath, homeDir) {
|
|
48
|
+
if (resolvedPath.includes('/node_modules/'))
|
|
49
|
+
return 'npm';
|
|
50
|
+
if (resolvedPath.includes('/Cellar/') || resolvedPath.startsWith('/opt/homebrew/'))
|
|
51
|
+
return 'brew';
|
|
52
|
+
// The native claude launcher lives in ~/.local/bin and points into ~/.local/share/claude.
|
|
53
|
+
if (resolvedPath.startsWith(join(homeDir, '.local')))
|
|
54
|
+
return 'native';
|
|
55
|
+
return 'unknown';
|
|
56
|
+
}
|
|
57
|
+
/** Run `<bin> --version`, trimmed to the first meaningful line. null = no answer in time. */
|
|
58
|
+
async function probeVersion(binPath, timeoutMs) {
|
|
59
|
+
return new Promise((resolve) => {
|
|
60
|
+
let child;
|
|
61
|
+
try {
|
|
62
|
+
child = spawn(binPath, ['--version'], { stdio: ['ignore', 'pipe', 'ignore'] });
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
resolve(null);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
let out = '';
|
|
69
|
+
const timer = setTimeout(() => {
|
|
70
|
+
child.kill('SIGKILL');
|
|
71
|
+
resolve(null);
|
|
72
|
+
}, timeoutMs);
|
|
73
|
+
child.stdout?.on('data', (d) => {
|
|
74
|
+
out += d.toString();
|
|
75
|
+
});
|
|
76
|
+
child.on('error', () => {
|
|
77
|
+
clearTimeout(timer);
|
|
78
|
+
resolve(null);
|
|
79
|
+
});
|
|
80
|
+
child.on('close', () => {
|
|
81
|
+
clearTimeout(timer);
|
|
82
|
+
const line = out.trim().split('\n')[0]?.trim() ?? '';
|
|
83
|
+
resolve(line.length > 0 ? line.slice(0, 64) : null);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/** Probe one target. */
|
|
88
|
+
export async function probeRuntime(target, opts = {}) {
|
|
89
|
+
const probe = RUNTIME_PROBES.find((r) => r.target === target);
|
|
90
|
+
const homeDir = opts.homeDir ?? homedir();
|
|
91
|
+
const binPath = await findRuntimeBin(probe.bin, opts);
|
|
92
|
+
if (binPath === null)
|
|
93
|
+
return { target, installed: false };
|
|
94
|
+
let resolved = binPath;
|
|
95
|
+
try {
|
|
96
|
+
resolved = await realpath(binPath);
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// keep the PATH-found path — classification falls back to `unknown`
|
|
100
|
+
}
|
|
101
|
+
const version = await probeVersion(binPath, opts.timeoutMs ?? 5000);
|
|
102
|
+
return {
|
|
103
|
+
target,
|
|
104
|
+
installed: true,
|
|
105
|
+
binPath,
|
|
106
|
+
...(version !== null ? { version } : {}),
|
|
107
|
+
installMethod: classifyInstallMethod(resolved, homeDir),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/** Probe every runtime target in parallel — one pass feeds the whole inventory report. */
|
|
111
|
+
export async function probeRuntimes(opts = {}) {
|
|
112
|
+
return Promise.all(RUNTIME_PROBES.map((r) => probeRuntime(r.target, opts)));
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/inventory/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { TargetScanner } from '../types.js';
|
|
2
|
+
/** The emitter's marketplace name — the platform marker for plugin-cache items. */
|
|
3
|
+
export declare function isPlatformMarketplace(name: string): boolean;
|
|
2
4
|
export declare const claudeCodeScanner: TargetScanner;
|
|
3
5
|
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/inventory/scanners/claude-code.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/inventory/scanners/claude-code.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,aAAa,CAAC;AAqC9D,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AA4GD,eAAO,MAAM,iBAAiB,EAAE,aAsI/B,CAAC"}
|