Skip to content

feat(acp): model switching and extension management#824

Merged
bug-ops merged 3 commits intomainfrom
epic/acp-model-switching
Feb 24, 2026
Merged

feat(acp): model switching and extension management#824
bug-ops merged 3 commits intomainfrom
epic/acp-model-switching

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Feb 24, 2026

Summary

  • Implement set_session_config_option for runtime model switching with provider allowlist validation and ProviderFactory closure-based provider creation
  • Add ext_method handler for MCP extension management (_agent/mcp/add, _agent/mcp/remove, _agent/mcp/list) via McpManager integration
  • Add provider_override with Arc<RwLock> and poison recovery in agent loop for per-session provider switching

Test plan

  • Unit tests for model switching (valid/invalid model, allowlist rejection)
  • Unit tests for ext_method (add/remove/list MCP servers)
  • Integration tests with updated AcpServerConfig fields
  • Config snapshot updated with available_models
  • Clippy clean with --features full
  • 2650 tests pass

Closes #785

Implement set_session_config_option for runtime model switching with
provider allowlist validation and ProviderFactory closure-based creation.
Add ext_method handler for MCP extension management (_agent/mcp/add,
_agent/mcp/remove, _agent/mcp/list) via McpManager integration.

Closes #785
@github-actions github-actions bot added enhancement New feature or request rust core dependencies size/XL and removed enhancement New feature or request labels Feb 24, 2026
@github-actions github-actions bot added documentation Improvements or additions to documentation enhancement New feature or request labels Feb 24, 2026
@bug-ops bug-ops enabled auto-merge (squash) February 24, 2026 20:56
@bug-ops bug-ops merged commit 8e15591 into main Feb 24, 2026
23 checks passed
@bug-ops bug-ops deleted the epic/acp-model-switching branch February 24, 2026 21:19
bug-ops added a commit that referenced this pull request Feb 24, 2026
* feat(acp): model switching and extension management

Implement set_session_config_option for runtime model switching with
provider allowlist validation and ProviderFactory closure-based creation.
Add ext_method handler for MCP extension management (_agent/mcp/add,
_agent/mcp/remove, _agent/mcp/list) via McpManager integration.

Closes #785

* docs: update changelog, readmes, docs for model switching and ext_method
bug-ops added a commit that referenced this pull request Feb 24, 2026
* chore: pin tempfile to 3.26, add SPDX header script

* release: prepare v0.12.0

* ci: add CLA check for external contributors

* ci: fix CLA check — store signatures in dedicated branch

* chore: add SPDX license headers (MIT OR Apache-2.0) to all .rs files

* docs: add CLA section to CONTRIBUTING.md

* feat(core): tool-pair summarization with visibility integration (#823)

* feat(core): background tool-pair summarization with visibility integration

Summarize oldest tool call/response pairs when visible count exceeds
tool_call_cutoff (default 6). Hides originals via agent_visible=false,
inserts LLM-generated summary. XML-delimited prompt prevents injection.
Validates tool_call_cutoff >= 1 in config.

* docs, tests: M31 documentation, READMEs, and missing test coverage

Add tool-pair summarization to CHANGELOG, docs (context.md,
configuration.md), and READMEs (root, zeph-core). Add 4 missing
tests: config validation (cutoff=0 rejected, cutoff=1 accepted),
XML delimiter prompt validation, empty messages edge case.

* feat(acp): model switching and extension management (#824)

* feat(acp): model switching and extension management

Implement set_session_config_option for runtime model switching with
provider allowlist validation and ProviderFactory closure-based creation.
Add ext_method handler for MCP extension management (_agent/mcp/add,
_agent/mcp/remove, _agent/mcp/list) via McpManager integration.

Closes #785

* docs: update changelog, readmes, docs for model switching and ext_method

* chore: add SPDX header to custom.rs

* chore: add SPDX headers to new transport module files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core dependencies documentation Improvements or additions to documentation enhancement New feature or request rust size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Epic: Model Switching and Extension Management

1 participant