linkshell-cli 0.10.29 → 0.10.31

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.
@@ -0,0 +1,43 @@
1
+ import type { AgentAuth } from "@linkshell/wire";
2
+ import { AcpDriver, type AcpAgentSpec } from "./driver.js";
3
+ /**
4
+ * Official Google Antigravity ACP distribution metadata (from the ACP Registry:
5
+ * `antigravity-acp/agent.json`).
6
+ */
7
+ export declare const ANTIGRAVITY_ACP_VERSION = "1.4.0";
8
+ export interface AntigravityReleaseTarget {
9
+ archiveUrl: string;
10
+ binaryName: string;
11
+ args: string[];
12
+ sha256: string;
13
+ }
14
+ export declare const ANTIGRAVITY_ACP_TARGETS: Record<string, AntigravityReleaseTarget>;
15
+ export interface ResolvedAntigravityLaunch {
16
+ command: string;
17
+ args: string[];
18
+ env: Record<string, string>;
19
+ version: string;
20
+ }
21
+ /**
22
+ * Resolves the Antigravity ACP server binary, sibling localharness binary,
23
+ * required environment variables (`AGY_ACP_FORCE_FILE_STORAGE=1`, `PYTHONUNBUFFERED=1`),
24
+ * and platform-specific arguments (`--uid=` on Linux for `.par`).
25
+ */
26
+ export declare function resolveAntigravityLaunch(env?: NodeJS.ProcessEnv): ResolvedAntigravityLaunch | undefined;
27
+ export declare function extractAntigravityAuthUrl(line: string): string | undefined;
28
+ export declare function antigravityAuthStatus(env: NodeJS.ProcessEnv): Promise<AgentAuth>;
29
+ export declare function antigravitySpec(): AcpAgentSpec;
30
+ /**
31
+ * Specialized ACP driver for Google Antigravity (`agy_acp_server.par` / `agy-acp`).
32
+ * Dynamically resolves the binary + `localharness_external`, sets up `.par` file-storage
33
+ * environment variables, and surfaces stdout Google OAuth links as session/driver notices.
34
+ */
35
+ export declare class AntigravityDriver extends AcpDriver {
36
+ constructor(options: {
37
+ env?: NodeJS.ProcessEnv;
38
+ hostVersion: string;
39
+ });
40
+ protected get env(): NodeJS.ProcessEnv;
41
+ protected detectVersion(): Promise<string | undefined>;
42
+ protected boot(): Promise<void>;
43
+ }
@@ -0,0 +1,224 @@
1
+ import { accessSync, constants, existsSync, mkdirSync, readdirSync } from "node:fs";
2
+ import { homedir, tmpdir } from "node:os";
3
+ import { basename, delimiter, dirname, isAbsolute, join } from "node:path";
4
+ import { AcpDriver } from "./driver.js";
5
+ /**
6
+ * Official Google Antigravity ACP distribution metadata (from the ACP Registry:
7
+ * `antigravity-acp/agent.json`).
8
+ */
9
+ export const ANTIGRAVITY_ACP_VERSION = "1.4.0";
10
+ export const ANTIGRAVITY_ACP_TARGETS = {
11
+ "darwin-arm64": {
12
+ archiveUrl: "https://dl.google.com/agy-extensions/releases/macos/agy-acp-server-1.4.0-macos-aarch64.zip",
13
+ binaryName: "agy_acp_server.par",
14
+ args: [],
15
+ sha256: "e02a46db4de4fbcc601a666b385fb1956cc67247221303f8a3e1345721dc2ac2",
16
+ },
17
+ "darwin-x64": {
18
+ archiveUrl: "https://dl.google.com/agy-extensions/releases/macos/agy-acp-server-1.4.0-macos-x86_64.zip",
19
+ binaryName: "agy_acp_server.par",
20
+ args: [],
21
+ sha256: "3d841c240014380c0d45184145020ed86c17213e5d7019801d2777a22731969a",
22
+ },
23
+ "linux-x64": {
24
+ archiveUrl: "https://dl.google.com/agy-extensions/releases/linux/agy-acp-server-1.4.0-linux-x86_64.zip",
25
+ binaryName: "agy_acp_server.par",
26
+ args: ["--uid="],
27
+ sha256: "b64e34ab83b848b7cf75552135a4b606196b45bc0a3f97409964f4b18040e523",
28
+ },
29
+ "linux-arm64": {
30
+ archiveUrl: "https://dl.google.com/agy-extensions/releases/linux/agy-acp-server-1.4.0-linux-aarch64.zip",
31
+ binaryName: "agy_acp_server.par",
32
+ args: ["--uid="],
33
+ sha256: "004bd8f9c88e061923479a50203a1545be398eb4b9a9c8ed181f29a8f1ca45b0",
34
+ },
35
+ "win32-x64": {
36
+ archiveUrl: "https://dl.google.com/agy-extensions/releases/windows/agy-acp-server-1.4.0-windows-x86_64.zip",
37
+ binaryName: "agy_acp_server.exe",
38
+ args: [],
39
+ sha256: "d62bc2a1ca587849ecce838574523886729be3fb12867d22a666f149401325de",
40
+ },
41
+ "win32-arm64": {
42
+ archiveUrl: "https://dl.google.com/agy-extensions/releases/windows/agy-acp-server-1.4.0-windows-aarch64.zip",
43
+ binaryName: "agy_acp_server.exe",
44
+ args: [],
45
+ sha256: "d62bc2a1ca587849ecce838574523886729be3fb12867d22a666f149401325de",
46
+ },
47
+ };
48
+ function isExecutable(filePath) {
49
+ try {
50
+ accessSync(filePath, process.platform === "win32" ? constants.F_OK : constants.X_OK);
51
+ return true;
52
+ }
53
+ catch {
54
+ return false;
55
+ }
56
+ }
57
+ function findOnPath(names, env) {
58
+ const pathVar = env.PATH ?? process.env.PATH ?? "";
59
+ for (const name of names) {
60
+ if (isAbsolute(name) && isExecutable(name))
61
+ return name;
62
+ for (const dir of pathVar.split(delimiter)) {
63
+ if (!dir)
64
+ continue;
65
+ const candidate = join(dir, name);
66
+ if (isExecutable(candidate))
67
+ return candidate;
68
+ }
69
+ }
70
+ return undefined;
71
+ }
72
+ function findInManagedToolRoots(roots, binaryName) {
73
+ const targetKey = `${process.platform}-${process.arch}`;
74
+ for (const root of roots) {
75
+ if (!existsSync(root))
76
+ continue;
77
+ // Check `<root>/<version>/<platform>-<arch>/<binaryName>` and `<root>/<binaryName>`
78
+ const direct = join(root, binaryName);
79
+ if (isExecutable(direct))
80
+ return { path: direct, version: ANTIGRAVITY_ACP_VERSION };
81
+ try {
82
+ const versions = readdirSync(root).sort().reverse();
83
+ for (const version of versions) {
84
+ const archCandidate = join(root, version, targetKey, binaryName);
85
+ if (isExecutable(archCandidate))
86
+ return { path: archCandidate, version };
87
+ const flatCandidate = join(root, version, binaryName);
88
+ if (isExecutable(flatCandidate))
89
+ return { path: flatCandidate, version };
90
+ }
91
+ }
92
+ catch {
93
+ // ignore unreadable directories
94
+ }
95
+ }
96
+ return undefined;
97
+ }
98
+ /**
99
+ * Resolves the Antigravity ACP server binary, sibling localharness binary,
100
+ * required environment variables (`AGY_ACP_FORCE_FILE_STORAGE=1`, `PYTHONUNBUFFERED=1`),
101
+ * and platform-specific arguments (`--uid=` on Linux for `.par`).
102
+ */
103
+ export function resolveAntigravityLaunch(env = process.env) {
104
+ const binaryName = process.platform === "win32" ? "agy_acp_server.exe" : "agy_acp_server.par";
105
+ const harnessName = process.platform === "win32" ? "localharness_external.exe" : "localharness_external";
106
+ const explicitPath = env.LINKSHELL_ANTIGRAVITY_ACP_PATH?.trim() || env.T3CODE_ANTIGRAVITY_ACP_PATH?.trim();
107
+ let binaryPath;
108
+ let version = ANTIGRAVITY_ACP_VERSION;
109
+ if (explicitPath && isExecutable(explicitPath)) {
110
+ binaryPath = explicitPath;
111
+ }
112
+ else {
113
+ const home = env.HOME || homedir();
114
+ const linkshellHome = env.LINKSHELL_HOME || join(home, ".linkshell");
115
+ const toolRoots = [
116
+ join(linkshellHome, "tools", "antigravity-acp"),
117
+ join(home, ".t3", "tools", "antigravity-acp"),
118
+ ...(process.platform === "darwin"
119
+ ? [
120
+ join(home, "Library", "Application Support", "t3code (Alpha)", "tools", "antigravity-acp"),
121
+ join(home, "Library", "Application Support", "t3code", "tools", "antigravity-acp"),
122
+ ]
123
+ : []),
124
+ ];
125
+ const managed = findInManagedToolRoots(toolRoots, binaryName);
126
+ if (managed) {
127
+ binaryPath = managed.path;
128
+ version = managed.version;
129
+ }
130
+ else {
131
+ binaryPath = findOnPath(process.platform === "win32"
132
+ ? ["agy-acp.exe", "agy_acp_server.exe", "agy-acp", "agy_acp_server.par"]
133
+ : ["agy-acp", "agy_acp_server", "agy_acp_server.par"], env);
134
+ }
135
+ }
136
+ if (!binaryPath)
137
+ return undefined;
138
+ const dir = dirname(binaryPath);
139
+ const siblingHarness = join(dir, harnessName);
140
+ const harnessPath = env.ANTIGRAVITY_HARNESS_PATH?.trim() || (isExecutable(siblingHarness) ? siblingHarness : undefined);
141
+ const dedicatedTmp = join(tmpdir(), "linkshell-antigravity-tmp");
142
+ try {
143
+ mkdirSync(dedicatedTmp, { recursive: true });
144
+ }
145
+ catch {
146
+ // fallback to system tmpdir if creation fails
147
+ }
148
+ const isPar = basename(binaryPath).endsWith(".par");
149
+ const args = process.platform === "linux" && isPar ? ["--uid="] : [];
150
+ const launchEnv = {
151
+ AGY_ACP_FORCE_FILE_STORAGE: env.AGY_ACP_FORCE_FILE_STORAGE ?? "1",
152
+ PYTHONUNBUFFERED: env.PYTHONUNBUFFERED ?? "1",
153
+ TMPDIR: dedicatedTmp,
154
+ TMP: dedicatedTmp,
155
+ TEMP: dedicatedTmp,
156
+ ...(harnessPath ? { ANTIGRAVITY_HARNESS_PATH: harnessPath } : {}),
157
+ };
158
+ return {
159
+ command: binaryPath,
160
+ args,
161
+ env: launchEnv,
162
+ version,
163
+ };
164
+ }
165
+ const AUTH_URL_PATTERN = /Open the following link to authenticate the ACP server:\s*(https?:\/\/\S+)/i;
166
+ export function extractAntigravityAuthUrl(line) {
167
+ const match = AUTH_URL_PATTERN.exec(line.trim());
168
+ return match?.[1];
169
+ }
170
+ export async function antigravityAuthStatus(env) {
171
+ if (env.GEMINI_API_KEY?.trim()) {
172
+ return { state: "ok", method: "gemini-api-key" };
173
+ }
174
+ if (env.GOOGLE_API_KEY?.trim() || (env.GOOGLE_CLOUD_PROJECT?.trim() && env.GOOGLE_CLOUD_LOCATION?.trim())) {
175
+ return { state: "ok", method: "agent-platform" };
176
+ }
177
+ return { state: "unknown" };
178
+ }
179
+ export function antigravitySpec() {
180
+ return {
181
+ id: "antigravity",
182
+ label: "Antigravity",
183
+ tier: "remote",
184
+ command: "agy-acp",
185
+ args: [],
186
+ discover: true,
187
+ authStatus: antigravityAuthStatus,
188
+ };
189
+ }
190
+ /**
191
+ * Specialized ACP driver for Google Antigravity (`agy_acp_server.par` / `agy-acp`).
192
+ * Dynamically resolves the binary + `localharness_external`, sets up `.par` file-storage
193
+ * environment variables, and surfaces stdout Google OAuth links as session/driver notices.
194
+ */
195
+ export class AntigravityDriver extends AcpDriver {
196
+ constructor(options) {
197
+ super(antigravitySpec(), options);
198
+ }
199
+ get env() {
200
+ const resolved = resolveAntigravityLaunch(this.options.env ?? process.env);
201
+ return {
202
+ ...(this.options.env ?? process.env),
203
+ ...this.spec.env,
204
+ ...resolved?.env,
205
+ };
206
+ }
207
+ async detectVersion() {
208
+ const resolved = resolveAntigravityLaunch(this.options.env ?? process.env);
209
+ if (!resolved)
210
+ return undefined;
211
+ this.spec.command = resolved.command;
212
+ this.spec.args = resolved.args;
213
+ return resolved.version;
214
+ }
215
+ async boot() {
216
+ const resolved = resolveAntigravityLaunch(this.options.env ?? process.env);
217
+ if (resolved) {
218
+ this.spec.command = resolved.command;
219
+ this.spec.args = resolved.args;
220
+ }
221
+ await super.boot();
222
+ }
223
+ }
224
+ //# sourceMappingURL=antigravity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../../../../../host/src/drivers/acp/antigravity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAS/C,MAAM,CAAC,MAAM,uBAAuB,GAA6C;IAC/E,cAAc,EAAE;QACd,UAAU,EAAE,4FAA4F;QACxG,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,kEAAkE;KAC3E;IACD,YAAY,EAAE;QACZ,UAAU,EAAE,2FAA2F;QACvG,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,kEAAkE;KAC3E;IACD,WAAW,EAAE;QACX,UAAU,EAAE,2FAA2F;QACvG,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,CAAC,QAAQ,CAAC;QAChB,MAAM,EAAE,kEAAkE;KAC3E;IACD,aAAa,EAAE;QACb,UAAU,EAAE,4FAA4F;QACxG,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,CAAC,QAAQ,CAAC;QAChB,MAAM,EAAE,kEAAkE;KAC3E;IACD,WAAW,EAAE;QACX,UAAU,EAAE,+FAA+F;QAC3G,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,kEAAkE;KAC3E;IACD,aAAa,EAAE;QACb,UAAU,EAAE,gGAAgG;QAC5G,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,kEAAkE;KAC3E;CACF,CAAC;AASF,SAAS,YAAY,CAAC,QAAgB;IACpC,IAAI,CAAC;QACH,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAe,EAAE,GAAsB;IACzD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClC,IAAI,YAAY,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAe,EAAE,UAAkB;IACjE,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,oFAAoF;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,YAAY,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACpF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACpD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBACjE,IAAI,YAAY,CAAC,aAAa,CAAC;oBAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;gBACzE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBACtD,IAAI,YAAY,CAAC,aAAa,CAAC;oBAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;YAC3E,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC3E,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAC9F,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAEzG,MAAM,YAAY,GAAG,GAAG,CAAC,8BAA8B,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,CAAC;IAC3G,IAAI,UAA8B,CAAC;IACnC,IAAI,OAAO,GAAG,uBAAuB,CAAC;IAEtC,IAAI,YAAY,IAAI,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,UAAU,GAAG,YAAY,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG;YAChB,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,iBAAiB,CAAC;YAC/C,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAC/B,CAAC,CAAC;oBACE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,OAAO,EAAE,iBAAiB,CAAC;oBAC1F,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC;iBACnF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACF,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,UAAU,CACrB,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAC1B,CAAC,CAAC,CAAC,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,oBAAoB,CAAC;gBACxE,CAAC,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,EACvD,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAExH,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,8CAA8C;IAChD,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,MAAM,SAAS,GAA2B;QACxC,0BAA0B,EAAE,GAAG,CAAC,0BAA0B,IAAI,GAAG;QACjE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,GAAG;QAC7C,MAAM,EAAE,YAAY;QACpB,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,YAAY;QAClB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,UAAU;QACnB,IAAI;QACJ,GAAG,EAAE,SAAS;QACd,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,6EAA6E,CAAC;AAEvG,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAsB;IAChE,IAAI,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;QAC/B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACnD,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1G,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,qBAAqB;KAClC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC9C,YAAY,OAAyD;QACnE,KAAK,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,IAAuB,GAAG;QACxB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3E,OAAO;YACL,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;YACpC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG;YAChB,GAAG,QAAQ,EAAE,GAAG;SACjB,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,aAAa;QACpC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC/B,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAEkB,KAAK,CAAC,IAAI;QAC3B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3E,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QACjC,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;CACF"}
@@ -69,6 +69,7 @@ export interface AcpConnectionOptions {
69
69
  onRequest: (method: string, params: unknown, id: RpcId) => unknown;
70
70
  onNotification?: (method: string, params: unknown) => void;
71
71
  onCancelRequest?: (id: RpcId) => void;
72
+ onStdoutLine?: (line: string) => void;
72
73
  onExit: (reason: string) => void;
73
74
  }
74
75
  /** One version-negotiated ACP connection. Native credentials remain owned by the agent. */
@@ -14,6 +14,41 @@ export class AcpProtocolError extends Error {
14
14
  super(`这个 Agent 返回了不兼容的 ACP 协议版本(${String(version ?? "未提供")});当前启用 ACP ${requested === 2 ? "1 / 2" : "1"}。请使用兼容的 Agent 版本。`);
15
15
  }
16
16
  }
17
+ function filterJsonStdout(source, onStdoutLine) {
18
+ const decoder = new StringDecoder("utf8");
19
+ const encoder = new TextEncoder();
20
+ let buffer = "";
21
+ const flushLine = (line, controller) => {
22
+ const trimmed = line.trim();
23
+ if (!trimmed)
24
+ return;
25
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
26
+ controller.enqueue(encoder.encode(`${line}\n`));
27
+ }
28
+ else {
29
+ onStdoutLine?.(trimmed);
30
+ }
31
+ };
32
+ return source.pipeThrough(new TransformStream({
33
+ transform(chunk, controller) {
34
+ buffer += decoder.write(Buffer.from(chunk));
35
+ let newlineIndex = buffer.indexOf("\n");
36
+ while (newlineIndex >= 0) {
37
+ const line = buffer.slice(0, newlineIndex).replace(/\r$/, "");
38
+ buffer = buffer.slice(newlineIndex + 1);
39
+ flushLine(line, controller);
40
+ newlineIndex = buffer.indexOf("\n");
41
+ }
42
+ },
43
+ flush(controller) {
44
+ buffer += decoder.end();
45
+ if (buffer.trim()) {
46
+ flushLine(buffer.replace(/\r$/, ""), controller);
47
+ }
48
+ buffer = "";
49
+ },
50
+ }));
51
+ }
17
52
  /** One version-negotiated ACP connection. Native credentials remain owned by the agent. */
18
53
  export class AcpConnection {
19
54
  options;
@@ -50,9 +85,20 @@ export class AcpConnection {
50
85
  this.child = child;
51
86
  // The SDK codec decodes incrementally: JSON lines and UTF-8 characters may
52
87
  // both span stdout buffers. The same codec accepts v2 JSON-RPC batches.
53
- stream = ndJsonStream(Writable.toWeb(child.stdin), Readable.toWeb(child.stdout), { maxMessageBytes: 32 * 1024 * 1024 });
88
+ // Filter non-JSON stdout banners (e.g. Antigravity's OAuth sign-in URL) before ndJsonStream.
89
+ const filteredStdout = filterJsonStdout(Readable.toWeb(child.stdout), this.options.onStdoutLine);
90
+ stream = ndJsonStream(Writable.toWeb(child.stdin), filteredStdout, { maxMessageBytes: 32 * 1024 * 1024 });
54
91
  const stderr = new StringDecoder("utf8");
55
- child.stderr?.on("data", (chunk) => { this.stderrTail = (this.stderrTail + stderr.write(chunk)).slice(-4000); });
92
+ child.stderr?.on("data", (chunk) => {
93
+ const text = stderr.write(chunk);
94
+ this.stderrTail = (this.stderrTail + text).slice(-4000);
95
+ if (this.options.onStdoutLine) {
96
+ for (const line of text.split(/\r?\n/)) {
97
+ if (line.trim())
98
+ this.options.onStdoutLine(line.trim());
99
+ }
100
+ }
101
+ });
56
102
  child.once("exit", (code, signal) => this.lost(`${this.options.command} exited (${signal ?? code})${this.stderrTail ? `: ${this.stderrTail.trim().split("\n").slice(-3).join(" | ")}` : ""}`));
57
103
  child.once("error", (error) => this.lost(error.message));
58
104
  }
@@ -82,11 +128,14 @@ export class AcpConnection {
82
128
  // down without losing the client's v1 capabilities. Later messages are version-specific.
83
129
  ...(version === 2 ? { info, capabilities: { auth: remote ? {} : { terminal: {} }, elicitation, ...editor } } : {}),
84
130
  }, 30_000);
85
- if (raw.protocolVersion !== 1 && !(version === 2 && raw.protocolVersion === 2)) {
131
+ // Google's Antigravity ACP server (`antigravity-acp-server`) returns `protocolVersion: 2`
132
+ // while using ACP v1's `agentCapabilities` / `agentInfo` / `authMethods[].id` wire schema.
133
+ const hybridV1 = raw.protocolVersion === 2 && raw.agentCapabilities !== undefined && raw.capabilities === undefined;
134
+ if (raw.protocolVersion !== 1 && !hybridV1 && !(version === 2 && raw.protocolVersion === 2)) {
86
135
  await this.stop();
87
136
  throw new AcpProtocolError(raw.protocolVersion, version);
88
137
  }
89
- if (raw.protocolVersion === 2) {
138
+ if (raw.protocolVersion === 2 && !hybridV1) {
90
139
  const caps = object(raw.capabilities), session = object(caps.session), prompt = object(session.prompt), mcp = object(session.mcp);
91
140
  this.initializeResult = {
92
141
  protocolVersion: 2, agentInfo: object(raw.info), _meta: object(raw._meta),
@@ -102,7 +151,7 @@ export class AcpConnection {
102
151
  };
103
152
  }
104
153
  else
105
- this.initializeResult = raw;
154
+ this.initializeResult = { ...raw, protocolVersion: 1 };
106
155
  return this.initializeResult;
107
156
  }
108
157
  async read() {
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../../../host/src/drivers/acp/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../../../host/src/drivers/acp/connection.ts"],"names":[],"mappings":"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"}
@@ -202,6 +202,7 @@ export declare class AcpDriver implements AgentDriver {
202
202
  /** Starts the agent process once; concurrent callers share the attempt. */
203
203
  protected ensureStarted(): Promise<void>;
204
204
  protected boot(): Promise<void>;
205
+ protected onStdoutLine(line: string): void;
205
206
  private scheduleRestart;
206
207
  private onExit;
207
208
  protected stateFor(nativeId: string, cwd: string): AcpSessionState;
@@ -644,6 +644,7 @@ export class AcpDriver {
644
644
  this.host?.update(this.id, sessionId, { sessionUpdate: "ls_permission_resolved", requestId });
645
645
  }
646
646
  },
647
+ onStdoutLine: (line) => this.onStdoutLine(line),
647
648
  onExit: (reason) => this.onExit(reason),
648
649
  });
649
650
  this.connection = connection;
@@ -656,7 +657,7 @@ export class AcpDriver {
656
657
  audio: caps.promptCapabilities?.audio === true,
657
658
  embeddedContext: caps.promptCapabilities?.embeddedContext === true,
658
659
  };
659
- this.current = { installed: true, version: this.current.version };
660
+ this.current = { installed: true, version: this.current.version || init.agentInfo?.version };
660
661
  this.restartDelay = 1000;
661
662
  }
662
663
  catch (error) {
@@ -670,6 +671,22 @@ export class AcpDriver {
670
671
  this.scheduleRestart();
671
672
  }
672
673
  }
674
+ onStdoutLine(line) {
675
+ const match = /Open the following link to authenticate the ACP server:\s*(https?:\/\/\S+)/i.exec(line);
676
+ if (!match?.[1])
677
+ return;
678
+ const url = match[1];
679
+ this.host?.log(`[${this.id}] OAuth sign-in URL: ${url}`);
680
+ for (const [sessionId, state] of this.sessions) {
681
+ if (!state.loaded)
682
+ continue;
683
+ this.host?.notice?.(this.id, sessionId, {
684
+ severity: "info",
685
+ title: `请完成 ${this.label} 登录授权`,
686
+ description: `在浏览器打开此链接完成登录:${url}`,
687
+ });
688
+ }
689
+ }
673
690
  scheduleRestart() {
674
691
  if (this.stopped || this.restartTimer)
675
692
  return;
@@ -943,7 +960,7 @@ export class AcpDriver {
943
960
  this.serviceRequests.set(id, controller);
944
961
  return this.services.request(method, params, controller.signal).finally(() => this.serviceRequests.delete(id));
945
962
  }
946
- if (questionMethod(this.id, method))
963
+ if (questionMethod(this.id, method, params))
947
964
  return this.onQuestions(method, params, id);
948
965
  if (method !== "session/request_permission") {
949
966
  throw new RpcError(-32601, `LinkShell does not implement ${method}`);