Yiorgis Gozadinos
0f4c4af495
Cache the chunking tokenizer to avoid HF Hub 429
2026-05-13 13:32:24 +03:00
Yiorgis Gozadinos
df21286cc9
add tests for mixed <img> sources and IMAGE-format wiring
2026-05-12 15:37:50 +03:00
Yiorgis Gozadinos
afd4665517
Thread source_uri through URL ingest
2026-05-12 15:13:02 +03:00
Yiorgis Gozadinos
a25d9699ee
Wire per-format options across docling-local
2026-05-12 15:02:59 +03:00
Yiorgis Gozadinos
9f8c9fe3b1
cover s3 uri override, unsupported extension, watcher error path
2026-05-11 11:29:56 +03:00
Yiorgis Gozadinos
6631e339ee
record VCR cassettes for s3 source tests
2026-05-11 11:29:56 +03:00
Yiorgis Gozadinos
ef82e6eb08
swap aioboto3 for obstore in the S3 client path
2026-05-11 11:29:42 +03:00
Yiorgis Gozadinos
f87d894b01
add SeaweedFS integration tests for S3Watcher
2026-05-11 11:28:40 +03:00
Yiorgis Gozadinos
37099988a6
poll S3 prefixes with S3Watcher and wire into serve
2026-05-11 11:28:40 +03:00
Yiorgis Gozadinos
d009da06d6
support s3:// document sources
2026-05-11 11:28:31 +03:00
Yiorgis Gozadinos
6af463699d
record VCR cassette for vllm embedder end-to-end test
2026-05-06 20:01:22 +03:00
Yiorgis Gozadinos
e55e3d13c8
fix _patch_picture_descriptions silently dropping docling_pages
2026-05-06 12:57:41 +03:00
Yiorgis Gozadinos
75f75ec505
render attached pictures in inspector context modal under qa.model.vision
2026-05-06 12:00:12 +03:00
Yiorgis Gozadinos
7fac35d2af
rename embed_image_query to embed_image; run description check on text path
2026-05-05 16:15:47 +03:00
Yiorgis Gozadinos
1ccb5b5fad
auto-append /v1 to vllm base_url, matching ollama behavior
2026-05-05 16:08:14 +03:00
Yiorgis Gozadinos
4478b7ce2b
test v0.45.0 migration
2026-05-05 16:06:14 +03:00
Yiorgis Gozadinos
c96894a0f0
fix cross-document picture dedup in agent and skill search tools
2026-05-05 15:56:10 +03:00
Yiorgis Gozadinos
61a88edfd8
drop bogus deprecation warning for processing.pictures
2026-05-05 14:46:41 +03:00
Yiorgis Gozadinos
08696773fe
Fix vcr test
2026-05-05 14:38:03 +03:00
Yiorgis Gozadinos
49274ab51b
attach picture bytes through skill search and document the schema
2026-05-05 14:33:57 +03:00
Yiorgis Gozadinos
46b81f3fa1
cover picture-description provider and rebuild edge cases
2026-05-05 14:20:37 +03:00
Yiorgis Gozadinos
a45d82f206
Update benchmark
2026-05-05 13:58:48 +03:00
Yiorgis Gozadinos
ff82d36c2f
add rebuild --descriptions: run VLM over stored picture bytes only
2026-05-05 12:02:46 +03:00
Yiorgis Gozadinos
5fad0aa5c6
warn when picture descriptions silently fail to come back
2026-05-05 11:44:18 +03:00
Yiorgis Gozadinos
2038d43435
collapse pictures enum to picture_description.enabled boolean
2026-05-05 11:16:08 +03:00
Yiorgis Gozadinos
e88321767d
always store picture bytes; collapse converter to a single zip path
2026-05-05 10:40:40 +03:00
Yiorgis Gozadinos
35d5f4416e
fill in vLLM error-path and MCP image-query coverage
2026-05-05 09:39:20 +03:00
Yiorgis Gozadinos
ee41bc676f
remove defensive code
2026-05-04 15:12:27 +03:00
Yiorgis Gozadinos
e8d89aa035
dedup picture-only chunks at the search-result layer
2026-05-04 13:31:15 +03:00
Yiorgis Gozadinos
33e462d987
add real vLLM integration test
2026-05-04 13:16:31 +03:00
Yiorgis Gozadinos
aa3e9406cf
auto-append /v1 to per-model Ollama base_url, fix flaky tests
2026-05-04 13:12:37 +03:00
Yiorgis Gozadinos
65d9c74224
expose image-as-query through MCP and the CLI.
2026-05-04 11:46:45 +03:00
Yiorgis Gozadinos
ff656504d3
make client.search() polymorphic on query type: str | bytes | PIL.Image.Image. Bytes/PIL queries embed via embed_image_query and run vector-only against the chunks table
2026-05-04 11:22:22 +03:00
Yiorgis Gozadinos
21f12cd770
add vision: bool flag on ModelConfig (default False). Gate the agent search tool's BinaryContent attachment on qa.model.vision so picture bytes are only sent to vision-capable QA models.
2026-05-04 10:47:21 +03:00
Yiorgis Gozadinos
6037f26673
drop mlx
2026-05-03 19:05:49 +03:00
Yiorgis Gozadinos
c9fdad15a9
bump docling-core to >=2.74.1 so that local docling-local and docling-serve chunkers run the same MarkdownTableSerializer
2026-05-03 18:40:44 +03:00
Yiorgis Gozadinos
c9227c649f
emit synthetic picture chunks at ingest under multimodal embedders.
...
processing.chunk() merges text chunks with one synthetic Chunk per PictureItem-with-bytes,
sorted by iterate_items() position so chunk.order is structural.
embed_chunks dispatches on a Chunk._picture_data PrivateAttr
(text through embed_documents, picture through embed_image_query)
2026-05-03 17:04:43 +03:00
Yiorgis Gozadinos
a36f920f5d
drop the batched embed_images method from multi-modal embedders
2026-05-03 16:21:47 +03:00
Yiorgis Gozadinos
37215f1a00
add multimodal embedder support for vllm and mlx
2026-05-03 10:57:56 +03:00
Yiorgis Gozadinos
75c8e83515
Allow uri override on create_document_from_source
2026-04-30 16:36:35 +03:00
Yiorgis Gozadinos
35e6568f59
add a regression test pinning down extract_items precedence: when a PictureItem has both an inline image.uri AND a fallback in existing_picture_data, the live URI wins.
2026-04-30 15:35:13 +03:00
Yiorgis Gozadinos
875c635a77
have rebuild --rechunk re-chunk from the stored docling blob instead of re-converting from the markdown export
2026-04-30 15:30:24 +03:00
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
191cdc636b
retrieve picture image bytes via referenced+zip path, fix docling-serve not returning images even when set to do so. Remove xfail from relevant test
2026-04-30 11:23:29 +03:00
Yiorgis Gozadinos
dc16f74b58
add picture_data column to document_items
2026-04-30 11:23:29 +03:00
Yiorgis Gozadinos
7685a592c2
bump haiku.skills to 0.16.0
2026-04-28 12:03:14 +03:00
Yiorgis Gozadinos
758bd3ee72
Group relative-path test with the other connect_lancedb dispatch tests
2026-04-25 09:28:46 +03:00
Tres Seaver
0d70f4aec6
fix: pass absolute 'db_path' to 'lancedb.connect_async'
...
Closes #354 .
2026-04-24 17:59:01 -04: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
0ffca7727c
Fix caplog-based assertion flaking under xdist ordering
2026-04-24 15:51:29 +03:00
Yiorgis Gozadinos
ddcc4518ad
Cover FULL rebuild source-failure branch
2026-04-24 15:32:53 +03:00
Yiorgis Gozadinos
258ffa41fa
Improve test coverage
2026-04-24 14:43:59 +03:00
Yiorgis Gozadinos
aca3ccc29f
Close connections if __aenter__ fails mid-initialization
2026-04-24 14:43:59 +03:00
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
Yiorgis Gozadinos
eb5db78026
clarify domain_preamble purpose
2026-04-01 13:13:52 +03:00
Yiorgis Gozadinos
c4c90b3930
Propagate domain_preamble to skill instructions and main agent preamble
2026-04-01 13:13:36 +03:00
Yiorgis Gozadinos
15d94bfe7f
replace UUIDs with readable identifiers in citation text
2026-04-01 11:44:17 +03:00
Yiorgis Gozadinos
ef6c69e9a8
Fix typos
2026-03-28 10:01:46 +02:00
Tres Seaver
c2745c987b
chore: linting
2026-03-27 14:23:55 -04:00
Tres Seaver
ed69bf4262
fix: include 'db_path'/'config' in 'extras'
...
fix: 'skills.rlm.create_skill' includes extras
Closes #329 .
Closes #330 .
2026-03-27 14:20:31 -04:00
Yiorgis Gozadinos
61a38fc0a9
Coverage for skill extras
2026-03-27 11:54:53 +02:00
Yiorgis Gozadinos
f4dd2dafc3
Use haiku.skills extras for passing utility functions
2026-03-27 11:31:10 +02:00
Yiorgis Gozadinos
a07a64a31f
enable repeat_table_header for self-contained table chunks and docling-serve parity
2026-03-26 14:02:12 +02:00
Yiorgis Gozadinos
a3a1ad9811
detect per-document failure status in docling-serve chunker
2026-03-26 14:02:11 +02:00
Yiorgis Gozadinos
1c9035ebb5
Add optional db_path and config params to generated skill create_skill()
2026-03-26 13:41:58 +02:00
Yiorgis Gozadinos
9d986421a0
add visualize_chunk to generated skills and built-in RAG skill
2026-03-26 11:41:22 +02:00
Yiorgis Gozadinos
ffc70be7b0
include SKILL.md and assets in generated skill package wheels. Add README to generated skills
2026-03-26 10:49:57 +02:00
Yiorgis Gozadinos
75b9a172cb
Minor fixes
2026-03-24 17:45:46 +02:00
Yiorgis Gozadinos
705ce80b4f
Allow all spec-compliant names
2026-03-24 17:27:56 +02:00
Yiorgis Gozadinos
7d50edea86
Fix validate_metadata layering and type annotations in _tools.py
2026-03-24 17:09:14 +02:00
Yiorgis Gozadinos
26da4a0624
Skill generator core
2026-03-24 15:44:24 +02:00
Yiorgis Gozadinos
aa9fdf051d
Remove support for structured output
2026-03-24 14:11:43 +02:00
Yiorgis Gozadinos
83ea6347b6
Fix CI failures: update tests for pydantic-ai 1.70.0 and FastMCP API changes
2026-03-24 14:02:03 +02:00
Yiorgis Gozadinos
5474465610
Fix mcp test
2026-03-24 13:36:14 +02:00
Yiorgis Gozadinos
ce320ca772
Update docling, docling-core and move to version 1.10.0 of DoclingDocument.
2026-03-23 17:34:06 +02:00
Yiorgis Gozadinos
fd327996b8
Configurable judge and reflect models for evaluations
2026-03-18 17:14:11 +02:00
Yiorgis Gozadinos
d4e34ab79f
Support for plantuml diagrams
2026-03-13 17:18:19 +02:00
Yiorgis Gozadinos
2c5128e5ba
Re-record rlm tests
2026-03-12 17:31:26 +02:00
Yiorgis Gozadinos
713e9087cc
Bump pydantic-monty to 0.0.8, remove regex external functions, update skill
2026-03-12 17:24:01 +02:00
Yiorgis Gozadinos
90fe624fa7
improve QA citation reliability via prompt and ID normalization
2026-03-12 11:50:46 +02:00
Yiorgis Gozadinos
b8c377da1e
Prevent read-only mode from creating tables in empty directories
2026-03-12 11:42:04 +02:00
Yiorgis Gozadinos
e2749ad2a6
Cap QA agent search iterations to reduce response time
2026-03-11 12:13:43 +02:00
Yiorgis Gozadinos
d460d553f3
Set repeat_table_header=False to match docling serve
2026-03-05 13:02:18 +02:00
Yiorgis Gozadinos
5e99b84308
Prevent HuggingFace network access during tests
2026-03-05 12:10:07 +02:00
Yiorgis Gozadinos
c7b03eb9ab
Strengthen weak assertions in context enhancement and converter tests
...
- Add doc_item_refs and headings assertions to test_expand_context_docling_merges_metadata
- Add page count and markdown content assertions to test_convert_pdf_with_ocr_engine
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:44:51 +02:00
Yiorgis Gozadinos
3c7d746d57
Strengthen search tests, remove redundant title test, relocate primary label test
...
- Strengthen test_search_returns_search_result with chunk_id, document_id, and
non-empty labels assertions
- Remove test_chunks_include_document_title (subsumed by strengthened test) and
its cassette
- Rename test_chunks_include_document_info to
test_search_chunk_includes_document_provenance; add document_title is None
assertion for untitled documents
- Move test_search_result_get_primary_label from test_context_enhancement.py to
test_search.py; rename, remove unnecessary @pytest.mark.vcr() decorator
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:39:45 +02:00
Yiorgis Gozadinos
f73d4f4da9
Remove stale cassette, dead vcr_cassette_dir fixtures, and unnecessary VCR decorator
2026-03-05 11:36:22 +02:00
Yiorgis Gozadinos
28e90e5a87
Auto-detect structured output mode from model profile. Remove the structured_output config field from ModelConfig.
2026-03-04 14:51:09 +02:00
Yiorgis Gozadinos
fdd7c21757
Add configurable structured output mode (tool vs native)
2026-03-04 13:35:32 +02:00
Yiorgis Gozadinos
3f02abbc70
Expose skill state metadata as module-level API
2026-03-04 11:38:00 +02:00
Yiorgis Gozadinos
c9f63b9ab6
Re-record RLM vcrs
2026-03-03 16:59:35 +02:00
Yiorgis Gozadinos
034ee27daf
Use ToolOutput for structured output.
2026-03-03 16:14:45 +02:00
Yiorgis Gozadinos
1a3ea64aa6
Remove filter parameter from search and list_documents tools
2026-03-03 11:01:58 +02:00
Yiorgis Gozadinos
b5cb2852c4
Simplify _resolve_title()
2026-02-26 10:56:28 +02:00
Yiorgis Gozadinos
41f694d377
Better exception handling
2026-02-26 08:55:53 +02:00
Yiorgis Gozadinos
49f9843db3
add generate_title(), rebuild --title-only, and --title on add
2026-02-26 08:40:07 +02:00
Yiorgis Gozadinos
ae3469b282
add automatic title generation for documents
2026-02-25 17:12:24 +02:00
Yiorgis Gozadinos
6759a2e0a5
Give regex to monty as externals
2026-02-24 13:12:56 +02:00
Yiorgis Gozadinos
1ee9747551
Catch MontyRuntimeError from Monty() constructor
2026-02-24 12:11:20 +02:00
Yiorgis Gozadinos
459fdfca71
Add get_docling_document external function to sandbox
2026-02-24 11:51:43 +02:00
Yiorgis Gozadinos
d3c6322481
Simplify sandbox with run_monty_async, replace manual ThreadPoolExecutor start/resume loop
2026-02-24 11:35:39 +02:00
Yiorgis Gozadinos
454f12b319
Update coverage
2026-02-24 09:55:45 +02:00
Yiorgis Gozadinos
017712c9b1
Update prompts & docs. Remove docker sandbox workflow
2026-02-24 09:55:45 +02:00
Yiorgis Gozadinos
c61ded1271
Replace Docker sandbox with pydantic-monty
2026-02-24 09:55:40 +02:00
Yiorgis Gozadinos
d1fdbdeb21
Refactor MCP to use proper models, test
2026-02-20 17:39:02 +02:00
Yiorgis Gozadinos
69083c8cb4
Fix stale docs
2026-02-20 16:59:58 +02:00
Yiorgis Gozadinos
a1c09e1a47
Break apart RLM analysis as a separate skill
2026-02-20 16:37:15 +02:00
Yiorgis Gozadinos
37f28ea8de
Clean up stale references and dead code
2026-02-20 16:37:15 +02:00
Yiorgis Gozadinos
cb41f84615
Add tests
2026-02-20 16:36:51 +02:00
Yiorgis Gozadinos
eb9436eb2a
Remove unused conversational output mode from research graph
2026-02-20 16:36:50 +02:00
Yiorgis Gozadinos
c567842420
Rewire document filter
2026-02-20 16:36:50 +02:00
Yiorgis Gozadinos
696f8598eb
Remove get_session_context, handle it automatically in ask()
2026-02-20 16:36:49 +02:00
Yiorgis Gozadinos
a7850e2210
Assign stable index to citations. Use a strong prompt preamble for our app agents
2026-02-20 16:36:48 +02:00
Yiorgis Gozadinos
643ed20d6f
Rewrite chat TUI and app backend with haiku.skills
2026-02-20 16:36:48 +02:00
Yiorgis Gozadinos
8176103eb0
Remove agents/chat/
2026-02-20 16:36:48 +02:00
Yiorgis Gozadinos
ed89ff0fc9
Simplify tools/ — remove AG-UI state machinery, keep core toolsets
2026-02-20 16:36:48 +02:00
Yiorgis Gozadinos
524647c501
Add unified RAG skill with session context and reuse existing tools;
2026-02-20 16:36:47 +02:00
Yiorgis Gozadinos
4855051936
Add research() to client and add haiku.skills dependency, remove --deep flag and simplify app
2026-02-20 16:36:47 +02:00
Yiorgis Gozadinos
1e8d29d938
test-cover download models
2026-02-19 14:14:07 +02:00
Yiorgis Gozadinos
a870052ee9
Fix coverage
2026-02-17 13:22:23 +02:00
Yiorgis Gozadinos
f4735667df
emit StateDeltaEvent with client-aware baseline
2026-02-17 12:24:09 +02:00
Yiorgis Gozadinos
9685bd533b
Expand ~ in paths
2026-02-16 17:21:35 +02:00
Yiorgis Gozadinos
7ff2123806
Introduce toolkit to reduce toolset creation ceremony
2026-02-16 11:51:02 +02:00
Yiorgis Gozadinos
72c8f6e1b1
Additional tests
2026-02-13 18:08:46 +02:00
Yiorgis Gozadinos
84c48e1541
Add preamble parameter to chat agent and citations_history to ChatSessionState
2026-02-13 16:59:21 +02:00
Yiorgis Gozadinos
969c64d106
Add citations_history to SessionState for unified citation rendering between search and ask
2026-02-13 16:21:50 +02:00
Yiorgis Gozadinos
c0ed93da2d
Expand tests
2026-02-13 14:34:24 +02:00
Yiorgis Gozadinos
b64d9721bb
Mark with pragma no cover areas that are just wiring. Consolidate tests and bring coverage to 100%
2026-02-13 11:56:37 +02:00
Yiorgis Gozadinos
5f6d9e9812
handle state_key duplication between deps and ToolContext
2026-02-13 10:23:12 +02:00
Yiorgis Gozadinos
a5b8e3be7e
Add AgentDeps and prepare_context for custom agent DX
2026-02-12 17:37:37 +02:00
Yiorgis Gozadinos
8f180f707b
Decouple QA toolset from chat agent, add ToolContext state methods
2026-02-12 17:27:47 +02:00
Yiorgis Gozadinos
0c6d73409d
Move SessionContext from agents/chat/state.py to tools/session.py, change QASessionState.session_context to use it
2026-02-12 17:13:01 +02:00
Yiorgis Gozadinos
05ebd781d4
Move client and tool_context from toolset factories to RunContext.deps
2026-02-12 15:50:46 +02:00
Yiorgis Gozadinos
58c2bd49ea
Clean up server vs client session setting priorities
2026-02-11 16:54:00 +02:00
Yiorgis Gozadinos
0434cd068b
Simplify TUI app
2026-02-11 15:10:50 +02:00
Yiorgis Gozadinos
9e63ff1ff7
Remove session_id from state layer, remove module-level caches
2026-02-11 14:55:53 +02:00
Yiorgis Gozadinos
d88f2f003a
Remove incoming_* fields, simplify delta computation
2026-02-11 14:31:37 +02:00
Yiorgis Gozadinos
d67df09cce
Introduce ToolContextCache
2026-02-11 14:18:26 +02:00
Yiorgis Gozadinos
c916356a42
Clean up toolset exports, simplify update_session_context(), fix health check
2026-02-11 12:46:50 +02:00
Yiorgis Gozadinos
87bcb7a5dc
Extract run_qa_core() from ask closure in QA toolset. Remove redundant tests and cassettes for OpenAI and Anthropic QA tools, as they are now tested in the core function tests.
2026-02-11 11:38:34 +02:00
Yiorgis Gozadinos
2cc4a8a88f
Fix VCR cassette
2026-02-10 18:01:13 +02:00
Yiorgis Gozadinos
a592a04031
Removed unused accumulator states
2026-02-10 16:15:30 +02:00
Yiorgis Gozadinos
cf4083d2d7
Add multi-turn integration test with initial context and summarization
2026-02-10 14:55:12 +02:00
Yiorgis Gozadinos
ce3c3e7ed5
Add feature-based chat agent & prompt composition
2026-02-10 14:38:14 +02:00
Yiorgis Gozadinos
da47e3e345
Unify get_typed() into get() with optional type parameter
...
Fix find_document regression
2026-02-10 14:38:14 +02:00
Yiorgis Gozadinos
0dd181356e
Update vcr
2026-02-10 14:38:14 +02:00
Yiorgis Gozadinos
bd3b26f78b
Extract get_session_filter helper, remove dead code and duplicate tests
2026-02-10 14:38:13 +02:00
Yiorgis Gozadinos
df57b0cf43
Remove SearchAgent & friends, consolidate duplicate models
2026-02-10 14:38:13 +02:00
Yiorgis Gozadinos
84b320765a
Fix analysis tool to use docker sandbox
2026-02-10 14:38:13 +02:00
Yiorgis Gozadinos
3ed9cbb7d3
Use the tools inside the chat agent.
2026-02-10 14:38:12 +02:00
Yiorgis Gozadinos
2be3389222
DocumentToolset, QAToolset, AnalysisToolset
2026-02-10 14:38:12 +02:00
Yiorgis Gozadinos
2f229f91e1
Create SearchToolset, refactor QA Agent to use it
2026-02-10 14:38:12 +02:00
Yiorgis Gozadinos
a3863882cd
Introduce tool module & ToolContext to save state
2026-02-10 14:38:12 +02:00
Yiorgis Gozadinos
a7b79c433d
TUI now generates a UUID session_id on mount and on chat clear
2026-02-10 14:21:22 +02:00
Yiorgis Gozadinos
d1a9439500
Fix session_id not persisting across AG-UI requests
2026-02-10 13:14:05 +02:00
Yiorgis Gozadinos
8c2a101a8a
Fix out-of-memory in list_documents by adding column projection
2026-02-06 14:11:36 +01:00
Yiorgis Gozadinos
20414ed959
Additional tests
2026-02-06 12:07:21 +01:00
Yiorgis Gozadinos
720f697a48
Cleanup
2026-02-06 12:07:21 +01:00
Yiorgis Gozadinos
f8ec511250
Return consolidated program from RLM agent instead of execution history
2026-02-06 12:07:20 +01:00
Yiorgis Gozadinos
dc83dde9ab
Make test_client_resolve_document not require embeddings
2026-02-06 12:07:20 +01:00
Yiorgis Gozadinos
122da834d7
Use resolve_document()
2026-02-06 12:07:19 +01:00
Yiorgis Gozadinos
764b62ee20
Fix tests
2026-02-06 12:07:19 +01:00
Yiorgis Gozadinos
b426827fc2
Docker-based sandbox. Reused within a single rlm() call for latency
2026-02-06 12:07:19 +01:00
Yiorgis Gozadinos
4241a4b09e
Security fixes for RLM. Fix type() builtin, AST validation for dict key access, sql injection
2026-02-06 12:07:19 +01:00
Yiorgis Gozadinos
fb6bbca124
Remove analyze tool from chat agent, not yet ready for integration
2026-02-06 12:07:19 +01:00
Yiorgis Gozadinos
9a480cee90
Return program in chat agent analyze;
2026-02-06 12:07:18 +01:00
Yiorgis Gozadinos
ed570633cd
Basic integration of RLM with chat agent
2026-02-06 12:07:18 +01:00
Yiorgis Gozadinos
198a8d5a88
Add pre-loaded documents support and improve RLM test coverage
2026-02-06 12:07:04 +01:00
Yiorgis Gozadinos
fa4d7731d7
Replace ask() with llm(). Add and document the programs written in tests
2026-02-06 12:07:03 +01:00
Yiorgis Gozadinos
5e7832a6ea
Fix REPL for docling document, add test
2026-02-06 12:07:03 +01:00
Yiorgis Gozadinos
5e5fc4a7d9
Integration tests for RLM
2026-02-06 12:07:03 +01:00
Yiorgis Gozadinos
b68b2393e9
Integrate with client, cli, app, mcp
2026-02-06 12:07:03 +01:00
Yiorgis Gozadinos
75de81accf
RLM agent
2026-02-06 12:07:03 +01:00
Yiorgis Gozadinos
ad416cac84
RLM sandbox environment
2026-02-06 12:07:02 +01:00
Yiorgis Gozadinos
b22ac33dde
Pass OCR options from conversion_options to docling-serve chunker
2026-02-03 11:34:46 +02:00
Yiorgis Gozadinos
ac76ecee86
Remove dead code from iterative research planning refactor
2026-01-31 10:51:34 +02:00
Yiorgis Gozadinos
57d5b1bde5
Simplify research planning: remove gather_context, always use planner
2026-01-30 22:32:08 +02:00
Yiorgis Gozadinos
109f770a2a
Refactor research graph to iterative planning approach
2026-01-30 20:46:29 +02:00
Yiorgis Gozadinos
77894b8c35
Clena citation handling now that we handle the total state
2026-01-29 12:12:48 +02:00
Yiorgis Gozadinos
202df368a0
TUI now syncs full session state from AG-UI events
2026-01-29 12:05:46 +02:00
Yiorgis Gozadinos
cbd94f6cc9
Always use state deltas instead of conditional snapshot/delta logic
2026-01-28 17:03:18 +02:00
Yiorgis Gozadinos
57fd08d600
Revert "Synthesis steps now select only relevant citations instead of including all"
2026-01-28 16:00:27 +02:00
Yiorgis Gozadinos
e2158c7dad
Handle snapshot deltas in TUI
2026-01-28 15:23:56 +02:00
Yiorgis Gozadinos
3741274c6c
Update ty and fix
2026-01-28 14:24:16 +02:00
Yiorgis Gozadinos
639accc923
Update tests for state deltas
2026-01-28 14:19:42 +02:00
Yiorgis Gozadinos
c27dde2497
Send state deltas updates instead of full state snapshots
2026-01-28 14:06:29 +02:00
Yiorgis Gozadinos
1bc2b5f05a
Add vcr test
2026-01-27 17:28:50 +02:00
Yiorgis Gozadinos
5bfd6db984
Test count_documents
2026-01-27 17:17:05 +02:00
Yiorgis Gozadinos
cca03dbe61
Give the conversational agent a list documents and a summarize tools
2026-01-27 16:39:48 +02:00
Yiorgis Gozadinos
8a587ec554
Synthesis steps now select only relevant citations instead of including all
2026-01-27 15:56:29 +02:00
Yiorgis Gozadinos
09aa94bfe5
Fix datetime JSON serialization in AG-UI StateSnapshotEvent
2026-01-27 11:05:01 +02:00
Yiorgis Gozadinos
ee3cb5bd87
Allow initial_context to be set for the chat agent
2026-01-27 10:38:18 +02:00
Yiorgis Gozadinos
6f9bc369dc
Improve coverage
2026-01-26 16:43:12 +02:00
Yiorgis Gozadinos
5976cebe8c
Concolidate tests
2026-01-26 16:43:12 +02:00
Yiorgis Gozadinos
9ce711db29
Update tests
2026-01-26 16:43:11 +02:00
Yiorgis Gozadinos
a7d7a09c22
Integrate recall functionality into ask tool
2026-01-26 16:43:11 +02:00
Yiorgis Gozadinos
7835509213
Fix tui test that still wanted to use shortcuts
2026-01-26 16:43:11 +02:00
Yiorgis Gozadinos
77647b08bc
Recall tool in chat agent
2026-01-26 16:42:41 +02:00