feat: settings mcp tool commands#567
Conversation
…mands (#544) - Add /model, /provider, /temperature handlers (settings family) - Add /mcp list/add/remove handlers (mcp management family) - Add /tool enable/disable handlers (tool management family) - Add CommandCapability variants: SettingsRead, SettingsWrite, McpManagement, ToolManagement - Add SessionCommandSuccessData variants for all new command responses - Add SlashCommandArgumentShape::RequiredText - Add regression tests: 16 new tests covering success paths, validation, and error cases
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Review skipped — only excluded labels are configured. (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughImplements a deterministic "slash session commands" runtime layer supporting Changes
Sequence Diagram(s)sequenceDiagram
participant Client as Client/Transport<br/>(CLI, Gateway, Webhook, Channel)
participant Ingress as pre_execution::<br/>evaluate_ingress()
participant Registry as SlashCommandRegistry<br/>.dispatch()
participant Service as SessionCommandService<br/>(Handler)
participant Memory as Memory Backend<br/>(SQLite)
participant Adapter as adapt_handled_ingress()
Client->>Ingress: prompt (e.g., "/suspend")
Ingress->>Ingress: parse_slash_command()
alt Recognized Slash Command
Ingress->>Registry: dispatch(context, prompt)
Registry->>Service: handle_suspend(session_id)
Service->>Memory: get_session_state_record()
Memory-->>Service: SessionStateRecord
Service->>Memory: update_session_state_record()
Memory-->>Service: updated state
Service-->>Registry: SessionCommandOutcome::Success
Registry-->>Ingress: IngressDecision::SessionCommand{outcome}
else Unknown/Non-Command Input
Ingress-->>Ingress: not_a_slash_command()
Ingress-->>Adapter: IngressDecision::Continue
end
Ingress-->>Adapter: IngressDecision
Adapter->>Adapter: classify_result()
Adapter-->>Client: HandledIngress{Success/Failure/Blocking/NotHandled}
alt Handled by Ingress
Client->>Client: transport_wrap(result)
else Not Handled
Client->>Client: continue_normal_loop()
end
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Rationale: This PR introduces a substantial new session-management feature touching core runtime surfaces (ingress, memory trait, persistence layer, gateway/webhook/channel/CLI routing), with high-density logic across multiple new modules (session_commands/), significant trait extension, SQLite schema changes, and heterogeneous updates spanning control flow refactoring in existing entry points. The scope encompasses 10+ affected runtime files plus extensive supporting documentation, requiring careful review of authorization boundaries (caller-scope Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests (beta)
|
✅ Contributor ReportUser: @yacosta738
Contributor Report evaluates based on public GitHub activity. Analysis period: 2025-04-18 to 2026-04-18 |
This pull request introduces several improvements across GitHub configuration, workflow automation, and the
corvus-traitsRust crate. The main focus is on enhancing session management capabilities in the memory trait, updating workflow dependencies, and improving the documentation and configuration for branch protection. Below are the most important changes:Session Management Enhancements (
corvus-traits)Memorytrait, including session snapshots, state records, resumable sessions, and explicit error handling for unsupported backends. This enables more robust and extensible session lifecycle tracking and management. (F1a8e0a1L1, [1] [2]GitHub Rulesets and Documentation
.github/rulesets/README.mdto use English, clarify instructions, and improve explanations of ruleset files and their import process. [1] [2]main-protection.jsonandminor-protection.jsonby adding merge queue rules, expanding branch coverage (includingdevelop), and updating bypass actors for integrations. [1] [2] [3] [4]Workflow Automation and Quality
dallay/common-actionsv2.0.0 for improved automation, security, and maintainability. [1] [2] [3] [4] [5] [6]