add ranked search to pql sidebar with DSL toggle
test / unit + widget + golden + a11y (push) Failing after 33s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped

Search tab defaults to ranked text search via pql search — debounced
300ms, scored results with visual score bar.  DSL toggle switches to
raw PQL query mode for SQL-like queries.  Clicking a search result
opens it in the markdown context viewer.

Adds pql.search IPC command and PqlClient.search method.  Controller
gains SearchMode enum and search() method alongside existing runQuery.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-04-23 22:22:16 +02:00
co-authored by Claude
parent 2f7f797288
commit 226520cfce
5 changed files with 194 additions and 17 deletions
+14
View File
@@ -94,6 +94,20 @@ void registerPqlCommands(DaemonDispatcher d, PqlClient pql) {
}
});
d.register('pql.search', (req) async {
final terms = req.args['terms'] as String?;
if (terms == null || terms.isEmpty) {
return _userError(req.id, 'pql.search requires a terms string');
}
try {
final limit = (req.args['limit'] as num?)?.toInt();
final results = await pql.search(terms, limit: limit);
return IpcResponse.ok(id: req.id, data: {'results': results});
} on PqlException catch (e) {
return _pqlError(req.id, e);
}
});
d.register('pql.doctor', (req) async {
try {
final report = await pql.doctor();