Yiorgis Gozadinos
3224d1f20c
Extract document orchestration into client/documents.py
2026-04-24 14:43:59 +03:00
Yiorgis Gozadinos
e814459e1f
Extract download_models into client/downloads.py
2026-04-24 14:42:53 +03:00
Yiorgis Gozadinos
d0ed9e213f
Pin FTS search column to content_fts
2026-04-24 14:42:53 +03:00
Yiorgis Gozadinos
b6ea07d2de
Track all in-flight background vacuum tasks, not just the last one
2026-04-24 14:42:53 +03:00
Yiorgis Gozadinos
57385506c1
Fix is_new_db detection when create=True is passed on an existing DB
2026-04-24 14:42:53 +03:00
Yiorgis Gozadinos
ba911a35f6
Add test for background vaccum being awaited
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
ae2b8461be
flatten skill state citations from list[list[str]] to list[str]
2026-04-22 16:50:13 +03:00
Yiorgis Gozadinos
206c4ffcf2
address review: top-level AnalysisRunDeps import, asserts, e2e tests
...
- Move AnalysisRunDeps to the module-level import in _tools.py.
- Swap the RuntimeError guards in _require_rag and execute_code for
plain asserts with the same diagnostic messages. Apply the same
treatment to the ty-reachability guard in Sandbox._ensure_initialized.
- Add end-to-end lifespan tests for both skills that drive _run_skill
with TestModel, covering the sub-agent entry path that the existing
tool-level tests bypass.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 15:04:24 +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
8e555ab76f
Improve coverage
2026-04-20 15:45:27 +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
ff8ad0879c
fix context expansion: respect section boundaries, remove max_context_items
2026-04-20 15:18:16 +03:00
Yiorgis Gozadinos
4d75943df5
use MontyRepl for persistent variables across execute_code calls
2026-04-20 10:47:50 +03:00
Yiorgis Gozadinos
68a9f191d2
Remove documents from state, fix tests
2026-04-20 09:48:18 +03:00
Yiorgis Gozadinos
d52f453c44
flatten skill architecture: replace ask/analyze/research with direct tools
2026-04-17 18:35:17 +03:00
Yiorgis Gozadinos
7d98d0ec57
add citation support to analysis agent
2026-04-17 18:35:16 +03:00
Yiorgis Gozadinos
aa4ce07dc9
remove filter parameter from analyze skill tool and clean up unused filter helpers
2026-04-17 18:35:16 +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
bacc21b38b
expose doc_item_refs and labels in sandbox search results
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
a1181ff52d
extract get_database_stats and share it across info, inspector, and backend
2026-04-17 15:33:30 +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
d3c8ed62a8
preserve original chunk when expansion produces less content
2026-04-16 12:11:54 +03:00
Yiorgis Gozadinos
e2bac1e887
deduplicate escape_sql_string into utils
2026-04-16 12:11:53 +03:00
Yiorgis Gozadinos
39b9d0f683
Additional tests
2026-04-16 12:11:53 +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
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
367accb814
Replace MinIO with SeaweedFS for S3 integration tests
2026-04-08 14:19:32 +03:00
Yiorgis Gozadinos
98641c24e4
S3 storage tests
2026-04-08 14:19:10 +03:00
Yiorgis Gozadinos
2522d46304
support remote storage in skill generator
2026-04-08 14:19:10 +03:00
Yiorgis Gozadinos
343bfd7199
guard app/UI filesystem checks for remote storage
2026-04-08 14:19:09 +03:00
Yiorgis Gozadinos
110accb8e7
Add ConnectionMode enum (LOCAL/CLOUD/OBJECT_STORAGE) and connect_lancedb() utility to support S3, GCS, Azure, and HDFS backends via storage_options.
2026-04-08 14:19:09 +03:00
Yiorgis Gozadinos
3fe953eccb
Minor fixes
2026-04-08 14:04:32 +03:00
Yiorgis Gozadinos
53445b8722
Add docling_pages column to DocumentRecord/Document for separate page image storage.
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
f8db7fccb6
fix: apply config.prompts.domain_preamble in generated skills
2026-04-08 13:54:53 +03:00
Yiorgis Gozadinos
32258d4e2a
Add batching to embeddings for huge documents
2026-04-07 12:06:28 +03:00
Yiorgis Gozadinos
6fdb15e3b2
Add DocumentRepository.get_docling_data() for lazy loading docling in expand_context
2026-04-07 11:19:04 +03:00
Yiorgis Gozadinos
f2998ad0b5
add visualize_chunk test for multi-page chunks
2026-04-03 20:20:42 +03:00