84fa08ab45
feat(plan): Add plan execution system with external tool support
...
Plan Execution System:
- Add PlanStep, AccumulatedPlan types for multi-turn tool call accumulation
- Implement AccumulatedPlanStatus for tracking plan lifecycle
- Support selective approval of proposed tool calls before execution
External Tools Integration:
- Add ExternalToolDefinition and ExternalToolTransport to plugins crate
- Extend ToolContext with external_tools registry
- Add external_tool_to_llm_tool conversion for LLM compatibility
JSON-RPC Communication:
- Add jsonrpc crate for JSON-RPC 2.0 protocol support
- Enable stdio-based communication with external tool servers
UI & Engine Updates:
- Add plan_panel.rs component for displaying accumulated plans
- Wire plan mode into engine loop
- Add plan mode integration tests
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-26 22:47:54 +01:00
f97bd44f05
feat(engine): Implement dynamic provider/model switching
...
Add shared ProviderManager architecture for runtime provider/model switching
between TUI and Engine:
Core Architecture:
- Add SwitchProvider and SwitchModel messages to UserAction enum
- Create run_engine_loop_dynamic() with shared ProviderManager
- Add ClientSource enum to AgentManager (Fixed vs Dynamic)
- Implement get_client() that resolves provider at call time
TUI Integration:
- Add ProviderMode::Shared variant for shared manager
- Add with_shared_provider_manager() constructor
- Update switch_provider/set_current_model for shared mode
- Fix /model command to update shared ProviderManager (was only
updating local TUI state, not propagating to engine)
- Fix /provider command to use switch_provider()
Infrastructure:
- Wire main.rs to create shared ProviderManager for both TUI and engine
- Add HTTP status code validation to Ollama client
- Consolidate messages.rs and state.rs into agent-core
Both TUI and Engine now share the same ProviderManager via
Arc<Mutex<>>. Provider/model changes via [1]/[2]/[3] keys, model
picker, or /model command now properly propagate to the engine.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-26 22:13:00 +01:00
9bc865b8fa
conductor(plan): Mark task 'UI for Permission' as complete
2025-12-26 19:32:16 +01:00
af1a61a468
feat(ui): Integrate TUI with Engine Loop and Status Bar Prompt
2025-12-26 19:31:48 +01:00
f610ed312c
conductor(plan): Mark task 'Permission Interceptor' as complete
2025-12-26 19:24:21 +01:00
159f2d3330
feat(core): Implement Permission Interceptor and async request/response
2025-12-26 19:24:03 +01:00
f5d465b5a9
conductor(plan): Mark task 'Define AppMode enum' as complete
2025-12-26 19:22:01 +01:00
37a36dd36d
feat(core): Define AppMode enum and add to AppState
2025-12-26 19:21:49 +01:00
6601654b3a
conductor(plan): Mark phase 'The Agentic Orchestrator' as complete
2025-12-26 19:21:32 +01:00
8d1d7ba184
conductor(checkpoint): Checkpoint end of Phase 2
2025-12-26 19:21:18 +01:00
e3eb8c1b02
conductor(plan): Mark task 'Sub-Agent Support' as complete
2025-12-26 19:19:11 +01:00
b6ad2f09a5
feat(core): Add basic Sub-Agent support
2025-12-26 19:19:02 +01:00
0db472aaa5
conductor(plan): Mark task 'Tool Registry' as complete
2025-12-26 19:18:46 +01:00
1d7c584b55
feat(core): Implement ToolRegistry
2025-12-26 19:18:30 +01:00
4f0b91adda
conductor(plan): Mark task 'Reasoning Loop' as complete
2025-12-26 19:18:11 +01:00
5c82a0e632
feat(core): Implement basic reasoning loop in AgentManager
2025-12-26 19:17:56 +01:00
7a8a99b604
conductor(plan): Mark task 'Create AgentManager struct' as complete
2025-12-26 19:17:37 +01:00
1e7c7cd65d
feat(core): Create AgentManager struct
2025-12-26 19:17:27 +01:00
6acb1dc091
conductor(plan): Mark phase 'Phase 1: Asynchronous Foundation' as complete
2025-12-26 19:17:09 +01:00
aed3879844
conductor(checkpoint): Checkpoint end of Phase 1
2025-12-26 19:16:57 +01:00
a8fc9bbc54
conductor(plan): Mark task 'Introduce AppState' as complete
2025-12-26 19:12:23 +01:00
2bccb11e53
feat(core): Introduce AppState and integrate with Engine Loop
2025-12-26 19:12:02 +01:00
352bbb76f2
conductor(plan): Mark task 'Switch LLM interaction' as complete
2025-12-26 19:11:16 +01:00
c54962b0e0
feat(core): Switch LLM interaction to Streaming-only
2025-12-26 19:11:05 +01:00
68e3993234
conductor(plan): Mark task 'Refactor main.rs' as complete
2025-12-26 19:09:39 +01:00
9648ddd69d
refactor(core): Initialize Engine Loop and Message Channel in main
2025-12-26 19:09:16 +01:00
7c66dfd36b
conductor(plan): Mark task 'Create Message enum' as complete
2025-12-26 19:08:30 +01:00
b0e65e4041
feat(core): Introduce Message enum for async communication
2025-12-26 19:08:16 +01:00
abbda81659
chore(conductor): Archive completed stabilization track
2025-12-26 18:46:29 +01:00
62237bcd3b
conductor(plan): Mark phase 'Documentation Audit & Standardization' as complete
2025-12-26 18:40:34 +01:00
6486dd9b43
conductor(checkpoint): Checkpoint end of Phase 2 - Documentation Audit & Standardization
2025-12-26 18:40:18 +01:00
914f30c8e0
conductor(plan): Mark task 'Add doc-comments to all public functions in crates/core/agent/' as complete
2025-12-26 18:35:57 +01:00
b555256d21
docs(agent): Add doc-comments to all public items in agent-core
2025-12-26 18:35:46 +01:00
f1f1f88181
conductor(plan): Mark task 'Create/Update README.md for all crates in crates/tools/' as complete
2025-12-26 18:32:24 +01:00
a764fd6b75
docs(tools): Add README.md for all tool crates
2025-12-26 18:31:58 +01:00
2273817f5f
conductor(plan): Mark task 'Create/Update README.md for all crates in crates/platform/' as complete
2025-12-26 18:31:09 +01:00
997007439e
docs(platform): Add README.md for all platform crates
2025-12-26 18:30:56 +01:00
41bf788a51
conductor(plan): Mark task 'Create/Update README.md for all crates in crates/llm/' as complete
2025-12-26 18:30:15 +01:00
f7aac0785b
docs(llm): Add README.md for all LLM crates
2025-12-26 18:30:05 +01:00
611547afa5
conductor(plan): Mark task 'Create/Update README.md for all crates in crates/app/' as complete
2025-12-26 18:29:31 +01:00
f39c7a75f2
docs(app): Add README.md for CLI and UI crates
2025-12-26 18:29:22 +01:00
2e8efdaa12
conductor(plan): Mark phase 'Core Agent & Platform Testing' as complete
2025-12-26 18:28:57 +01:00
495f63f0d8
conductor(checkpoint): Checkpoint end of Phase 1 - Core Agent & Platform Testing
2025-12-26 18:28:44 +01:00
efc72c5ceb
conductor(plan): Mark task 'Write unit tests for crates/platform/config/src/lib.rs' as complete
2025-12-26 18:21:41 +01:00
b4a4a38fec
test(config): Add tests for model management and permission integration
2025-12-26 18:21:30 +01:00
ffe899a3c0
conductor(plan): Mark task 'Write unit tests for crates/platform/permissions/src/lib.rs' as complete
2025-12-26 18:20:46 +01:00
94c89cea05
test(permissions): Add tests for mode defaults and tool name roundtrip
2025-12-26 18:20:36 +01:00
b02a41c8e0
conductor(plan): Mark task 'Write unit tests for crates/core/agent/src/lib.rs' as complete
2025-12-26 18:20:09 +01:00
f5a5724823
test(agent): Add unit tests for agent-core and fix clippy warnings
2025-12-26 18:19:58 +01:00
fbb6681cd2
conductor(setup): Add conductor setup files
2025-12-26 18:10:55 +01:00