From 4d1bb7a4436d4dc4fcb4dbe9aaf13cc787420e3f Mon Sep 17 00:00:00 2001 From: CD Date: Sat, 7 Mar 2026 22:58:56 +0900 Subject: [PATCH] =?UTF-8?q?probe:=20Trial=20D2=20=E2=80=94=20fixed=20proto?= =?UTF-8?q?buf=20encoding=20(protocol=5Fversion=3D1,=20cascadeId,=20Connec?= =?UTF-8?q?tRPC=20framing)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extension/gravity-bridge-0.2.0.vsix | Bin 31791 -> 32893 bytes extension/out/extension.js | 81 +++++++++++++++++++------ extension/out/extension.js.map | 2 +- extension/src/extension.ts | 91 ++++++++++++++++++++++------ 4 files changed, 133 insertions(+), 41 deletions(-) diff --git a/extension/gravity-bridge-0.2.0.vsix b/extension/gravity-bridge-0.2.0.vsix index 66cfeeeee2100ce7ca5b5cac2ddf2e008a832629..ed7ee4cc6e9e55ea8f64fd0be95ba2758b62c189 100644 GIT binary patch delta 30073 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 xA>$Uh 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 L4e1~7-<|&hiRWwQ delta 29001 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 { if (!lsPort || !lsCsrf) { - console.log('Gravity Bridge: [Trial D] Skipped — no LS'); + console.log('Gravity Bridge: [Trial D2] Skipped — no LS'); return; } - console.log(`Gravity Bridge: [Trial D] Probing streaming RPCs on port ${lsPort}...`); + console.log(`Gravity Bridge: [Trial D2] Streaming RPCs with proto_version=1...`); const http = require('http'); - function tryRPC(method, bodyStr) { + function tryProtoRPC(method, protoBody, timeout = 12000) { return new Promise((resolve) => { - const isJson = !!bodyStr; - const body = isJson ? Buffer.from(bodyStr) : Buffer.from([0, 0, 0, 0, 0]); - const req = http.request({ hostname: '127.0.0.1', port: lsPort, path: `/exa.language_server_pb.LanguageServerService/${method}`, method: 'POST', headers: { 'Content-Type': isJson ? 'application/json' : 'application/connect+proto', 'Connect-Protocol-Version': '1', 'x-codeium-csrf-token': lsCsrf }, timeout: 8000 }, (res) => { + // ConnectRPC frame: [flag(1)] [length(4 big-endian)] [message] + const frame = Buffer.alloc(5 + protoBody.length); + frame[0] = 0x00; // no compression + frame.writeUInt32BE(protoBody.length, 1); + protoBody.copy(frame, 5); + const req = http.request({ + hostname: '127.0.0.1', port: lsPort, + path: `/exa.language_server_pb.LanguageServerService/${method}`, + method: 'POST', + headers: { + 'Content-Type': 'application/connect+proto', + 'Connect-Protocol-Version': '1', + 'x-codeium-csrf-token': lsCsrf, + }, + timeout: timeout + }, (res) => { const chunks = []; res.on('data', (c) => chunks.push(c)); - res.on('end', () => resolve(Buffer.concat(chunks).toString('utf-8'))); + res.on('end', () => { + const buf = Buffer.concat(chunks); + // Skip ConnectRPC frame header (5 bytes) to get proto/JSON content + const text = buf.toString('utf-8'); + resolve(text); + }); }); req.on('error', (e) => resolve(`err:${e.message}`)); - req.on('timeout', () => { req.destroy(); resolve('timeout'); }); - req.write(body); + req.on('timeout', () => { req.destroy(); resolve('timeout(stream open)'); }); + req.write(frame); req.end(); }); } - for (const m of ['StreamCascadeReactiveUpdates', 'StreamCascadeSummariesReactiveUpdates', 'StreamAgentStateUpdates', 'GetBrowserOpenConversation']) { - const r = await tryRPC(m); - console.log(`Gravity Bridge: [Trial D] ${m}: ${r.substring(0, 400)}`); - } + // protobuf: field 1 (protocol_version) = 1 → 0x08 0x01 + const versionOnly = Buffer.from([0x08, 0x01]); + // Try StreamCascadeReactiveUpdates with version=1 + let r = await tryProtoRPC('StreamCascadeReactiveUpdates', versionOnly); + console.log(`Gravity Bridge: [Trial D2] StreamCascade(v1): ${r.substring(0, 600)}`); + // Try StreamCascadeSummariesReactiveUpdates with version=1 + r = await tryProtoRPC('StreamCascadeSummariesReactiveUpdates', versionOnly); + console.log(`Gravity Bridge: [Trial D2] StreamSummaries(v1): ${r.substring(0, 600)}`); + // Get latest trajectory ID and try StreamAgentStateUpdates with cascadeId try { const dRaw = await vscode.commands.executeCommand('antigravity.getDiagnostics'); const d = typeof dRaw === 'string' ? JSON.parse(dRaw) : dRaw; const ts = d?.recentTrajectories || []; if (ts.length > 0) { - const t = ts[ts.length - 1]; - const gid = t.googleAgentId || ''; - console.log(`Gravity Bridge: [Trial D] Latest: ${gid.substring(0, 8)} step=${t.lastStepIndex}`); - const r = await tryRPC('GetCascadeTrajectorySteps', JSON.stringify({ trajectoryId: gid, startStepIndex: Math.max(0, t.lastStepIndex - 1) })); - console.log(`Gravity Bridge: [Trial D] Steps(json): ${r.substring(0, 500)}`); + const latest = ts[ts.length - 1]; + const gid = latest.googleAgentId || ''; + console.log(`Gravity Bridge: [Trial D2] Using trajectory ${gid.substring(0, 8)}`); + // Build protobuf with cascadeId string: field 1 = gid + // string field: tag=0x0A (field 1 wire type 2), length, bytes + const gidBuf = Buffer.from(gid, 'utf-8'); + const cascadeProto = Buffer.alloc(2 + gidBuf.length); + cascadeProto[0] = 0x0A; // field 1, wire type 2 (length-delimited) + cascadeProto[1] = gidBuf.length; + gidBuf.copy(cascadeProto, 2); + r = await tryProtoRPC('StreamAgentStateUpdates', cascadeProto); + console.log(`Gravity Bridge: [Trial D2] AgentState(${gid.substring(0, 8)}): ${r.substring(0, 600)}`); + // Also try GetCascadeTrajectorySteps with proto encoding + // field 1 = trajectoryId (string), field 2 = startStepIndex (varint) + const stepIdx = Math.max(0, latest.lastStepIndex - 1); + const stepsProto = Buffer.alloc(2 + gidBuf.length + 2); + stepsProto[0] = 0x0A; + stepsProto[1] = gidBuf.length; + gidBuf.copy(stepsProto, 2); + stepsProto[2 + gidBuf.length] = 0x10; // field 2 varint + stepsProto[3 + gidBuf.length] = stepIdx; + r = await tryProtoRPC('GetCascadeTrajectorySteps', stepsProto); + console.log(`Gravity Bridge: [Trial D2] Steps(proto): ${r.substring(0, 800)}`); } } catch (e) { - console.log(`Gravity Bridge: [Trial D] err: ${e.message}`); + console.log(`Gravity Bridge: [Trial D2] err: ${e.message}`); } }, 15000); // Start LS bridge after a delay diff --git a/extension/out/extension.js.map b/extension/out/extension.js.map index 59c3293..bdf1056 100644 --- a/extension/out/extension.js.map +++ b/extension/out/extension.js.map @@ -1 +1 @@ -{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/extension/src/extension.ts b/extension/src/extension.ts index 18b501f..846d8c1 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -429,41 +429,92 @@ export function activate(context: vscode.ExtensionContext) { - // ========== Trial D: Streaming RPC + JSON retry ========== + // ========== Trial D2: Streaming RPC with protocol_version=1 ========== setTimeout(async () => { - if (!lsPort || !lsCsrf) { console.log('Gravity Bridge: [Trial D] Skipped — no LS'); return; } - console.log(`Gravity Bridge: [Trial D] Probing streaming RPCs on port ${lsPort}...`); + if (!lsPort || !lsCsrf) { console.log('Gravity Bridge: [Trial D2] Skipped — no LS'); return; } + console.log(`Gravity Bridge: [Trial D2] Streaming RPCs with proto_version=1...`); const http = require('http'); - function tryRPC(method: string, bodyStr?: string): Promise { + + function tryProtoRPC(method: string, protoBody: Buffer, timeout: number = 12000): Promise { return new Promise((resolve) => { - const isJson = !!bodyStr; - const body = isJson ? Buffer.from(bodyStr!) : Buffer.from([0, 0, 0, 0, 0]); - const req = http.request({ hostname: '127.0.0.1', port: lsPort, path: `/exa.language_server_pb.LanguageServerService/${method}`, method: 'POST', headers: { 'Content-Type': isJson ? 'application/json' : 'application/connect+proto', 'Connect-Protocol-Version': '1', 'x-codeium-csrf-token': lsCsrf }, timeout: 8000 }, (res: any) => { + // ConnectRPC frame: [flag(1)] [length(4 big-endian)] [message] + const frame = Buffer.alloc(5 + protoBody.length); + frame[0] = 0x00; // no compression + frame.writeUInt32BE(protoBody.length, 1); + protoBody.copy(frame, 5); + + const req = http.request({ + hostname: '127.0.0.1', port: lsPort, + path: `/exa.language_server_pb.LanguageServerService/${method}`, + method: 'POST', + headers: { + 'Content-Type': 'application/connect+proto', + 'Connect-Protocol-Version': '1', + 'x-codeium-csrf-token': lsCsrf, + }, + timeout: timeout + }, (res: any) => { const chunks: Buffer[] = []; res.on('data', (c: Buffer) => chunks.push(c)); - res.on('end', () => resolve(Buffer.concat(chunks).toString('utf-8'))); + res.on('end', () => { + const buf = Buffer.concat(chunks); + // Skip ConnectRPC frame header (5 bytes) to get proto/JSON content + const text = buf.toString('utf-8'); + resolve(text); + }); }); req.on('error', (e: any) => resolve(`err:${e.message}`)); - req.on('timeout', () => { req.destroy(); resolve('timeout'); }); - req.write(body); req.end(); + req.on('timeout', () => { req.destroy(); resolve('timeout(stream open)'); }); + req.write(frame); req.end(); }); } - for (const m of ['StreamCascadeReactiveUpdates', 'StreamCascadeSummariesReactiveUpdates', 'StreamAgentStateUpdates', 'GetBrowserOpenConversation']) { - const r = await tryRPC(m); - console.log(`Gravity Bridge: [Trial D] ${m}: ${r.substring(0, 400)}`); - } + + // protobuf: field 1 (protocol_version) = 1 → 0x08 0x01 + const versionOnly = Buffer.from([0x08, 0x01]); + + // Try StreamCascadeReactiveUpdates with version=1 + let r = await tryProtoRPC('StreamCascadeReactiveUpdates', versionOnly); + console.log(`Gravity Bridge: [Trial D2] StreamCascade(v1): ${r.substring(0, 600)}`); + + // Try StreamCascadeSummariesReactiveUpdates with version=1 + r = await tryProtoRPC('StreamCascadeSummariesReactiveUpdates', versionOnly); + console.log(`Gravity Bridge: [Trial D2] StreamSummaries(v1): ${r.substring(0, 600)}`); + + // Get latest trajectory ID and try StreamAgentStateUpdates with cascadeId try { const dRaw = await vscode.commands.executeCommand('antigravity.getDiagnostics'); const d = typeof dRaw === 'string' ? JSON.parse(dRaw) : dRaw; const ts = d?.recentTrajectories || []; if (ts.length > 0) { - const t = ts[ts.length - 1]; - const gid = t.googleAgentId || ''; - console.log(`Gravity Bridge: [Trial D] Latest: ${gid.substring(0, 8)} step=${t.lastStepIndex}`); - const r = await tryRPC('GetCascadeTrajectorySteps', JSON.stringify({ trajectoryId: gid, startStepIndex: Math.max(0, t.lastStepIndex - 1) })); - console.log(`Gravity Bridge: [Trial D] Steps(json): ${r.substring(0, 500)}`); + const latest = ts[ts.length - 1]; + const gid = latest.googleAgentId || ''; + console.log(`Gravity Bridge: [Trial D2] Using trajectory ${gid.substring(0, 8)}`); + + // Build protobuf with cascadeId string: field 1 = gid + // string field: tag=0x0A (field 1 wire type 2), length, bytes + const gidBuf = Buffer.from(gid, 'utf-8'); + const cascadeProto = Buffer.alloc(2 + gidBuf.length); + cascadeProto[0] = 0x0A; // field 1, wire type 2 (length-delimited) + cascadeProto[1] = gidBuf.length; + gidBuf.copy(cascadeProto, 2); + + r = await tryProtoRPC('StreamAgentStateUpdates', cascadeProto); + console.log(`Gravity Bridge: [Trial D2] AgentState(${gid.substring(0, 8)}): ${r.substring(0, 600)}`); + + // Also try GetCascadeTrajectorySteps with proto encoding + // field 1 = trajectoryId (string), field 2 = startStepIndex (varint) + const stepIdx = Math.max(0, latest.lastStepIndex - 1); + const stepsProto = Buffer.alloc(2 + gidBuf.length + 2); + stepsProto[0] = 0x0A; + stepsProto[1] = gidBuf.length; + gidBuf.copy(stepsProto, 2); + stepsProto[2 + gidBuf.length] = 0x10; // field 2 varint + stepsProto[3 + gidBuf.length] = stepIdx; + + r = await tryProtoRPC('GetCascadeTrajectorySteps', stepsProto); + console.log(`Gravity Bridge: [Trial D2] Steps(proto): ${r.substring(0, 800)}`); } - } catch (e: any) { console.log(`Gravity Bridge: [Trial D] err: ${e.message}`); } + } catch (e: any) { console.log(`Gravity Bridge: [Trial D2] err: ${e.message}`); } }, 15000);