feat: add Google code retrieval across desktop CLI and MCP
Core CI / core (macos-latest) (push) Canceled after 0s
Core CI / core (windows-latest) (push) Canceled after 0s
Core CI / desktop (macos-latest) (push) Canceled after 0s
Core CI / desktop (ubuntu-latest) (push) Canceled after 0s
Core CI / desktop (windows-latest) (push) Canceled after 0s
Core CI / core (ubuntu-latest) (push) Canceled after 2m23s
Core CI / core (macos-latest) (push) Canceled after 0s
Core CI / core (windows-latest) (push) Canceled after 0s
Core CI / desktop (macos-latest) (push) Canceled after 0s
Core CI / desktop (ubuntu-latest) (push) Canceled after 0s
Core CI / desktop (windows-latest) (push) Canceled after 0s
Core CI / core (ubuntu-latest) (push) Canceled after 2m23s
This commit is contained in:
1 parent
8b9b079469
commit
81846b3e98
32 files changed
+1303
-59
No files matched your search
@@ -48,6 +48,9 @@ impl EmbeddingProvider for CountingProvider {
|
||||
}
|
||||
Ok(vector)
|
||||
}
|
||||
fn embed_code_query(&mut self, query: &str) -> Result<Vec<f32>> {
|
||||
self.embed_query(&format!("code-task:{query}"))
|
||||
}
|
||||
fn query_diagnostics(&self) -> BTreeMap<String, u64> {
|
||||
BTreeMap::from([("worker_inference_us".into(), 123)])
|
||||
}
|
||||
@@ -63,6 +66,37 @@ fn count(calls: &Calls) -> usize {
|
||||
calls.queries.lock().unwrap().len()
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn query_task_scopes_cache_and_code_debug_never_replays_old_worker_counters() -> Result<()> {
|
||||
let (_directory, mut service, calls) = fixture()?;
|
||||
let normal = SearchOptions::default();
|
||||
let code = SearchOptions {
|
||||
code_only: true,
|
||||
..Default::default()
|
||||
};
|
||||
service.search("parse JSON", 5, &normal)?;
|
||||
service.search("parse JSON", 5, &code)?;
|
||||
assert_eq!(
|
||||
*calls.queries.lock().unwrap(),
|
||||
vec!["parse JSON", "code-task:parse JSON"]
|
||||
);
|
||||
let cached = service.search_measured("parse JSON", 5, &code, true)?;
|
||||
assert_eq!(count(&calls), 2);
|
||||
let embedding = cached
|
||||
.metrics
|
||||
.trace
|
||||
.unwrap()
|
||||
.into_iter()
|
||||
.find(|s| s.name == "semantic.query_embedding")
|
||||
.unwrap();
|
||||
assert_eq!(embedding.counters["code_task"], 1);
|
||||
assert_eq!(embedding.counters["query_cache_hit"], 1);
|
||||
assert!(!embedding.counters.contains_key("worker_inference_us"));
|
||||
service.search("parse JSON", 5, &normal)?;
|
||||
assert_eq!(count(&calls), 2);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn exact_trimmed_queries_reuse_vectors_but_case_and_model_fingerprint_do_not() -> Result<()> {
|
||||
let (_directory, mut service, calls) = fixture()?;
|
||||
|
||||
Reference in new issue
Block a user