linkshell-cli 0.5.33 → 0.5.35

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 (38) hide show
  1. package/dist/cli/src/runtime/acp/acp-client.d.ts +38 -0
  2. package/dist/cli/src/runtime/acp/acp-client.js +134 -20
  3. package/dist/cli/src/runtime/acp/acp-client.js.map +1 -1
  4. package/dist/cli/src/runtime/acp/agent-process-discovery.d.ts +48 -0
  5. package/dist/cli/src/runtime/acp/agent-process-discovery.js +267 -0
  6. package/dist/cli/src/runtime/acp/agent-process-discovery.js.map +1 -0
  7. package/dist/cli/src/runtime/acp/agent-workspace.d.ts +33 -0
  8. package/dist/cli/src/runtime/acp/agent-workspace.js +873 -92
  9. package/dist/cli/src/runtime/acp/agent-workspace.js.map +1 -1
  10. package/dist/cli/src/runtime/acp/claude-sdk-client.d.ts +6 -0
  11. package/dist/cli/src/runtime/acp/claude-sdk-client.js +51 -29
  12. package/dist/cli/src/runtime/acp/claude-sdk-client.js.map +1 -1
  13. package/dist/cli/src/runtime/acp/provider-resolver.d.ts +3 -1
  14. package/dist/cli/src/runtime/acp/provider-resolver.js +13 -4
  15. package/dist/cli/src/runtime/acp/provider-resolver.js.map +1 -1
  16. package/dist/cli/src/runtime/bridge-session.d.ts +1 -0
  17. package/dist/cli/src/runtime/bridge-session.js +14 -3
  18. package/dist/cli/src/runtime/bridge-session.js.map +1 -1
  19. package/dist/cli/tsconfig.tsbuildinfo +1 -1
  20. package/dist/shared-protocol/src/index.d.ts +1161 -939
  21. package/dist/shared-protocol/src/index.js +43 -1
  22. package/dist/shared-protocol/src/index.js.map +1 -1
  23. package/package.json +3 -3
  24. package/src/runtime/acp/acp-client.ts +153 -22
  25. package/src/runtime/acp/agent-process-discovery.ts +301 -0
  26. package/src/runtime/acp/agent-workspace.ts +887 -98
  27. package/src/runtime/acp/claude-sdk-client.ts +51 -22
  28. package/src/runtime/acp/provider-resolver.ts +18 -3
  29. package/src/runtime/bridge-session.ts +12 -3
  30. package/web/assets/{FileBrowser-B1vcZ0wW.js → FileBrowser-Dn_avjeH.js} +1 -1
  31. package/web/assets/{PortPreview-CugEjE0m.js → PortPreview-KYkYV_-p.js} +1 -1
  32. package/web/assets/{TerminalPanel-DgSFo-6s.js → TerminalPanel-BjxX8Jui.js} +1 -1
  33. package/web/assets/{UsageDashboard-DTRkZRsh.js → UsageDashboard-cYiZs8c8.js} +1 -1
  34. package/web/assets/index-6vyVf_xQ.js +35 -0
  35. package/web/assets/index-Ct5fhCTS.css +33 -0
  36. package/web/index.html +2 -2
  37. package/web/assets/index-ByEwVA14.js +0 -35
  38. package/web/assets/index-Vtyd7s5T.css +0 -33
@@ -35,6 +35,44 @@ export declare class AcpClient {
35
35
  itemsView?: "summary" | "full";
36
36
  }): Promise<unknown>;
37
37
  listSessions(): Promise<unknown>;
38
+ updateThreadSettings(input: {
39
+ sessionId: string;
40
+ model?: string;
41
+ reasoningEffort?: string;
42
+ permissionMode?: AgentPermissionMode;
43
+ collaborationMode?: AgentCollaborationMode;
44
+ cwd?: string;
45
+ }): Promise<unknown>;
46
+ setThreadName(input: {
47
+ sessionId: string;
48
+ name: string;
49
+ }): Promise<unknown>;
50
+ archiveThread(input: {
51
+ sessionId: string;
52
+ }): Promise<unknown>;
53
+ unarchiveThread(input: {
54
+ sessionId: string;
55
+ }): Promise<unknown>;
56
+ deleteThread(input: {
57
+ sessionId: string;
58
+ }): Promise<unknown>;
59
+ forkThread(input: {
60
+ sessionId: string;
61
+ lastTurnId?: string;
62
+ }): Promise<unknown>;
63
+ startReview(input: {
64
+ sessionId: string;
65
+ prompt?: string;
66
+ }): Promise<unknown>;
67
+ listSkills(input: {
68
+ cwd: string;
69
+ }): Promise<unknown>;
70
+ listMcpServers(input?: {
71
+ threadId?: string;
72
+ }): Promise<unknown>;
73
+ startMcpOAuth(input: {
74
+ serverName: string;
75
+ }): Promise<unknown>;
38
76
  listModels(): Promise<unknown>;
39
77
  prompt(input: {
40
78
  sessionId: string;
@@ -11,24 +11,22 @@ function normalizeMcpServers(value) {
11
11
  return { name, config };
12
12
  });
13
13
  }
14
- // Codex app-server turn/start sandbox + approval, per the authoritative schema
15
- // (codex 0.133.0 generate-json-schema). `sandboxPolicy` is a tagged object
16
- // (camelCase type) that actually restricts the sandbox; `approvalPolicy`
17
- // controls when Codex asks for approval (→ a permission card on the client).
18
- // NOTE: the separate `permissions` field is a NAMED-PROFILE reference and
19
- // "cannot be combined with sandboxPolicy" — so we never send it.
20
- function sandboxPolicyForMode(mode, cwd) {
14
+ // Codex prefers a named permission profile (`permissions: ":workspace"`) and
15
+ // rejects combining it with the legacy tagged `sandboxPolicy`. Map our three
16
+ // LinkShell modes onto official profile ids; keep sandboxPolicy only for
17
+ // full_access, which has no stable named profile in the public docs.
18
+ function permissionOverridesForMode(mode) {
21
19
  if (!mode)
22
- return undefined;
20
+ return {};
23
21
  switch (mode) {
24
22
  case "read_only":
25
- return { type: "readOnly", networkAccess: false };
23
+ return { permissions: ":read-only" };
26
24
  case "workspace_write":
27
- return { type: "workspaceWrite", writableRoots: [cwd], networkAccess: false };
25
+ return { permissions: ":workspace" };
28
26
  case "full_access":
29
- return { type: "dangerFullAccess" };
27
+ return { sandboxPolicy: { type: "dangerFullAccess" } };
30
28
  default:
31
- return undefined;
29
+ return {};
32
30
  }
33
31
  }
34
32
  function approvalPolicyForMode(mode) {
@@ -119,11 +117,127 @@ export class AcpClient {
119
117
  }
120
118
  return Promise.reject(new Error("Provider does not support listTurns."));
121
119
  }
122
- listSessions() {
123
- if (this.protocol === "codex-app-server") {
124
- return this.transport.request("thread/list", { limit: 20 });
120
+ async listSessions() {
121
+ if (this.protocol !== "codex-app-server") {
122
+ return this.transport.request("session/list", {});
123
+ }
124
+ const allThreads = [];
125
+ let cursor;
126
+ for (let page = 0; page < 10; page++) {
127
+ const result = await this.transport.request("thread/list", {
128
+ limit: 100,
129
+ ...(cursor ? { cursor } : {}),
130
+ });
131
+ const raw = result && typeof result === "object" ? result : undefined;
132
+ const threads = Array.isArray(result) ? result :
133
+ Array.isArray(raw?.data) ? raw.data :
134
+ Array.isArray(raw?.threads) ? raw.threads :
135
+ Array.isArray(raw?.sessions) ? raw.sessions :
136
+ Array.isArray(raw?.items) ? raw.items :
137
+ [];
138
+ allThreads.push(...threads);
139
+ const nextCursor = (typeof raw?.nextCursor === "string" && raw.nextCursor) ||
140
+ (typeof raw?.next_cursor === "string" && raw.next_cursor) ||
141
+ undefined;
142
+ if (!nextCursor || threads.length === 0)
143
+ break;
144
+ cursor = nextCursor;
145
+ }
146
+ return { data: allThreads };
147
+ }
148
+ updateThreadSettings(input) {
149
+ if (this.protocol !== "codex-app-server") {
150
+ return Promise.reject(new Error("Provider does not support updateThreadSettings."));
151
+ }
152
+ const model = input.model?.trim();
153
+ const collaborationMode = input.collaborationMode && input.collaborationMode !== "default"
154
+ ? {
155
+ mode: input.collaborationMode,
156
+ settings: {
157
+ model: model || "default",
158
+ ...(input.reasoningEffort ? { reasoning_effort: input.reasoningEffort } : {}),
159
+ },
160
+ }
161
+ : undefined;
162
+ const permission = permissionOverridesForMode(input.permissionMode);
163
+ const approvalPolicy = approvalPolicyForMode(input.permissionMode);
164
+ return this.transport.request("thread/settings/update", {
165
+ threadId: input.sessionId,
166
+ ...(model ? { model } : {}),
167
+ ...(input.reasoningEffort ? { effort: input.reasoningEffort } : {}),
168
+ ...permission,
169
+ ...(approvalPolicy ? { approvalPolicy } : {}),
170
+ ...(collaborationMode ? { collaborationMode } : {}),
171
+ });
172
+ }
173
+ setThreadName(input) {
174
+ if (this.protocol !== "codex-app-server") {
175
+ return Promise.reject(new Error("Provider does not support setThreadName."));
176
+ }
177
+ return this.transport.request("thread/name/set", {
178
+ threadId: input.sessionId,
179
+ name: input.name,
180
+ });
181
+ }
182
+ archiveThread(input) {
183
+ if (this.protocol !== "codex-app-server") {
184
+ return Promise.reject(new Error("Provider does not support archiveThread."));
185
+ }
186
+ return this.transport.request("thread/archive", { threadId: input.sessionId });
187
+ }
188
+ unarchiveThread(input) {
189
+ if (this.protocol !== "codex-app-server") {
190
+ return Promise.reject(new Error("Provider does not support unarchiveThread."));
191
+ }
192
+ return this.transport.request("thread/unarchive", { threadId: input.sessionId });
193
+ }
194
+ deleteThread(input) {
195
+ if (this.protocol !== "codex-app-server") {
196
+ return Promise.reject(new Error("Provider does not support deleteThread."));
197
+ }
198
+ return this.transport.request("thread/delete", { threadId: input.sessionId });
199
+ }
200
+ forkThread(input) {
201
+ if (this.protocol !== "codex-app-server") {
202
+ return Promise.reject(new Error("Provider does not support forkThread."));
203
+ }
204
+ return this.transport.request("thread/fork", {
205
+ threadId: input.sessionId,
206
+ ...(input.lastTurnId ? { lastTurnId: input.lastTurnId } : {}),
207
+ });
208
+ }
209
+ startReview(input) {
210
+ if (this.protocol !== "codex-app-server") {
211
+ return Promise.reject(new Error("Provider does not support startReview."));
212
+ }
213
+ const prompt = input.prompt?.trim();
214
+ return this.transport.request("review/start", {
215
+ threadId: input.sessionId,
216
+ target: prompt
217
+ ? { type: "custom", instructions: prompt }
218
+ : { type: "uncommittedChanges" },
219
+ });
220
+ }
221
+ listSkills(input) {
222
+ if (this.protocol !== "codex-app-server") {
223
+ return Promise.reject(new Error("Provider does not support listSkills."));
224
+ }
225
+ return this.transport.request("skills/list", { cwds: [input.cwd] });
226
+ }
227
+ listMcpServers(input) {
228
+ if (this.protocol !== "codex-app-server") {
229
+ return Promise.reject(new Error("Provider does not support listMcpServers."));
230
+ }
231
+ return this.transport.request("mcpServerStatus/list", {
232
+ detail: "full",
233
+ ...(input?.threadId ? { threadId: input.threadId } : {}),
234
+ });
235
+ }
236
+ startMcpOAuth(input) {
237
+ if (this.protocol !== "codex-app-server") {
238
+ return Promise.reject(new Error("Provider does not support startMcpOAuth."));
125
239
  }
126
- return this.transport.request("session/list", {});
240
+ return this.transport.request("mcpServer/oauth/login", { name: input.serverName });
127
241
  }
128
242
  listModels() {
129
243
  if (this.protocol === "codex-app-server") {
@@ -144,15 +258,15 @@ export class AcpClient {
144
258
  settings: collaborationSettings,
145
259
  }
146
260
  : undefined;
147
- const sandboxPolicy = sandboxPolicyForMode(input.permissionMode, input.cwd);
261
+ const permission = permissionOverridesForMode(input.permissionMode);
148
262
  const approvalPolicy = approvalPolicyForMode(input.permissionMode);
149
263
  const turnStartParams = {
150
264
  threadId: input.sessionId,
151
265
  model,
152
266
  effort: input.reasoningEffort,
153
- // Inline sandbox + approval per the codex app-server schema. Omitted
154
- // when no mode is set so Codex falls back to its config.toml default.
155
- ...(sandboxPolicy ? { sandboxPolicy } : {}),
267
+ // Named profile when we have one; sandboxPolicy only for full_access.
268
+ // Omitted entirely when no mode is set so Codex uses config.toml.
269
+ ...permission,
156
270
  ...(approvalPolicy ? { approvalPolicy } : {}),
157
271
  collaborationMode,
158
272
  input: input.content.map((block) => {
@@ -1 +1 @@
1
- {"version":3,"file":"acp-client.js","sourceRoot":"","sources":["../../../../../src/runtime/acp/acp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp-client.js","sourceRoot":"","sources":["../../../../../src/runtime/acp/acp-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Host-side agent process discovery, modeled on Open Island's
3
+ * ActiveAgentProcessDiscovery: `ps` is the authoritative "is it alive?"
4
+ * signal. We classify well-known CLIs (Claude, Codex, Gemini, Copilot,
5
+ * OpenCode, Cursor Agent, Kimi) and ignore LinkShell's own control-plane
6
+ * subprocesses (codex app-server, Claude stream-json / SDK).
7
+ *
8
+ * This does not invent a remote conversation protocol for those agents.
9
+ * Live processes become visible conversations; prompting still requires
10
+ * an official adapter (Codex app-server / Claude stream-json or SDK).
11
+ */
12
+ export declare const KNOWN_AGENT_PROVIDERS: readonly ["codex", "claude", "gemini", "copilot", "opencode", "cursor", "kimi", "custom"];
13
+ export type KnownAgentProvider = (typeof KNOWN_AGENT_PROVIDERS)[number];
14
+ export declare const PROTOCOL_AGENT_PROVIDERS: Set<string>;
15
+ export interface AgentProcessSnapshot {
16
+ provider: string;
17
+ pid: string;
18
+ command: string;
19
+ tty?: string;
20
+ cwd?: string;
21
+ sessionId?: string;
22
+ parentPid?: string;
23
+ }
24
+ export interface RunningProcess {
25
+ pid: string;
26
+ parentPid: string;
27
+ tty?: string;
28
+ command: string;
29
+ }
30
+ export type ProcessCommandRunner = (executable: string, args: string[]) => string | undefined;
31
+ export declare function agentProviderLabel(provider: string): string;
32
+ export declare function isProtocolAgentProvider(provider: string): boolean;
33
+ export declare function firstCommandToken(command: string): string;
34
+ export declare function commandBinaryName(command: string): string;
35
+ /** LinkShell-owned control planes must not appear as user sessions. */
36
+ export declare function isControlPlaneCommand(command: string): boolean;
37
+ export declare function classifyAgentCommand(command: string): string | undefined;
38
+ export declare function parsePsOutput(output: string): RunningProcess[];
39
+ export declare function sessionIdFromCommand(command: string): string | undefined;
40
+ export declare function liveConversationId(snapshot: Pick<AgentProcessSnapshot, "provider" | "pid" | "sessionId">): string;
41
+ export declare function isLiveConversationId(conversationId: string): boolean;
42
+ export declare function discoverAgentProcesses(input?: {
43
+ run?: ProcessCommandRunner;
44
+ processes?: RunningProcess[];
45
+ includeCwd?: boolean;
46
+ }): AgentProcessSnapshot[];
47
+ /** Non-blocking `ps` scan for the live poll. Never calls lsof. */
48
+ export declare function discoverAgentProcessesAsync(): Promise<AgentProcessSnapshot[]>;
@@ -0,0 +1,267 @@
1
+ import { execFile, execFileSync } from "node:child_process";
2
+ import { promisify } from "node:util";
3
+ const execFileAsync = promisify(execFile);
4
+ /**
5
+ * Host-side agent process discovery, modeled on Open Island's
6
+ * ActiveAgentProcessDiscovery: `ps` is the authoritative "is it alive?"
7
+ * signal. We classify well-known CLIs (Claude, Codex, Gemini, Copilot,
8
+ * OpenCode, Cursor Agent, Kimi) and ignore LinkShell's own control-plane
9
+ * subprocesses (codex app-server, Claude stream-json / SDK).
10
+ *
11
+ * This does not invent a remote conversation protocol for those agents.
12
+ * Live processes become visible conversations; prompting still requires
13
+ * an official adapter (Codex app-server / Claude stream-json or SDK).
14
+ */
15
+ export const KNOWN_AGENT_PROVIDERS = [
16
+ "codex",
17
+ "claude",
18
+ "gemini",
19
+ "copilot",
20
+ "opencode",
21
+ "cursor",
22
+ "kimi",
23
+ "custom",
24
+ ];
25
+ export const PROTOCOL_AGENT_PROVIDERS = new Set(["codex", "claude"]);
26
+ const UUID_RE = /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/;
27
+ export function agentProviderLabel(provider) {
28
+ switch (provider) {
29
+ case "codex":
30
+ return "Codex";
31
+ case "claude":
32
+ return "Claude";
33
+ case "gemini":
34
+ return "Gemini";
35
+ case "copilot":
36
+ return "Copilot";
37
+ case "opencode":
38
+ return "OpenCode";
39
+ case "cursor":
40
+ return "Cursor";
41
+ case "kimi":
42
+ return "Kimi";
43
+ case "custom":
44
+ return "Custom";
45
+ default:
46
+ return provider;
47
+ }
48
+ }
49
+ export function isProtocolAgentProvider(provider) {
50
+ return PROTOCOL_AGENT_PROVIDERS.has(provider);
51
+ }
52
+ export function firstCommandToken(command) {
53
+ return command.trim().split(/\s+/, 1)[0] ?? "";
54
+ }
55
+ export function commandBinaryName(command) {
56
+ const token = firstCommandToken(command);
57
+ const parts = token.split(/[/\\]/);
58
+ return (parts[parts.length - 1] ?? token).toLowerCase();
59
+ }
60
+ /** LinkShell-owned control planes must not appear as user sessions. */
61
+ export function isControlPlaneCommand(command) {
62
+ const lowered = command.toLowerCase();
63
+ if (/\bapp-server\b/.test(lowered))
64
+ return true;
65
+ if (lowered.includes("claude-agent-sdk"))
66
+ return true;
67
+ if (lowered.includes("stream-json") && (lowered.includes("--print") || lowered.includes("--output-format"))) {
68
+ return true;
69
+ }
70
+ return false;
71
+ }
72
+ export function classifyAgentCommand(command) {
73
+ if (!command.trim() || isControlPlaneCommand(command))
74
+ return undefined;
75
+ const lowered = command.toLowerCase();
76
+ const first = firstCommandToken(lowered);
77
+ const binary = commandBinaryName(command);
78
+ if (binary === "codex" || first.endsWith("/codex") || lowered.includes("/codex/codex"))
79
+ return "codex";
80
+ if (binary === "claude" || first.endsWith("/claude") || lowered.includes("/.local/bin/claude"))
81
+ return "claude";
82
+ if (binary === "cursor-agent" || first.endsWith("/cursor-agent"))
83
+ return "cursor";
84
+ if (isOpenCodeCommand(lowered, first))
85
+ return "opencode";
86
+ if (binary === "gemini" ||
87
+ first.endsWith("/gemini") ||
88
+ lowered.includes("/bin/gemini") ||
89
+ lowered.includes("/google/gemini-cli") ||
90
+ lowered.includes("@google/gemini-cli")) {
91
+ return "gemini";
92
+ }
93
+ if (binary === "kimi" && (first === "kimi" || first.endsWith("/kimi")))
94
+ return "kimi";
95
+ if (binary === "copilot" || first.endsWith("/copilot"))
96
+ return "copilot";
97
+ return undefined;
98
+ }
99
+ function isOpenCodeCommand(lowered, first) {
100
+ if (first === "opencode" ||
101
+ first === "opencode-ai" ||
102
+ first.endsWith("/opencode") ||
103
+ first.endsWith("/opencode-ai")) {
104
+ return true;
105
+ }
106
+ if (!lowered.includes("opencode"))
107
+ return false;
108
+ const isPackageRunner = first === "npx" || first.endsWith("/npx") ||
109
+ first === "pnpx" || first.endsWith("/pnpx") ||
110
+ first === "bunx" || first.endsWith("/bunx") ||
111
+ ((first === "npm" || first.endsWith("/npm")) && (lowered.includes(" exec ") || lowered.includes(" run "))) ||
112
+ ((first === "pnpm" || first.endsWith("/pnpm")) && (lowered.includes(" dlx ") || lowered.includes(" exec ") || lowered.includes(" run "))) ||
113
+ first === "yarn" || first.endsWith("/yarn");
114
+ if (isPackageRunner) {
115
+ const tokens = lowered.split(/\s+/);
116
+ const packageIndex = tokens.findIndex((token) => {
117
+ if (token.startsWith("@opencode-ai/"))
118
+ return true;
119
+ const base = token.startsWith("@") ? token : (token.split("@")[0] ?? token);
120
+ return base === "opencode" || base === "opencode-ai";
121
+ });
122
+ if (packageIndex >= 0) {
123
+ const installLike = new Set(["install", "i", "add", "remove", "rm", "uninstall", "update", "upgrade", "up", "unlink"]);
124
+ const isInstall = tokens.slice(0, packageIndex).some((token) => installLike.has(token));
125
+ if (!isInstall)
126
+ return true;
127
+ }
128
+ }
129
+ const isNode = first === "node" || first.endsWith("/node") || first === "bun" || first.endsWith("/bun");
130
+ if (isNode && (lowered.includes("/opencode-ai/") ||
131
+ lowered.includes("/@opencode-ai/") ||
132
+ lowered.includes("/node_modules/opencode/") ||
133
+ lowered.includes("/node_modules/opencode-ai/") ||
134
+ lowered.includes("/node_modules/@opencode-ai/") ||
135
+ /\/\.bin\/opencode(-ai)?(\s|$)/.test(lowered))) {
136
+ return true;
137
+ }
138
+ return false;
139
+ }
140
+ export function parsePsOutput(output) {
141
+ const processes = [];
142
+ for (const rawLine of output.split(/\r?\n/)) {
143
+ const line = rawLine.trim();
144
+ if (!line)
145
+ continue;
146
+ const parts = line.split(/\s+/);
147
+ if (parts.length < 4)
148
+ continue;
149
+ const pid = parts[0];
150
+ const parentPid = parts[1];
151
+ const ttyRaw = parts[2];
152
+ const command = parts.slice(3).join(" ").trim();
153
+ if (!command)
154
+ continue;
155
+ processes.push({
156
+ pid,
157
+ parentPid,
158
+ tty: normalizeTty(ttyRaw),
159
+ command,
160
+ });
161
+ }
162
+ return processes;
163
+ }
164
+ function normalizeTty(raw) {
165
+ const trimmed = raw.trim();
166
+ if (!trimmed || trimmed === "??")
167
+ return undefined;
168
+ return trimmed.startsWith("/dev/") ? trimmed : `/dev/${trimmed}`;
169
+ }
170
+ export function sessionIdFromCommand(command) {
171
+ const tokens = command.split(/\s+/);
172
+ for (let index = 0; index < tokens.length; index += 1) {
173
+ const token = tokens[index];
174
+ if (token === "--resume" || token === "-r" || token === "--session-id") {
175
+ const next = tokens[index + 1];
176
+ const match = next?.match(UUID_RE);
177
+ if (match)
178
+ return match[0].toLowerCase();
179
+ }
180
+ if (token.startsWith("--resume=") || token.startsWith("--session-id=")) {
181
+ const match = token.split("=", 2)[1]?.match(UUID_RE);
182
+ if (match)
183
+ return match[0].toLowerCase();
184
+ }
185
+ }
186
+ return undefined;
187
+ }
188
+ export function liveConversationId(snapshot) {
189
+ if (snapshot.sessionId)
190
+ return `agent-live-${snapshot.provider}-${snapshot.sessionId}`;
191
+ return `agent-live-${snapshot.provider}-${snapshot.pid}`;
192
+ }
193
+ export function isLiveConversationId(conversationId) {
194
+ return conversationId.startsWith("agent-live-");
195
+ }
196
+ export function discoverAgentProcesses(input) {
197
+ const run = input?.run ?? defaultCommandRunner;
198
+ const processes = input?.processes ?? parsePsOutput(run("/bin/ps", ["-Ao", "pid=,ppid=,tty=,command="]) ?? "");
199
+ const snapshots = [];
200
+ const claimed = new Set();
201
+ for (const process of processes) {
202
+ const provider = classifyAgentCommand(process.command);
203
+ if (!provider)
204
+ continue;
205
+ // Open Island lets OpenCode through without a TTY (IDE terminals).
206
+ if (!process.tty && provider !== "opencode")
207
+ continue;
208
+ const sessionId = sessionIdFromCommand(process.command);
209
+ const claimKey = sessionId ? `${provider}:${sessionId}` : `${provider}:${process.tty ?? process.pid}`;
210
+ if (claimed.has(claimKey))
211
+ continue;
212
+ claimed.add(claimKey);
213
+ snapshots.push({
214
+ provider,
215
+ pid: process.pid,
216
+ command: process.command,
217
+ tty: process.tty,
218
+ // lsof is useful but too expensive for the 3s live poll — it stalls the
219
+ // PTY/WebSocket loop. Callers that need cwd pass includeCwd.
220
+ cwd: input?.includeCwd ? cwdFromLsof(run, process.pid) : undefined,
221
+ sessionId,
222
+ parentPid: process.parentPid,
223
+ });
224
+ }
225
+ return snapshots;
226
+ }
227
+ /** Non-blocking `ps` scan for the live poll. Never calls lsof. */
228
+ export async function discoverAgentProcessesAsync() {
229
+ try {
230
+ const { stdout } = await execFileAsync("/bin/ps", ["-Ao", "pid=,ppid=,tty=,command="], {
231
+ encoding: "utf8",
232
+ timeout: 800,
233
+ maxBuffer: 2 * 1024 * 1024,
234
+ });
235
+ return discoverAgentProcesses({ processes: parsePsOutput(stdout) });
236
+ }
237
+ catch {
238
+ return [];
239
+ }
240
+ }
241
+ function cwdFromLsof(run, pid) {
242
+ const output = run("/usr/sbin/lsof", ["-a", "-p", pid, "-Fn"]);
243
+ if (!output)
244
+ return undefined;
245
+ const lines = output.split(/\r?\n/);
246
+ for (let index = 0; index < lines.length; index += 1) {
247
+ if (lines[index] !== "fcwd")
248
+ continue;
249
+ const next = lines[index + 1] ?? "";
250
+ if (next.startsWith("n/"))
251
+ return next.slice(1);
252
+ }
253
+ return undefined;
254
+ }
255
+ function defaultCommandRunner(executable, args) {
256
+ try {
257
+ return execFileSync(executable, args, {
258
+ encoding: "utf8",
259
+ timeout: 800,
260
+ stdio: ["ignore", "pipe", "ignore"],
261
+ });
262
+ }
263
+ catch {
264
+ return undefined;
265
+ }
266
+ }
267
+ //# sourceMappingURL=agent-process-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-process-discovery.js","sourceRoot":"","sources":["../../../../../src/runtime/acp/agent-process-discovery.ts"],"names":[],"mappings":"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"}