feat: bump Goose to v1.50.1 and update related configurations - #496
Merged
Merged
Conversation
- Updated the Goose version in the Dockerfile from 1.46.0 to 1.50.1, ensuring compatibility with the latest features and fixes. - Revised the provider API key environment variable mappings in provider.go to reflect changes in the Goose provider registry, adding new providers and correcting aliases. - Enhanced the documentation in client.go and types.go to clarify the verification of agent capabilities against the new Goose version. - Added new test cases in provider_test.go to validate the resolution of new providers and their environment variables, ensuring that existing configurations remain intact.
Contributor
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — verified the full 6-file bump against upstream goose v1.50.1 (registry + source), not just the diff.
- Goose image digest bump —
services/agent-server/Dockerfilepinssha256:90ed80a6…, which I independently resolved fromghcr.io/aaif-goose/goosemanifests for both1.50.1andv1.50.1(identical digest), so the pin is real and immutable. - Provider env-var / id mappings —
internal/executor/provider.gogrows to 25 env-var entries and 8gooseProviderIDaliases. I fetched each declarative definition from goose v1.50.1: all 15 added mappings match exactly (aimlapi/AIMLAPI_API_KEY,alibaba/DASHSCOPE_API_KEY,fireworks-ai,friendli,together,nvidia, plus cerebras/moonshot/minimax/novita/ovhcloud/perplexity/inception/vercel_ai_gateway/zai), as do theirbase_urls. - Catalog trim —
data/llm_models.jsondrops from ~92 LiteLLM-wide entries to 23 chat providers; every remaining key is resolvable byresolveProviderEnv, and each provider's model list matches its goose definition. - Tests & doc comments — new table tests cover all 15 added providers and pass locally; the ACP comments now correctly scope what was re-verified on 1.50.1.
One minor stale reference (no action required): apps/web/src/lib/provider-logos.ts:13 still describes the raw catalog as "the full ~115-entry raw LLM catalog"; after this PR it is 23 chat providers. Comment-only, no functional impact. Removed-provider agents remain editable via the CUSTOM fallback in agent-detail.tsx, so the trim is safe for stored configs.
DeepSeek Flash (free via Pullfrog for OSS) | 𝕏
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.

Summary
1.46.0to1.50.1inservices/agent-server/Dockerfile— the current latest release, confirmed live via the GitHub/ghcr.io registry APIs (not assumed), with the digest resolved from the registry rather than guessed.services/agent-runner/data/llm_models.jsonfrom a stale ~92-provider generic LiteLLM catalog (mostly image/TTS/STT/search services Goose can't run, plus a literal copy-pasted"one of https://docs.litellm.ai/docs/providers"placeholder row) down to 23 providers actually reachable through Goose, with model lists and base URLs pulled directly from Goose 1.50.1's own source (crates/goose-providers+ its 46 declarative provider definitions) instead of carried over unverified.providerAPIKeyEnvVar/gooseProviderIDininternal/executor/provider.goto match: routing for 9 new providers plus 6 whose Goose-registered id differs from Paca's existingllm_providervalue (e.g.dashscope→alibaba), keeping Paca's own key names unchanged so no already-configured agent breaks.provider.gosupports today. Tracked as a follow-up rather than half-wired.internal/acp/types.go/client.goto record what was actually re-verified against 1.50.1 vs. what still rests on the 1.46.0-era spike (session/load's replay behavior specifically wasn't re-exercised).Test plan
go build ./...,go vet ./...,gofmt -lclean across all changed Go filesgo test ./...(all packages) passes, including newprovider_test.gocases covering the added/aliased providersgoose --version→1.50.1,goose acp --help/goose serve --helpwork,load_skillstill present in the binary (8 matches, same as 1.46.0)PACA_E2E=1 go test ./test/e2e/... -run 'TestACPClientAgainstRealGooseContainer|TestSandboxManagerLifecycle'— both pass, exercising a live ACP handshake + tool-call round trip throughdocker.Manager's production container-lifecycle codepaca-agent-server-goose:devfrom the updated Dockerfile end-to-end and verifiedgoose --version, Node/@paca-ai/paca-mcp, and all provider-CLI packages inside ittest-e2ejob (Node/MCP full-image build + dind-sidecar tests) — not run locally, let it run on this PR before merging🤖 Generated with Claude Code