diff --git a/Cargo.lock b/Cargo.lock index c5c9016..ced576d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1365,6 +1365,7 @@ dependencies = [ "tracing-appender", "tracing-subscriber", "uuid", + "winres", ] [[package]] @@ -2787,6 +2788,15 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + [[package]] name = "tower" version = "0.5.3" @@ -3437,6 +3447,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "winres" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" +dependencies = [ + "toml", +] + [[package]] name = "wit-bindgen" version = "0.57.1" diff --git a/deploy.ps1 b/deploy.ps1 index af98c4d..0da240e 100644 --- a/deploy.ps1 +++ b/deploy.ps1 @@ -1,4 +1,32 @@ -Get-Process mcp-memory-* -ErrorAction SilentlyContinue | Stop-Process -Force -Start-Sleep -Seconds 2 -foreach ($b in @('mcp-memory-server.exe', 'mcp-memory-stub.exe', 'mcp-memory-win-nvim.exe')) { $s = 'target\release\' + $b; $d = 'C:\Users\reazul.ashraf\.local\bin\' + $b; if (Test-Path $d) { Remove-Item ($d + '.bak') -Force -ErrorAction SilentlyContinue; Rename-Item $d ($b + '.bak') -Force -ErrorAction SilentlyContinue }; Copy-Item $s $d -Force } -& 'C:\Users\reazul.ashraf\.local\bin\mcp-memory-server.exe' --daemon +try { + Write-Host "Gracefully shutting down server..." + Invoke-RestMethod -Method Post -Uri "http://127.0.0.1:3000/shutdown" -ErrorAction SilentlyContinue + Start-Sleep -Seconds 2 +} catch { + Write-Host "Server might already be down or unreachable." +} + +$binaries = @('mcp-memory-server.exe', 'mcp-memory-stub.exe', 'mcp-memory-win-nvim.exe') +$timestamp = (Get-Date -UFormat "%s") -replace "\.","" + +foreach ($b in $binaries) { + $s = "target\release\$b" + $d = "C:\Users\reazul.ashraf\.local\bin\$b" + + if (Test-Path $d) { + $backupName = "$b.$timestamp.bak" + Write-Host "Renaming $b to $backupName to avoid file locks..." + Rename-Item $d $backupName -Force -ErrorAction SilentlyContinue + } + + if (Test-Path $s) { + Write-Host "Deploying new $b..." + Copy-Item $s $d -Force + } else { + Write-Host "Warning: $s not found, skipping." + } +} + +Write-Host "Starting new mcp-memory-server daemon..." +Start-Process -FilePath "C:\Users\reazul.ashraf\.local\bin\mcp-memory-server.exe" -WindowStyle Hidden +Write-Host "Deployment complete." diff --git a/linux-nvim/build.rs b/linux-nvim/build.rs index 2a2c799..dc9a51c 100644 --- a/linux-nvim/build.rs +++ b/linux-nvim/build.rs @@ -9,15 +9,14 @@ fn main() { .unwrap_or_else(|| "unknown".to_string()); let git_date = Command::new("git") - .args(["log", "-1", "--format=%cd", "--date=format:%Y.%m.%d"]) + .args(["log", "-1", "--format=%cd", "--date=format:%y.%m.%d.%H%M%S"]) .output() .ok() .and_then(|out| String::from_utf8(out.stdout).ok()) .unwrap_or_else(|| "unknown".to_string()); let version = format!( - "{} ({} {})", - env!("CARGO_PKG_VERSION"), + "{} ({})", git_date.trim(), git_hash.trim() ); diff --git a/server/Cargo.toml b/server/Cargo.toml index 3454509..7181ba3 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -31,6 +31,7 @@ rmcp = { version = "3.4.0", features = ["server"] } [build-dependencies] chrono = "0.4.45" +winres = "0.1.12" [dev-dependencies] tempfile = "3.27.0" diff --git a/server/app.ico b/server/app.ico new file mode 100644 index 0000000..c3ba6da Binary files /dev/null and b/server/app.ico differ diff --git a/server/build.rs b/server/build.rs index 2a2c799..af36bd4 100644 --- a/server/build.rs +++ b/server/build.rs @@ -9,17 +9,22 @@ fn main() { .unwrap_or_else(|| "unknown".to_string()); let git_date = Command::new("git") - .args(["log", "-1", "--format=%cd", "--date=format:%Y.%m.%d"]) + .args(["log", "-1", "--format=%cd", "--date=format:%y.%m.%d.%H%M%S"]) .output() .ok() .and_then(|out| String::from_utf8(out.stdout).ok()) .unwrap_or_else(|| "unknown".to_string()); let version = format!( - "{} ({} {})", - env!("CARGO_PKG_VERSION"), + "{} ({})", git_date.trim(), git_hash.trim() ); println!("cargo:rustc-env=APP_VERSION={}", version); + + if std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default() == "windows" { + let mut res = winres::WindowsResource::new(); + res.set_icon("app.ico"); + res.compile().unwrap(); + } } diff --git a/server/src/dashboard.html b/server/src/dashboard.html index eceb38a..2dc8deb 100644 --- a/server/src/dashboard.html +++ b/server/src/dashboard.html @@ -462,7 +462,10 @@
-

🧠 Antigravity Memory Hub

+
+

🧠 Antigravity Memory Hub

+ +
System Online
@@ -874,10 +877,16 @@ } container.innerHTML = data.results.map(r => ` -
- ${highlightText(r.type_name, q)} -
${highlightText(r.content.substring(0, 150), q)}...
-
Score: ${r.score.toFixed(2)}
+
+
+
+ ${highlightText(r.title, q)} + ${r.type_name} +
+
${r.score.toFixed(2)}
+
+
${highlightText(r.content.substring(0, 150), q)}${r.content.length > 150 ? '...' : ''}
+
ID: ${r.id}
`).join(''); } @@ -940,7 +949,21 @@ } } + async function loadVersion() { + try { + const res = await fetch('/api/version'); + const data = await res.json(); + const verEl = document.getElementById('app-version'); + if (verEl) { + verEl.textContent = `v${data.version}`; + } + } catch (err) { + console.error("Failed to load version", err); + } + } + // --- Start --- + loadVersion(); loadGraph(); loadTasks(); loadStickyNotes(); diff --git a/server/src/handlers.rs b/server/src/handlers.rs index c150f12..78d5aec 100644 --- a/server/src/handlers.rs +++ b/server/src/handlers.rs @@ -141,6 +141,14 @@ impl MemoryHandler { "read_sticky_notes", "Read all active sticky notes.", ), + crate::mcp::tool_def::( + "delete_sticky_note", + "Delete a specific sticky note by its 1-indexed position.", + ), + crate::mcp::tool_def::( + "clear_sticky_notes", + "Clear all active sticky notes.", + ), crate::mcp::tool_def::( "condense_entity", "Condense or summarize an entity's observations to reduce size.", @@ -527,7 +535,7 @@ impl MemoryHandler { let mut result = KnowledgeGraph::default(); let full = self.state.get_full_graph(); - for (id, doc_type) in matches { + for (id, doc_type, _, _, _) in matches { if doc_type == "entity" && let Some(e) = full.entities.get(&id) { @@ -669,6 +677,27 @@ impl MemoryHandler { .unwrap_or_else(|_| "[]".to_string()); Ok(vec![data.to_string()][0].clone()) } + "delete_sticky_note" => { + let req = parse_tool!(args.clone(), id, DeleteStickyNoteTool); + let mut success = false; + self.state.sticky.modify(|notes| { + if req.index > 0 && req.index <= notes.len() { + notes.remove(req.index - 1); + success = true; + } + }); + if success { + Ok(vec!["Sticky note deleted.".to_string()][0].clone()) + } else { + Err("Invalid sticky note index.".to_string()) + } + } + "clear_sticky_notes" => { + self.state.sticky.modify(|notes| { + notes.clear(); + }); + Ok(vec!["All sticky notes cleared.".to_string()][0].clone()) + } "condense_entity" => { let req = parse_tool!(args.clone(), id, CondenseEntityTool); self.state.apply_sync_write(|master| { @@ -1471,7 +1500,7 @@ impl MemoryHandler { let mut adrs = Vec::new(); let full = self.state.get_full_graph(); - for (id, doc_type) in &matches { + for (id, doc_type, _, _, _) in &matches { if doc_type == "entity" && let Some(e) = full.entities.get(id) { @@ -1479,20 +1508,20 @@ impl MemoryHandler { } } for t in self.state.tasks.read() { - if matches.iter().any(|(id, typ)| id == &t.id && typ == "task") { + if matches.iter().any(|(id, typ, _, _, _)| id == &t.id && typ == "task") { tasks.push(t); } } for s in self.state.snippets.read() { if matches .iter() - .any(|(id, typ)| id == &s.name && typ == "snippet") + .any(|(id, typ, _, _, _)| id == &s.name && typ == "snippet") { snippets.push(s); } } for a in self.state.adrs.read() { - if matches.iter().any(|(id, typ)| id == &a.id && typ == "adr") { + if matches.iter().any(|(id, typ, _, _, _)| id == &a.id && typ == "adr") { adrs.push(a); } } diff --git a/server/src/main.rs b/server/src/main.rs index 18f80f0..0f82083 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -331,11 +331,13 @@ fn run_server(state: Arc) -> Result<(), Box> && let Ok(idx) = state_clone.search_index.read() && let Ok(results) = idx.search(q, None) { let mut formatted_results = Vec::new(); - for (type_name, content) in results { + for (id, doc_type, title, body, score) in results { formatted_results.push(serde_json::json!({ - "type_name": type_name, - "content": content, - "score": 1.0 + "id": id, + "type_name": doc_type, + "title": title, + "content": body, + "score": score })); } return axum::Json( diff --git a/server/src/search.rs b/server/src/search.rs index 3254925..2dfecc0 100644 --- a/server/src/search.rs +++ b/server/src/search.rs @@ -83,7 +83,7 @@ impl MemoryIndex { &self, query: &str, namespace: Option<&str>, - ) -> tantivy::Result> { + ) -> tantivy::Result> { let searcher = self.reader.searcher(); let query_parser = tantivy::query::QueryParser::for_index( &self.index, @@ -96,7 +96,7 @@ impl MemoryIndex { &tantivy::collector::TopDocs::with_limit(50).order_by_score(), )?; let mut results = Vec::new(); - for (_score, doc_address) in top_docs { + for (score, doc_address) in top_docs { let retrieved_doc = searcher.doc::(doc_address)?; let id = retrieved_doc .get_first(self.id_field) @@ -108,6 +108,16 @@ impl MemoryIndex { .and_then(|v| v.as_str()) .unwrap_or("") .to_string(); + let title = retrieved_doc + .get_first(self.title_field) + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(); + let body = retrieved_doc + .get_first(self.body_field) + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(); let doc_ns = retrieved_doc .get_first(self.namespace_field) .and_then(|v| v.as_str()) @@ -118,7 +128,7 @@ impl MemoryIndex { { continue; } - results.push((id, doc_type)); + results.push((id, doc_type, title, body, score)); } Ok(results) } diff --git a/server/src/tools.rs b/server/src/tools.rs index 2f89657..31ccc6c 100644 --- a/server/src/tools.rs +++ b/server/src/tools.rs @@ -119,6 +119,17 @@ pub struct AddStickyNoteTool { #[derive(Debug, Deserialize, Serialize, JsonSchema)] pub struct ReadStickyNotesTool {} +/// Delete a specific sticky note by its 1-indexed position. +#[derive(Debug, Deserialize, Serialize, JsonSchema)] +pub struct DeleteStickyNoteTool { + /// The 1-indexed position of the sticky note to delete. + pub index: usize, +} + +/// Clear all sticky notes. +#[derive(Debug, Deserialize, Serialize, JsonSchema)] +pub struct ClearStickyNotesTool {} + /// Condense or summarize an entity's observations to reduce size. #[derive(Debug, Deserialize, Serialize, JsonSchema)] pub struct CondenseEntityTool { diff --git a/server/tests/parity_test.rs b/server/tests/parity_test.rs index 0257ed5..1f7afd9 100644 --- a/server/tests/parity_test.rs +++ b/server/tests/parity_test.rs @@ -6,14 +6,14 @@ fn test_eager_tools_parity() { let memory_source = std::fs::read_to_string("src/handlers.rs").expect("Failed to read handlers.rs"); let mut memory_tools = HashSet::new(); - for line in memory_source.lines() { - if line.contains("crate::mcp::tool_def") - && let Some(start) = line.find("(\"") { - let rest = &line[start + 2..]; - if let Some(end) = rest.find("\"") { - memory_tools.insert(rest[..end].to_string()); - } + let parts: Vec<&str> = memory_source.split("crate::mcp::tool_def").collect(); + for part in parts.iter().skip(1) { + if let Some(start) = part.find("\"") { + let rest = &part[start + 1..]; + if let Some(end) = rest.find("\"") { + memory_tools.insert(rest[..end].to_string()); } + } } assert!( !memory_tools.is_empty(), diff --git a/stub/build.rs b/stub/build.rs index 2a2c799..dc9a51c 100644 --- a/stub/build.rs +++ b/stub/build.rs @@ -9,15 +9,14 @@ fn main() { .unwrap_or_else(|| "unknown".to_string()); let git_date = Command::new("git") - .args(["log", "-1", "--format=%cd", "--date=format:%Y.%m.%d"]) + .args(["log", "-1", "--format=%cd", "--date=format:%y.%m.%d.%H%M%S"]) .output() .ok() .and_then(|out| String::from_utf8(out.stdout).ok()) .unwrap_or_else(|| "unknown".to_string()); let version = format!( - "{} ({} {})", - env!("CARGO_PKG_VERSION"), + "{} ({})", git_date.trim(), git_hash.trim() ); diff --git a/test_connection.log b/test_connection.log deleted file mode 100644 index 2027d5c..0000000 --- a/test_connection.log +++ /dev/null @@ -1,187 +0,0 @@ -I0913 07:13:11.799197 45 server.go:1560] Starting language server process with pid 34896 -I0913 07:13:11.805667 45 server.go:1613] Language server version: 1.2.2 -I0913 07:13:11.805667 45 server.go:613] Language server will attempt to listen on host localhost -I0913 07:13:11.870861 45 server.go:628] Language server listening on random port at 58424 for HTTPS (gRPC) -I0913 07:13:11.872918 45 server.go:636] Language server listening on random port at 58425 for HTTP -W0913 07:13:12.228039 79 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.228601 79 errorreport.go:224] error getting token source: You are not logged into Antigravity. -E0913 07:13:12.232567 79 errorreport.go:224] Failed to poll ListExperiments: error getting token source: You are not logged into Antigravity. -I0913 07:13:12.232567 79 model_configs.go:65] Auth mode is unspecified, skipping fetchAvailableModels and returning empty response -I0913 07:13:12.241299 117 store_client.go:680] summary store: starting background reconciliation (trigger=startup) -I0913 07:13:12.242528 117 store_client.go:730] summary store: reconciliation complete, synced 6 records -W0913 07:13:12.243100 117 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.243100 117 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.243721 117 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.243721 117 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:13:12.243721 45 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.243721 45 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.243721 45 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.243721 45 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:13:12.247405 45 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.247405 45 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.247405 45 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.247405 45 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:13:12.248015 45 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.248015 45 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.248015 45 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.248015 45 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:13:12.248015 147 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.248567 147 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.249258 147 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.249258 147 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:13:12.254061 45 launchmanager.go:69] Entering local chrome mode! This is WRONG unless you are running tests or in eval mode on Linux. -W0913 07:13:12.260093 45 defaults.go:778] failed to get cs path: cs path /usr/bin/cs invalid -I0913 07:13:12.260093 45 manager.go:108] Creating trajectory store manager with proto store and SQLite store -W0913 07:13:12.263716 157 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.263716 157 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.267188 45 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.267892 45 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.268559 45 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.268559 45 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -I0913 07:13:12.275926 203 manager.go:88] Migration [MIGRATION_ID_SIDECAR_USER_CONFIG_BYPASS] is disabled, skipping entirely -I0913 07:13:12.275926 203 manager.go:91] Migration [MIGRATION_ID_SANITY_CHECK_PROJECT_URIS] is enabled -I0913 07:13:12.278668 203 manager.go:100] Migration [MIGRATION_ID_SANITY_CHECK_PROJECT_URIS] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:13:12.278668 203 manager.go:91] Migration [MIGRATION_ID_PLUGIN_ENABLEMENT] is enabled -I0913 07:13:12.280984 203 manager.go:100] Migration [MIGRATION_ID_PLUGIN_ENABLEMENT] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:13:12.280984 203 manager.go:91] Migration [MIGRATION_ID_BUILTIN_SIDECARS_TO_PLUGINS] is enabled -I0913 07:13:12.282861 203 manager.go:100] Migration [MIGRATION_ID_BUILTIN_SIDECARS_TO_PLUGINS] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:13:12.282861 203 manager.go:88] Migration [MIGRATION_ID_LIN_BUILTIN_TO_MARKETPLACE] is disabled, skipping entirely -I0913 07:13:12.286340 45 server.go:3003] Auth succeeded, refreshing features and managers -W0913 07:13:12.287121 45 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.287121 45 errorreport.go:224] error getting token source: You are not logged into Antigravity. -E0913 07:13:12.287121 45 errorreport.go:224] Failed to poll ListExperiments: error getting token source: You are not logged into Antigravity. -I0913 07:13:12.287121 45 server.go:3009] State refresh took 0ms -I0913 07:13:12.287121 45 server.go:3019] [RemoteControl] Subscription callback triggered. -I0913 07:13:12.289628 45 server.go:3022] [RemoteControl] RemoteControlEnabled value: false -I0913 07:13:12.289628 45 server.go:3637] [RemoteControl] Session toggle is off, staying disconnected -I0913 07:13:12.289628 45 server.go:3348] [RemoteControl] Resolved proxyServerURL: "" -I0913 07:13:12.290222 45 profiler.go:231] Continuous pprof profiling is disabled. -I0913 07:13:12.290222 209 manager.go:88] Migration [MIGRATION_ID_SIDECAR_USER_CONFIG_BYPASS] is disabled, skipping entirely -I0913 07:13:12.290222 209 manager.go:91] Migration [MIGRATION_ID_SANITY_CHECK_PROJECT_URIS] is enabled -I0913 07:13:12.290222 45 server.go:2505] initialized server successfully in 487.2507ms -W0913 07:13:12.290887 212 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.290887 212 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.290887 212 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.291441 212 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -I0913 07:13:12.292744 209 manager.go:100] Migration [MIGRATION_ID_SANITY_CHECK_PROJECT_URIS] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:13:12.292744 209 manager.go:91] Migration [MIGRATION_ID_PLUGIN_ENABLEMENT] is enabled -I0913 07:13:12.295037 209 manager.go:100] Migration [MIGRATION_ID_PLUGIN_ENABLEMENT] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:13:12.295037 209 manager.go:91] Migration [MIGRATION_ID_BUILTIN_SIDECARS_TO_PLUGINS] is enabled -I0913 07:13:12.295595 1 auto_updater.go:252] Last check was less than 15 minutes ago, skipping update (fast path) -I0913 07:13:12.295595 1 common.go:150] Launching CLI mode -E0913 07:13:12.295595 1 launchsteps.go:84] Failed to resolve GeminiDir ".gemini": .gemini must be an absolute path: path is not absolute, falling back to default -I0913 07:13:12.295595 1 common.go:172] CLI app data directory: C:\Users\reazul.ashraf\.gemini\antigravity-cli -I0913 07:13:12.295595 1 server.go:299] Creating CLI server backend: product=antigravity workspaceDirs=[C:\Users\reazul.ashraf\workspace\rust\mcp-memory] appDataDir=C:\Users\reazul.ashraf\.gemini\antigravity-cli cascadeManager=true codeAssist=true -I0913 07:13:12.296176 1 auth_provider.go:763] [AuthProvider] SetEnableBusinessLogin called with enable: true -I0913 07:13:12.297268 209 manager.go:100] Migration [MIGRATION_ID_BUILTIN_SIDECARS_TO_PLUGINS] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:13:12.297268 209 manager.go:88] Migration [MIGRATION_ID_LIN_BUILTIN_TO_MARKETPLACE] is disabled, skipping entirely -W0913 07:13:12.320261 182 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.320887 182 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.320887 182 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.320887 182 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -I0913 07:13:12.329342 1 project.go:77] project: created project "mcp-memory" (id=f8f5bcad-a3d5-45cd-9413-a145efef016d) at C:\Users\reazul.ashraf\.gemini\config\projects\f8f5bcad-a3d5-45cd-9413-a145efef016d.json -I0913 07:13:12.329342 1 server.go:2091] Backend project ID updated dynamically to: f8f5bcad-a3d5-45cd-9413-a145efef016d -I0913 07:13:12.384573 1 analytics.go:179] CLI startup completed (took 588.6426ms) -I0913 07:13:12.384573 1 printmode.go:174] Print mode: starting (promptLength=19, model="", conversationID="") -I0913 07:13:12.384573 1 manager.go:426] Initializing CLI store manager for workspace C:\Users\reazul.ashraf\workspace\rust\mcp-memory -W0913 07:13:12.389494 182 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -I0913 07:13:12.389494 1 cli_setting_manager.go:156] applyUserSettings: no shared config permissions from C:\Users\reazul.ashraf\.gemini\config\config.json -E0913 07:13:12.389494 182 errorreport.go:224] error getting token source: You are not logged into Antigravity. -I0913 07:13:12.389494 1 cli_setting_manager.go:92] CLI settings initialized: permissions=&{Allow:[command(wsl.exe) command(wsl.exe -d Ubuntu -e printenv | grep -i google)] Deny:[] Ask:[]}, toolPermission=always-proceed -W0913 07:13:12.390021 182 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.390021 182 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:13:12.390401 182 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.390401 182 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.390912 182 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.390912 182 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:13:12.390912 182 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.390912 182 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:13:12.390912 182 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:13:12.391628 182 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -I0913 07:13:12.395463 1 hooks_manager.go:53] loaded 0 named hooks from 0 hooks.json file(s) -I0913 07:13:12.395463 1 manager.go:600] CLI store manager initialized successfully -I0913 07:13:12.395463 1 printmode.go:365] Print mode: not authenticated, trying silent auth -I0913 07:13:12.396534 245 keyring.go:64] keyringAuth: loaded token, expiry=2026-09-13 07:17:47.0141665 +0100 BST expired=false -I0913 07:13:12.530611 245 browser.go:265] token refreshed, new expiry=2026-09-13 08:13:11.5306116 +0100 BST m=+3599.838249501 -I0913 07:13:12.548508 1 auth.go:148] ChainedAuth: authenticated via keyring (effective: gcp) -I0913 07:13:12.548508 1 server_oauth.go:192] applyAuthResult: email=reazul.ashraf@inseinc.com, authMethod=gcp, quotaProject=inse-r-and-d -I0913 07:13:12.548508 1 server_oauth.go:197] OAuth: authenticated successfully as reazul.ashraf@inseinc.com -I0913 07:13:12.548508 1 server_oauth.go:203] b.codeAssistClient.AuthProvider (0xfe2a5053590) is same as b.cliAuth (0xfe2a5053590) -W0913 07:13:12.557760 295 cache.go:163] Failed to refresh cache in background: admin controls not applicable -W0913 07:13:12.557760 256 cache.go:163] Failed to refresh cache in background: admin controls not applicable -I0913 07:13:12.721157 252 http_helpers.go:299] URL: https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels Trace: 0x46b69e1d5153866c -I0913 07:13:12.727258 1 model_config_manager.go:327] Propagating selected model override to backend: label="Gemini 3.1 Pro (Low)" -I0913 07:13:12.727768 1 admin_controls_manager.go:42] Enabling admin controls refresh loop for business account -I0913 07:13:12.727768 1 printmode.go:367] Print mode: silent auth succeeded -I0913 07:13:12.727768 313 model_config_manager.go:327] Propagating selected model override to backend: label="Gemini 3.1 Pro (Low)" -I0913 07:13:12.727768 262 quota_manager.go:45] doRefreshQuota: starting reload (force=true) -I0913 07:13:12.727768 263 experiment_manager.go:56] Starting experiment refresh after login -I0913 07:13:12.763025 314 model_config_manager.go:327] Propagating selected model override to backend: label="Gemini 3.1 Pro (Low)" -I0913 07:13:12.763025 262 quota_manager.go:45] doRefreshQuota: starting reload (force=true) -I0913 07:13:12.910330 263 server.go:3637] [RemoteControl] Session toggle is off, staying disconnected -I0913 07:13:12.910330 263 server.go:3348] [RemoteControl] Resolved proxyServerURL: "" -I0913 07:13:12.910330 263 experiment_manager.go:60] Experiments refreshed after login -I0913 07:13:12.910330 263 experiment_manager.go:56] Starting experiment refresh after login -I0913 07:13:12.910881 324 manager.go:1281] Reloading system slash commands -I0913 07:13:12.910881 1 conversation_manager.go:451] Starting new conversation (agent=false) -I0913 07:13:12.910881 1 server.go:1142] Creating new cascade trajectory (agentScript=false) -I0913 07:13:12.910881 1 server.go:1145] Conversation using project ID: f8f5bcad-a3d5-45cd-9413-a145efef016d -I0913 07:13:12.974916 263 server.go:3637] [RemoteControl] Session toggle is off, staying disconnected -I0913 07:13:12.975499 263 server.go:3348] [RemoteControl] Resolved proxyServerURL: "" -I0913 07:13:12.975499 263 experiment_manager.go:60] Experiments refreshed after login -I0913 07:13:12.975499 327 manager.go:1281] Reloading system slash commands -I0913 07:13:12.994408 327 manager.go:1285] Slash commands unchanged, skipping update -I0913 07:13:13.015610 1 server.go:1177] Created conversation 2a0dd78e-ef6f-48a6-8958-9e847ba5ae44 -I0913 07:13:13.016754 1 server.go:3088] GetConversationDetail: found conversation 2a0dd78e-ef6f-48a6-8958-9e847ba5ae44 (active=true) -I0913 07:13:13.018963 1 server.go:3088] GetConversationDetail: found conversation 2a0dd78e-ef6f-48a6-8958-9e847ba5ae44 (active=true) -I0913 07:13:13.019519 1 conversation_manager.go:498] project: switching to conversation belonging to project ID: f8f5bcad-a3d5-45cd-9413-a145efef016d -I0913 07:13:13.020642 1 server.go:2091] Backend project ID updated dynamically to: f8f5bcad-a3d5-45cd-9413-a145efef016d -I0913 07:13:13.020642 1 cli_setting_manager.go:218] ApplyProjectPermissionGrants: no grants for project "mcp-memory", cleared project permissions -I0913 07:13:13.020642 387 manager.go:1304] Reloading system slash commands and skills -I0913 07:13:13.020642 387 manager.go:1281] Reloading system slash commands -I0913 07:13:13.028049 1 hooks_manager.go:53] loaded 0 named hooks from 0 hooks.json file(s) -I0913 07:13:13.028049 1 conversation_manager.go:544] project: synced active project to "mcp-memory" (id=f8f5bcad-a3d5-45cd-9413-a145efef016d) from conversation switch -I0913 07:13:13.028049 1 conversation_manager.go:821] Streaming conversation 2a0dd78e-ef6f-48a6-8958-9e847ba5ae44 -I0913 07:13:13.028635 402 manager.go:1304] Reloading system slash commands and skills -I0913 07:13:13.028635 402 manager.go:1281] Reloading system slash commands -I0913 07:13:13.028635 1 server.go:3088] GetConversationDetail: found conversation 2a0dd78e-ef6f-48a6-8958-9e847ba5ae44 (active=true) -I0913 07:13:13.033411 1 server.go:1186] Starting conversation update stream for 2a0dd78e-ef6f-48a6-8958-9e847ba5ae44 -I0913 07:13:13.033411 1 session.go:168] Print mode: conversation=2a0dd78e-ef6f-48a6-8958-9e847ba5ae44, sending message -I0913 07:13:13.033411 1 manager.go:1281] Reloading system slash commands -I0913 07:13:13.040855 387 manager.go:1285] Slash commands unchanged, skipping update -I0913 07:13:13.055590 1 manager.go:1285] Slash commands unchanged, skipping update -I0913 07:13:13.056337 1 conversation_manager.go:633] Forwarding user message to conversation 2a0dd78e-ef6f-48a6-8958-9e847ba5ae44 (items=1, media=0) -I0913 07:13:13.056337 1 server.go:1745] Sending user message to conversation 2a0dd78e-ef6f-48a6-8958-9e847ba5ae44 (items=1, media=0) -I0913 07:13:13.056900 402 manager.go:1285] Slash commands unchanged, skipping update -I0913 07:13:13.063256 1 latency_breakdown.go:142] SEND_USER_CASCADE_MESSAGE_LATENCY latency breakdown: map[active_user_state_latency_ms:0 blocking:false cascade_id:2a0dd78e-ef6f-48a6-8958-9e847ba5ae44 cascade_send_latency_ms:4 hydrate_slash_commands_latency_ms:0 load_trajectory_latency_ms:0 media_count:0 media_summaries_latency_ms:0 message_origin:AGENT_MESSAGE_ORIGIN_UNSPECIFIED refresh_browser_state_latency_ms:0 resolve_agent_config_latency_ms:1 save_media_latency_ms:0 saved_media_count:0 status:OK total_latency_ms:6 trajectory_id:1e6aeef3-6a26-47de-b767-5f796ce64de6] -I0913 07:13:13.669038 89 http_helpers.go:299] URL: https://aiplatform.googleapis.com/v1/projects/inse-r-and-d/locations/global/publishers/google/models/gemini-3.5-flash-lite:streamGenerateContent?alt=sse ResponseID: -T6maszCGYXZ1PIPkoa30Ac -I0913 07:13:42.265416 181 mcp_manager.go:873] MCP: 1 server(s) still connecting after 30s: win-nvim -I0913 07:14:12.265868 181 mcp_manager.go:873] MCP: 1 server(s) still connecting after 1m0s: win-nvim -I0913 07:14:42.265823 181 mcp_manager.go:873] MCP: 1 server(s) still connecting after 1m30s: win-nvim -I0913 07:15:12.265858 181 mcp_manager.go:873] MCP: 1 server(s) still connecting after 2m0s: win-nvim -I0913 07:15:42.266182 181 mcp_manager.go:873] MCP: 1 server(s) still connecting after 2m30s: win-nvim -I0913 07:16:12.266424 181 mcp_manager.go:873] MCP: 1 server(s) still connecting after 3m0s: win-nvim -I0913 07:16:42.266567 181 mcp_manager.go:873] MCP: 1 server(s) still connecting after 3m30s: win-nvim -I0913 07:17:12.267264 181 mcp_manager.go:873] MCP: 1 server(s) still connecting after 4m0s: win-nvim -I0913 07:17:42.267157 181 mcp_manager.go:873] MCP: 1 server(s) still connecting after 4m30s: win-nvim -I0913 07:18:12.266905 181 mcp_manager.go:873] MCP: 1 server(s) still connecting after 5m0s: win-nvim -W0913 07:18:13.081605 1 poll.go:204] Print mode: print timeout after 5m0s with turn in progress after 11786 polls (printed=0) -I0913 07:18:13.081605 1 manager.go:780] CLI store manager shutting down -I0913 07:18:13.089097 1 conversation_manager.go:778] Stopping conversation stream -I0913 07:18:13.089097 863 server.go:2862] Language server shutting down -I0913 07:18:13.089097 863 server.go:2867] Waiting for migrations to complete to prevent partial migration state... -I0913 07:18:13.089711 403 server.go:1233] Stream goroutine exited for 2a0dd78e-ef6f-48a6-8958-9e847ba5ae44, sending completion signal -I0913 07:18:13.089711 403 conversation_manager.go:922] Stream completed for 2a0dd78e-ef6f-48a6-8958-9e847ba5ae44, clearing ResponsePending -E0913 07:18:13.122238 411 sharedfragment.go:187] Failed to append MCP servers from specs: context canceled -E0913 07:18:13.141515 411 rules.go:393] Invalid rule trigger: CORTEX_MEMORY_TRIGGER_UNSPECIFIED -E0913 07:18:13.142864 411 rules.go:393] Invalid rule trigger: CORTEX_MEMORY_TRIGGER_UNSPECIFIED -E0913 07:18:13.144699 411 rules.go:393] Invalid rule trigger: CORTEX_MEMORY_TRIGGER_UNSPECIFIED -E0913 07:18:13.146554 411 rules.go:393] Invalid rule trigger: CORTEX_MEMORY_TRIGGER_UNSPECIFIED -E0913 07:18:13.147674 411 rules.go:393] Invalid rule trigger: CORTEX_MEMORY_TRIGGER_UNSPECIFIED -E0913 07:18:13.148896 411 rules.go:393] Invalid rule trigger: CORTEX_MEMORY_TRIGGER_UNSPECIFIED -E0913 07:18:13.149997 411 rules.go:393] Invalid rule trigger: CORTEX_MEMORY_TRIGGER_UNSPECIFIED -E0913 07:18:13.151139 411 rules.go:393] Invalid rule trigger: CORTEX_MEMORY_TRIGGER_UNSPECIFIED -W0913 07:18:13.157805 411 declarative_config_loader.go:253] skipping component during resolution: empty component: prompt section "subagent_reminder" -W0913 07:18:13.157805 411 declarative_config_loader.go:253] skipping component during resolution: empty component: prompt section "terminal_sandbox" -I0913 07:18:13.222695 904 http_helpers.go:299] URL: https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels Trace: 0xf50151ad0d9158d9 -E0913 07:18:13.333887 160 file_watcher.go:194] skipping empty or temp file: diff --git a/test_hang.log b/test_hang.log deleted file mode 100644 index c17a21d..0000000 --- a/test_hang.log +++ /dev/null @@ -1,154 +0,0 @@ -I0913 07:26:28.955691 67 server.go:1560] Starting language server process with pid 36192 -I0913 07:26:28.966088 67 server.go:1613] Language server version: 1.2.2 -I0913 07:26:28.966088 67 server.go:613] Language server will attempt to listen on host localhost -I0913 07:26:29.009214 67 server.go:628] Language server listening on random port at 65520 for HTTPS (gRPC) -I0913 07:26:29.010778 67 server.go:636] Language server listening on random port at 65521 for HTTP -W0913 07:26:29.341265 27 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.341812 27 errorreport.go:224] error getting token source: You are not logged into Antigravity. -E0913 07:26:29.343343 27 errorreport.go:224] Failed to poll ListExperiments: error getting token source: You are not logged into Antigravity. -I0913 07:26:29.343889 27 model_configs.go:65] Auth mode is unspecified, skipping fetchAvailableModels and returning empty response -I0913 07:26:29.375237 33 store_client.go:680] summary store: starting background reconciliation (trigger=startup) -W0913 07:26:29.380738 67 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.381741 67 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:26:29.381741 67 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.381741 67 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:26:29.386594 116 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.387227 116 errorreport.go:224] error getting token source: You are not logged into Antigravity. -I0913 07:26:29.387227 33 store_client.go:730] summary store: reconciliation complete, synced 6 records -W0913 07:26:29.387227 116 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.388039 116 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:26:29.389671 67 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.389671 67 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:26:29.389671 67 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.389671 67 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:26:29.393413 67 launchmanager.go:69] Entering local chrome mode! This is WRONG unless you are running tests or in eval mode on Linux. -W0913 07:26:29.395116 67 defaults.go:778] failed to get cs path: cs path /usr/bin/cs invalid -I0913 07:26:29.396134 67 manager.go:108] Creating trajectory store manager with proto store and SQLite store -W0913 07:26:29.396642 130 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.396642 130 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:26:29.400940 67 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.401959 67 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:26:29.401959 67 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.402476 67 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -I0913 07:26:29.422534 93 manager.go:88] Migration [MIGRATION_ID_SIDECAR_USER_CONFIG_BYPASS] is disabled, skipping entirely -I0913 07:26:29.422534 93 manager.go:91] Migration [MIGRATION_ID_SANITY_CHECK_PROJECT_URIS] is enabled -I0913 07:26:29.427540 93 manager.go:100] Migration [MIGRATION_ID_SANITY_CHECK_PROJECT_URIS] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:26:29.427540 93 manager.go:91] Migration [MIGRATION_ID_PLUGIN_ENABLEMENT] is enabled -I0913 07:26:29.430393 93 manager.go:100] Migration [MIGRATION_ID_PLUGIN_ENABLEMENT] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:26:29.430393 93 manager.go:91] Migration [MIGRATION_ID_BUILTIN_SIDECARS_TO_PLUGINS] is enabled -I0913 07:26:29.432424 93 manager.go:100] Migration [MIGRATION_ID_BUILTIN_SIDECARS_TO_PLUGINS] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:26:29.432424 93 manager.go:88] Migration [MIGRATION_ID_LIN_BUILTIN_TO_MARKETPLACE] is disabled, skipping entirely -I0913 07:26:29.433310 67 server.go:3003] Auth succeeded, refreshing features and managers -W0913 07:26:29.433823 67 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.433823 67 errorreport.go:224] error getting token source: You are not logged into Antigravity. -E0913 07:26:29.433823 67 errorreport.go:224] Failed to poll ListExperiments: error getting token source: You are not logged into Antigravity. -I0913 07:26:29.433823 67 server.go:3009] State refresh took 0ms -I0913 07:26:29.433823 67 server.go:3019] [RemoteControl] Subscription callback triggered. -I0913 07:26:29.436732 67 server.go:3022] [RemoteControl] RemoteControlEnabled value: false -I0913 07:26:29.436732 67 server.go:3637] [RemoteControl] Session toggle is off, staying disconnected -I0913 07:26:29.436732 67 server.go:3348] [RemoteControl] Resolved proxyServerURL: "" -I0913 07:26:29.437754 195 manager.go:88] Migration [MIGRATION_ID_SIDECAR_USER_CONFIG_BYPASS] is disabled, skipping entirely -I0913 07:26:29.437754 195 manager.go:91] Migration [MIGRATION_ID_SANITY_CHECK_PROJECT_URIS] is enabled -I0913 07:26:29.437754 67 profiler.go:231] Continuous pprof profiling is disabled. -I0913 07:26:29.438267 67 server.go:2505] initialized server successfully in 477.0362ms -W0913 07:26:29.438820 128 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.438820 128 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:26:29.439414 128 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.439414 128 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -I0913 07:26:29.440442 195 manager.go:100] Migration [MIGRATION_ID_SANITY_CHECK_PROJECT_URIS] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:26:29.440442 195 manager.go:91] Migration [MIGRATION_ID_PLUGIN_ENABLEMENT] is enabled -I0913 07:26:29.441990 195 manager.go:100] Migration [MIGRATION_ID_PLUGIN_ENABLEMENT] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:26:29.441990 195 manager.go:91] Migration [MIGRATION_ID_BUILTIN_SIDECARS_TO_PLUGINS] is enabled -I0913 07:26:29.442649 1 auto_updater.go:252] Last check was less than 15 minutes ago, skipping update (fast path) -I0913 07:26:29.443288 1 common.go:150] Launching CLI mode -E0913 07:26:29.443288 1 launchsteps.go:84] Failed to resolve GeminiDir ".gemini": .gemini must be an absolute path: path is not absolute, falling back to default -I0913 07:26:29.443288 1 common.go:172] CLI app data directory: C:\Users\reazul.ashraf\.gemini\antigravity-cli -I0913 07:26:29.443288 1 server.go:299] Creating CLI server backend: product=antigravity workspaceDirs=[C:\Users\reazul.ashraf\workspace\rust\mcp-memory] appDataDir=C:\Users\reazul.ashraf\.gemini\antigravity-cli cascadeManager=true codeAssist=true -I0913 07:26:29.443835 1 auth_provider.go:763] [AuthProvider] SetEnableBusinessLogin called with enable: true -I0913 07:26:29.443835 195 manager.go:100] Migration [MIGRATION_ID_BUILTIN_SIDECARS_TO_PLUGINS] already has status MIGRATION_STATUS_COMPLETED, skipping -I0913 07:26:29.444414 195 manager.go:88] Migration [MIGRATION_ID_LIN_BUILTIN_TO_MARKETPLACE] is disabled, skipping entirely -W0913 07:26:29.463991 226 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.463991 226 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:26:29.465009 226 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.465009 226 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -I0913 07:26:29.477397 1 project.go:77] project: created project "mcp-memory" (id=266dd20a-ce12-4f25-829b-17b0981db6a6) at C:\Users\reazul.ashraf\.gemini\config\projects\266dd20a-ce12-4f25-829b-17b0981db6a6.json -I0913 07:26:29.477397 1 server.go:2091] Backend project ID updated dynamically to: 266dd20a-ce12-4f25-829b-17b0981db6a6 -I0913 07:26:29.534151 1 analytics.go:179] CLI startup completed (took 581.6895ms) -I0913 07:26:29.534151 1 printmode.go:174] Print mode: starting (promptLength=4, model="", conversationID="") -I0913 07:26:29.534151 1 manager.go:426] Initializing CLI store manager for workspace C:\Users\reazul.ashraf\workspace\rust\mcp-memory -W0913 07:26:29.537427 226 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.537427 226 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:26:29.537427 226 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.537992 226 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -W0913 07:26:29.537992 226 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.537992 226 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:26:29.537992 226 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.537992 226 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -I0913 07:26:29.538447 1 cli_setting_manager.go:156] applyUserSettings: no shared config permissions from C:\Users\reazul.ashraf\.gemini\config\config.json -I0913 07:26:29.538447 1 cli_setting_manager.go:92] CLI settings initialized: permissions=&{Allow:[command(wsl.exe) command(wsl.exe -d Ubuntu -e printenv | grep -i google)] Deny:[] Ask:[]}, toolPermission=always-proceed -W0913 07:26:29.538969 226 cache.go:135] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.538969 226 errorreport.go:224] error getting token source: You are not logged into Antigravity. -W0913 07:26:29.538969 226 cache.go:135] Cache(userInfo): Singleflight refresh failed: failed to get load code assist response: error getting token source: You are not logged into Antigravity. -E0913 07:26:29.538969 226 errorreport.go:224] failed to get load code assist response: error getting token source: You are not logged into Antigravity. -I0913 07:26:29.542414 1 hooks_manager.go:53] loaded 0 named hooks from 0 hooks.json file(s) -I0913 07:26:29.542414 1 manager.go:600] CLI store manager initialized successfully -I0913 07:26:29.542414 1 printmode.go:365] Print mode: not authenticated, trying silent auth -I0913 07:26:29.545585 264 keyring.go:64] keyringAuth: loaded token, expiry=2026-09-13 08:17:36.8104589 +0100 BST expired=false -I0913 07:26:29.546294 1 auth.go:148] ChainedAuth: authenticated via keyring (effective: gcp) -I0913 07:26:29.546294 1 server_oauth.go:192] applyAuthResult: email=reazul.ashraf@inseinc.com, authMethod=gcp, quotaProject=inse-r-and-d -I0913 07:26:29.546294 1 server_oauth.go:197] OAuth: authenticated successfully as reazul.ashraf@inseinc.com -I0913 07:26:29.546294 1 server_oauth.go:203] b.codeAssistClient.AuthProvider (0x8c2590420f0) is same as b.cliAuth (0x8c2590420f0) -W0913 07:26:29.554924 271 cache.go:163] Failed to refresh cache in background: admin controls not applicable -W0913 07:26:29.555575 238 cache.go:163] Failed to refresh cache in background: admin controls not applicable -I0913 07:26:29.766407 267 http_helpers.go:299] URL: https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels Trace: 0x929b277550fa25b7 -I0913 07:26:29.781984 1 model_config_manager.go:327] Propagating selected model override to backend: label="Gemini 3.1 Pro (Low)" -I0913 07:26:29.781984 1 admin_controls_manager.go:42] Enabling admin controls refresh loop for business account -I0913 07:26:29.781984 1 printmode.go:367] Print mode: silent auth succeeded -I0913 07:26:29.781984 249 quota_manager.go:45] doRefreshQuota: starting reload (force=true) -I0913 07:26:29.781984 250 experiment_manager.go:56] Starting experiment refresh after login -I0913 07:26:29.781984 282 model_config_manager.go:327] Propagating selected model override to backend: label="Gemini 3.1 Pro (Low)" -I0913 07:26:29.782560 249 quota_manager.go:45] doRefreshQuota: starting reload (force=true) -I0913 07:26:29.782560 189 model_config_manager.go:327] Propagating selected model override to backend: label="Gemini 3.1 Pro (Low)" -I0913 07:26:29.782560 249 quota_manager.go:45] doRefreshQuota: starting reload (force=true) -I0913 07:26:29.875679 250 server.go:3637] [RemoteControl] Session toggle is off, staying disconnected -I0913 07:26:29.875679 250 server.go:3348] [RemoteControl] Resolved proxyServerURL: "" -I0913 07:26:29.875679 250 experiment_manager.go:60] Experiments refreshed after login -I0913 07:26:29.875679 250 experiment_manager.go:56] Starting experiment refresh after login -I0913 07:26:29.875679 1 conversation_manager.go:451] Starting new conversation (agent=false) -I0913 07:26:29.875679 1 server.go:1142] Creating new cascade trajectory (agentScript=false) -I0913 07:26:29.875679 1 server.go:1145] Conversation using project ID: 266dd20a-ce12-4f25-829b-17b0981db6a6 -I0913 07:26:29.875679 310 manager.go:1281] Reloading system slash commands -I0913 07:26:29.916916 250 server.go:3637] [RemoteControl] Session toggle is off, staying disconnected -I0913 07:26:29.916916 250 server.go:3348] [RemoteControl] Resolved proxyServerURL: "" -I0913 07:26:29.916916 250 experiment_manager.go:60] Experiments refreshed after login -I0913 07:26:29.916916 140 manager.go:1281] Reloading system slash commands -I0913 07:26:29.926102 140 manager.go:1285] Slash commands unchanged, skipping update -I0913 07:26:29.953728 1 server.go:1177] Created conversation 6830bb37-81b9-4a73-98a9-6629670c6f8f -I0913 07:26:29.954794 1 server.go:3088] GetConversationDetail: found conversation 6830bb37-81b9-4a73-98a9-6629670c6f8f (active=true) -I0913 07:26:29.956348 1 server.go:3088] GetConversationDetail: found conversation 6830bb37-81b9-4a73-98a9-6629670c6f8f (active=true) -I0913 07:26:29.957361 1 conversation_manager.go:498] project: switching to conversation belonging to project ID: 266dd20a-ce12-4f25-829b-17b0981db6a6 -I0913 07:26:29.958879 1 server.go:2091] Backend project ID updated dynamically to: 266dd20a-ce12-4f25-829b-17b0981db6a6 -I0913 07:26:29.958879 1 cli_setting_manager.go:218] ApplyProjectPermissionGrants: no grants for project "mcp-memory", cleared project permissions -I0913 07:26:29.958879 168 manager.go:1304] Reloading system slash commands and skills -I0913 07:26:29.958879 168 manager.go:1281] Reloading system slash commands -I0913 07:26:29.966838 1 hooks_manager.go:53] loaded 0 named hooks from 0 hooks.json file(s) -I0913 07:26:29.967479 1 conversation_manager.go:544] project: synced active project to "mcp-memory" (id=266dd20a-ce12-4f25-829b-17b0981db6a6) from conversation switch -I0913 07:26:29.967479 1 conversation_manager.go:821] Streaming conversation 6830bb37-81b9-4a73-98a9-6629670c6f8f -I0913 07:26:29.967479 323 manager.go:1304] Reloading system slash commands and skills -I0913 07:26:29.967479 323 manager.go:1281] Reloading system slash commands -I0913 07:26:29.968014 1 server.go:3088] GetConversationDetail: found conversation 6830bb37-81b9-4a73-98a9-6629670c6f8f (active=true) -I0913 07:26:29.971692 1 server.go:1186] Starting conversation update stream for 6830bb37-81b9-4a73-98a9-6629670c6f8f -I0913 07:26:29.972274 1 session.go:168] Print mode: conversation=6830bb37-81b9-4a73-98a9-6629670c6f8f, sending message -I0913 07:26:29.972274 1 manager.go:1281] Reloading system slash commands -I0913 07:26:29.976922 168 manager.go:1285] Slash commands unchanged, skipping update -I0913 07:26:29.982877 323 manager.go:1285] Slash commands unchanged, skipping update -I0913 07:26:29.984585 1 manager.go:1285] Slash commands unchanged, skipping update -I0913 07:26:29.984585 1 conversation_manager.go:633] Forwarding user message to conversation 6830bb37-81b9-4a73-98a9-6629670c6f8f (items=1, media=0) -I0913 07:26:29.984585 1 server.go:1745] Sending user message to conversation 6830bb37-81b9-4a73-98a9-6629670c6f8f (items=1, media=0) -I0913 07:26:29.988180 1 latency_breakdown.go:142] SEND_USER_CASCADE_MESSAGE_LATENCY latency breakdown: map[active_user_state_latency_ms:0 blocking:false cascade_id:6830bb37-81b9-4a73-98a9-6629670c6f8f cascade_send_latency_ms:2 hydrate_slash_commands_latency_ms:0 load_trajectory_latency_ms:0 media_count:0 media_summaries_latency_ms:0 message_origin:AGENT_MESSAGE_ORIGIN_UNSPECIFIED refresh_browser_state_latency_ms:0 resolve_agent_config_latency_ms:1 save_media_latency_ms:0 saved_media_count:0 status:OK total_latency_ms:3 trajectory_id:41995427-45da-40eb-9a27-1362ca6cd08f] -I0913 07:26:30.663259 404 http_helpers.go:299] URL: https://aiplatform.googleapis.com/v1/projects/inse-r-and-d/locations/global/publishers/google/models/gemini-3.5-flash-lite:streamGenerateContent?alt=sse ResponseID: FkKmatyWFeXjz_IPhr7YyQ8 -I0913 07:26:59.398063 125 mcp_manager.go:873] MCP: 1 server(s) still connecting after 30s: win-nvim -I0913 07:27:29.398110 125 mcp_manager.go:873] MCP: 1 server(s) still connecting after 1m0s: win-nvim -I0913 07:27:59.398255 125 mcp_manager.go:873] MCP: 1 server(s) still connecting after 1m30s: win-nvim -I0913 07:28:29.398626 125 mcp_manager.go:873] MCP: 1 server(s) still connecting after 2m0s: win-nvim -I0913 07:28:59.399114 125 mcp_manager.go:873] MCP: 1 server(s) still connecting after 2m30s: win-nvim diff --git a/win-nvim/build.rs b/win-nvim/build.rs index 2a2c799..dc9a51c 100644 --- a/win-nvim/build.rs +++ b/win-nvim/build.rs @@ -9,15 +9,14 @@ fn main() { .unwrap_or_else(|| "unknown".to_string()); let git_date = Command::new("git") - .args(["log", "-1", "--format=%cd", "--date=format:%Y.%m.%d"]) + .args(["log", "-1", "--format=%cd", "--date=format:%y.%m.%d.%H%M%S"]) .output() .ok() .and_then(|out| String::from_utf8(out.stdout).ok()) .unwrap_or_else(|| "unknown".to_string()); let version = format!( - "{} ({} {})", - env!("CARGO_PKG_VERSION"), + "{} ({})", git_date.trim(), git_hash.trim() ); diff --git a/win-nvim/tests/integration_test.rs b/win-nvim/tests/integration_test.rs index 897c221..19661f4 100644 --- a/win-nvim/tests/integration_test.rs +++ b/win-nvim/tests/integration_test.rs @@ -4,40 +4,17 @@ use std::process::{Command, Stdio}; fn send_message(stdin: &mut std::process::ChildStdin, msg: Value) { let s = serde_json::to_string(&msg).unwrap(); - let payload = format!("Content-Length: {}\r\n\r\n{}", s.len(), s); - stdin.write_all(payload.as_bytes()).unwrap(); + stdin.write_all(format!("{}\n", s).as_bytes()).unwrap(); stdin.flush().unwrap(); } fn read_message(stdout: &mut std::process::ChildStdout) -> Option { let mut reader = BufReader::new(stdout); - let mut length = 0; - - // Read headers - loop { - let mut line = String::new(); - if reader.read_line(&mut line).unwrap_or(0) == 0 { - return None; // EOF - } - let line = line.trim_end(); - if line.is_empty() { - break; - } - if let Some(len_str) = line.strip_prefix("Content-Length: ") { - length = len_str.parse().unwrap_or(0); - } - } - - if length == 0 { + let mut line = String::new(); + if reader.read_line(&mut line).unwrap_or(0) == 0 { return None; } - - // Read body - let mut buf = vec![0u8; length]; - reader.read_exact(&mut buf).unwrap(); - let body_str = String::from_utf8_lossy(&buf); - - Some(serde_json::from_str(&body_str).unwrap()) + serde_json::from_str(&line).ok() } #[test] @@ -83,10 +60,7 @@ fn test_mcp_initialization_and_tools_list() { "id": 1 }); - // Send initialize using JSONL format! - let s = serde_json::to_string(&init_req).unwrap(); - stdin.write_all(format!("{}\n", s).as_bytes()).unwrap(); - stdin.flush().unwrap(); + send_message(&mut stdin, init_req); let init_resp = read_message(&mut stdout).expect("Failed to read initialize response");