William Valentin
dbeaa78e2c
feat: add setLocalClient and getLocalProviderName to ModelRouter
2026-02-05 13:34:25 -08:00
William Valentin
0528b895b0
feat: add local_providers to config schema
2026-02-05 13:33:50 -08:00
William Valentin
61d9358449
docs: add backend switch implementation plan
2026-02-05 13:32:35 -08:00
William Valentin
a893460397
docs: add backend switch command design
2026-02-05 13:30:14 -08:00
William Valentin
d86710577d
feat: wire up LlamaCppClient to model router
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 13:20:20 -08:00
William Valentin
8e7fa24fd6
feat: add clear error message when llama-server not running
2026-02-05 13:17:56 -08:00
William Valentin
e8079347c7
feat: add streaming support to LlamaCppClient
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 13:15:18 -08:00
William Valentin
a20156f8db
feat: add LlamaCppClient with basic chat support
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 13:11:56 -08:00
William Valentin
3cf28df111
docs: add llama.cpp implementation plan
2026-02-05 13:09:23 -08:00
William Valentin
785bbe4acd
chore: add .worktrees to gitignore
2026-02-05 13:07:09 -08:00
William Valentin
6f5dd741a9
docs: add llama.cpp integration design
...
Design for adding LlamaCppClient to support local LLM inference
via llama-server with CUDA. Target model: Qwen 2.5 14B Q4_K_M.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 13:05:58 -08:00
William Valentin
f891c7aee8
fix: add API key/auth token support across all model clients
2026-02-05 10:56:40 -08:00
William Valentin
747a7f44a2
feat(tui): add streaming, scroll, and model switching to fullscreen App
2026-02-05 10:56:27 -08:00
William Valentin
0490d2fe39
feat(tui): add markdown rendering and scroll support to MessageList
2026-02-05 10:56:23 -08:00
William Valentin
7391b50d6d
feat(tui): enhance StatusBar with token usage and streaming indicator
2026-02-05 10:56:19 -08:00
William Valentin
83a750f484
feat(tui): update fullscreen config for model router
2026-02-05 10:56:16 -08:00
William Valentin
d1d6054deb
feat(tui): pass modelRouter to both TUI modes
2026-02-05 10:56:11 -08:00
William Valentin
f115407af3
feat(tui): add streaming and model switching to minimal mode
2026-02-05 10:53:41 -08:00
William Valentin
435146344e
feat(tui): add unified command parser with model switching
2026-02-05 10:52:49 -08:00
William Valentin
da2bb57488
feat(tui): add markdown rendering utility
2026-02-05 10:52:00 -08:00
William Valentin
0950296cf0
chore: add markdown rendering dependencies
2026-02-05 10:50:55 -08:00
William Valentin
9a48c39b07
feat(models): add streaming and tier switching to ModelRouter
2026-02-05 10:48:41 -08:00
William Valentin
896a0da10e
feat(models): add streaming support to AnthropicClient
2026-02-05 10:47:42 -08:00
William Valentin
1f0cf28d1f
feat(models): add streaming types for chat responses
2026-02-05 10:46:53 -08:00
William Valentin
228e7d86bd
docs: add TUI redesign implementation plan with 14 tasks
2026-02-05 10:44:49 -08:00
William Valentin
42d1175b02
docs: add TUI redesign plan
...
- Streaming responses (chunk-based)
- Rich markdown rendering with syntax highlighting
- Model switching via /model command
- Scrollable message history
- Enhanced status bar with token usage
- Inline error handling with auto-retry
- Feature parity between minimal and fullscreen modes
2026-02-05 10:41:20 -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
55c2e6bf74
chore: add dependencies for TUI (ink, react)
...
Adds:
- ink ^6.0.0 (React for CLI)
- ink-text-input ^6.0.0 (text input component)
- react ^19.0.0
- @types/react ^19.0.0
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 00:33:04 -08:00
William Valentin
934be021ab
docs: add Phase 3 TUI implementation plan
...
Covers:
- SessionManager for multi-frontend support
- Minimal readline TUI
- Fullscreen Ink-based TUI
- Mode switching and session transfer
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 00:31:28 -08:00
William Valentin
81e9597777
chore: add Ollama local model to default config
...
Adds llama3.2:1b as local fallback provider for when primary
Anthropic API is unavailable.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 00:12:49 -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
08cdf136ca
chore: configure pnpm to build better-sqlite3
2026-02-03 00:27:16 -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
7338b390ef
chore: add dependencies for phase 2 (sqlite, ollama, openai)
2026-02-02 21:09:31 -08:00
William Valentin
920872423e
docs: add Phase 2 implementation plan
...
8 tasks covering:
- New dependencies (sqlite, ollama, openai)
- OpenAI client for fallback
- Ollama client for local LLM
- Model router with fallback chain
- SQLite session persistence
- Hook engine for sensitive operations
- Telegram confirmation UI
- Full integration
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 21:08:26 -08:00
William Valentin
dd66bd1372
docs: add environment variable example
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 21:04:42 -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