Skip to content

Commit e0a5bdb

Browse files
Merge branch 'docker:main' into fix/deduplicate-tool-names
2 parents 64892a8 + 528a4b3 commit e0a5bdb

File tree

176 files changed

+4177
-1282
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+4177
-1282
lines changed

.agents/skills/bump-go-dependencies/SKILL.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ module/path current_version update_path new_version
2323

2424
If the command produces no output, all direct dependencies are already up to date. Inform the user and stop.
2525

26-
NEVER bump `github.com/getkin/kin-openapi`. Version above v0.132.0 don't have a valid license.
27-
2826
## 2. Update Each Dependency One by One
2927

3028
For **each** outdated dependency, perform the following steps in order:
@@ -46,8 +44,8 @@ go mod tidy
4644
Run the linter and the tests:
4745

4846
```sh
49-
task lint
50-
task test
47+
mise lint
48+
mise test
5149
```
5250

5351
### d. Decide

.env.test

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
DOCKER_AGENT_MODELS_GATEWAY=
2+
OPENAI_API_KEY=
3+
ANTHROPIC_API_KEY=
4+
GOOGLE_API_KEY=
5+
GOOGLE_GENAI_USE_VERTEXAI=
6+
MISTRAL_API_KEY=

.github/agents/issue-triager.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ agents:
123123
124124
5. **Verify**: Run tests and linting to make sure the fix is correct:
125125
```bash
126-
task test
127-
task lint
126+
mise test
127+
mise lint
128128
```
129129
If tests fail, investigate and fix. Do not leave broken tests.
130130
@@ -134,7 +134,7 @@ agents:
134134
- Do NOT modify CI/CD configs, workflows, or unrelated files
135135
- Keep changes minimal — fix the bug, nothing more
136136
- If you cannot determine a fix with confidence, make no changes and explain why
137-
- Always run `task test` and `task lint` before finishing
137+
- Always run `mise test` and `mise lint` before finishing
138138
139139
toolsets:
140140
- type: filesystem
@@ -147,7 +147,7 @@ permissions:
147147
- shell:cmd=gh issue edit *
148148
- shell:cmd=gh issue view *
149149
- shell:cmd=gh api *
150-
- shell:cmd=task test*
151-
- shell:cmd=task lint*
152-
- shell:cmd=task build*
150+
- shell:cmd=mise test*
151+
- shell:cmd=mise lint*
152+
- shell:cmd=mise build*
153153
- shell:cmd=go *

.github/workflows/ci.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,19 @@ jobs:
5151
go-version: "1.26.1"
5252
cache: true
5353

54-
- name: Install Task
55-
uses: go-task/setup-task@0ab1b2a65bc55236a3bc64cde78f80e20e8885c2 # v1.0.0
56-
with:
57-
version: 3.x
54+
- name: Install mise
55+
uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2.4.4
5856

5957
- name: Create bin directory
6058
run: mkdir -p "$HOME/bin"
6159

6260
- name: Build
63-
run: task build
61+
run: mise build
6462

6563
- name: Run tests
6664
run: |
67-
task test
68-
task test-binary
65+
mise test
66+
mise test-binary
6967
7068
license-check:
7169
runs-on: ubuntu-latest

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ vendor
2222
/cagent
2323
/cagent-*
2424
/docker-mcp-*
25+
docker-agent

.mise/helpers/git-env.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export GIT_TAG=$(git describe --tags --exact-match 2>/dev/null || echo dev)
2+
export GIT_COMMIT=$(git rev-parse HEAD)

.mise/scripts/build.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
. .mise/helpers/git-env.sh
5+
6+
LDFLAGS="-X \"github.com/docker/docker-agent/pkg/version.Version=${GIT_TAG}\" -X \"github.com/docker/docker-agent/pkg/version.Commit=${GIT_COMMIT}\""
7+
8+
BINARY_NAME="docker-agent"
9+
case "$OSTYPE" in
10+
msys*|cygwin*) BINARY_NAME="${BINARY_NAME}.exe" ;;
11+
esac
12+
13+
go build -ldflags "$LDFLAGS" -o ./bin/${BINARY_NAME} ./main.go
14+
15+
if [ "${CI:-}" != "true" ]; then
16+
ln -sf "$(pwd)/bin/${BINARY_NAME}" "${HOME}/bin/${BINARY_NAME}" 2>/dev/null || true
17+
fi

.mise/scripts/docs-check-links.sh

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
REPO_ROOT=$(cd .. && pwd)
5+
6+
cleanup() {
7+
docker rm -f docs-linkcheck 2>/dev/null
8+
docker network rm docs-linkcheck-net 2>/dev/null
9+
}
10+
trap cleanup EXIT
11+
12+
cleanup || true
13+
docker build -t docker-agent-docs .
14+
docker network create docs-linkcheck-net
15+
docker run -d --rm \
16+
--name docs-linkcheck \
17+
--network docs-linkcheck-net \
18+
-v "${REPO_ROOT}/docs:/srv/jekyll" \
19+
docker-agent-docs \
20+
jekyll serve --host 0.0.0.0 --config _config.yml,_config.dev.yml
21+
22+
echo 'Waiting for Jekyll to start...'
23+
for i in $(seq 1 30); do
24+
docker run --rm --network docs-linkcheck-net curlimages/curl -sf http://docs-linkcheck:4000/ > /dev/null 2>&1 && break
25+
sleep 2
26+
done
27+
28+
docker run --rm \
29+
--network docs-linkcheck-net \
30+
raviqqe/muffet \
31+
--buffer-size 16384 \
32+
--exclude 'fonts.googleapis.com' \
33+
--exclude 'fonts.gstatic.com' \
34+
--exclude 'console.mistral.ai' \
35+
--exclude 'console.x.ai' \
36+
--rate-limit 20 \
37+
http://docs-linkcheck:4000/

AGENTS.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
## Build and Development
44

5-
- `task build` - Build the application binary (outputs to `./bin/docker-agent`)
6-
- `task test` - Run Go tests (clears API keys to ensure deterministic tests)
7-
- `task lint` - Run golangci-lint (uses `.golangci.yml` configuration)
8-
- `task format` - Format code using golangci-lint fmt
9-
- `task dev` - Run lint, test, and build in sequence
5+
- `mise build` - Build the application binary (outputs to `./bin/docker-agent`)
6+
- `mise test` - Run Go tests (clears API keys to ensure deterministic tests)
7+
- `mise lint` - Run golangci-lint (uses `.golangci.yml` configuration)
8+
- `mise format` - Format code using golangci-lint fmt
9+
- `mise dev` - Run lint, test, and build in sequence
1010

1111
## Docker and Cross-Platform Builds
1212

13-
- `task build-local` - Build binary for local platform using Docker Buildx
14-
- `task cross` - Build binaries for multiple platforms (linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64, windows/arm64)
15-
- `task build-image` - Build Docker image tagged as `docker/docker-agent`
16-
- `task push-image` - Build and push multi-platform Docker image to registry
13+
- `mise build-local` - Build binary for local platform using Docker Buildx
14+
- `mise cross` - Build binaries for multiple platforms (linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64, windows/arm64)
15+
- `mise build-image` - Build Docker image tagged as `docker/docker-agent`
16+
- `mise push-image` - Build and push multi-platform Docker image to registry
1717

1818
## Running docker-agent
1919

@@ -39,7 +39,7 @@
3939
# Testing
4040

4141
- Tests located alongside source files (`*_test.go`)
42-
- Run `task test` to execute full test suite
42+
- Run `mise test` to execute full test suite
4343
- E2E tests in `e2e/` directory
4444
- Test fixtures and data in `testdata/` subdirectories
4545

CHANGELOG.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,118 @@
33
All notable changes to this project will be documented in this file.
44

55

6+
## [v1.42.0] - 2026-04-03
7+
8+
This release improves evaluation output with structured JSON results and fixes several Windows compatibility issues.
9+
10+
## What's New
11+
- Adds URL click detection for terminals with mouse tracking support
12+
- Includes structured results, run configuration, and summary in evaluation JSON output
13+
- Includes judge reasons for passed relevance criteria in evaluation results
14+
15+
## Bug Fixes
16+
- Fixes Windows OS detection typo in session environment (corrects "window" to "windows")
17+
- Replaces removed claude-3-7-sonnet-latest alias with explicit model ID in examples
18+
- Uses platform-aware shell detection for Windows compatibility in skill expansion, script_shell, post-edit hooks, and bang commands
19+
20+
## Technical Changes
21+
- Pre-populates criterion names in CheckRelevance results
22+
- Fixes lint issues including gci formatting and testifylint float comparisons
23+
24+
### Pull Requests
25+
26+
- [#2307](https://github.com/docker/docker-agent/pull/2307) - docs: update CHANGELOG.md for v1.41.0
27+
- [#2308](https://github.com/docker/docker-agent/pull/2308) - tui/messages: Add URL click detection for terminals with mouse tracking
28+
- [#2309](https://github.com/docker/docker-agent/pull/2309) - eval: include structured results, run config, and summary in JSON output
29+
- [#2312](https://github.com/docker/docker-agent/pull/2312) - fix: correct Windows OS detection typo in session environment
30+
- [#2313](https://github.com/docker/docker-agent/pull/2313) - fix: replace removed claude-3-7-sonnet-latest alias in examples
31+
- [#2314](https://github.com/docker/docker-agent/pull/2314) - fix: use platform-aware shell for skill expansion, script_shell, post-edit hooks, and bang command
32+
33+
34+
## [v1.41.0] - 2026-04-01
35+
36+
This release introduces a new models discovery command, contextual help system, and several TUI improvements including persistent warnings and simplified lean mode.
37+
38+
## What's New
39+
- Adds `docker agent models` command to list available models for the `--model` flag
40+
- Adds contextual help dialog accessible via Ctrl+H (or F1/Ctrl+?) showing all keyboard shortcuts
41+
- Adds `--lean` flag for simplified TUI mode with minimal interface (just message stream and editor)
42+
- Adds copy button on hover for assistant messages to copy content to clipboard
43+
- Adds Vertex AI Model Garden support for non-Gemini models (Claude, Llama) hosted on Google Cloud
44+
45+
## Improvements
46+
- Makes TUI warnings persist until manually dismissed instead of auto-dismissing after 3 seconds
47+
- Preserves recent messages during session compaction to maintain conversational context
48+
- Shows elapsed time and warning for long-running tool calls in the TUI
49+
- Adds desktop_uuid in telemetry alongside user_uuid for better tracking
50+
51+
## Bug Fixes
52+
- Fixes markdown rendering in callout notes by adding markdown="1" attribute
53+
- Fixes panic on closed channel by making chanSend non-blocking
54+
- Fixes recursive run_skill loop in context:fork skill sub-sessions
55+
- Fixes docker run --sandbox functionality
56+
- Fixes eval tool_call_response to use correct event field names
57+
- Fixes guard against nil tool_definition in buildTranscript
58+
59+
## Technical Changes
60+
- Replaces kin-openapi with pb33f/libopenapi for OpenAPI parsing
61+
- Removes trailing headers handling for rate limit headers
62+
- Tracks command errors with success=false and error details in telemetry
63+
- Ports build system to mise
64+
- Updates Go module dependencies
65+
66+
### Pull Requests
67+
68+
- [#2252](https://github.com/docker/docker-agent/pull/2252) - Make TUI warnings persist until manually dismissed
69+
- [#2253](https://github.com/docker/docker-agent/pull/2253) - Add --lean flag for simplified TUI mode
70+
- [#2259](https://github.com/docker/docker-agent/pull/2259) - Preserve recent messages during session compaction
71+
- [#2279](https://github.com/docker/docker-agent/pull/2279) - Add desktop_uuid in telemetry (next to user_uuid)
72+
- [#2281](https://github.com/docker/docker-agent/pull/2281) - docs: update CHANGELOG.md for v1.40.0
73+
- [#2283](https://github.com/docker/docker-agent/pull/2283) - Track command errors with success=false and error details
74+
- [#2284](https://github.com/docker/docker-agent/pull/2284) - Bump direct Go module dependencies
75+
- [#2285](https://github.com/docker/docker-agent/pull/2285) - Fix markdown rendering in documentation callout notes
76+
- [#2286](https://github.com/docker/docker-agent/pull/2286) - fix: make chanSend non-blocking to prevent panic on closed channel
77+
- [#2287](https://github.com/docker/docker-agent/pull/2287) - Add Vertex AI Model Garden support for non-Gemini models
78+
- [#2288](https://github.com/docker/docker-agent/pull/2288) - Add copy button on hover for assistant messages
79+
- [#2289](https://github.com/docker/docker-agent/pull/2289) - fix: prevent recursive run_skill loop in context:fork skill sub-sessions
80+
- [#2290](https://github.com/docker/docker-agent/pull/2290) - docs: add Vertex AI Model Garden section to Google provider docs
81+
- [#2291](https://github.com/docker/docker-agent/pull/2291) - tui: show elapsed time and warning for long-running tool calls
82+
- [#2292](https://github.com/docker/docker-agent/pull/2292) - go mod tidy
83+
- [#2293](https://github.com/docker/docker-agent/pull/2293) - Port to mise
84+
- [#2294](https://github.com/docker/docker-agent/pull/2294) - Fix TUI stuck in Working state after failed sub-agent transfer_task
85+
- [#2298](https://github.com/docker/docker-agent/pull/2298) - Remove trailing headers handling for rate limit headers
86+
- [#2299](https://github.com/docker/docker-agent/pull/2299) - Replace kin-openapi with pb33f/libopenapi for OpenAPI parsing
87+
- [#2301](https://github.com/docker/docker-agent/pull/2301) - Fix `docker run --sandbox`
88+
- [#2302](https://github.com/docker/docker-agent/pull/2302) - fix: eval tool_call_response uses correct event field names
89+
- [#2304](https://github.com/docker/docker-agent/pull/2304) - feat: add `docker agent models` command
90+
- [#2305](https://github.com/docker/docker-agent/pull/2305) - Add contextual help dialog (Ctrl+H)
91+
- [#2306](https://github.com/docker/docker-agent/pull/2306) - use DD proxy when available, also from WSL
92+
93+
94+
## [v1.40.0] - 2026-03-30
95+
96+
This release improves AI assistant capabilities with better response tracking and Google integration, plus fixes a critical exit hang issue.
97+
98+
## What's New
99+
- Adds Google Search, Google Maps, and code execution capabilities for Gemini models
100+
- Surfaces finish_reason information on assistant messages and token usage events to track why the AI stopped generating responses
101+
102+
## Bug Fixes
103+
- Fixes process hang when using `/exit` command due to bubbletea renderer deadlock
104+
105+
## Technical Changes
106+
- Adds tests reproducing bubbletea renderer deadlock on exit
107+
- Adds safety-net exit mechanism for bubbletea renderer deadlock prevention
108+
109+
### Pull Requests
110+
111+
- [#2254](https://github.com/docker/docker-agent/pull/2254) - Surface finish_reason on assistant messages and token usage events
112+
- [#2265](https://github.com/docker/docker-agent/pull/2265) - docs: update CHANGELOG.md for v1.39.0
113+
- [#2269](https://github.com/docker/docker-agent/pull/2269) - Fix process hang on /exit due to bubbletea renderer deadlock
114+
- [#2276](https://github.com/docker/docker-agent/pull/2276) - Google grounding
115+
- [#2277](https://github.com/docker/docker-agent/pull/2277) - Fix url
116+
117+
6118
## [v1.39.0] - 2026-03-27
7119

8120
This release adds new color themes for the terminal interface and includes internal version management updates.
@@ -1658,3 +1770,9 @@ This release improves the terminal user interface with better error handling and
16581770
[v1.38.0]: https://github.com/docker/docker-agent/releases/tag/v1.38.0
16591771

16601772
[v1.39.0]: https://github.com/docker/docker-agent/releases/tag/v1.39.0
1773+
1774+
[v1.40.0]: https://github.com/docker/docker-agent/releases/tag/v1.40.0
1775+
1776+
[v1.41.0]: https://github.com/docker/docker-agent/releases/tag/v1.41.0
1777+
1778+
[v1.42.0]: https://github.com/docker/docker-agent/releases/tag/v1.42.0

0 commit comments

Comments
 (0)