feat(kon): add storage crate — SQLite schema, CRUD operations

- SQLite via sqlx 0.8 with runtime-tokio
- Schema: transcripts, segments, tasks, task_lists, settings tables
- Full CRUD for transcripts (insert, get, list, delete)
- Full CRUD for tasks (insert, list, complete, delete)
- Settings key-value store (insert/replace, get)
- File storage paths: app_data_dir, database_path, recordings_dir
- 3 async tests passing against in-memory SQLite, clippy clean

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
jake
2026-03-16 20:59:21 +00:00
parent a30c9cc107
commit ec06ab07c7
4 changed files with 411 additions and 2 deletions

View File

@@ -1,2 +1,9 @@
// kon-storage: SQLite via sqlx, BM25 full-text search via probly-search,
// and file storage path management.
pub mod database;
pub mod file_storage;
pub use database::{
complete_task, delete_task, delete_transcript, get_setting, get_transcript,
init, insert_task, insert_transcript, list_tasks, list_transcripts,
set_setting, TaskRow, TranscriptRow,
};
pub use file_storage::{app_data_dir, database_path, recordings_dir};