Commit graph

314 commits

Author SHA1 Message Date
Yiorgis Gozadinos
7831057339
add processing.pictures enum (none|description|image), replacing the implicit pair of generate_picture_images+picture_description.enabled flags 2026-04-30 14:26:14 +03:00
Yiorgis Gozadinos
b01c649684
surface picture image bytes in SearchResult and emit multimodal ToolReturn from the agent search tool 2026-04-30 12:43:05 +03:00
Yiorgis Gozadinos
6a77ce92a9
extract picture bytes to document_items.picture_data at ingest, strip them from the docling_document blob, and add 0.45.0 migration to backfill existing
databases
2026-04-30 11:26:37 +03:00
Yiorgis Gozadinos
dc16f74b58
add picture_data column to document_items 2026-04-30 11:23:29 +03:00
Yiorgis Gozadinos
29bc42514e
vb 2026-04-29 13:45:36 +03:00
Yiorgis Gozadinos
318266e681
Update benchmark 2026-04-29 13:27:32 +03:00
Yiorgis Gozadinos
8962987ff9
pin judge model to ollama:qwen3.6 2026-04-29 12:24:06 +03:00
Yiorgis Gozadinos
5e31c15907
docs 2026-04-28 14:44:27 +03:00
Yiorgis Gozadinos
6807f082ec
vb 2026-04-25 09:35:47 +03:00
Yiorgis Gozadinos
758bd3ee72
Group relative-path test with the other connect_lancedb dispatch tests 2026-04-25 09:28:46 +03:00
Yiorgis Gozadinos
81ba248483
vb 2026-04-24 17:47:57 +03:00
Yiorgis Gozadinos
821b7361e9
Push document-id filter into chunk search query 2026-04-24 16:07:07 +03:00
Yiorgis Gozadinos
cd4224a727
drop private title/embedding forwarders from HaikuRAG 2026-04-24 15:52:50 +03:00
Yiorgis Gozadinos
ce2df2e0bd
Docs 2026-04-24 14:42:52 +03:00
Yiorgis Gozadinos
82fd10e0ee
Migrate LanceDB to native async API
Convert all LanceDB operations from sync calls wrapped in async
functions to the native async API (connect_async, AsyncConnection,
AsyncTable, AsyncQuery). Database I/O no longer blocks the event loop.

- Store and HaikuRAG use async context managers (async with). Store
  initialization is deferred to __aenter__; direct construction
  without async with is no longer supported.
- Index creation uses config objects (FTS, BTree, IvfPq) instead of
  string-based index_type parameter.
- Upgrade callbacks are async.
- HaikuRAG tracks background vacuum tasks and awaits them in __aexit__
  and before destructive rebuild operations to avoid races with
  concurrent table mutations.
- temp_db_path fixture uses pytest's tmp_path for reliable async
  cleanup.
2026-04-24 14:42:52 +03:00
Yiorgis Gozadinos
cb9360ef7b
fix chat TUI citation rendering after state flattening 2026-04-24 13:48:57 +03:00
Yiorgis Gozadinos
4f058bf484
vb 2026-04-22 17:00:03 +03:00
Yiorgis Gozadinos
ae2b8461be
flatten skill state citations from list[list[str]] to list[str] 2026-04-22 16:50:13 +03:00
Yiorgis Gozadinos
bb9e7b28ca
vb 2026-04-22 16:18:44 +03:00
Yiorgis Gozadinos
9067b89d2f
fix convert() misreading text content that starts with a URL 2026-04-22 14:47:23 +03:00
Yiorgis Gozadinos
f0016ebcd2
scope citations, searches, and executions to the current invocation 2026-04-22 13:53:39 +03:00
Yiorgis Gozadinos
4a9dd9b49a
persist sandbox variables across execute_code calls within one invocation 2026-04-22 13:30:38 +03:00
Yiorgis Gozadinos
4e9c02afc2
open one HaikuRAG client per skill invocation via lifespan 2026-04-22 13:13:42 +03:00
Yiorgis Gozadinos
8a23108fbd
vb 2026-04-20 16:36:32 +03:00
Yiorgis Gozadinos
eb4e1721ce
remove dead code, add tool descriptions in frontend, update changelog 2026-04-20 15:38:17 +03:00
Yiorgis Gozadinos
fa87cf79c5
Docs & cl 2026-04-20 10:14:19 +03:00
Yiorgis Gozadinos
2a0e89bbe7
add --skill flag to chat TUI for rag and analysis skills 2026-04-17 18:35:16 +03:00
Yiorgis Gozadinos
a45820dbf7
add document virtual filesystem to analysis sandbox
Replace get_document() and get_docling_document() with a VFS at
/documents/{id}/ with metadata.json (eager), content.txt (lazy),
and items.jsonl (lazy). Keep search(), list_documents() (now returns
all), and llm() as external functions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 18:35:16 +03:00
Yiorgis Gozadinos
4118533db1
fold context expansion into sandbox search and remove get_context 2026-04-17 18:35:16 +03:00
Yiorgis Gozadinos
44fd0c9906
add get_context() to analysis sandbox and improve prompt 2026-04-17 18:32:45 +03:00
Yiorgis Gozadinos
d2b3ba1b59
rename RLM agent to analysis throughout the codebase 2026-04-17 18:32:01 +03:00
Yiorgis Gozadinos
499a843a43
remove unused create_analysis_toolset and AnalysisResult 2026-04-17 18:32:01 +03:00
Yiorgis Gozadinos
1049586469
vb 2026-04-17 16:24:25 +03:00
Yiorgis Gozadinos
a0a9a3410b
info: report partial stats and pending migrations on pre-migration DBs 2026-04-17 14:00:03 +03:00
Yiorgis Gozadinos
9beaf0d4ed
fix changelog 2026-04-16 12:57:22 +03:00
Yiorgis Gozadinos
75c84805b4
Improve judge prompt, QA prompt, and raise max_searches to 5 2026-04-16 12:12:23 +03:00
Yiorgis Gozadinos
b6113bf8ab
replace fixed-radius expansion with section-bounded algorithm
Context expansion is now automatic and structure-aware. For structured
documents, expands within the section containing the match. For sections
that exceed the budget or are too small, expands item-by-item outward
skipping noise labels. Unstructured documents use budget-based outward
expansion. Results sorted by relevance score.
2026-04-16 12:11:53 +03:00
Yiorgis Gozadinos
364b1bc509
add document_items table for fast context expansion 2026-04-16 12:11:53 +03:00
Yiorgis Gozadinos
dcde86a5f1
vb 2026-04-09 15:33:19 +03:00
Yiorgis Gozadinos
a51b922be3
fix skill analyze tool ignores state.document_filter 2026-04-09 15:29:20 +03:00
Yiorgis Gozadinos
99af4fe11d
fix skill list_documents tool ignores state.document_filter 2026-04-09 15:29:20 +03:00
Yiorgis Gozadinos
a118ee7aaa
Cleanup 2026-04-08 14:19:33 +03:00
Yiorgis Gozadinos
5e7a4ebae5
Update docs 2026-04-08 14:19:32 +03:00
Yiorgis Gozadinos
d7d0090a92
cl 2026-04-08 14:08:00 +03:00
Yiorgis Gozadinos
62a436dd9d
vb 2026-04-08 14:04:32 +03:00
Yiorgis Gozadinos
b614ef19e1
switch compression from gzip to zstd, use stdlib for python >= 3.14 2026-04-08 14:04:32 +03:00
Yiorgis Gozadinos
3d30840e9d
vb 2026-04-07 16:36:27 +03:00
Yiorgis Gozadinos
8a24606784
Strip page images from DoclingDocument before validation, unless we use visualize_chunk() 2026-04-07 12:54:23 +03:00
Yiorgis Gozadinos
32258d4e2a
Add batching to embeddings for huge documents 2026-04-07 12:06:28 +03:00
Yiorgis Gozadinos
68c3fa0f79
Add order to SearchResult, add ChunkRepository.get_chunks_in_range(), to use them in _expand_with_chunks to fetch only nearby chunks 2026-04-07 12:04:05 +03:00