[release] v0.105.4#5368
Merged
Merged
Conversation
… surgical --recreate/--rebuild run.sh hardcoded a single compose file, so a routine `run.sh --build` recreated the runner without the local harness override (mounts the operator's Claude/Pi subscription) and broke self-managed agent auth. run.sh and hand-added overrides were mutually unaware; whichever ran last won. - Auto-include docker-compose.<stage>.*.local.yml from the edition dir (sorted), print the effective compose file set every run, skip with --no-local-overrides. - --compose-file <name> (repeatable) appends extra files by bare name or path. - --recreate/--rebuild <service> (repeatable): surgical single-service restart with the full assembled -f set and same env handling; --rebuild honors --no-cache and builds the .<name> anchor when the service has no build config; unknown services are rejected. - gitignore docker-compose.<stage>.<name>.local.yml (keeps committed gh.local files). - Docs: hosting/AGENTS.md + docs/packs/hosting.md. Claude-Session: https://claude.ai/code/session_019TK4ow9a3dXUNY657djbQr
… replay buildTurnText only detected an approval resume, so a request_input answer (a non-approval tool_result) fell into the normal-turn frame that re-presents the stale original prompt as "The user now says: <prompt>". The model treated it as a fresh request and re-asked, looping. Generalize resume detection to resumeKindFor -> "approval" | "client" | null: a client resume is a non-approval tool_result in an assistant-role message after the last user-text message. Add a client-resume closing frame that tells the model to continue from the pause using the provided result. Also covers request_connection and decline/cancel settles.
…, and replay test Claude-Session: https://claude.ai/code/session_01AYBi6cYuQCR87dAD3ZdPWc
… test The default resolve stub in test_invoke_handler.py returned a successful runtime_provided ResolvedConnection pinned to provider 'openai'. With the new post-resolve harness capability gate this is rejected on the claude harness (openai is not a claude-consumable provider), breaking test_invoke_cross_harness_same_body_divergent_configs. Make the stub raise ConnectionResolutionError instead, exercising the real no-connection degraded path that every harness tolerates, which is what these response-body/lifecycle/cross-harness tests are meant to check.
…t-kind
The remote-tools gate only refused when the sandbox was remote AND not Daytona.
A non-Pi (Claude) run on Daytona requesting ONLY client-kind tools therefore
passed validation, then silently advertised zero tools: the in-sandbox stdio
MCP shim delivers only executable (gateway/callback) tools and omits client
tools, so nothing remained to advertise. mcp.ts's own log admits this case
('run-plan should have refused this run'), and its doc comment documents
refusal as the intent.
Implement that intent: inside the Daytona branch of the gate, refuse when no
executable tool remains after excluding client-kind tools, with a message in
the REMOTE_TOOLS_UNSUPPORTED_MESSAGE style. A mix of client + executable tools
is unaffected (the executable ones are delivered). Flip the now-incorrect
'allows claude x daytona x client-only tools' unit test to expect refusal.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…eate feat(hosting): run.sh auto-includes local compose overrides and gains surgical --recreate/--rebuild
Contributor
Author
Railway Preview Environment
Updated at 2026-07-18T11:10:25.125Z |
…-loop [5357] fix(runner): recognize client-tool settles as a resume in cold replay
…y-tools-gate fix(runner): refuse a Claude-on-Daytona run whose tools are all client-kind
feat(agents): OpenAI-compatible endpoints for Pi via vault custom connections
feat(frontend): OpenAI-compatible endpoint label and harness-gated picker
mmabrouk
approved these changes
Jul 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New version v0.105.4 in