From b6adeff402d1112f04814986cd669fc945034714 Mon Sep 17 00:00:00 2001 From: CD Date: Sat, 7 Mar 2026 19:25:48 +0900 Subject: [PATCH] fix: use real API response (trajectoryId, current:true, step count diffing) --- extension/gravity-bridge-0.2.0.vsix | Bin 28142 -> 28437 bytes extension/out/extension.js | 108 ++++++++++++++------------ extension/out/extension.js.map | 2 +- extension/src/extension.ts | 113 ++++++++++++++++------------ 4 files changed, 126 insertions(+), 97 deletions(-) diff --git a/extension/gravity-bridge-0.2.0.vsix b/extension/gravity-bridge-0.2.0.vsix index 7254e3c9243bfe54519206e39bb985c8f56ce32d..04a541b3d3b5346fac1cee15a3921e6e2051772b 100644 GIT binary patch delta 25993 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 delta 25691 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 t.current === true) || trajectories[0]; + if (!current?.trajectoryId) { return; } - for (const traj of trajectories) { - const id = traj.googleAgentId || traj.google_agent_id || traj.id || ''; - const stepIdx = traj.lastStepIndex ?? traj.last_step_index ?? traj.step_count ?? 0; - const prev = lastStepIndex[id]; - if (prev !== undefined && stepIdx > prev) { - // New steps! Fetch full trajectory to get AI response - console.log(`Gravity Bridge: [LS] ${id.substring(0, 8)} new steps: ${prev} → ${stepIdx}`); - const full = await lsRPC('GetCascadeTrajectorySteps', { - googleAgentId: id, - trajectoryId: traj.trajectoryId || traj.trajectory_id || '', - startStepIndex: prev, - }); - // Also log structure on first fetch - if (full) { - console.log(`Gravity Bridge: [LS] steps response keys: ${typeof full === 'object' ? Object.keys(full).join(', ') : typeof full}`); - console.log(`Gravity Bridge: [LS] steps sample: ${JSON.stringify(full).substring(0, 600)}`); - } - if (full) { - extractAndRelay(full, prev, stepIdx); - } - } - lastStepIndex[id] = stepIdx; + const trajId = current.trajectoryId; + // Fetch actual steps to detect changes + const stepsResult = await lsRPC('GetCascadeTrajectorySteps', { + trajectoryId: trajId, + }); + if (isFirstPoll && stepsResult) { + console.log(`Gravity Bridge: [LS] steps response keys: ${typeof stepsResult === 'object' ? Object.keys(stepsResult).join(', ') : typeof stepsResult}`); + console.log(`Gravity Bridge: [LS] steps sample: ${JSON.stringify(stepsResult).substring(0, 800)}`); + } + if (!stepsResult) { + return; + } + // Count steps — detect new ones + const steps = stepsResult.steps || stepsResult.cortexSteps || stepsResult.cortex_steps || []; + const stepCount = Array.isArray(steps) ? steps.length : 0; + const prevCount = lastStepIndex[trajId] ?? -1; + if (prevCount === -1) { + // First poll — just record count, don't relay old messages + lastStepIndex[trajId] = stepCount; + console.log(`Gravity Bridge: [LS] trajectory ${trajId.substring(0, 8)} initialized with ${stepCount} steps`); + return; + } + if (stepCount > prevCount) { + console.log(`Gravity Bridge: [LS] ${trajId.substring(0, 8)} new steps: ${prevCount} → ${stepCount}`); + // Extract AI text from new steps + const newSteps = steps.slice(prevCount); + extractAndRelaySteps(newSteps); + lastStepIndex[trajId] = stepCount; } } catch (e) { console.log(`Gravity Bridge: [LS poll] error: ${e}`); } } - function extractAndRelay(trajectory, fromStep, toStep) { - // Extract PlannerResponse or assistant messages from trajectory steps - const steps = trajectory.steps || trajectory.cortex_steps || []; + function extractAndRelaySteps(steps) { const messages = []; for (const step of steps) { - const idx = step.index ?? step.step_index ?? 0; - if (idx <= fromStep) { + // Try every possible way to find AI text in a step + const type = step.type || step.stepType || step.step_type || ''; + const content = step.content || step.summary || step.text || step.message || ''; + // PlannerResponse = AI's text output to user + if (content && (type.includes('Response') || type.includes('response') || + type.includes('Message') || type.includes('message') || + type.includes('Notify') || type.includes('notify'))) { + messages.push(content); continue; } - const type = step.type || step.step_type || ''; - const content = step.content || step.summary || step.text || ''; - // PlannerResponse = AI's text output to user - if ((type === 'PlannerResponse' || type === 'planner_response') && content) { - messages.push(content); - } - // Also capture user-facing messages + // Check nested data/content if (step.data?.content && typeof step.data.content === 'string') { messages.push(step.data.content); + continue; } - } - // Fallback: if no detailed steps, try messages array - if (messages.length === 0) { - const msgs = trajectory.messages || trajectory.chat_messages || []; - for (const msg of msgs) { - if (msg.role === 'assistant' && msg.content) { - messages.push(msg.content); - } + // Check role-based (assistant messages) + if ((step.role === 'assistant' || step.role === 'model') && content) { + messages.push(content); + continue; + } + // Catch-all: any string content longer than 20 chars that's not a tool call + if (typeof content === 'string' && content.length > 20 && + !type.includes('Tool') && !type.includes('tool') && + !type.includes('Command') && !type.includes('command')) { + messages.push(content); } } if (messages.length > 0) { const combined = messages.join('\n\n---\n\n'); writeChatSnapshot(combined); - console.log(`Gravity Bridge: [LS] relayed ${messages.length} response(s) to Discord`); + console.log(`Gravity Bridge: [LS] relayed ${messages.length} response(s) (${combined.length} chars) to Discord`); } } // Start LS bridge after a delay diff --git a/extension/out/extension.js.map b/extension/out/extension.js.map index 49853d1..02322f2 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 62706d2..a4e7118 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -266,88 +266,107 @@ export function activate(context: vscode.ExtensionContext) { async function pollConversations() { if (!lsPort) { return; } try { - // Get trajectory descriptions — lightweight list of all conversations + // Get trajectory list — returns {trajectories:[{trajectoryId, trajectoryScope, current}]} const result = await lsRPC('GetUserTrajectoryDescriptions'); - if (!result) { return; } + if (!result || !result.trajectories) { return; } // Debug: log structure on first call - if (Object.keys(lastStepIndex).length === 0) { - console.log(`Gravity Bridge: [LS] trajectories response keys: ${typeof result === 'object' ? Object.keys(result).join(', ') : typeof result}`); + const isFirstPoll = Object.keys(lastStepIndex).length === 0; + if (isFirstPoll) { + console.log(`Gravity Bridge: [LS] trajectories response keys: ${Object.keys(result).join(', ')}`); console.log(`Gravity Bridge: [LS] trajectories sample: ${JSON.stringify(result).substring(0, 600)}`); } - const trajectories = result.trajectories || result.trajectory_descriptions || result.userTrajectoryDescriptions || result.user_trajectory_descriptions || []; - if (!Array.isArray(trajectories)) { return; } + // Find current (active) trajectory + const trajectories = result.trajectories as any[]; + const current = trajectories.find((t: any) => t.current === true) || trajectories[0]; + if (!current?.trajectoryId) { return; } - for (const traj of trajectories) { - const id = traj.googleAgentId || traj.google_agent_id || traj.id || ''; - const stepIdx = traj.lastStepIndex ?? traj.last_step_index ?? traj.step_count ?? 0; - const prev = lastStepIndex[id]; + const trajId = current.trajectoryId; - if (prev !== undefined && stepIdx > prev) { - // New steps! Fetch full trajectory to get AI response - console.log(`Gravity Bridge: [LS] ${id.substring(0, 8)} new steps: ${prev} → ${stepIdx}`); - const full = await lsRPC('GetCascadeTrajectorySteps', { - googleAgentId: id, - trajectoryId: traj.trajectoryId || traj.trajectory_id || '', - startStepIndex: prev, - }); - // Also log structure on first fetch - if (full) { - console.log(`Gravity Bridge: [LS] steps response keys: ${typeof full === 'object' ? Object.keys(full).join(', ') : typeof full}`); - console.log(`Gravity Bridge: [LS] steps sample: ${JSON.stringify(full).substring(0, 600)}`); - } + // Fetch actual steps to detect changes + const stepsResult = await lsRPC('GetCascadeTrajectorySteps', { + trajectoryId: trajId, + }); - if (full) { - extractAndRelay(full, prev, stepIdx); - } - } - lastStepIndex[id] = stepIdx; + if (isFirstPoll && stepsResult) { + console.log(`Gravity Bridge: [LS] steps response keys: ${typeof stepsResult === 'object' ? Object.keys(stepsResult).join(', ') : typeof stepsResult}`); + console.log(`Gravity Bridge: [LS] steps sample: ${JSON.stringify(stepsResult).substring(0, 800)}`); + } + + if (!stepsResult) { return; } + + // Count steps — detect new ones + const steps = stepsResult.steps || stepsResult.cortexSteps || stepsResult.cortex_steps || []; + const stepCount = Array.isArray(steps) ? steps.length : 0; + const prevCount = lastStepIndex[trajId] ?? -1; + + if (prevCount === -1) { + // First poll — just record count, don't relay old messages + lastStepIndex[trajId] = stepCount; + console.log(`Gravity Bridge: [LS] trajectory ${trajId.substring(0, 8)} initialized with ${stepCount} steps`); + return; + } + + if (stepCount > prevCount) { + console.log(`Gravity Bridge: [LS] ${trajId.substring(0, 8)} new steps: ${prevCount} → ${stepCount}`); + // Extract AI text from new steps + const newSteps = steps.slice(prevCount); + extractAndRelaySteps(newSteps); + lastStepIndex[trajId] = stepCount; } } catch (e) { console.log(`Gravity Bridge: [LS poll] error: ${e}`); } } - function extractAndRelay(trajectory: any, fromStep: number, toStep: number) { - // Extract PlannerResponse or assistant messages from trajectory steps - const steps = trajectory.steps || trajectory.cortex_steps || []; + + function extractAndRelaySteps(steps: any[]) { const messages: string[] = []; for (const step of steps) { - const idx = step.index ?? step.step_index ?? 0; - if (idx <= fromStep) { continue; } - - const type = step.type || step.step_type || ''; - const content = step.content || step.summary || step.text || ''; + // Try every possible way to find AI text in a step + const type = step.type || step.stepType || step.step_type || ''; + const content = step.content || step.summary || step.text || step.message || ''; // PlannerResponse = AI's text output to user - if ((type === 'PlannerResponse' || type === 'planner_response') && content) { + if (content && ( + type.includes('Response') || type.includes('response') || + type.includes('Message') || type.includes('message') || + type.includes('Notify') || type.includes('notify') + )) { messages.push(content); + continue; } - // Also capture user-facing messages + + // Check nested data/content if (step.data?.content && typeof step.data.content === 'string') { messages.push(step.data.content); + continue; } - } - // Fallback: if no detailed steps, try messages array - if (messages.length === 0) { - const msgs = trajectory.messages || trajectory.chat_messages || []; - for (const msg of msgs) { - if (msg.role === 'assistant' && msg.content) { - messages.push(msg.content); - } + // Check role-based (assistant messages) + if ((step.role === 'assistant' || step.role === 'model') && content) { + messages.push(content); + continue; + } + + // Catch-all: any string content longer than 20 chars that's not a tool call + if (typeof content === 'string' && content.length > 20 && + !type.includes('Tool') && !type.includes('tool') && + !type.includes('Command') && !type.includes('command')) { + messages.push(content); } } if (messages.length > 0) { const combined = messages.join('\n\n---\n\n'); writeChatSnapshot(combined); - console.log(`Gravity Bridge: [LS] relayed ${messages.length} response(s) to Discord`); + console.log(`Gravity Bridge: [LS] relayed ${messages.length} response(s) (${combined.length} chars) to Discord`); } } + // Start LS bridge after a delay setTimeout(async () => { const found = await discoverLS();