feat: Add unified agent configuration system#23
Open
marklubin wants to merge 1 commit into
Open
Conversation
Implements a single `agents` table as the source of truth for all agent configuration, replacing scattered config across agent_definitions, agent_voice_settings, and hardcoded values. Key changes: - New agents table with full LLM config, block schema, voice, KP3 integration - SQLAlchemy model, Pydantic schemas, and CRUD service - agent-admin CLI: list, show, create, delete, export, migrate commands - Voice service falls back to agents table for voice lookup - TTS provider selection now uses voice.provider from database The migration command discovers agents from Letta and creates unified config entries. Voice lookup checks both legacy agent_voice_settings and the new agents table for backward compatibility. Phase 2 (BlockManagerAgent KP3 refs) deferred to follow-up PR. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements a single
agentstable as the source of truth for all agent configuration, replacing scattered config acrossagent_definitions,agent_voice_settings, and hardcoded values in code.This is Phase 1 of the Unified Agent Configuration design.
Key Changes
New
agentstable with comprehensive config:SQLAlchemy model + Pydantic schemas + CRUD service
agent-adminCLI commands:list- List all configured agentsshow <name>- Show detailed configurationcreate- Interactive agent creationdelete <name>- Delete from config DBexport <name>- Export config as JSONmigrate- Migrate existing Letta agents to unified configVoice service updated:
agentstable if not found in legacyagent_voice_settingsvoice.providerfrom database instead of env varMigration Path
./kx migrateto create the new tableagent-admin migrate --dry-runto preview what will be migratedagent-admin migrateto create unified config from existing Letta agentsDeferred to Follow-up PR
Test plan
./kx migrate🤖 Generated with Claude Code