Commit Graph

371 Commits

Author SHA1 Message Date
William Valentin 1f0cf28d1f feat(models): add streaming types for chat responses 2026-02-05 10:46:53 -08:00
William Valentin fb7575f850 refactor: integrate SessionManager into daemon and agent
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 00:43:09 -08:00
William Valentin f671ea5ab5 feat: add fullscreen TUI mode with Ink React components 2026-02-05 00:41:17 -08:00
William Valentin 53a8bd97eb feat: add Ink-based fullscreen TUI components 2026-02-05 00:39:53 -08:00
William Valentin c0deeb5cf0 feat: add TUI entry point with minimal readline mode 2026-02-05 00:37:40 -08:00
William Valentin f792f8407a feat: add minimal TUI with readline interface 2026-02-05 00:36:16 -08:00
William Valentin 2f1c302d85 feat: add SessionManager for multi-frontend session handling 2026-02-05 00:34:25 -08:00
William Valentin 6e6c263e14 feat: integrate model router, session persistence, and hook engine
- NativeAgent now loads/saves messages to SessionStore
- Daemon creates ModelRouter with fallback chain support
- Telegram bot handles confirmation callbacks from HookEngine
- Session data stored in ~/.local/share/flynn/sessions.db

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 00:05:42 -08:00
William Valentin 26bd6ce65d feat: add model router with fallback chain support
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 00:29:52 -08:00
William Valentin 298f87615d feat: add Telegram confirmation UI components
Implements Phase 2 Task 7 - Telegram Confirmation UI:
- formatConfirmationMessage(): formats tool and args into readable message
- createConfirmationKeyboard(): creates approve/deny inline keyboard
- parseConfirmationCallback(): parses callback data from button clicks
- Full test coverage with vitest

All tests passing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 00:29:32 -08:00
William Valentin 782163cda6 feat: add hook engine for sensitive operation confirmation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 00:28:18 -08:00
William Valentin 10c848ca2a feat: add SQLite session persistence
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 00:27:12 -08:00
William Valentin bb16732562 feat: add Ollama client for local LLM support
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 00:27:09 -08:00
William Valentin 633cfcf713 feat: add OpenAI client for fallback support
Implements ModelClient interface with OpenAI SDK to support GPT models
as fallback when local inference is unavailable. Includes tests with
mocked OpenAI API responses.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:10:46 -08:00
William Valentin b6b85f07d0 feat: wire daemon, agent, and telegram bot together
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:02:50 -08:00
William Valentin d0fe4c5b35 feat: add Telegram bot frontend with message handling
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:59:17 -08:00
William Valentin 69309e58bc feat: add native agent with conversation history 2026-02-02 20:56:46 -08:00
William Valentin 70c3960527 feat: add daemon skeleton with lifecycle management
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:56:45 -08:00
William Valentin 4adf172c25 feat: add config schema and loader with env var expansion 2026-02-02 20:54:19 -08:00
William Valentin 75e64b534d feat: add Anthropic client wrapper
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:54:17 -08:00
William Valentin 93f86fe749 chore: initialize project scaffolding 2026-02-02 20:51:26 -08:00