feature - add session-scoped MCP tool selection to TUI#8
feature - add session-scoped MCP tool selection to TUI#8lgarceau768 wants to merge 12 commits intoflexfrom
Conversation
Mark the skill template TextPart as synthetic so the full prompt is
sent to the model but hidden from the user. Add a short ignored
summary part ('Running skill: <command>') so the user still sees
confirmation that the skill was loaded.
Rebased from flexion/hide-skill-prompt-in-chat onto v1.4.0.
Gate tool resolution, LiteLLM noop injection, activeTools, tools, and toolChoice behind input.model.capabilities.toolcall. Without this fix, tool_call: false in opencode.json is parsed and stored but never checked, causing Bedrock models that don't support streaming + tool use to fail. Adds regression test verifying body.tools is not sent when toolcall: false. Cherry-picked from lgarceau768#1 and rebased onto v1.4.0.
Covers cloning, building with bun, AWS SSO profile config, opencode.json Bedrock provider setup, and the opencode-work shell alias. Notes the tool_call fix included in this branch.
Bun's embedded code signature is rejected by Darwin 25+ at runtime, killing the binary with SIGKILL (exit 137) before it starts. Strip the signature and apply a fresh ad-hoc one via codesign after each darwin build. Also documents the fix in LOCAL_AWS_SETUP.md.
fix: re-sign macOS binaries after Bun compile to fix Darwin 25+ SIGKILL
…ditional models - Add palmyra and pixtral to US cross-region inference profile prefix list - Strip reasoning content from message history for non-reasoning models - Exclude palmyra from reasoning variant generation to prevent unsupported params
…session/prompt.ts
chore - merge dev into flex, resolve conflicts in session/llm.ts and session/prompt.ts
…o flex # Conflicts: # packages/opencode/src/provider/provider.ts # packages/opencode/src/provider/transform.ts
- add GET /mcp/tools endpoint returning per-tool token estimates - expose MCP.defs() on the service interface for tool listing - intercept first-message submit to show tool selection dialog when MCP servers are active - new DialogSessionTools component: searchable, grouped by server, checkbox toggle, live token count - apply selected tools as session-level Permission.Ruleset deny rules after session creation - register session.tools command in palette for mid-session tool adjustment - regenerate v2 SDK to include mcp.tools() and session.update permission field
|
Hey! Your PR title Please update it to start with one of:
Where See CONTRIBUTING.md for details. |
|
This PR doesn't fully meet our contributing guidelines and PR template. What needs to be fixed:
Please edit this PR description to address the above within 2 hours, or it will be automatically closed. If you believe this was flagged incorrectly, please let a maintainer know. |
|
Tested and did not work :(
|
|
after modifications, the model opens, a little buggy as return collapses and closes the dialog need to remove this. |
|
also blocks the session from beginning until all mcps has loaded - with a failing mcp this is a little annoying |
|
if the user escapes the dialog and presses enter we assume the default? May not be the best path |
Summary
Changes
Test Plan