Commit graph

52 commits

Author SHA1 Message Date
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
2a0e89bbe7
add --skill flag to chat TUI for rag and analysis skills 2026-04-17 18:35:16 +03:00
Yiorgis Gozadinos
d2b3ba1b59
rename RLM agent to analysis throughout the codebase 2026-04-17 18:32:01 +03:00
Yiorgis Gozadinos
2522d46304
support remote storage in skill generator 2026-04-08 14:19:10 +03:00
Yiorgis Gozadinos
75b9a172cb
Minor fixes 2026-03-24 17:45:46 +02:00
Yiorgis Gozadinos
ce95234cc8
CLI for create-skill; 2026-03-24 15:44: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
49f9843db3
add generate_title(), rebuild --title-only, and --title on add 2026-02-26 08:40:07 +02:00
Yiorgis Gozadinos
69083c8cb4
Fix stale docs 2026-02-20 16:59:58 +02:00
Yiorgis Gozadinos
643ed20d6f
Rewrite chat TUI and app backend with haiku.skills 2026-02-20 16:36:48 +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
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
b68b2393e9
Integrate with client, cli, app, mcp 2026-02-06 12:07:03 +01:00
Yiorgis Gozadinos
614c34b98f
Add read-only initial context for chat sessions for TUI and web app 2026-01-27 13:59:00 +02:00
Yiorgis Gozadinos
5aabae4d06
Remove background_context & simplify 2026-01-26 16:42:39 +02:00
Yiorgis Gozadinos
ea7a4a9a8f
apply dotenv usecwd fix to remaining files
Apply the same find_dotenv(usecwd=True) fix from cli.py to:
- evaluations/evaluations/benchmark.py
- app/backend/main.py

Co-Authored-By: Tianyi Cui <contact@tianyicui.com>
2026-01-22 12:41:35 +02:00
Tianyi Cui
910ebbab22
fix: load .env from current working directory, not source file directory
The previous load_dotenv() searched for .env starting from the calling
file's directory (haiku/rag/cli.py), which fails when users run haiku-rag
from a different directory containing their .env file.

Changes:
- Move load_dotenv() before config imports (config reads env vars at import time)
- Use find_dotenv(usecwd=True) to search from current working directory
2026-01-22 12:36:55 +02:00
Yiorgis Gozadinos
5464d24483
require explicit migrate command for database migrations 2026-01-19 13:22:09 +02:00
Yiorgis Gozadinos
bdfc6b87e7
Rename initial_context to background_context 2026-01-16 15:03:42 +02:00
Yiorgis Gozadinos
18362f01c2
Pass context for CLI/app 2026-01-16 15:03:06 +02:00
Yiorgis Gozadinos
6b3ff5ef1e
CLI app 2026-01-13 11:31:21 +02:00
Yiorgis Gozadinos
bb61e8fab6
Remove custom AG-UI infrastructure in favor of pydantic-ai native support 2026-01-12 12:37:07 +02:00
Yiorgis Gozadinos
2678c1aaad
history command, shows available lancedb versions per table 2025-12-19 12:03:18 +02:00
Yiorgis Gozadinos
77f9a2a1b9
before parameter in client, app, inspector, cli 2025-12-19 12:03:18 +02:00
Yiorgis Gozadinos
98727ad080
Add global --read-only mode in CLI 2025-12-18 16:43:49 +02:00
Yiorgis Gozadinos
08349e5c0e
QOL fixes for interactive cli research 2025-12-18 11:48:35 +02:00
Yiorgis Gozadinos
218126de8d
Interactive research agent through AGUI client-side tool calls in CLI 2025-12-18 11:48:34 +02:00
Yiorgis Gozadinos
d7c755f454
Add filter to simple qa agent 2025-12-11 15:28:41 +02:00
Yiorgis Gozadinos
ecba8cfd38
Docs and cli support for filter in deep QA, Research 2025-12-11 15:23:50 +02:00
Yiorgis Gozadinos
7ccabf4fb9
Log to console with logfire only in development 2025-12-11 10:47:18 +02:00
Yiorgis Gozadinos
5edae13cc0
Run logfire regardless of environment 2025-12-11 10:43:25 +02:00
Yiorgis Gozadinos
4da50873bd
Make search limit configurable 2025-12-09 11:46:43 +02:00
Yiorgis Gozadinos
75a086bae0
Visualize chunk command, format citations to show chunk id 2025-12-08 15:55:28 +02:00
Yiorgis Gozadinos
bfdaa4652a
Configure logging regardsless of the env 2025-12-08 15:55:27 +02:00
Yiorgis Gozadinos
80447c9024
Make download_models() a HaikuRAG client method. Update app to show progress of what happens. 2025-12-04 16:30:26 +02:00
Yiorgis Gozadinos
33b254ae3d
Always upgrade database on access. Explicitly create db by running init or HaikuRAG(path, create=True) 2025-12-02 16:49:55 +02:00
Yiorgis Gozadinos
88a4edb537
--embed-only, --rechunk options in rebuild command 2025-11-28 10:11:52 +02:00
Yiorgis Gozadinos
ed53ec461a
Convert prefetch_models() to async 2025-11-26 18:08:48 +02:00
Yiorgis Gozadinos
59eba31267
Handle missing textual dependencies 2025-11-21 16:48:35 +02:00
Yiorgis Gozadinos
89a2668c25
inspector command that runs a textual app to browse documents and chunks in the database 2025-11-21 16:48:34 +02:00
Yiorgis Gozadinos
6a2f33b464
Create vector index from CLI, use configurable refine_factor 2025-11-21 13:54:01 +02:00
Yiorgis Gozadinos
d5b6ad544d
Bring back verbose 2025-11-13 13:22:02 +02:00
Yiorgis Gozadinos
60ef8fe04c
AGUI starlette server 2025-11-13 13:22:02 +02:00
Yiorgis Gozadinos
663a7fac9a
Replace console/stream with AG-UI event protocol 2025-11-13 13:22:01 +02:00
Yiorgis Gozadinos
9ee64a33e0
Remove A2A from haiku.rag, turn it into an example 2025-11-07 13:31:51 +02:00
Yiorgis Gozadinos
0b696d9629
Remove deprecated use of env variables for configuration 2025-11-07 10:54:32 +02:00
Yiorgis Gozadinos
3c557d5bfe
Make --config a global CLI parameter, add it as a param to HaikuRAGApp 2025-11-07 10:31:55 +02:00
Yiorgis Gozadinos
782fbafb3d
Make graph settings part of config for both deep ask and research graphs 2025-11-06 14:31:22 +02:00
Yiorgis Gozadinos
6858760bca
Remove max_concurrency, not supported (yet) when we .map() in the beta Graph API 2025-11-06 11:02:32 +02:00
Yiorgis Gozadinos
b8bc6d9b68
Let ruff know about our package structure 2025-11-05 17:47:27 +02:00