Repository navigation
Conversation
…erns Signed-off-by: parveshsaini <parveshsaini619@gmail.com>
dgageot
requested changes
Jul 21, 2026
Signed-off-by: parveshsaini <parveshsaini619@gmail.com>
Sayt-0
enabled auto-merge
July 21, 2026 09:22
cutAtArgCondition/isArgKey/isArgKeyByte detected a ':' immediately followed by a run of word characters and '=', which is exactly the regexp `:(\w+)=`. Splitting on its matches yields the same tool name and argument conditions in a third of the code.
Split already yields the tool name and one value per condition, and the keys come from the same non-overlapping matches, so the index-based FindAllStringSubmatchIndex bookkeeping (submatch offsets, next-match lookahead) is unnecessary.
dgageot
approved these changes
Jul 22, 2026
Sayt-0
approved these changes
Jul 22, 2026
social4hyq
pushed a commit
to social4hyq/homebrew-core
that referenced
this pull request
Sep 20, 2026
docker-agent 1.115.0 Created-by: HarmonybrewBot Commit-by: HarmonybrewBot Merged-by: HarmonybrewBot Description: Created by `brew bump` --- Created with `brew bump-formula-pr`.<details> <summary>release notes</summary> <pre>This release fixes permission pattern parsing for colon-containing values, adds provider-level compaction model defaults, resolves agent-switch slash commands over HTTP, and includes several bug fixes and refactors. ## What's New - Adds `X-Cagent-Compacting: 1` HTTP header on session-compaction LLM calls to allow gateway-side policies to distinguish compaction calls from regular chat completions - Adds support for provider-level `compaction_model` default, so agents sharing a provider no longer need to repeat the setting individually - Adds an optional `description` field to model config entries for human-readable annotations - Resolves agent-switch slash commands in `RunSession` for HTTP/REST clients, enabling mid-session agent switches without requiring the two-segment route ## Bug Fixes - Fixes permission pattern parsing where colons in argument values (e.g. URLs or Windows drive paths) caused patterns to be silently truncated, resulting in `deny` rules never firing - Fixes A2A tool silently succeeding when a sub-agent stream returns empty; also resolves cross-platform test instability on Windows - Fixes `compaction_model` references not being resolved during `first_available` reachability checks and environment preflight - Fixes model description not being preserved across `first_available` resolution and shorthand marshalling - Fixes agent-switch pre-switch command resolution and rolls back partial switches on failure - Fixes TUI history-search input not being restyled when a live theme change occurs, leaving stale styling after switching themes - Fixes `GatewayHTTPOptions` panicking when model options are nil - Reverts a `WorkingDir` containment check that broke callers running docker-agent as a long-lived daemon pointing sessions at arbitrary paths ## Technical Changes - Fixes log-injection (CodeQL `go/log-injection`) in `pkg/telemetry/client.go` by replacing string concatenation with structured key-value logging - Sanitizes string arguments to close remaining log-injection taint paths and closes unbarriered passthrough in `sanitizeLogArgs` - Refactors permission pattern parsing to use `strings.Cut` and then a regexp-based approach replacing the hand-rolled colon scanner - Moves Desktop proxy HTTP transport to a new leaf package `pkg/desktop/transport` - Moves Vertex AI support to `anthropic/vertex` subpackage to reduce transitive dependencies for library consumers --- ## What's Changed * docs: update CHANGELOG.md for v1.114.0 by @docker-read-write[bot] in docker/docker-agent#3775 * feat: add X-Cagent-Compacting header for session-compaction LLM calls by @dgageot in docker/docker-agent#3777 * refactor: trim transitive dependencies for library consumers by @dgageot in docker/docker-agent#3778 * chore: bump direct Go dependencies by @dgageot in docker/docker-agent#3776 * docs: update docs for config v14 and Mermaid state diagram directions by @aheritier in docker/docker-agent#3779 * fix(codeql): go/log-injection in pkg/telemetry/client.go:24 by @ronan-thibaut-glitch in docker/docker-agent#3755 * chore: bump github.com/anthropics/anthropic-sdk-go from v1.58.0 to v1.58.1 by @dgageot in docker/docker-agent#3781 * fix(permissions): keep colons in argument values from truncating patterns by @parveshsaini in docker/docker-agent#3767 * feat(config): add description attribute to models by @dgageot in docker/docker-agent#3783 * feat: support provider-level compaction_model default by @dgageot in docker/docker-agent#3785 * fix: A2A response error handling and cross-platform test stability by @Piyush0049 in docker/docker-agent#3745 * fix(tui): restyle history-search input on live theme change by @aheritier in docker/docker-agent#3786 * feat(server): resolve agent-switch slash commands in RunSession by @trungutt in docker/docker-agent#3782 * Revert "fix(codeql): go/path-injection in pkg/server/session_manager.go:542" (#3758) by @trungutt in docker/docker-agent#3788 **Full Changelog**: docker/docker-agent@v1.114.0...v1.115.0 </pre> <p>View the full release notes at <a href="https://github.com/docker/docker-agent/releases/tag/v1.115.0">https://github.com/docker/docker-agent/releases/tag/v1.115.0</a>.</p> </details> <hr> See merge request: Harmonybrew/homebrew-core!14843
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.
Closes #3766
What
parsePatternsplit a permission pattern on every:, so any argument valuecontaining a colon was truncated. A
denyrule written against a URL —fetch:url=https://evil.com/*— parsed asurl = "https", which never matches areal URL, so the rule silently never fired (fail-open). Windows drive paths
(
shell:cwd=C:\work\*→C) were corrupted the same way.This parses the tool name up to the first
:key=argument condition, then takeseach value up to the next
:key=boundary rather than the next colon, socolons inside a value are preserved. Tool names with colons
(
mcp:github:create_issue) are unaffected — they were already handled bysplitting at the first
:key=, and that behaviour is unchanged.Why
This is the sibling of #3605. That fix made
matchGlob's wildcards crosspath separators, but with a colon in the value the pattern never reaches
matchGlobintact — so the same fail-open direction was still reachable for URLsand Windows paths, which are exactly the kind of value an operator writes a
denyrule against. In non-interactive / auto-approval runs, or alongside anoverlapping
allow, a corrupteddenyis a real bypass.allowrules withcolon values were broken too, but those fail closed.
Tests
Added to
pkg/permissions/permissions_test.go:TestParsePatternrows for URL, Windows-drive, and mixed value-colon +second-condition patterns.
TestDenyRuleWithColonInValue— end-to-end viaCheckWithArgs: adenyrulewith a URL value now returns
Deny, plus a shell-command-with-URL case and acolon-free control.
Each new assertion fails against
mainand passes with this change; the existingTestParsePatternrows (includingmcp:github:create_issue) are untouched.Verification (in
golang:1.26.5+golangci-lint:v2.12.2, matching CI)Confirming the tests are meaningful — reverting only
permissions.gotomainwhile keeping the new tests: