feat: replace Agent mode with independent Tools toggle
- Remove 'agent' from mode dropdown; Chat/Note/OTR remain - Add ⚡ tools toggle button in input bar (persisted in localStorage) When on: routes to POST /orchestrate (Gemini tool loop); send btn → "Run" When off: routes to POST /chat (direct to active role); no change - Role selector and tools toggle are now fully independent: active chat_role sent in orchestrate payload → used for final response - orchestrator_engine.run() accepts response_role param; passes it to complete(role=...) instead of hardcoded model="claude" - OrchestrateRequest gains chat_role field (default "chat") - Migrate stored 'agent' mode/MRU entries to 'chat' on load Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -52,6 +52,7 @@ class OrchestrateRequest(BaseModel):
|
||||
include_short: bool = True
|
||||
user: str = "scott"
|
||||
persona: str = "inara"
|
||||
chat_role: str = "chat" # role used for the final response (decoupled from tool-loop model)
|
||||
|
||||
|
||||
class OrchestrateResponse(BaseModel):
|
||||
@@ -184,6 +185,7 @@ async def _run_job(job_id: str, req: OrchestrateRequest, user: str) -> None:
|
||||
respond_with_claude=req.respond_with_claude,
|
||||
gemini_api_key=gemini_key,
|
||||
model_name=orch_model.get("model_name") if orch_model else None,
|
||||
response_role=req.chat_role,
|
||||
)
|
||||
|
||||
# Save the turn to the session store so it survives a page refresh
|
||||
|
||||
Reference in New Issue
Block a user